PLC (Programmable Logic Controller) là một bộ điều khiển có thể lập trình được, dùng để thực hiện các chức năng logic (điều khiển, giám sát các quy trình tự động)
Khi muốn thay đổi cách thức hoạt động của hệ thống, chỉ cần thay đổi chương trình lập trình bên trong PLC mà không cần thay đổi các kết nối vật lý phần cứng, mạch điện
Tín hiệu đầu vào -> PLC -> Tín hiệu đầu ra
Các tín hiệu đầu vào: Công tắc, nút nhấn, cảm biến
Các tín hiệu đầu ra: Động cơ, rơ le, van điện, đèn tín hiệu
Khối nguồn nuôi: Cung cấp nguồn cho các mạch điện của PLC, thường là 24VDC
Hệ thống bus truyền tín hiệu: Bao gồm các tuyến địa chỉ, dữ liệu và điều khiển, giúp kết nối và truyền tải tín hiệu giữa các thành phần trong PLC.

Ngôn ngữ lập trình PLC
- Ladder Logic: giống như sơ đồ mạch điện
- FBD (Functional Block Diagram): biểu đồ khối chức năng, dùng cho các ứng dụng yêu cầu tính toán phức tạp
- ST (Structured Text): dạng văn bản, cho phép viết các chương trình phức tạp
Một số PLC hiện đại còn cho phép lập trình trực tiếp thông qua các phím bấm trên thiết bị, hoặc thông qua máy tính với phần mềm lập trình chuyên dụng
Chu kỳ quét
- Kiểm tra trạng thái của tất cả ngõ vào vật lý (ON/OFF/Analog), sau đó sao chép và lưu vào bộ đệm ảnh đầu vào (input Image Table)
- Thực thi chương trình: CPU thực thi tuần tự từ mạng đầu tiên đến mạng cuối cùng, từ trên xuống dưới và từ trái sang phải. Kết quả của quá trình xử lý được ghi tạm vào bộ đệm ảnh đầu ra (Output Image Table)
- Truyền thông và chẩn đoán lỗi
- CPU chuyển toàn bộ trạng thái từ bộ đệm ảnh đầu ra tới các module ngõ ra vật lý. Sau đó lập tức quay lại bước 1 để thực thi chu kỳ quét mới.