Tài liệu Điều khiển lập trình PLC - Phần 1 - Chương 4: Kỹ thuật lập trình: ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
PHẦN I 
ĐIỀU KHIỂN LẬP TRÌNH (PLC) 
CHƯƠNG 4 
 KỸ THUẬT LẬP TRÌNH 
 Chủ đề: 
 Biến và vùng nhớ 
 Tổ chức quá trình 
 Các kỹ thuật lập trình 
Mục đích: 
 Sử dụng và định nghĩa các khối dữ liệu 
 Khai báo và truy cập các hàm chức năng 
 Mối quan hệ giữa các loại khối hàm và hiệu quả của việc sử dụng 
chúng trong thiết kế chương trình. 
 105 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
4.1. KHÁI QUÁT 
Thiết bị điều khiển lập trình đóng một vai trò rất quan trọng trong điều khiển, giám 
sát và quản lý các hoạt động của các thiết bị, máy và công nghệ sản xuất về cả phương 
diện kinh tế, sử dụng và kỹ thuật. Đối với các hệ thống điều khiển mà sử dụng thiết bị này 
làm trung tâm điều khiển thì ngoài công việc kết nối, đảm bảo về tính đồng bộ, giữa thi...
                
              
                                            
                                
            
 
            
                 25 trang
25 trang | 
Chia sẻ: hunglv | Lượt xem: 1947 | Lượt tải: 1 
              
            Bạn đang xem trước 20 trang mẫu tài liệu Điều khiển lập trình PLC - Phần 1 - Chương 4: Kỹ thuật lập trình, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
PHẦN I 
ĐIỀU KHIỂN LẬP TRÌNH (PLC) 
CHƯƠNG 4 
 KỸ THUẬT LẬP TRÌNH 
 Chủ đề: 
 Biến và vùng nhớ 
 Tổ chức quá trình 
 Các kỹ thuật lập trình 
Mục đích: 
 Sử dụng và định nghĩa các khối dữ liệu 
 Khai báo và truy cập các hàm chức năng 
 Mối quan hệ giữa các loại khối hàm và hiệu quả của việc sử dụng 
chúng trong thiết kế chương trình. 
 105 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
4.1. KHÁI QUÁT 
Thiết bị điều khiển lập trình đóng một vai trò rất quan trọng trong điều khiển, giám 
sát và quản lý các hoạt động của các thiết bị, máy và công nghệ sản xuất về cả phương 
diện kinh tế, sử dụng và kỹ thuật. Đối với các hệ thống điều khiển mà sử dụng thiết bị này 
làm trung tâm điều khiển thì ngoài công việc kết nối, đảm bảo về tính đồng bộ, giữa thiết 
bị ngoại vi và điều khiển là rất đơn giản, yếu tố cần phải quan tâm đến là chương trình 
điều khiển mà người sử dụng viết cho thiết bị điều khiển. Khi đề cập đến những hệ thống 
có mức độ hoạt động phức tạp, nhiều đầu vào – ra, sự lặp lại các địa chỉ của các I/O nhiều 
lần thường xuyên trong quá trình quét đòi hỏi việc thiết kế và viết các chương trình phải 
có kỹ thuật hẳn hoi. Như vậy việc cấu trúc chương trình làm phân tán quá trình hoạt động 
của chương trình thành nhiều vùng chức năng tương ứng với các khối, hàm để quản lý và 
truy xuất chúng khi tác nhiệm làm cho chương trình tối ưu, hạn chế tối đa những lỗi, không 
gây nhầm lẫn, dễ dàng kiểm tra và sửa lỗi hay là cải tiến. Cấu trúc được mô tả hình 4.1. 
SFCFB
FB FC
FC
FB
H
ệ 
đi
ều
 h
àn
h OB 
Hình 4.1 – Cấu trúc gọi các khối chương trình
4.2. TỔ CHỨC BỘ NHỚ CPU 
Vùng nhớ của CPU được tổ chức như hình 4.2. 
ACCU 1 
ACCU 1 
Accumulators 
Address Registers 
ACCU 1 
ACCU 1 
Data Block Registers 
ACCU 1 
ACCU 1 
Status word 
ACCU 1 
• Chương trình người sử 
dụng (RAM) 
• Chương trình người sử 
dụng (EEPROM)
• Logic Block 
• Data Block 
• Local Block
Bộ đệm ra số Q 
Bộ đệm vào số I 
Vùng nhớ cờ M 
Timer T 
Counter C
Load 
memory
Word 
memory
System 
word 
Hình 4.2- Tổ chức bộ nhớ 
Load memory: là vùng nhớ chứa chương trình ứng dụng do người sử dụng viết gồm các 
khối chương trình ứng dụng OB, FC, FB, các khối chương trình có sẵn trong thư viện hệ 
 106 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
thống SFC, SFB và các khối dữ liệu DB. Vùng nhớ này được tạo bởi một phần của bộ nhớ 
RAM của CPU và EEPROM. 
Work memory: là vùng nhớ chứa các khối DB đang được mở, khối chương trình (OB, FB, 
FC, SFC, SFB) đang được CPU thực hiện và phần bộ nhớ cấp phát cho những tham số hình 
thức để các khối chương trình này trao đổi tham trị với hệ điều hành và các khối chương 
trình khác. Tại một thời điểm nhất định vùng Work memory chỉ chứa một khối chương 
trình để thực thi. Sau khi khối chương trình này được thi hành xong thì hệ điều hành sẽ xóa 
nó khỏi Work memory và nạp vào nó khối chương trình cần thực hiện tiếp theo. 
System memory: là vùng nhớ chứa các bộ đệm vào/ ra (I/ Q), các vùng biến cờ M, các 
thanh ghi C-word, PV, T-bit của Timer, thanh ghi C-word, PV, C-bit của Counter. Việc truy 
cập, sửa đổi dữ liệu những ô nhớ của các vùng nhớ này được phân chia bởi hệ điều hành 
của CPU hoặc do bởi chương trình ứng dụng của người sử dụng. 
4.3. TỔ CHỨC QUÁ TRÌNH ĐIỀU KHIỂN 
Công việc này giúp thực hiện các công đoạn tạo dựng một chương trình đơn giản 
hơn. Hình 4.3 mô tả những công đoạn nền tảng để tổ chức các yêu cầu điều khiển quá 
trình. 
4.3.1. Chia quá trình thành nhiều nhiệm vụ 
Một quá trình tự động hóa gồm nhiều nhiệm vụ 
riêng biệt. Bằng việc nhận định các nhiệm vụ có quan hệ 
trong quá trình và rồi phân chia thành những nhiệm vụ nhỏ 
hơn, thậm chí ngay cả quá trình phức tạp có thể được xác 
định bởi những vùng nhiệm vụ đơn giản. Ví dụ sau sử dụng 
hệ thống trộn để mô tả cách tổ chức quá trình thành những 
cụm chức năng và các nhiệm vụ riêng biệt. Hình 4.4. 
Chia quá trình thành nhiều 
nhiệm vụ riêng lẽ 
Mô tả cấu hình của máy 
Thiết kế và mô tả các 
yêu cầu an toàn 
Mô tả mỗi nhiệm vụ 
Định nghĩa và mô tả trạm 
vận hành 
Hình 4.4 – Phân chia quá trình
Hình 4.3 – Các nhiệm vụ 
 tổ chức quá trình
 107 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
Với đặc tính cấu trúc của quá trình được điều khiển ta có thể phân chia quá trình 
này thành nhiều nhóm có mối quan hệ với nhau. Cơ bản thành 3 nhóm như mô tả ở hình 
4.5. 
4.3.2. Mô tả mỗi nhiệm vụ 
Khi mô tả mỗi khu vực hay nhiệm vụ, chúng ta không chỉ định nghĩa hoạt động của 
chúng mà còn các thành phần biến đổi điều khiển. 
Ví dụ quá trình trộn công nghiệp sử dụng các bơm, động cơ, van, chúng được mô ta đầy đủ 
để xác định các đặc tính hoạt 
động và các quan hệ khắn khít 
được đòi hỏi trong suốt thời 
gian hoạt động. Bảng 3-1 đến 
3-4 cung cấp những mô tả điển 
hình của thiết bị sử dụng trong 
quá trình trộn. 
Hình 4.5 – Định nghĩa các nhóm trong quá trình 
 Bảng 3-1 . Mô tả động cơ bơm cung cấp thành phần A
Động cơ bơm cung cấp cấp thành phần A
1. Bơm cung cấp thành phần A tới thùng trộn 
- Lưu lượng 75 gallons /min 
- Công suất 80 HP, n = 1000 RPM 
2. Bơm được điều khiển (start/stop) từ trạm vận hành được đặt gần thùng trộn. 
3. Bơm cung cấp có những điều kiện ràng buộc: 
- Intake van thành phần A mở 
- Feed van thành phần A mở 
- Thùng trộn là không đầy 
- Drain van của thùng trộn đóng 
- Động cơ bơm không lỗi ( tiếp điểm phụ trợ không được nhấc lên) 
- Nút dừng khẩn cấp không làm việc 
 108 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 Bảng 3-2 . Mô tả động cơ trộn
Động cơ trộn 
1. Động cơ trộn thành phần A và B trong thùng trộn 
- Công suất 80 HP, n = 1000 RPM 
2. Động cơ trộn được điều khiển (start/stop) từ trạm vận hành được đặt gần 
thùng trộn. 
3. Động cơ trộn có những điều kiện ràng buộc: 
- Thùng trộn là không trống 
- Drain van của thùng trộn đóng 
- Động cơ trộn không lỗi ( tiếp điểm phụ trợ không được nhấc lên) 
- Nút dừng khẩn cấp không làm việc 
Bảng 3-3 . Mô tả van xả
Van xả 
1. Van xả có nhiệm vụ xả thành phần đã trộn. Van có 1 cuộn dây và trả về 
bằng lò xo. 
- Nếu cuộn dây được kích, van xả mở. 
- Nếu cuộn dây không được kích, van xả đóng. 
2. Động cơ trộn được điều khiển (open/close) từ trạm vận hành được đặt gần 
thùng trộn. 
3. Mở van xả có ràng buộc: 
- Động cơ trộn không hoạt động 
- Nút dừng khẩn cấp không làm việc 
Bảng 3-4 . Mô tả giới hạn mức thùng trộn 
 Các giới hạn thùng trộn 
1. Các giới hạn mức thông báo trạng thái mức thùng và cung cấp những ràng 
buộc trong quá trình. 
Mô tả các đầu vào/ra và quan hệ vào – ra 
Sau khi viết các mô tả vật lý của mỗi thiết bị được điều khiển, tạo sơ đồ logic của 
các đầu vào / ra cho mỗi thiết bị hoặc vùng nhiệm vụ. Hình 4.6 là sơ đồ thích nghi với các 
khối logic được lập trình. 
Ví dụ : 
Tạo sơ đồ I/O cho bơm của quá trình trộn. Mỗi bơm yêu cầu 4 loại đầu vào: công tắc khởi 
động, công tắc ngừng, điều kiện ràng buộc cho phép bơm khởi động và đầu vào phản hồi 
mỗi khi lỗi được phát hiện. Đồng thời cũng có 2 đầu ra cho khối điều khiển này: một là bật 
 109 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
động cơ chạy, và một thông báo cho CPU là bơm không làm việc. Hình 4.7 mô tả sơ đồ I/O 
của bơm cung cấp thành phần A. 
Tạo sơ đồ I/O cho động cơ trộn 
Cũng giống như bơm, động cơ 
cũng có 4 loại đầu vào: công 
tắc khởi động, công tắc ngừng, 
điều kiện ràng buộc cho phép 
bơm khởi động và đầu vào 
phản hồi mỗi khi lỗi được phát 
hiện. Đồng thời cũng có 2 đầu 
ra cho khối điều khiển này: 
một là bật động cơ chạy, và 
một thông báo cho CPU là bơm 
không làm việc. Hình 4.8 mô 
tả sơ đồ I/O của động cơ trộn. 
Hình 4.6 - Sơ đồ I/O 
Khởi động
Dừng
Phản hồi
Bơm cung cấp 
thành phần A 
Ràng buộc
Lỗi 
Chạy 
Tạo sơ đồ I/O cho van xả 
Khối điều khiển cho van xả có 
cuộn dây kích chì có 3 đầu 
vào: công tắc mở, công tắc 
đóng và ràng buộc. Có một 
đầu ra là cuộn dây tác động, 
hình 4.9. 
Hình 4.7 - Sơ đồ I/O của bơm cung cấp thành phần A 
4.3.3. Mô tả những yêu cầu 
an toàn 
Khởi động
Dừng
Phản hồi
Động cơ trộn
Ràng buộc
Lỗi 
Chạy 
Các thiết bị hệ thống cần phải 
có tính an toàn để đảm bảo 
điều kiện hợp pháp và tính 
pháp lý, do đó trong mô tả quá 
trình thường xuyên phải bao 
gồm các thành phần an toàn. 
Hình 4.8 - Sơ đồ I/O của động cơ trộn Ví dụ: Quá trình trộn sử dụng 
điều kiện sau cho mạch an toàn: 
 Một nút nhấn Stop chuyển 
dừng những thiết bị sau 
không lệ thuộc vào PLC. Mở
Đóng Chạy 
Ràng buộc
Van xả- Bơm cung cấp thành phần A 
- Bơm cung cấp thành phần B 
- Động cơ trộn 
- Cuộn dây của van xả. 
Hình 4.9 - Sơ đồ I/O của van xả 
 110 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 Nút dừng khẩn cấp đặt ngay ở trạm vận hành. 
 Đầu vào điều khiển tương ứng với nút dừng khẩn cấp. 
4.3.4. Mô tả trạm vận hành 
Mỗi quá trình cần có 
một giao tiếp vận hành cho 
phép sự can thiệp của con người 
vào quá trình. Hình 4.10 mô tả 
một trạm vận hành bao gồm các 
chỉ định, tác động… 
4.3.5. Tạo cấu hình thiết bị 
điều khiển 
Sau khi các yêu cầu thiết kế đã 
được thành lập, xác định loại 
thiết bị điều khiển cần thiết cho 
dự án. Tức là xác định các 
mođun I/O và số đầu I/O. Hình 
4.11 mô tả xác định cấu hình 
của một quá trình. 
Tạo cơ sở dữ liệu của các tín 
hiệu I/O 
Ta có thể tạo cơ sở dữ liệu bằng 
cách khai báo trong bảng các kí 
hiệu điển hình (Symbol table). Hình 4.10 – Mô tả trạm vận hành 
Xem file S7-300 
4.3.6. Lựa chọn kỹ thuật lập 
trình 
Do nhu cầu của dự án, 
múc độ phức tạp mà ta có thể 
sử dụng các kỹ thuật lập trình 
sau: 
 Lập trình tuyến tính 
 Lập trình phân cấp 
 Lập trình cấu trúc. 
4.4. KỸ THUẬT LẬP 
TRÌNH TUYẾN TÍNH 
Hình 4.11 – Tạo cấu hình của một quá trình 
Lập trình tuyến tính là 
chương trình ứng dụng được 
tập trung trong một khối tổ 
chức chương trình (OB1) chứa 
chuỗi lệnh liên tiếp theo tuần 
 111 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
tự mà có khả năng thực hiện trực tiếp theo vòng quét. Loại này thì gọn nhẹ nhưng chỉ đối 
với bài toán đơn giản. 
4.4.1. Local Block của khối OB1 
Khi thực hiện khối OB1, hệ điều hành luôn cấp một local block có kích thước mặc 
định là 20 byte trong work memory để OB1 có thể lấy được những dữ liệu từ hệ điều hành. 
Mặc dù mặc định là 20 byte nhưng người sử dụng có thể khai báo thêm các biến nhớ cho 
chương trình tùy theo khả năng sử dụng của chương trình. 
Chú ý do khối local block chỉ tồn tại trong một vòng quét và sau đó được cấp lại 
mới trong lần quét tiếp theo, do đó nên chỉ sử dụng local block cho việc lưu trữ biến nháp 
tạm thời. 
OB1
4.4.2. Điều khiển quá trình trộn 
Quá trình được mô tả ở sơ đồ hình 4.4 và hoạt động theo các bảng 3-1 tới 3-4. 
 112 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 113 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 114 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 115 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
4.5. KỸ THUẬT LẬP TRÌNH PHÂN BỐ 
Chương trình được phân bố thành các khối, mỗi 
khối chứa các lệnh logic để thực hiện các nhiệm vụ của 
các thiết bị. Những lệnh định nghĩa ở khối tổ chức OB1 sẽ 
hi hành các khối phân bố của chương trình điều khiển. Ví 
dụ chương trình phân bố chứa các khối lệnh để điều khiển 
mỗi chế độ vận hành của hệ thống sản xuất. 
Trong lập trình phân bố, các lệnh điều khiển các 
thành phần điển hình được tháo ra khỏi khối OB1 và đặt 
chúng trong các khối khác (FC, FB). 
4.5.1. Lệnh gọi khối chương trình 
Một chương trình có thể cấu trúc thành nhiều thành phần 
(sub-rountines) được lưu trữ dưới các khối khác nhau. Một 
đoạn chương trình được lưu trữ trong một khối có thể truy cập đến các đoạn khác mà được 
lưu trữ trong khối khác bằng các lệnh gọi hàm. 
Chương trình 
thực thi 
Kết thúc khối
Khối được gọi (FB, 
FC, SFC, SFB ) 
Khối gọi ( OB, FB, 
FC, SFC, SFB ) 
Chương trình 
thực thi 
Câu lệnh gọi 
khối khác 
FC8
FC2
FC6
FC4
OB
 Gọi hàm chức năng (FC) 
Cú pháp CALL FC n 
 116 
Trong đó FC n là tên khối con được gọi từ OB1. 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 Gọi khối hàm chức năng (FB) 
Cú pháp CALL FBn, DBm 
Trong đó FBn là tên khối hàm được gọi và DBm là khối dữ liệu đi kèm theo. 
 Khai báo local block cho chức năng FC và FB 
Khi chúng ta khai báo các tham số và các biến cục bộ, ta phải xác định được loại dữ 
liệu được sử dụng bởi chương trình. Các tham số được định nghĩa như: In, Out và In-Out là 
những dữ liệu trao đổi qua lại giữa các khối; Biến cục bộ được định nghĩa là các biến tạm 
thời (TEMP) và tĩnh (STAT). 
Bảng 3-5 mô tả các kiểu khai báo biến. Khi tạo bảng khai báo biến của khối thì các 
biến được khai báo phải được liệt kê theo bảng 3-5. 
Đối với khối FB, các khối dữ liệu Instance DB lưu trữ toàn bộ các loại biến In, Out, In-Out, 
Temp và Stat. 
Các khối FC không có biến Stat. Các tham số In, Out, In-Out được lưu trữ dưới dạng con 
trỏ tham chiếu tới các tham số được cung cấp bởi các khối gọi. 
Biến Mô tả 
In Biến hình thức sử dụng để nhận tham trị từ khối mẹ làm sơ kiện cho chương 
trình trong khối con 
Out Biến hình thức dùng để trả tham trị từ khối con về khối mẹ 
In-Out Biến hình thức, loại biến này vừa có khả năng trả và vừa có khả năng nhận 
tham trị từ khối mẹ. 
STAT Nội dung của biến loại này có khả năng được lưu giữ lại khi kết thúc chương 
trình trong FB 
TEMP Biến tạm thời. Nội dung sẽ bị mất khi chương tình trong FB kết thúc. 
Bảng 3-5 – Khai báo biến 
4.5.2. Điều khiển quá trình trộn theo phân bố 
Hệ thống trộn có quá trình được mô tả ở trên sử dụng lập trình phân bố ta có giải pháp 
thiết kế như sơ đồ dưới. 
Trong đó: 
Khối OB1 chứa những câu lệnh mà sẽ gọi các FC điều khiển quá trình. 
FC1 (hình 4.5) chứa các câu lệnh điều khiển bơm (động cơ) cung cấp các thành phần A. 
FC2 (hình 4.6) chứa các câu lệnh điều khiển bơm (động cơ) cung cấp các thành phần B. 
FC3 (hình 4.7) chứa những câu lệnh điều khiển động cơ trộn. 
FC4 (hình 4.8) chứa các câu lệnh điều khiển solenoid cho van xả thùng trộn. 
FC5 (hình 4.9) chứa các câu lệnh hiển thị các chỉ định trên trạm vận hành. 
OB1: Partition Program for Mixed process 
CALL "Ingred_A" 
CALL "Ingred_B" 
CALL "Agtr_Mtr" 
CALL "Drn_Valve" 
CALL "Opr_Stn" 
 117 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
FC1: Ingred_A 
Network 1: Ingredient A Feed Pump Permissives 
A "InA_Ivlv_Opn" 
A "InA_Fvlv_Opn" 
A "E_Stop_Off" 
AN "Tank_Full" 
AN "Dm_Sol" 
AN "InA_Mtr_Fault" 
= #permit_A 
Network 2: Ingredient A Feed Pump Start/Stop 
A( 
O "InA_Start_PB" 
O "InA_Mtr_Coil" 
) 
AN "InA_Stop_PB" 
A #permit_A 
= "InA_Mtr_Coil" 
Network 3: Ingredient A Feed Pump Motor Fault Detection 
A "InA_Mtr_Coil" 
AN "InA_Mtr_Fbk" 
L S5T#10S 
SD T 1 
AN "InA_Mtr_Coil" 
R T 1 
L T 1 
T #Cur_Tim1_Bin 
LC T 1 
T #Cur_Tim1_Bcd 
A T 1 
S "InA_Mtr_Fault" 
Network 4: Ingredient A Feed Pump Motor Fault Reset 
A "InA_Mtr_Fbk" 
R "InA_Mtr_Fault" 
FC2: Ingred_B 
Network 1: Ingredient B Feed Pump Permissives 
A "InB_Ivlv_Opn" 
A "InB_Fvlv_Opn" 
A "E_Stop_Off" 
AN "Tank_Full" 
AN "Dm_Sol" 
AN "InB_Mtr_Fault" 
= #Permit_B 
 118 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
Network 2: Ingredient B Feed Pump Start/Stop 
A( 
O "InB_Start_PB" 
O "InB_Mtr_Coil" 
) 
AN "InB_Stop_PB" 
A #Permit_B 
= "InB_Mtr_Coil" 
Network 3: Ingredient B Feed Pump Motor Fault Detection 
A "InB_Mtr_Coil" 
AN "InB_Mtr_Fbk" 
L S5T#10S 
SD T 2 
AN "InB_Mtr_Coil" 
R T 2 
L T 2 
T #Cur_Tim2_Bin 
LC T 2 
T #Cur_Tim2_BCD 
A T 2 
S "InB_Mtr_Fault" 
Network 4: Ingredient B Feed Pump Motor Fault Reset 
A "InB_Mtr_Fbk" 
R "InB_Mtr_Fault" 
FC3: Agtr_Mtr 
Network 1: Agitator Motor Permissives 
A "Tank_Empty" 
AN "Dm_Sol" 
A "E_Stop_Off" 
AN "A_Mtr_Fault" 
= #permit_M 
Network 2: Agitator Motor Start/Stop 
A( 
O "A_Mtr_Start_PB" 
O "A_Mtr_Coil" 
) 
AN "A_Mtr_Stop_PB" 
A #permit_M 
= "A_Mtr_Coil" 
Network 3: Agitator Motor Fault Detection 
A "A_Mtr_Coil" 
AN "A_Mtr_Fbk" 
 119 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
L S5T#8S 
SD T 3 
AN "A_Mtr_Coil" 
R T 3 
L T 3 
T #Cur_Tim3_Bin 
LC T 3 
T #Cur_Tim3_BCD 
A T 3 
S "A_Mtr_Fault" 
Network 4: Agitator Motor Fault Reset 
A "A_Mtr_Fbk" 
R "A_Mtr_Fault" 
FC4: Drn_Valve 
Network 1: Drain Valve Control 
A( 
O "Dm_Opn_PB" 
O "Dm_Sol" 
) 
AN "Dm_Cls_PB" 
A "Tank_Empty" 
A "E_Stop_Off" 
AN "A_Mtr_Fbk" 
= "Dm_Sol" 
FC5: Opr_Stn 
Network 1: Operation Station Lamps 
A "InA_Mtr_Fbk" 
= "InA_Start_Lt" 
Network 2: Operation Station Lamps 
AN "InA_Mtr_Fbk" 
= "InA_Stop_Lt" 
Network 3: Operation Station Lamps 
A "InB_Mtr_Fbk" 
= "InB_Start_Lt" 
Network 4: Operation Station Lamps 
AN "InB_Mtr_Fbk" 
= "InB_Stop_Lt" 
Network 5: Operation Station Lamps 
A "A_Mtr_Fbk" 
= "A_Mtr_Start_Lt" 
Network 6: Operation Station Lamps 
AN "A_Mtr_Fbk" 
 120 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
= "A_Mtr_Stop_Lt" 
Network 7: Operation Station Lamps 
A "Dm_Sol" 
= "Dm_Open_Lt" 
Network 8: Operation Station Lamps 
AN "Dm_Sol" 
= "Dm_Cls_Lt" 
Network 9: Operation Station Lamps 
AN "Tank_Empty" 
= "Tank_Empty_Lt" 
Network 10: Operation Station Lamps 
AN "Tank_Low" 
= "Tank_Low_Lt" 
Network 11: Operation Station Lamps 
A "Tank_Full" 
= "Tank_Full_Lt" 
4.6. KỸ THUẬT LẬP TRÌNH CẤU TRÚC 
- Là lập trình chia nhỏ ra thành các khối riêng biệt với mỗi 
khối thực hiện một nhiệm vụ cụ thể nào đó của bài toán 
điều khiển chung và tất cả các khối này đều được quản lý 
một cách thống nhất bởi khối OB1. Trong khối này dĩ nhiên 
chứa các lệnh gọi các khối chương trình và chúng được bố 
trí theo yêu cầu làm việc của bài toán đặt ra. 
- Các khối chương trình được liệt kê:OB, FC, FB, SFC, SFB, 
trong đó: OB, FC, FB là các khối hàm do người dùng soạn 
thảo, còn SFC ( System Function), SFB (System Finction 
Block) đều được tích hợp sẵn trong phần mềm như: khối hệ 
thống giao tiếp đọc và viết dữ liệu cho các thành phần 
mạng, khối hàm hệ thống đếm tốc độ cao, các thủ tục ngắt… 
- Lập trình cấu trúc cho phép chúng ta có thể tích hợp được các khối hàm chứa nhiều chức 
năng, nhiều nhiệm vụ và có thể hiển thị 
tất cả các trạng thái của hệ thống. Đồng 
thời ta có thể truy xuất tất cả các thành 
phần bất kỳ của hệ thống. 
Ingred.A
Feed Pump
DB2
DB1
Agitator 
Motor
DB3
Ingredent B
Ingredent A
OB1
FB1 
Motor 
Agitator
Motor 
Drain Drain 
FC1 
Ingred.B
Feed PumpVí dụ: Lập trình cấu trúc của hệ thống 
khuấy trộn đã đề cập ở trên. 
Với kiểu lập trình này ta phân tích bài 
toán và xác định chúng theo các cấp như 
mô tả ở hình 4.12. 
Hình 4.12 – Xác định cấp cho lập trình cấu trúc 
 121 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
Tạo Khối OB1, FB1, FC1, và 3 khối dữ liệu được chia xẻ (Instance Data Block) DB1, DB2, 
DB3. Do 3 khối này đều có cùng các đặc điểm giống nhau nên dưới đây chỉ khai báo 1 
DB1 mà thôi. 
• Bảng địa chỉ của các thành phần trong hệ thống, bảng 4-6. 
Bảng 4.6 – Định nghĩa địa chỉ 
• Bảng khai báo biến của khối OB1 
 122 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
• Bảng khai báo biến của Motor FB 
• Bảng khai báo biến của Drain FC 
• Bảng khai báo biến của khối dữ liệu DB1 (InA_Data) 
• Chương trình khối Motor FB 
Network1: Permissive 
 A( 
 O #Start 
 O #Coil 
 ) 
 123 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 AN #Stop 
 = #Coil 
Network2: Motor Control 
 A #Coil 
 AN #Fbk 
 L #Fbk_Tim 
 SD #Tim_Num 
 AN #Coil 
 R #Tim_Num 
 L #Tim_Num 
 T #Cur_Tim_Bin 
 LC #Tim_Num 
 T #Cur_Tim_BCD 
 A #Tim_Num 
 S #Fault 
Network3: Start Light 
 A #Fbk 
 = #Start_Lt 
 R #Fault 
Network4: Stop Light 
 AN #Fbk 
 = #Stop_Lt 
• Chương trình khối Drain FC 
Network1: Drain Valve Control 
 A #Open 
 O #Coil 
 AN #Close 
 = #Coil 
Network2: Valve Open Light 
 A #Coil 
 = #Open_Lt 
Network3: Valve Close Light 
 AN #Coil 
 = #Close_Lt 
• Chương trình khối OB1 
Network1: Ingredient A Feed Pump Permissive 
 A "InA_Ivlv_Opn" 
 A "InA_Fvlv_Opn" 
 A "E_Stop_Off" 
 AN "Tank_Full" 
 AN "InA_Mtr_Fault" 
 = #Permit_A 
 124 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
Network2: Call Motor FB for Ingredient A 
 A "InA_Start_PB" 
 A #Permit_A 
 = L 21.0 
 BLD 103 
 A( 
 O "InA_Stop_PB" 
 ON #Permit_A 
 ) 
 = L 21.1 
 BLD 103 
 A "InA_Mtr_Fbk" 
 = L 21.2 
 BLD 103 
 CALL "Motor" , "InA_Data" 
 Start :=L21.0 
 Stop :=L21.1 
 Fbk :=L21.2 
 Tim_Num :=T1 
 Fbk_Tim :=S5T#10S 
 Fault :="InA_Mtr_Fault" 
 Start_Lt:="InA_Start_Lt" 
 Stop_Lt :="InA_Stop_Lt" 
 Coil :="InA_Mtr_Coil" 
 A BR 
 = #A_Done 
Network3: Ingredient B Feed Pump Permissive 
 A "InB_Ivlv_Opn" 
 A "InB_Fvlv_Opn" 
 A "E_Stop_Off" 
 AN "Tank_Full" 
 AN "Drn_Sol" 
 AN "InB_Mtr_Fault" 
 = #Permit_B 
Network4: Call Motor FB for Ingredient B 
 A "InB_Start_PB" 
 A #Permit_B 
 = L 21.0 
 BLD 103 
 A( 
 O "InB_Stop_PB" 
 ON #Permit_B 
 125 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 ) 
 = L 21.1 
 BLD 103 
 A "InB_Mtr_Fbk" 
 = L 21.2 
 BLD 103 
 CALL "Motor" , "InB_Data" 
 Start :=L21.0 
 Stop :=L21.1 
 Fbk :=L21.2 
 Tim_Num :=T2 
 Fbk_Tim :=S5T#10S 
 Fault :="InB_Mtr_Fault" 
 Start_Lt:="InB_Start_Lt" 
 Stop_Lt :="InB_Stop_Lt" 
 Coil :="InB_Mtr_Coil" 
 A BR 
 = #B_Done 
Network5: Agitator Motor Permissive 
 A "Tank_Full" 
 AN "Drn_Sol" 
 A "E_Stop_Off" 
 AN "A_Mtr_Fault" 
 = #Permit_M 
Network6: Call Motor FB for Agitator Motor 
 A "A_Mtr_Start_PB" 
 A #Permit_M 
 = L 21.0 
 BLD 103 
 A( 
 O "A_Mtr_Stop_PB" 
 ON #Permit_M 
 ) 
 = L 21.1 
 BLD 103 
 A "A_Mtr_Fbk" 
 = L 21.2 
 BLD 103 
 CALL "Motor" , "M_Data" 
 Start :=L21.0 
 Stop :=L21.1 
 Fbk :=L21.2 
 126 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
 Tim_Num :=T3 
 Fbk_Tim :=S5T#8S 
 Fault :="A_Mtr_Fault" 
 Start_Lt:="A_Mtr_Start_Lt" 
 Stop_Lt :="A_Mtr_Stop_Lt" 
 Coil :="A_Mtr_Coil" 
 A BR 
 = #Permit_M 
Network7: Drain Valve Permissive 
 A "Tank_Full" 
 A "E_Stop_Off" 
 AN "A_Mtr_Fbk" 
 = #Permit_Dr 
Network8: Call Drain FC 
 A "Drn_Opn_PB" 
 A #Permit_Dr 
 = L 21.0 
 BLD 103 
 A( 
 O "Drn_Cls_PB" 
 ON #Permit_Dr 
 ) 
 = L 21.1 
 BLD 103 
 CALL "Drain" 
 Open :=L21.0 
 Close :=L21.1 
 Open_Lt :="Drn_Opn_Lt" 
 Close_Lt:="Drn_Cls_Lt" 
 Coil :="Drn_Sol" 
 A BR 
 = #D_Done 
 127 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
BÀI TẬP CHƯƠNG 4 
Bài 1: Một dây chuyền sản xuất có 4 động cơ điện M1, M2, M3 và được chạy ở 3 chế độ 
(CĐ) khác nhau bằng 3 nút nhấn (push button). 
Nhấn nút CĐ1 : động cơ M1 và M2 chạy. 
Nhấn nút CĐ2 : động cơ M2 và M3 chạy. 
Nhấn nút CĐ3 : động cơ M1 và M3 chạy. 
Hãy viết chương trình điều khiển trên PLC. 
Bài 2: Hệ thống điều khiển của một máy dập. 
Thực tế trong một hệ thống, máy điều khiển có 2 chế độ vận hành: tự động và bằng tay. 
Chế độ tự động là máy chạy theo một chương trình đã tạo sẳn; chế độ bằng tay được dùng 
để thử từng động tác của một cơ cấu trong hệ để kiểm tra sản phẩm tạo ra trước khi làm 
việc tự động hoặc đôi khi ta sử dụng chế độ này để sản xuất thay cho tự động khi hư hỏng. 
Viết chươngtrình sử dụng chương trình con cho hệ thống dập ở hai chế độ, nguyên tắc hoạt 
động như sau: 
• Đầu tiên, chuyển qua chế độ tay đưa 2 pít tông về vị trí A và B. Do hầu hết pít tông 
nằm ở vị trí lưng chừng của xy lanh. 
• Tác động tín hiệu khởi động (nút nhấn PB_START) pít tông kẹp chặt dịch chuyển từ vị 
trí A đến B thực hiện kẹp chặt phôi, lúc này LS2 được tác động và pít tông dập dịch 
chuyển từ vị trí C đến D để dập định hình phôi (theo hình dạng khuôn) lúc này LS4 tác 
động làm cho pít tông dập lùi về C và LS3 tác động. LS3 tác động làm cho pít tông kẹp 
dịch chuyển từ B về A và LS1 tác động thực hiện lần dập tiếp theo. 
LS3 LS4
LS2
LS1
Van 5/2/2 side 
Van 5/2/2 side
 128 
ĐIỀU KHIỂN LẬP TÌNH PLC - MẠNG PLC Chương 4 – Kỹ thuật lập trình 
Tài liệu tham khảo: 
[1]. “STEP 7 Program Design” 
 Simatic, Siemens. 
[2]. “Statement List for S7-300 and S7-400 Programming” 
 Siemens, Germany. 
 [3]. Lê Văn Tiến Dũng, “Hướng dẫn thực hành PLC và mạng PLC” 
 Đại Học Kỹ thuật Công nghệ Tp.HCM, năm 2003. 
 129 
            Các file đính kèm theo tài liệu này:
 Chương 4- Kỹ thuật lập trình.pdf Chương 4- Kỹ thuật lập trình.pdf