Anh/Chị hãy trình bày nguyên tắc hoạt động của vòng quét chương trình PLC; Ngôn ngữ lập trình PLC, cho vídụ.

Anh/Chị hãy trình bày nguyên tắc hoạt động của vòng quét chương trình PLC; Ngôn ngữ lập trình PLC, cho vídụ.
a)Vòng quét:
PLC thực hiện chương trình cheo chu trình lặp. Mỗi vòng lặp được gọi là vòng quét (scan). Mỗi vòng quét được bắt đầu bằng giai đoạn chuyển dữ liệu từ các cổng vào số tới vùng bộ đệm ảo ngõ vào (I), tiếp theo là giai đoạn thực hiện chương trình. Trong từng dòng quét, chương trình được thực hiện từ lệnh đầu tiên đến lệnh kết thúc. Sau giai đoạn thực hiện chương trình là giai đoạn chuyển các nội dung của bộ đệm ảo ngõ ra (Q) tới các cổng ra số. Vòng quét được kết thúc bằng giai đoạn truyền thông nội bộ và kiểm tralỗi.
Thời gian cần thiết để PLC thực hiện được một vòng quét gọi là thời gian vòng quét (Scan time).Thời gian vòng quét không cố định, tức là không phải vòng quét nào cũng được thực hiện trong một khoảng thời gian như nhau.Có vòng quét thực hiện lâu, có vòng quét thực hiện nhanh tùy thuộc vào số lệnh trong chương trình được thực hiện, vào khối lượng dữ liệu truyền thông ... trong vòng quét đó.
Như vậy giữa việc đọc dữ liệu từ đối tượng để xử lý, tính toán và việc gửi tín hiệu điều khiển tới đối tượng có một khoảng thời gian trễ đúng bằng thời gian vòng quét.Nói cách khác, thời gian vòng quét quyết định tính thời gian thực của chương trình điều khiển trong PLC.Thời gian quét càng ngắn, tính thời gian thực của chương trình càng cao.
Tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc trực tiếp với cổng vào/ra mà chỉ thông qua bộ đệm ảo của cổng trong vùngnhớ tham số. Việc truyền thông giữa bộ đệm ảo với ngoại vi do hệ điều hành CPU quản lý. Ở một số module CPU, khi gặp lệnh vào/ra ngay lập tức, hệ thống sẽ cho dừng mọi công việc khác, ngay cả chương trình xử lý ngắt, để thực hiện lệnh trực tiếp với cổng vào/ra
b)Ngôn ngữ lập trình
Ø Dạng hình thang : LAD (Ladder logic)
Ở dạng soạn thảo này chương trình được hiển thị gần giống như sơ đồ nối dây một mạch trang bị điện dùng các relay và contactor. Chúng ta xem  như có một dòng điện từ một nguồn điện chạy qua một chuỗi các tiếp điểm logic ngõ vào từ trái qua phải để tới ngõ ra. Chương trình điều khiển được  chia ra làm nhiều Network, mỗi một Network thực hiện một nhiệm vụ nhỏ và cụ thể. Các Network được xử lý lần lượt từ trên xuống dưới và từ trái sang phải.
Các phần tử chủ yếu dùng trong dạng soạn thảo này là:
·                     Tiếp điểm không đảo:
·                     Tiếp điểm đảo:
 ·                     Ngõ ra (hoặc trạng thái nội của biến):  
·                     Các hộp chức năng (Box): các chức năng được biểu diễn ở dạng hộp như các phép toán số học, định thời, bộ đếm…
Ví dụ:

                                             Tiếp điểm logic ngõ vào
                                              Đường nguồn
Ø Dạng khối chức năng : FBD (Function Block Diagram)
Dạng soạn thảo FBD hiển thị chương trình ở dạng đồ họa tương tự như sơ đồ các cổng logic. FBD không sử dụng khái niệm đường nguồn cung cấp trái và phải; do đó khái niệm “dòng điện” không được sử dụng. Thay vào đó là logic ”1”. Không có tiếp điểm và cuộn dây như ở dạng LAD, nhưng có các cổng logic và các hộp chức năng. Các cổng logic như AND, OR, XOR…sẽ tương ứng với các tiếp điểm logic nối tiếp hay song song…
Ví dụ


Ø Dạng liệt kê lệnh : STL (StaTement List)
Đây là dạng soạn thảo chương trình dạng tập hợp các câu lệnh.Người dùng phải nhập các câu lệnh từ bàn phím, giữa lệnh và toán hạng (toán hạng có thể là địa chỉ, dữ liệu) có khoảng trắng và mỗi lệnh chiếm một hàng. Ở dạng soạn thảo này sẽ có một số chức năng mà ở dạng soạn thảo LAD hay FBD không có.

Ví dụ: