Uploaded by Phúc Phạm Lý Hồng

dokumen.tips ngon-ngu-lap-trinh-sfc

advertisement
Chương 1: Tổng quan về ngôn ngữ SFC
1.1 Các định nghĩa về ngôn ngữ SFC
Theo Automating With PLCs SFC được định nghĩa “Sequential Function
Charts (SFCs) are a graphical technique for writing concur-rent control
programs”[1]. Sách Programming Manual (SFC) viết: “SFC, an abbreviation for
"Sequential Function Chart", is a control specification description format in
which a sequence of control operations is split into a series of steps to enable a
clear expression of the program execution sequence and execution conditions”
[2]. Tuy hai nguồn có cách diễn đạt khác nhau nhưng chung quy ta rút ra định
nghĩa SFC viết tắt của Sequential Function Chart, là một phương pháp lập trình
đặc biệt kiểu đồ họa trong đó chương trình sẽ được chia thành chuỗi các bước
(step) và điều kiện để chuyển tiếp bước(transition condition). SFC thích hợp để
lập trình cho hệ thống có nhiều hoạt động xảy ra đồng thời với nhau.
1.2 Giới thiệu chung về ngôn ngữ SFC
SFC là một trong năm loại ngôn ngữ lập trình tiêu chuẩn được đề cập
trong phiên bản IEC61131-3 được công bố năm 2003. Năm ngôn ngữ được
chuẩn hóa là liệt kê lệnh( IL, Instruction List), sơ đồ tiếp điểm (LD, Ladder
Diagram), sơ đồ khối chức năng (FBD, Function Block Diagram), văn bản có
cấu trúc (ST, Structured Text) và biểu đồ hoạt động tuần tự (SFC, Sequential
Function Chart).
1.3 Đặc điểm của ngôn ngữ SFC
SFC đặc biệt phù hợp với các ứng dụng có thể được cấu trúc thành các bước
xác định rõ ràng. Mạch logic trong một bước có thể được lập trình trong bất kỳ
ngôn ngữ lập trình khác, ngoài ra SFC còn có một số đặc điểm cơ bản như sau:
Trang 1
 Dễ lập trình và sửa lỗi chương trình.
Chúng ta có thể đưa các chương trình điều khiển nguyên một nhà máy, điều
khiển các thiết bị thuộc các trạm khác và toàn bộ máy móc vào chuỗi các khối và
bước của một chương trình SFC . Với cách lập trình với ngôn ngữ có dạng biểu đồ
như SFC người lập trình có thể thấy rõ hoạt động của từng bước trong hệ thống nên
sẽ dễ dàng hơn cho việc kế và sửa lỗi, nhất là những ứng dụng phức tạp như
Hình 1.1
Hình 1.1. Ứng dụng ngôn ngữ SFC trong điều khiển phức tạp
[nguồn: Programing Manual]
 Không cần đến mạch khóa chéo phức tạp.
Mạch khóa chéo chỉ được sử dụng trong sự điều khiển ngõ ra cho mỗi bước. Bởi
vì không một công tắc khóa chéo nào được tác động giữa các bước với nhau trong
Trang 2
chương trình SFC. Khi mỗi bước của chương trình SFC được kích hoạt bởi điều
kiện chuyển tiếp, nó sẽ xóa hoạt động của bước liền trước trừ một số trường hợp ta
dùng đến các khối đặc biệt.
Ví dụ về mạch khóa chéo được cho trong Hình 1.2.
Hình 1.2. Mạch khóa chéo trong chương trình SFC
[nguồn: Programing Manual]
Trang 3
 SFC có sự tương đồng với dạng lưu đồ giải thuật trong cách chuyển
tứ bước này sang bước khác, ta có thể quan sát qua ví dụ trong Hình 1.3
Hình 1.3 Sự tương quan giữa SFC và Flowchart
[nguồn: PLC
Programmable Logic Controllers theory and implementation
Second Edition]
 Sự thiết lập cho các khối và các bước có thể thay đổi rất dễ dàng cho một
ứng dụng mới.
Đối với các loại ngôn ngữ khác như Ladder hay Instruction List khi ta muốn
thay đổi hay mở rộng thêm cho ứng dụng thì ta có thể phải viết lại chương trình
điều khiển, điều này gây bất lợi nhất là những dây chuyền nhập khẩu hoàn toàn
ở nước ngoài họ có thể mã hóa chương trình không cho phép chúng ta can thiệp.
Tuy nhiên với SFC, ta có thể mở rộng ứng dụng dễ dàng hơn. Bằng cách lập
Trang 4
trình theo khối (phần này đồ án không đề cập) thì khi thêm một ứng dụng ta có
thể lập trình ứng dụng vào một khối riêng rồi đưa vào chương trình chính, thông
qua các điều kiện chuyển tiếp chương trình sẽ hoạt động đúng theo ý đồ của
người lập trình. Cụ thể:
o Tổng cộng ta có thể tạo 320 khối trong một chương trình SFC
o Tối đa 512 bước có thể tạo trong một khối
o Có tới 2000 bước tuần tự có thể tạo cho toàn bộ các khối ngõ ra.
o Một điều kiện chuyển tiếp khác có thể được tạo trong đuy nhất một
khối ladder.
 Có thể tạo nhiều khối mở đầu trong một chương trình.
Chúng ta có thể tạo một chương trình với nhiều bước mở đầu như ví dụ trong
Hình 1.3. Khi có nhiều khối mở đầu được kích hoạt ( S0,S1,S2,S3) tại bất kỳ
một bước mà có điều kiện chuyển tiếp được thỏa mãn (t4 đến t7) thì bước S8 sẽ
được thực thi.
Hình 1.4 Chương trình SFC với nhiều bước mở đầu
[nguồn: Programing Manual]
Trang 5
Chương 2: Cấu trúc ngôn ngữ SFC
2.1. Cấu trúc một chương trình SFC cơ bản
Theo tiêu chuẩn IEC, một chương trình SFC bao gồm ba thành phần chính là:
 Các bước (steps)
 Các sự chuyển tiếp(transitions)
 Các tác động( actions)
Hình 2.1. Cấu trúc một chương rình SFC cơ bản
[nguồn: PLC
Programmable Logic Controllers theory and implementation
Second Edition]
2.2. Các bước
Một step biểu diễn một trạng thái trong đó hoạt động của một khối chương
trình với các tìn hiệu ngõ vào và ngõ ra được xác định theo các hoạt động liên
kết của bước. Một bước có thể được kích hoạt hoặc không được kích hoạt. Trạng
thái của các hoạt động trong chương trình thay đổi phụ thuộc vào trạng thái của
các bước [3]. Mỗi bước có thể có hoặc không có tác động liên kết với nó. Một
tác động liên kết với bước bao gồm dãy các lệnh để PLC thực hiện một chức
năng nào đó trong khoảng thời gian bước tích cực. Một Action có thể được lập
Trang 6
trình bằng một trong bốn ngôn ngữ lập trình còn lại của IEC61131-3
languages.[4]
Trong SFC, có các loại bước cơ bản sẽ được liệt kê trong các phần dưới
đây.
2.2.1. Initial steps
Initial step là một bước mở đầu, có kí hiệu là một hình vuông nét đôi. Nó
đại diện cho sự bắt đầu của một một khối. Trong một khối chúng ta có thể thiết
kế tối đa 32 bước mở đầu.
Nếu có nhiều hơn một khối mở đầu được kích hoạt thì chương trình sẽ được thực
thi nếu có bất cứ một điều kiện chuyển tiếp sau bước mở đầu được thỏa mãn.
Ta xét ví dụ trong Hình 2.2 sau:
Hình 2.2. Thiết kế chương trình với nhiều khối mở đầu
Trong hình trên, các bước mở đầu S0,S1,S2,S3 cùng được kích hoạt, nếu một
trong các điều kiện chuyển tiếp t0,t1,t2,t3 được thỏa mãn thì bước S4 sẽ được
thực thi.
2.2.2. Dummy step
Dummy step là một bước mà tại đó không có chương trình xuất ra ngõ ra
của PLC, do đó Dummy step có thể được sử dụng như một bước tạo trễ.
PLC sẽ kiểm tra điều kiện chuyển tiếp phía sau bước Dummy step tương ứng
trong khoảnng thời gian hoạt động của nó và chương trình sẽ xử lý bước tiếp
theo khi mà điều kiện chuyển tiếp được thỏa mãn.
Dummy step sẽ trở thành một step khi mà ta tạo cho nó một chương trình xuất
dữ liệu.
Trang 7
2.2.3. Coil Hold Step
Một Coil HOLD step là một step mà tại đó cuộn dây được duy trì điện
khi chương trình chuyển qua bước khác.
Trong chương trình SFC bình thường không sử dụng Coil Hold Step, trạng thái
ON của tiếp điểm cuộn dây sẽ tự động chuyển sang trạng thái OFF ngay sau khi
diều kiện chuyển tiếp tới bước khác được thỏa mãn. Ta có thể thấy rõ hoạt động
đó qua Hình 2.3.
Hình 2.3. Hoạt động của một bước bình thường
[nguồn: Programming Manual]
Hình 2.3. Ở bước ‘n’ khi X1được tác động thì cuộn dây Y10 được cấp điện, khi
chương trình chuyển qua bước ‘n+1’ thì cuộn dây Y10 mất điện và tiếp điểm
cuộn dây Y10 tại bước ‘n+1’ không chuyển trạng thái (vẫn ở trạng thái off).
Bằng cách thiết kế một bước ngõ ra theo cách sử dụng Coil HOLD step,
tiếp điểm thường hở của cuộn dây sẽ được tác động lại khi chương trình đang xử
lý bước kế tiếp.Ta phân tích Hình 2.4 và Hình 2.5 sau:
Hình 2.4. Ở bước ‘n’ khi X1được tác động thì cuộn dây Y10 được cấp điện, tiếp
điểm Y10 của cuộn dây ở bước n+1 đang thường hở.
Trang 8
Hình2.4. Hoạt động của Coil Hold Step
[nguồn: Programming Manual]
Hình 2.5. Khi chương trình SFC chuyển qua bước ‘n+1’ tiếp điểm Y10 chuyển
trạng thái sang ON dù X1 đã chuyển sang trạng thái OFF.
Hình 2.5. Hoạt động của Coil Hold Step
[nguồn: Programming Manual]
Trang 9
Khi trạng thái ON của cuộn dây được duy trì trong bước kế tiếp, cuộn dây sẽ
bị mất điện trong các trường hợp sau:
 Khi chương trình thực hiện bước End( ngoại trừ trường hợp SM327 đang
ON)
 Khi lệnh điều khiển chương trình SFC(RST BLm) thực thi một lênh END
cưỡng bức tại khối đang xử lý.
 Khi mà thiết bị tạo tín hiệu cho khối START/END của chương trình SFC
bị reset.
 Khi mà bước reset có chức năng reset bước Coil Hold Step được kích
hoạt.
 Khi mà thiết bị điều khiển chương trình SFC START/STOP (SM321) bị
tắt.
 Khi cuộn dây trong bước Coil Hold step bị reset bởi các lệnh trong
chương trình.
 Khi lệnh STOP được thực thi.
2.2.4. Operation Hold Step (without transition check)
Operation Hold Step là bước mà tại đó hoạt động xuất tín hiệu ngõ ra của
bước Operation Hold step vẫn tiếp tục sau khi chương trình đã chuyển qua bước
kế tiếp. Tuy nhiên, chương trình sẽ không chuyển qua bước kế tiếp nếu điều kiện
chuyển tiếp qua bước được thỏa mãn một lần nữa. Ta quan sát hoạt động của
Operation Hold Step (without transition check) qua Hình 2.6 và Hình 2.7 dưới.
Khi chương trình SFC không sử dụng Operation Hold Step (without transition
check), trạng thái ON của tiếp điểm cuộn dây ( được kích hoạt bởi lệnh OUT ) sẽ
tự động chuyển sang OFF trước khi chương trình SFC chuyển qua bước kế tiếp.
Khi sử dụng Operation Hold Step (without transition check) thì trạng thái ngõ ra
của bước này sẽ được giữ khi chương trình xử lý sang bước tiếp theo.
Vì vậy khi tìn hiệu ngõ vào thay đổi thì trạng thái của tiếp cuộn dây cũng thay
đổi theo.
Trang 10
Hình 2.6 Hoạt động của Operation Hold Step
[nguồn: Programming Manual]
Như trong Hình 2.6 trên ta thấy khi chuyển từ bước ‘n’ sang ‘n+1’ thì
trạng thái ngõ ra của bước ‘n’ là tiếp điểm cuộn dây Y10 không thay đổi, khi
trạng thái của tín hiệu ngõ vào cấp cho Y10 là X1 chuyển từ ON sang OFF trong
bước ‘n’ thì sau khi chuyển qua bước ‘n+1’ trạng thái của Y10 cũng thay đổi
theo.
Hình 2.7. Sau khi chương trình xử lý sang bước tiếp theo sẽ không có sự kiểm
tra điều kiện chuyển tiếp từ bước Operation Hold Step (without transition check)
sang bước kế tiếp nữa, vì vậy sẽ không có sự chuyển bước xảy ra khi điều kiện
chuyển tiếp được thỏa mãn một lần nữa. Chương trình sẽ thực thi bước kế tiếp
nếu điều kiện chuyển tiếp của bước được thỏa mãn.
Trang 11
Hình 2.7. Quá trình chuyển tiếp
[nguồn: Programming Manual]
Bước Operation HOLD step (without transition check) sẽ bị mất tích cực khi
một trong những trường hợp sau xảy ra:
 Khi bước END của khối được thực thi.
 Khi lệnh điều khiển chương trình SFC(RST BLm) thực thi một lênh END
cưỡng bức tại khối
 Khi mà bước Operation HOLD step bị reset bởi các lệnh điều
khiểnchương trình SFC( RST BLm\ RST Sn). ( ngoại trừ trường hợp
SM327 đang ở trạng thái ON)
 Khi mà thiết bị tạo tín hiệu cho khối START/END của chương trình SFC
bị reset.
 Khi mà bước reset bước Operation HOLD được kích hoạt
 Khi mà rơle (SM321) điều khiển chương trình SFC START/STOP bị đưa
xuống mức OFF
2.2.5. Operation Hold Step (with transition check)
Operation Hold Step là bước mà tại đó hoạt động xuất tín hiệu ngõ ra của
bước Operation Hold step vẫn tiếp tục sau khi chương trình đã chuyển qua bước
kế tiếp. Tuy nhiên, chương trình sẽ vẫn chuyển qua bước kế tiếp nếu điều kiện
chuyển tiếp qua bước được thỏa mãn một lần nữa (được kích hoạt lại).
Trang 12
Trong chương trình SFC bình thường thì trạng thái ON của tiếp điểm cuộn
dây (được kích hoạt bởi lệnh OUT) sẽ tự động chuyển sang OFF trước khi
chương trình SFC chuyển qua bước kế tiếp.
Khi sử dụng Operation Hold Step (with transition check) thì trạng thái ngõ
ra của bước này sẽ được giữ khi chương trình xử lý sang bước tiếp theo.
Vì vậy khi tín hiệu ngõ vào thay đổi thì trạng thái của tiếp điểm cuộn dây
cũng thay đổi theo. Ta có thể quan sát sự thay đổi của cuộn dây Y10 theo X1
qua Hình 2.8 dưới
Hình 2.8. Hoạt động của Operation Hold Step
[nguồn: Programming Manual]
Như trong hình trên ta thấy khi chuyển từ bước ‘n’ sang ‘n+1’ thì trạng
thái ngõ ra của bước ‘n’ là tiếp điểm cuộn dây Y10 không thay đổi, khi trạng
thái của tín hiệu ngõ vào cấp cho Y10 là X1 chuyển từ ON sang OFF trong bước
‘n’ thì sau khi chuyển qua bước ‘n+1’ trạng thái của Y10 cũng thay đổi theo.
Sau khi chương trình xử lý sang bước tiếp chương trình sẽ kiểm tra lại
điều kiện chuyển tiếp từ bước Operation Hold Step (with transition check) , do
đó khi điều kiện chuyển tiếp của bước được thỏa mãn lại thì chương trình sẽ
quay lại bước vừa xử lý và thực thi nó. Nếu điều kiện không thỏa mãn thì
chương trình mới thực hiện bước kế tiếp.
Trang 13
Hình 2.9. Sự chuyển tiếp của Operation Hold Step
(with transition check)
[nguồn: Programming Manual]
Bước Operation HOLD step (with transition check) sẽ bị mất kích hoạt khi một
trong những trường hợp sau xảy ra:
 Khi chương trình thực hiện bước End( ngoại trừ trường hợp SM327 đang
ON)
 Khi lệnh điều khiển chương trình SFC(RST BLm) thực thi một lênh END
cưỡng bức tại khối đang xử lý.
 Khi mà thiết bị tạo tín hiệu cho khối START/END của chương trình SFC
bị reset.
 Khi mà bước reset có chức năng reset bước Coil Hold Step được kích
hoạt.
 Khi mà thiết bị điều khiển chương trình SFC START/STOP (SM321) bị
tắt.
Trang 14
2.2.6. Reset Step
Reset Step là bước mà tại đó một bước được chọn sẽ bị xóa kích hoạt một
cách cưỡng bức. Ngoài ra bước reset còn có thể dùng để reset các tín hiệu ngõ ra
như trong các dạng ngôn ngữ khác.
Hình 2.10. Hoạt động của bước Reset
[nguồn: Programming Manual]
Khi lập trình ở một số phần mềm ví dụ như GX-Deverloper nếu muốn reset một
bước xác định ta để số thứ tự của bức muốn reset vào ô Reset, khi bước Reset
được kích hoạt step 3 sẽ bị reset.
2.2.7. Block START Step (with END check)
Block START Step (with END check) là bước mà tại đó khối được xác
định bởi bước sẽ được bắt đầu, khi chương trình thực thi bước END của khối
này thì chương trình sẽ kiểm tra điều kiện để chuyển qua bước khác.
 Khi bước Block START Step (with END check) được kích hoạt, chương
trình sẽ cho phép khối ‘m’ được thực thi.
 Chương trình chính sẽ không thực thi bất cứ một hoạt động nào trong khi
khối ‘m’ đang được xử lý.
 Khi chương trình xử lý trong khối ‘m’ gặp bước END thì chương trình sẽ
chỉ kiểm tra điều kiện chuyển tiếp.
 Khi điều kiện chuyển tiếp được thỏa mãn thì chương trình sẽ xử lý sang
bước tiếp theo.
Trang 15
Hình 2.11. Hình dạng Block START Step(with END check)
[nguồn: Programming Manual]
Hinh 2.12 Hoạt động xử lý chương trình khi gặp bước
Block START Step(with END check)
[Nguồn: PLC Programmable Logic Controllers theory and implementation 2nd
ed][4]
Hình 2.12 cho ta thấy hoạt động của chương trình khi gặp Block START Step.
Ta có thể thấy rõ là chương trình chính sẽ rẽ nhánh qua thực hiện chương trình
trong Block ‘m’. Sau khi chương trình thực thi xong các Bước trong Block’m’
mới chuyển về chương trình chính và kiểm tra điều kiện để tiếp tục.
Trang 16
2.2.8. Block START Step (without END check)
Block START Step (without END check) là bước mà tại đó khối được xác
định bởi bước sẽ được bắt đầu, trong lúc chương trình đang thực thi các bước
trong khối thì điều kiện chuyển tiếp vẫn được kiểm tra.
 Khi được kích hoạt Block START Step (without END check) sẽ cho phép
khối ‘m’ được hoạt động.
 Sau khi khối ‘m’ đã hoạt động, điều kiện chuyển tiếp từ bước m sang
bước kế tiếp là xung tác động cạnh lên X0 sẽ được kiểm tra.
Hình 2.13. Hình dạng Block START Step
(without END check)
[nguồn: Programming Manual]
 Nếu điều kiện chuyển tiếp được thỏa mãn thì chương trình sẽ chuyển qua
bước kế tiếp mà không cần chờ cho tới khi khối ‘m’ kết thúc.
2.2.9. END Step
END Step là bước mà tại đó tất cả sự hoạt động của khối bị dừng lại.
Hoạt động của bước END như sau:
 Khi bước END được kích hoạt các hoạt đọng sau sẽ được xử lý để kết
thúc hoạt động của khối:
o Tất cả các bước trong khối bị mất kích hoạt
o Cuộn dây được cấp điện bởi lệnh OUT tất cả bị mất điện
Trang 17
2.3. Sự chuyển tiếp
Quá trình chuyển tiếp là thành phần cơ bản của một khối, sau khi PLC
thực hiện xong các lệnh trong phần tác động gắn với bước, PLC sẽ thực hiện một
sự chuyển tiếp rồi mới thực thi bước kế tiếp. Một điều kiện chuyển tiếp là điều
kiện để tiến hành thực hiện các bước tiếp theo sau khi điều kiện đó được thỏa
mãn. Một chuyển tiếp có thể lấy từ các tín hiệu ngõ vào có sự thay đổi, kết quả
của tác động bước kế trước hay là kết quả một phép so sánh (e.g.,
IFTemp_1≥100 trong Hình 2.1).[4]
Một số loại chuyển tiếp được cho trong Bảng 2.1
Bảng2.1. Chức năng một số chuyển tiếp
Loại
Serial transition
Selection transition
(branch/coupling)
Chức năng từng loại
Khi điều kiện chuyển tiếp thỏa mãn, bước tiếp theo được
thực hiện, và tương tự cho các bước sau đó.
- Một nhánh ra hoặc vào với nhiều điều kiện chuyển tiếp.
- Trong số nhiều điều kiện chuyển tiếp, bước tiếp theo sẽ
được thực hiện nơi điều kiện chuyển tiếp thỏa mãn.
- Thực hiện tiến hành nhiều bước từ một bước duy nhất.
Parallel transition
- Khi các bước tức thời trước khớp nối được thực thi,
(branch/coupling)
bước tiếp theo cũng sẽ được thực thi khi các điều kiện
chuyển tiếp thông thường thỏa mãn.
Jump transition
Khi điều kiện chuyển tiếp thỏa mãn, sẽ tiến hành thực thi
các bước quy định trong cùng một khối.
Trang 18
2.3.1. Serial transition
Serial transition là quá trình chuyển đổi nối tiếp, trong đó sẽ xử lý và tiến
hành các bước ngay dưới bước hiện tại, khi các điều kiện chuyển tiếp thỏa mãn.
Hình 2.14. Vị trí của Transition
.
[nguồn: Programming Manual]
Quá trình chuyển đổi nối tiếp có tối đa 512 bước
trong mỗi
khối. Vì vậy cũng có 512 quá trình chuyển đổi nối tiếp được mô tả.
Tuy nhiên , có một số hạn chế về số lượng các dòng như chỉ ra trong hình 2.15
dưới đây. phụ thuộc vào các hiện thị cột SFC.
Trang 19
Khi chương trình SFC hiện 1 hoặc 2
cột thì:
-
Số bước(dòng) tối đa là 1536
-
Số chuyển đổi nối tiếp tối đa là 512
Hình 2.15. Số lượng các bước và điều kiện chuyển tiếp
trong một khối của chương trình SFC
[nguồn: Programming Manual]
Trang 20
Hình 2.15. cho ta thấy trong một chương trình SFC, sẽ có tối đa 32 hoạt động
song song (32 cột) và khi trrong khối sẽ có số lượng các bước tính theo công
thức trên.
Bảng 2.2 liệt kê số dòng tương ứng tối đa với số cột của SFC
Bảng 2.2: Số lượng các dòng và các cột trong một khối của một chương
trình SFC
Số cột hiện thị
Số bước hiện thị tối đa tương ứng
1 hoặc 2
1536
8
384
16
192
22
138
28
108
32
96
2.3.2. Selection transition
Selection transition là sự lựa chọn chuyển tiếp, trong đó xử lý song song
các điều kiện chuyển tiếp. Điều kiện chuyển tiếp ở nhánh nào thỏa mãn thì bước
tiếp theo của nhánh đó được thực hiện.
Ta xét sự lựa chọn rẽ nhánh và lựa chọn ghép nối theo Bảng 2.3 sau:
Trang 21
Bảng 2.3: Sự hoạt động của các điều kiện chuyển tiếp
 Từ bước “n” sẽ xử
lý để thực thi bước
“n+1” hoặc “n+2”
thông qua hai điều
kiện
chuyển
tiếp
“b” hoặc “c” tương
ứng.
 Nếu cả 2 điều kiện
chuyển
đổi
được
thỏa mãn đồng thời,
Rẽ
thì điều kiện bên
nhánh
trái sẽ được ưu tiên.
Bước “n” sẽ ngừng
hoạt động.
 Xử lý các bước
cũng như các điều
kiện được tiến hành
tiếp tục trong từng
cột cho đến khi gặp
một khớp nối song
song.
Trang 22
 Khi các điều kiện
chuyển đổi “b” hoặc
“c” được thỏa mãn
Ghép
thì các bước thực
nối
thi [A] hoặc [B] sẽ
bị ngừng hoạt động.
Bước
“n+2”
sẽ
được thực thi.
Sẽ có tối đa 32 bước có sẵn để lựa chọn chuyển đổi.
Hình 2.16: Số lượng các bước có thể chọn lựa trong một
khối
[nguồn: Programming Manual]
Khi hai hoặc nhiều điều kiện lựa chọn chuyển tiếp thỏa mãn, thì điều kiện tận
cùng bên trái được ưu tiên.
Ví dụ: Ở hình 2.16 Khi điều kiện chuyển tiếp “c”, “d”, “e” cùng thỏa mãn thì
chương trình SFC sẽ ưu tiên chọn bước “n+2” thực thi trước tiên.
Trang 23
Hình 2.17: Lựa chọn bước ưu tiên
[nguồn: Programming Manual]
Trong một quá trình lựa con chuyển đổi, sự lựa chọn ghép nối có thể được bỏ
qua bởi một chuyển đổi nhảy, hoặc chuyển đổi kết thúc.
Khi điều kiện chuyển tiếp “b” thỏa
mãn thì bước “n+1” được thực thi,
sau đó tiếp tục kiểm tra chuyển tiếp
và thực thi các bước phía dưới, cho
đến khi điều kiện chuyển tiếp “d”
thỏa mãn thì thực thi chuyển tiếp
nhảy đến bước “n”.
Hình 2.18. Chuyển tiếp nhảy bước
[nguồn: Programming Manual]
Chú ý: Trong một quá trình chuyển đổi có chọn lọc, số lượng chi nhánh và số
lượng của khớp nối có thể khác nhau.
Tuy nhiên, một chi nhánh lựa chọn và khớp nối song song hoặc một chi nhánh
song song và lựa chọn khớp nối không thể được kết hợp.
Trang 24
2.3.3. Parallel transition
Parallel transition là sự quá trình chuyển tiếp song song. Trong đó các
bước liên kết song song được thực thi đồng thời khi điều kiện chuyển tiếp thỏa
mãn.
Bảng 2.4. Sự hoạt động của các điều kiện chuyển tiếp
 Từ bước “n” nếu điều
kiện chuyển tiếp “b”
thỏa mãn thì sẽ thực
hiện đồng thời bước
Rẽ
nhánh
“n+1” và bước “n+3”
 Điều
kiện
chuyển
tiếp “c” thỏa mãn thì
thực
hiện
bước
“n+2”, còn “d” thỏa
mãn sẽ thực hiện
bước “n+4”
 Khi điều kiện chuyển
tiếp “b”, “c” thỏa
mãn thì bước “n”,
“n+1”
ngừng
hoạt
động và thực thi các
Ghép
nối
bước chờ đợi.
 Bước chờ đợi được
sử dụng để đồng bộ
hóa song song. Khi
điều kiện chuyển tiếp
“d” được thỏa mãn ở
các bước chờ đợi,
Trang 25
chương trình sẽ tiến
hành thực thi bước
“n+2”.
 Bước chờ đợi là bước
giã
lập
(dummy
steps) với yêu cầu
khôn có đầu ra hoạt
động
Có tối đa 32 bước để xử lý đồng thời các chuyển đổi song song.
Hình 2.19: Số bước tối đa có thể lựa chọn
[nguồn: Programming Manual]
Nếu khối khác được bắt đầu bằng các hoạt động xử lý song song, khối nguồn bắt
đầu khối và bắt đầu khối điểm đến sẽ được thực thi cùng một lúc. Trong ví dụ
dưới bước “n+1” sẽ được thực hiện đồng thời với khối 1.
Trang 26
Khi điều kiện chuyển tiếp
“b” thỏa mãn sau khi thực
hiện bước “n”, thì bước
“n+1” và
khối 1 sẽ được
thực thi đồng thời. Sau đó
khối 0 và khối 1 sẽ được xử
lý đồng thời.
Hình 2.20. Thực thi khối và bước
[nguồn: Programming Manual]
Khớp nối phải được sử dụng khi cần tới các các bước thực thi và điều kiện
chuyển tiếp song song. Chương trình được tạo ra không thể không có khớp nối.
Hình 2.21: Chuyển tiếp song song
Theo quy định, một bước chờ đợi phải được tạo ra trước khi thực hiện
khớp nối. Tuy nhiên, trong trường hợp như ví dụ dưới đây của các cột quá trình
chuyển đổi song song bao gồm chỉ có 1 bước (chương trình mà không cần một
điều kiện chuyển tiếp giữa các quá trình chuyển tiếp song song chi nhánh và
khớp nối), một bước chờ đợi không cần thiết.
Trang 27
Hình 2.22: Khớp nối song song
[nguồn: Programming Manual]
2.3.4. Jump transition
Jump transition là một chuyển tiếp nhảy, một chuyển tiếp được quy định
trong cùng một khối, bước này được thực thi khi điều điều kiện chuyển tiếp thỏa
mãn.
Hình 2.23: Chuyển tiếp của bước nhảy
[nguồn: Programming Manual]
Ở hình 2.23. khi điều kiện chuyển tiếp “b” thỏa mãn thì bước “n” sẽ ngừng hoạt
động, chương trình chuyển qua thực hiện bước “m”.
Không có hạn chế về số lượng của quá trình chuyển đổi nhảy trong một khối duy
nhất.
Trong các định dạng chuyển tiếp song song, chỉ có thể nhảy theo hướng thẳng
đứng ở từng chi nhánh.
Trang 28
Chương 3: Lập trình bằng ngôn ngữ SFC với PLC
của Mitsubish
Một số dòng PLC của hãng Mitsubishi cho phép lập trình với ngôn ngữ
SFC, tuy nhiên cũng có một số dòng không hỗ trợ. Khi lập trình ta có thể chuyển
đổi sang ngôn ngữ khác mà PLC hỗ trợ. Các dòng PLC Mitsubishi cho phép lập
trình với ngôn ngữ SFC [xem phụ lục 1]
3.1. Ngôn ngữ SFC với PLC của Mitsubishi
Ngôn ngữ SFC là ngôn ngữ quốc tế đã được chuẩn hóa, do đó các nhà sản
xuất PLC khi sử dụng SFC để lập trình cho PLC của họ đều phải theo chuẩn của
ngôn ngữ và đối với hãng Mitsubishi cũng không ngọai lệ. Tuy nhiên khi ứng
dụng một ngôn ngữ chuẩn vào thì nhà sản xuất vẫn có một số ít thay đổi.
Đối với PLC Mitsubishi ngôn ngữ SFC có một số tùy chỉnh ở các bước
thực thi. Một ví dụ cụ thể là khi lập trình bằng phần mềm GX – Developer, phần
ngõ ra và điều kiện chuyển tiếp được lập trình riêng trong 1 cửa sổ khác. Còn đối
với một số phần mềm khác như: phần mềm CoDeSys, phần mềm RSLogix 5000
thì phần xuất dữ liệu ngõ ra, điều kiện chuyển tiếp được lập trình liền kề với
khối chức năng tuân thủ theo đúng ngôn ngữ SFC. [phụ lục 2]
3.2. Trình tự lập trình bằng ngôn ngữ SFC
Trình tự lập trình bằng ngôn ngữ SFC có thể chia thành các bước các bước
cơ bản sau
Bước 1: Từ yêu cầu của hệ thống cần lập trình, ta tiến hành xác định số đầu vào
và đầu ra. Mối liên hệ giữa các đầu vào và đầu ra này.
Bước 2: Xác định số bước, số điều kiện chuyển tiếp, các hoạt động cùng lúc,
hoạt động theo trình tự, liên tục hoặc gián đoạn…
Bước 3: Tiến hành lập lưu đồ giải thuật, từ lưu đồ giải thuật ta tiến hành lập
trình chi tiết trên phần mềm.
Trang 29
3.3. Trình tự PLC thực hiện các bước trong chương trình SFC
Ta xét ví dụ Hình 3.1
Hình 3.1. Cấu trúc một chương rình SFC cơ bản
[nguồn: Programming Manual]
Chương trình SFC sẽ thực hiện một chuỗi các công đoạn, bắt đầu từ bước đầu
tiên, sau đó thực hiện bước tiếp theo khi điều kiện chuyển tiếp được thỏa mãn,
và kết thúc với bước END.
Cụ thể:
 Khi chương trình SFC được bắt đầu, chương trình sẽ chạy bước trên cùng
đầu tiên( bước kiểm tra điều kiện khởi động)
 Chương trình cứ thực hiện bước đầu cho tới khi điều kiện 1 được thỏa
mãn. Khi điều kiện 1 thỏa mãn, hoạt động của bước đầu sẽ bị dừng lại, và
chương trình sẽ thực hiện bước tiếp theo.
 Hoạt động của chương trình SFC tiếp tục từ bước này qua bước khác theo
cách như trên cho tới khi bước kết thúc END được thực hiện.
Trang 30
3.4. Chuyển đổi ngôn ngữ SFC sang dạng ngôn ngữ khác
Ngôn ngữ SFC có thể chuyển đổi sang các dạng ngôn ngữ khác, tuy nhiên
sự chuyển đổi không phải chuyển đổi hoàn toàn. Trong ví dụ Hình 3.2 ta sẽ xét
các bước chuyển đổi một chương trình viết bằng ngôn ngữ SFC sang ngôn ngữ
Ladder.
Ví dụ 3.1: Chương trình SFC điều khiển cho một máy dập
Nguyên lý hoạt động của máy:
Nhấn nút Start, nếu nút nhấn automatic được nhấn tiếp thì chương trình sẽ
bật nguồn cho máy dập và đèn báo sáng. Khi cảm biến xác định vật phẩm, búa
dập sẽ được đẩy xuống và chạm công tắc hành trình hạn dưới. Khi gặp công tắc
hành trình hạn dưới, búa dập được nâng lên lại cho tới khi gặp công tắc hành
trình hạn trên, và búa dập sẽ dừng hoạt động.
Một nút nhấn dừng khẩn cấp được thiết kế có thể dừng chương trình khi
búa dập đang hoạt động. Khi chương trình hoaạt động xong một chu trình, một
nút reset được tác động trước nút automatic. Sau bước thứ 6 chương trình sẽ chờ
cho vật phẩm được lấy ra rồi mới chuyển qua bước khác.
Trang 31
Hình 3.2: Chương trình SFC điều khiển máy dập
[nguồn: Automating With PLCs]
Trang 32
Chương trình SFC có thể chuyển đổi trực tiếp qua dạng Ladder logic theo cách
sau:
Phần đầu chương trình Ladder sẽ bắt đầu với một bước để khởi động các trạng
thái và các điều kiện. Một điều kiện bắt đầu sẽ quét toàn bộ các bước và điều
kiện trong chương trình SFC.
Trang 33
Phần tiếp chương trình ladder là kiểm tra điều kiện chuyển tiếp có thỏa
mãn hay không. Nếu điều kiện chuyển tiếp được thỏa mãn thì bước hoặc điều
kiện chuyển tiếp kế tiếp được kích hoạt và điều kiện chuyển tiếp ban đầu bị xóa.
Trang 34
Sau khi mỗi bước được xét và chương trình logic chuyển qua bước khác,
Việc quan trọng tiếp theo của việc lập trình là kiểm tra và thực hiện các thao tác
xuất tín hiệu ra ngõ ra thực hiện các thao tác.
Trang 35
Trang 36
Chương 4: Những ứng dụng ngôn ngữ lập trình SFC
Ở đây ta sử dụng phần mềm GX-Developer để lập trình [phụ lục 3 ]
4.1. Chương trình SFC điều khiển hai đèn sáng theo giản đồ
thời gian Hình 4.1
Hình 4.1 Giản đồ thời gian hoạt động của hai bóng đèn
Yêu cầu: Sử dụng SFC lập trình cho hai đèn sáng theo giản đồ thời gian Hình
4.1. Trong giản đồ thời gian, Plight_1 sáng trong 1s trong khi Plight_2 đang tắt,
sau đó Plight_1 trong 1s đồng thời lúc này thì Plight_2 sáng . một nút Start và
một nút Reset được thiết kế như trong Hình 4.1. Khi nhấn nút Reeset thì cả hai
đèn đều tắt. Mạch còn bao gồm một đèn báo nguồn (Light_EN) sẽ sáng sau khi
nhấn
Start
và
chỉ
tắt
khi
nhấn
nút
Reset.
Hình 4.2 Giản đồ thời gian hoạt động của các nút nhấn và đèn
Trang 37
Bảng 4.1 các thiết bị ngõ vào ngõ ra trong ứng dụng 4.1
Địa chỉ thiết
Tên thiết bị
Hoạt động
X0
ST: Start
Nút khởi động
X1
Reset
Nút Reset
T0
T1
timer
T1
T2
Timer
Y0
Plight_1
Điều khiển đèn 1
OUTPUT Y1
Plight_2
Điều khiển đèn 2
Plight_EN
Điều khiển đèn báo nguồn
Loại
INPUT
bị
Y2
Trang 38
Plight_1=False
0
Plight_2 = False
START
1
Reset
NOT Reset
Plight_1 = ON
Reset
2
Light_EN(R)
3
Plight_2 = OFF
Light_EN(S)
TRUE
T1 = 1s
Plight_1 = OFF
4
Plight_1 = ON
T2 = 1s
Hình 4.3 Chương trình SFC điều khiển hai bóng đèn
Chương trình lập trình bằng phần mềm GX-Deverloper(xem phụ lục 4)
4.2 Điều khiển băng tải
Cho một hệ thống gồm có 2 thùng hàng, 1 cánh tay robot gắp sản phẩm, 3
băng truyền di chuyển sản phẩm. Thiết kế hệ thống theo yêu cầu sau:
 Thùng hàng 1 có sản phẩm, cảm biến X5 ở nhận biết có sản phẩm thì cánh
tay robot gắp hàng đưa lên băng truyền 1.
 Cảm biến X0 xác định có sản phẩm, băng truyền 1 hoạt động, sản phẩm di
chuyển và chuyển tiếp qua băng truyền 2.
Trang 39
 Cảm biến X1 xác định sản phẩm, băng truyền 1 ngừng họat động, băng
truyền 2 hoạt động, sản phẩm di chuyển xuống băng truyền 3.
 Cảm biến X2 xác định sản phẩm, băng truyền 2 ngừng hoạt động, băng
truyền 3 hoạt động đưa sản phẩm vào thùng hàng thứ 2.
 Kết thúc 1 chu trình làm việc, và bắt đầu 1 chu trình mới, hệ thống sẽ
ngừng hoạt động khi thùng hàng 1 hết sản phẩm.
Với cánh tay robot có địa chỉ Y7, cảm biến xác định cánh tay robot khi ở
vị trí thùng hàng 1 là X5, băng truyền 1 trên cao là Y0, cảm biến đầu băng
truyền trên cao là X0, băng truyền 2 là Y2, cảm biến đầu băng truyền 2 là X1,
băng truyền 3 là Y4, cảm biến đầu băng truyền 3 là X2, cảm biến vật thể đã vào
thùng hàng 2 là X3.
Hình 4.4. Hệ thống băng tải
[nguồn:phần mềm FXTRN-BEG-E]
Trang 40
Bảng 4.2. Chi tiết ngõ vào và ra
Loại
Địa chỉ thiết bị
Tên thiết bị
Hoạt động
Cảm biến
Nhận biết sản phẩm
X0
X1
Input
X2
X3
X4
Y0
Băng truyền 1
Y2
Băng truyền 2
Y4
Băng truyền 3
Y7
Cánh tay robot
Di chuyển sản phẩm
Output
Gắp sản phẩm
Trang 41
START
X5 = 1
Tay Robot
N
Y7
N
Y0
N
Y2
N
Y4
X0 =1
Băng 1
X1 = 1
Băng 2
X2 = 1
Băng 3
X3 = 1
Hình 4.5. Biểu đồ hoạt động của chương trình
Chương trình lập trình bằng phần mềm GX-Deverloper [ phụ lục 5]
4.3 Ứng dụng SFC lập trình cho hệ thống trộn nguyên liệu
Quá trình hoạt động:
Hệ thống trộn nguyên liệu có nhiệm vụ trộn hai khối A và B chứa các
nguyên liệu rắn với một khối lượng chất lỏng tương đương bao gồm chất lỏng A
và B . Một nút khởi động(ST) có thể lựa chọn chế độ hoạt động điều khiển bằng
tay hoặc tự động để điều khiển quá trình đo lường và trộn nguyên liệu bắt đầu
Trang 42
với sự hoạt động cùng lúc của hai nhóm thiết bị là băng tải vận chuyển và hoạt
động cân khối lượng.
Quá trình như sau:
 Loại chất lỏng A sẽ được cho chảy vào máng C với khối lượng là ‘a’, sau
đó chất lỏng B cũng được cho vào một lượng có khối lượng là ‘b’, quá
trình này được kiểm soát bởi cân WC.
 Hai khối chứa nguyên liệu rắn được băng tải đưa vào buồng trộn.
Sau khi kết thúc hai quá trình đưa nguyên liệu rắn và van VC đã mở cho
chất lỏng vào buồng trộn thì motor máy trộn sẽ làm việc, sau một thời gian trộn
được đặt là ‘t1’, quá trình trộn kết thúc, motor MP có nhiệm vụ nghiêng buồng
trộn để sản phẩm đi ra. Khi buồng trộn đã hết sản phẩm, motor MP sẽ đưa
buồng trộn về vị trí xác định bởi S0, và motor MR hoạt động lại.
Trang 43
Hình 4.1. Sơ đồ hệ thống trộn nguyên liệu
Trang 44
Chương trình SFC điều khiển hoạt động của hệ thống trộn nguyên liệu
N
START
DONE
ST & S0 & WC <= Z
Weigh A
N
VA
BRICK 1
WC >= WA+Z
Weigh B
MT
d right
N
DROP 1
VB
WC >= WA+WB+ Z
FILL
S
N
d wrong
VC
BRICK 2
d right
DROP 2
R
MT
WC <= Z & d wrong
MIX
S
MR
T_MIX >= t1
TIP
N MP1 S1
S1
RAISE
R
S0
MR
N MP0 S0
Hình 4.1. Chương trình SFC điều khiển quá trình trộn nguyên liệu
Trang 45
Tài liệu tham khảo
[1] Automating With PLCs,
[2] Programming Manual (SFC),
[3] IEC 61131-3 Programmable controllers - Programming languages,
[4] Luis Bryan & Eric Bryan. PLC Programmable Logic Controllers theory and
implementation Second Edition.
Trang 46
MỤC LỤC
Chương 1: Tổng quan về ngôn ngữ SFC......................................................................................1
1.1 Các định nghĩa về ngôn ngữ SFC .................................................................................. 1
1.2 Giới thiệu chung về ngôn ngữ SFC ............................................................................... 1
1.3 Đặc điểm của ngôn ngữ SFC ........................................................................................ 1
Chương 2: Cấu trúc ngôn ngữ SFC..............................................................................................6
2.1. Cấu trúc một chương trình SFC cơ bản ........................................................................ 6
2.2. Các bước ..................................................................................................................... 6
2.2.1. Initial steps ................................................................................................................7
2.2.2. Dummy step ..............................................................................................................7
2.2.4. Operation Hold Step (without transition check)
2.2.5. Operation Hold Step (with transition check)
2.2.7. Block START Step (with END check)
2.2.8. Block START Step (without END check)
..............................................10
....................................................12
...............................................................15
..........................................................17
2.2.9. END Step ................................................................................................................17
2.3. Sự chuyển tiếp ........................................................................................................... 18
2.3.1. Serial transition ........................................................................................................19
2.3.2. Selection transition ..................................................................................................21
2.3.3. Parallel transition .....................................................................................................25
2.3.4. Jump transition ........................................................................................................28
Chương 3: Lập trình bằng ngôn ngữ SFC với PLC của Mitsubish .............................................29
3.1. Ngôn ngữ SFC với PLC của Mitsubishi ..................................................................... 29
3.2. Trình tự lập trình bằng ngôn ngữ SFC........................................................................ 29
3.3. Trình tự PLC thực hiện các bước trong chương trình SFC ......................................... 30
3.4. Chuyển đổi ngôn ngữ SFC sang dạng ngôn ngữ khác ................................................ 31
Chương 4: Những ứng dụng ngôn ngữ lập trình SFC .................................................................37
4.1. Chương trình SFC điều khiển hai đèn sáng theo giản đồ thời gian Hình 4.1 ............... 37
4.2 Điều khiển băng tải .................................................................................................... 39
4.3 Ứng dụng SFC lập trình cho hệ thống trộn nguyên liệu ............................................... 42
Tài liệu tham khảo.....................................................................................................................46
Download