Ngôn ngữ lập trình plc là gì? 3 ngôn ngữ lập trình PLC chính (Ladder, FBD, STL). Lập trình PLC và ngôn ngữ lập trình nào được sử dụng nhiều nhất hiện nay?
Ngôn ngữ lập trình PLC
Ngôn ngữ lập trình là gì?
Ngôn ngữ lập trình là thuật ngữ dùng để nói đến việc con người sử dụng những ngôn ngữ mà PLC hiểu được để giao tiếp với nó, điều khiển nó hoạt động theo ý đồ mà người lập trình đề ra nhằm đáp ứng những yêu cầu trong thực tiễn. Các PLC trước kia được lập trình bằng kỹ thuật sử dụng các sơ đồ nối dây relay. Do đó không cần phải hướng dẫn nhiều cho các thợ điện, kỹ thuật viên, kỹ sư cách lập trình trên máy tính, nên đây cũng là kỹ thuật lập trình thông dụng cho PLC ngày nay.
Giả sử nguồn nối với đường dây bên trái HOT, gọi là dây nóng, bên phải là dây trung tính. Sơ đồ có 2 nhánh, mỗi nhánh là một tổ hợp các ngõ vào và ngõ ra. Nếu các ngõ vào đóng hoặc mở thì công suất sẽ chạy từ dây nóng qua các ngõ vào, kết hợp với dây trung tính cấp điện cho ngõ ra. Ngõ vào PLC có thể được kết nối với các cảm biến hoặc công tắc. Ngõ ra PLC sẽ nối với các thiết bị trung gian đóng ngắt các tải bên ngoài như đèn, động cơ.
Trong nhánh trên, công tắc A thường hở và B thường đóng, nghĩa là nếu A đóng và B mở thì dòng điện sẽ chạy qua công tắc A và B tác động đến ngõ ra X, các trạng thái khác của A và B sẽ làm X mất điện. Tương tự như vậy người đọc có thể giải thích tương tự cho hoạt động của nhánh bên dưới.
Có nhiều phương pháp lập trình PLC khác nhau. Một trong những kỹ thuật đó là sử dụng lệnh gợi nhớ. Các lệnh này xuất phát trực tiếp từ sơ đồ logic bậc thang và được nhập vào PLC bằng một thiết bị lập trình. Xét ví dụ phía dưới:
Các lệnh được đọc lần lượt từ trên xuống dưới. Dòng 00000 có lệnh LDN (input load not) cho ngõ vào 00001. Lệnh này xác định một ngõ vào nối với PLC, nếu nó mở thì sẽ tạo một giá trị 1, và ngược lại sẽ tạo giá trị 0.
Dòng tiếp theo 00001 sử dụng lệnh LD (input load) để xác định giá trị ngõ vào, nếu ngõ vào này mở thì tạo giá trị 0 và ngược lại sẽ tạo giá trị 1. Lệnh AND sử dụng lại 2 số được tạo ra bên trên, nếu chúng cùng bằng 1 thì sẽ tạo ra giá trị 1, còn có một ngõ vào bằng 0 thì tạo giá trị 0. Giá trị này sẽ thay thế cho 2 kết quả trên và lúc này chỉ còn một kết quả của lệnh AND được giữ lại.
Quá trình này sẽ lặp lại với các hàng 00003 và 00004, sau khi thực hiện xong sẽ có 3 số được lưu lại. Lệnh AND trong hàng 00005 sẽ AND kết quả của hàng 00003 và 00004, tạo ra 1 kết quả mới. Lệnh OR trong hàng 00006 sẽ OR kết quả của 2 lệnh AND ở các hàng trên. Lúc này chỉ còn 1 kết quả lưu lại. Lệnh ST (store ouput) trong hàng 00007 sẽ lưu lại kết quả sau cùng. Nếu kết quả này bằng 1 thì ngõ ra 00107 sẽ tác động, ngược lại ngõ ra này không tác động.
Chương trình logic bậc thang trong hình trên tương đương với chương trình gợi nhớ vừa phân tích trên. Thậm chí ngôn ngữ lập trình PLC bằng logic bậc thang thì nó có thể sẽ được chuyển về dạng gợi nhớ trước khi được PLC sử dụng.
#3 ngôn ngữ lập trình PLC
Các loại PLC hỗ trợ nhiều loại lệnh khác nhau cho phép ta người lập trình sử dụng để giải quyết nhiều công việc tự động hóa. Việc lựa chọn ngôn ngữ nào để lập trình là tùy thuộc vào kinh nghiệm, khả năng và sở thích của từng người. Các ngôn ngữ lập trình PLC bao gồm:
- Ladder Logic (LAD)
- Function Block Diagram (FBD)
- Statement List ( STL).
Ngôn ngữ lập trình PLC Ladder Logic (LAD)
Ngôn ngữ LAD cho phép ta viết chương trình tương tự như mạch tương đương của sơ đồ nối dây mạch điện. Rất nhiều người lập trình và các nhân viên kỹ thuật chọn lựa sử dụng phương pháp này. Chương trình LAD cho phép CPU mô phỏng di chuyển của dòng điện từ nguồn, qua một loạt các điều kiện ngõ vào để tác động đến ngõ ra.
Các lệnh khác nhau được biểu diễn bằng các ký hiệu đồ họa, gồm có các dạng cơ bản:
- Tiếp điểm: Biểu diễn các điều kiện logic ngõ vào, như các công tắc, nút nhấn, trạng thái của cảm biến… gồm (tiếp điểm thường đóng và thường hở)
- Cuộn dây (coil): biểu diễn cho kết quả logic ngõ ra, như đèn, động cơ, cuộn dây của relay, …
- Hộp (box): Biểu tượng cho các hàm khác nhau, nó hoạt động khi có dòng điện chạy đến hộp. Ví dụ ở hình trên, hộp (Mov_B) chỉ hoạt động khi tiếp điểm I2.1 thông ( tức là có dòng điện chạy qua tiếp điểm I2.1 cấp cho hộp box Mov_B. Các dạng hàm thường được biểu diễn bằng hộp box gồm các bộ đếm thời gian (Timer), bộ đếm (Counter) và các hàm toán học.. Cuộn dây và các hàm phải mắc đúng chiều toán học!
Các vấn đề chính cần quan tâm khi sử dụng ngôn ngữ LAD:
- Ngôn ngữ lập trình PLC: LAD thích hợp cho người mới bắt đầu lập trình.
- Biểu diễn đồ họa dễ hiểu và thông dụng hơn.
- Luôn chuyển được từ dạng LAD sang STL.
Ngôn ngữ lập trình PLC FBD (Function Block Diagram)
Ngôn ngữ FBD cho phép ta xem các lệnh như là các hộp logic, tương tự như sơ đồ cổng logic. Không có các tiếp điểm và cuộn dây, nhưng sẽ có các hộp. Chương trình logic sẽ được tạo ra bằng việc kết nối các hộp, ngõ ra lệnh này sẽ tác động đến ngõ vào lệnh kia tạo thành chương trình điều khiển logic. Phương pháp kết nối này cho phép ta giải quyết được nhiều bài toán logic khác nhau. Luôn chuyển đổi từ chương trình FBD sang STL.
Ngôn ngữ lập trình PLC STL (Statement List)
Soạn thảo chương trình theo phương pháp STL cho phép ta viết chương trình điều khiển bằng các lệnh gợi nhớ. Nói chung soạn thảo bằng STL phù hợp cho người có kinh nghiệm lập trình và đã quen với PLC cũng như cách lập trình logic.
Soạn thảo bằng ngôn ngữ STL cũng cho phép ta tạo ra các chương trình mà các ngôn ngữ LAD và FBD không thực hiện được. Vì STL là cách lập trình theo ngôn ngữ tự nhiên của CPU, trong khi các phương pháp khác là lập trình đồ họa. Ví dụ viết chương trình theo ngôn ngữ STL như sau:
Chương trình này tương tự như lập trình bằng ngôn ngữ Assembler. CPU thực hiện chương trình bằng cách chạy các lệnh từ trên xuống dưới, rồi lặp lại.Các điểm chính cần quan tâm khi chọn ngôn ngữ lập trình STL:
- Ngôn ngữ lập trình PLC: STL thích hợp cho những người lập trình kinh nghiệm
- STL cho phép ta giải quyết các điều khiển phức tạp mà LAD và FBD không thực hiện được
- STL chỉ thực hiện với tập lệnh SIMATIC
- Có thể chuyển từ chương trình STL sang LAD và FBD nhưng ngược lại thì sẽ bị giới hạn.
>>> Bài viết không thể bỏ qua đối với ai muốn tìm hiểu về PLC: Lập trình PLC || #1 kiến thức tổng hợp về lập trình PLC
Nếu các bạn có bất cứ thắc mắc hay cần tư vấn về thiết bị dịch vụ vui lòng comment phía dưới hoặc Liên hệ chúng tôi!
Chúng tôi luôn sẵn sàng đem lại những giá trị tốt đẹp cho cộng đồng!