Điều khiển lập trình PLC - Mạng PLC - Chương 4: Kỹ thuật lập trình
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.
25 trang |
Chia sẻ: aloso | Lượt xem: 3168 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Điều khiển lập trình PLC - Mạng PLC - Chương 4: Kỹ thuật lập trình, để xem tài liệu hoàn chỉnh 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