-
Thành viên cấp 4
Gửi bởi
ducozil
lẬP TRÌNH CHO LOGO
2 BƠM CHẠY THEO PHAO,PHAO MỨC THẤP KO CHẠY,PHAO MỨC CAO 2 BƠM CHẠY LUÂN PHIÊN.AI CÓ THỂ VIẾT BẰNG LADDER KO Ạ.CẢM ƠN
Chuyển lưu đồ của bạn về dạng GRAFCET rồi viết bằng LAD, không nên để lưu đồ như vầy mà triển khai vì bạn đang viết theo cấu trúc rẽ nhánh và vòng lặp. LAD vẫn có thể làm được dạng vòng lặp nhưng bạn phải Jump rất nhiều nếu thực sự viết theo dạng vòng lặp. Cuối cùng bạn cũng sẽ viết xong thôi nhưng vấn đề nằm ở chỗ, code của bạn nhìn vào có dễ hiểu không, dễ chẩn đoán lỗi không đó mới là quan trọng.
Về SCL thì đó là ngôn ngữ dựa trên Pascal, hỗ trợ rất mạnh các cấu trúc rẽ nhánh và vòng lặp có điều kiện. SCL hiệu quả khi bạn dùng nó để xử lý dữ liệu, còn LAD thì mạnh về điều khiển. Khi mới bắt đầu học PLC, mình cũng làm lưu đồ như bạn bây giờ. Và mình từng thử làm điều ngược lại, nghĩa là dùng LAD để xử lý dữ liệu và dùng SCL để viết điều khiển tuần tự. Kết quả thì cuối cùng mình vẫn làm được nhưng mất rất nhiều thời gian và đưa code cho người khác đọc không hiểu gì cả. Còn như bạn thấy mình viết bằng SCL, bạn đọc vào là hiểu dù bạn không biết viết SCL vì nó gần với giại thuật của bạn.
Khi phát triển PLC, họ phát triển ngôn ngữ LAD với mục đích là giúp các kỹ sư quen với việc thiết kế hệ thống điều khiển bằng relay trước đây có thể chuyển lên dùng PLC dễ dàng. Sau đó thì họ bổ sung thêm nhiều hàm cho LAD khiến nó trở nên mạnh mẽ hơn, không chỉ dừng lại ở các lệnh on off, delay nên ta có thể dùng lad để xử lý các thuật toán điều khiển phức tạp hơn. Tuy nhiên xét về bản chất thì LAD cũng từ hệ thống điều khiển relay phát triển lên. Song song với LAD, các nhà phát triển vẫn muốn hỗ trợ bộ phận kỹ sư làm việc với vi điều khiển, vi xử lý nên đã phát triển thêm ngôn ngữ SCL để giúp các kỹ sư này làm quen với PLC nhanh hơn.
Nên nếu đánh giá so sánh giữa việc viết bằng LAD hay SCL thì bạn nên đi về bản chất của nó. Ngày xưa bạn thiết kế hệ thống điều khiển relay như thế nào (mà mình nghĩ là thế hệ các bạn bây giờ chắc cũng không còn được làm cái đó) hay bạn lập trình vi điều khiển (PIC, ARM, 8051, AVR,...) như thế thì cứ dựa vào đó mà suy nghĩ tiếp.
Và quan trọng nhất đó là áp dụng tư duy (giải thuật) của bạn vào thực tế như thế nào cho gần với cách bạn suy nghĩ giải quyết vấn đề, nếu bạn chọn một con đường vòng thì có khả năng mindset của bạn sẽ bị thay đổi theo dẫn đến khó phát triển các giải thuật cao hơn.
Như vậy không nhất thiết bạn phải dùng SCL. Bạn có 2 lựa chọn, một là thay đổi lưu đồ để triển khai với LAD (bạn có học qua thiết kế tuần tự sẽ biết), hai là thay đổi ngôn ngữ viết để phù hợp với cách mà bạn đang suy nghĩ. Mình khuyên là bạn mới bắt đầu thì làm cái dễ trước - dùng LAD nhưng thay đổi lưu đồ lại. Nếu muốn phát triển các giải thuật cao hơn thì dùng SCL, tài liệu thì bạn xem cuốn "Automation with STEP 7 in STL and SCL của Hans Berger", xem cuốn này biết được cả hai ngôn ngữ STL và SCL.
-
The Following 3 Users Say Thank You to chauvinhloi For This Useful Post:
-
Thành viên cấp 1
Cảm ơn Anh nhiều. Em có thế tìm quyển sách ấy ở đâu ạ
-
Bài viết của "ducozil" đã được cám ơn bởi các thành viên:
Quyền viết bài
- Bạn Không thể gửi Chủ đề mới
- Bạn Không thể Gửi trả lời
- Bạn Không thể Gửi file đính kèm
- Bạn Không thể Sửa bài viết của mình
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 10:37 AM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu