SlideShare a Scribd company logo
1 of 48
Download to read offline
Trang 1
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 2
 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
[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
Hình 1.1. Ứng dụng ngôn ngữ SFC trong điều khiển phức tạp
Trang 3
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.
[nguồn: Programing Manual]
Hình 1.2. Mạch khóa chéo trong chương trình SFC
Trang 4
 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
[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
Hình 1.3 Sự tương quan giữa SFC và Flowchart
Trang 5
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.
[nguồn: Programing Manual]
Hình 1.4 Chương trình SFC với nhiều bước mở đầu
Trang 6
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)
[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
Hình 2.1. Cấu trúc một chương rình SFC cơ bản
Trang 7
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:
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.
Hình 2.2. Thiết kế chương trình với nhiều khối mở đầu
Trang 8
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.
[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ở.
Hình 2.3. Hoạt động của một bước bình thường
Trang 9
[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.
[nguồn: Programming Manual]
Hình 2.5. Hoạt động của Coil Hold Step
Hình2.4. Hoạt động của Coil Hold Step
Trang 10
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 11
[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.
Hình 2.6 Hoạt động của Operation Hold Step
Trang 12
[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).
Hình 2.7. Quá trình chuyển tiếp
Trang 13
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
[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.
Hình 2.8. Hoạt động của Operation Hold Step
Trang 14
[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.
Hình 2.9. Sự chuyển tiếp của Operation Hold Step
(with transition check)
Trang 15
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.
[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.
Hình 2.10. Hoạt động của bước Reset
Trang 16
[nguồn: Programming Manual]
[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.
Hình 2.11. Hình dạng Block START Step(with END check)
Hinh 2.12 Hoạt động xử lý chương trình khi gặp bước
Block START Step(with END check)
Trang 17
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.
[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
Hình 2.13. Hình dạng Block START Step
(without END check)
Trang 18
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 Chức năng từng loại
Serial transition
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 đó.
Selection transition
(branch/coupling)
- 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.
Parallel transition
(branch/coupling)
- Thực hiện tiến hành nhiều bước từ một bước duy nhất.
- Khi các bước tức thời trước khớp nối được thực thi,
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 19
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.
.
[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.
Hình 2.14. Vị trí của Transition
Trang 20
[nguồn: Programming Manual]
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
Trang 21
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 22
Bảng 2.3: Sự hoạt động của các điều kiện chuyển tiếp
Rẽ
nhánh
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,
thì điều kiện bên
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 23
Ghép
nối
Khi các điều kiện
chuyển đổi “b” hoặc
“c” được thỏa mãn
thì các bước thực
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.
[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.
Hình 2.16: Số lượng các bước có thể chọn lựa trong một
khối
Trang 24
[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.
[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.
Hình 2.18. Chuyển tiếp nhảy bướ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.17: Lựa chọn bước ưu tiên
Trang 25
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
Rẽ
nhánh
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
“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”
Ghép
nối
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
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 26
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 27
[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.
Hình 2.20. Thực thi khối và bước
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.
Trang 28
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 29
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 30
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
[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.
Hình 3.1. Cấu trúc một chương rình SFC cơ bản
Trang 31
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 32
Hình 3.2: Chương trình SFC điều khiển máy dập
[nguồn: Automating With PLCs]
Trang 33
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 34
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 35
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 36
Trang 37
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
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
Hình 4.1 Giản đồ thời gian hoạt động của hai bóng đèn
Trang 38
Bảng 4.1 các thiết bị ngõ vào ngõ ra trong ứng dụng 4.1
Loại
Địa chỉ thiết
bị
Tên thiết bị Hoạt động
INPUT
X0 ST: Start Nút khởi động
X1 Reset Nút Reset
T0 T1 timer
T1 T2 Timer
OUTPUT
Y0 Plight_1 Điều khiển đèn 1
Y1 Plight_2 Điều khiển đèn 2
Y2 Plight_EN Điều khiển đèn báo nguồn
Trang 39
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.
Plight_1=False
Plight_2 = False
START
2
TRUE
Reset
Reset
Light_EN(R)
3
Plight_1 = ON
Plight_2 = OFF
Light_EN(S)
4
Plight_1 = OFF
Plight_1 = ON
NOT Reset
1
T1 = 1s
T2 = 1s
Hình 4.3 Chương trình SFC điều khiển hai bóng đèn
0
Trang 40
 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 41
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
Input
X0
Cảm biến Nhận biết sản phẩm
X1
X2
X3
X4
Output
Y0 Băng truyền 1
Di chuyển sản phẩm
Y2 Băng truyền 2
Y4 Băng truyền 3
Y7 Cánh tay robot Gắp sản phẩm
Trang 42
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
START
Tay Robot N Y7
Băng 1 N Y0
Băng 2 N Y2
Băng 3 N Y4
X3 = 1
X2 = 1
X5 = 1
X0 =1
X1 = 1
Trang 43
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 44
Hình 4.1. Sơ đồ hệ thống trộn nguyên liệu
Trang 45
Chương trình SFC điều khiển hoạt động của hệ thống trộn nguyên liệu
Hình 4.1. Chương trình SFC điều khiển quá trình trộn nguyên liệu
START
N DONE
Weigh A N VA BRICK 1 S MT
Weigh B N VB
FILL N VC
DROP 1
BRICK 2
DROP 2
MIX S MR
TIP N MP1 S1
R MT
RAISE R MR
N MP0 S0
S1
T_MIX >= t1
WC <= Z & d wrong
d right
d wrong
d right
WC >= WA+Z
WC >= WA+WB+ Z
ST & S0 & WC <= Z
S0
Trang 46
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.
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) ..............................................10
2.2.5. Operation Hold Step (with transition check) ....................................................12
2.2.7. Block START Step (with END check) ...............................................................15
2.2.8. Block START Step (without END check) ..........................................................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

More Related Content

Similar to ngon ngu-lap-trinh-sfc

Thực hành lập trình led đơn codientu.info--
Thực hành lập trình led đơn   codientu.info--Thực hành lập trình led đơn   codientu.info--
Thực hành lập trình led đơn codientu.info--trungnb22
 
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdfssuser51a27c
 
Hệ thu thập dữ liệu điều khiển và truyền số liệu
Hệ thu thập dữ liệu điều khiển và truyền số liệuHệ thu thập dữ liệu điều khiển và truyền số liệu
Hệ thu thập dữ liệu điều khiển và truyền số liệuantonlethinh
 
Tutorial 877 a_tudedenkho
Tutorial 877 a_tudedenkhoTutorial 877 a_tudedenkho
Tutorial 877 a_tudedenkhonhan10cdt1
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 2 các khai niệm về plc
Lập trình PLC S7 1200 tiếng Việt-Chuong 2 các khai niệm về plcLập trình PLC S7 1200 tiếng Việt-Chuong 2 các khai niệm về plc
Lập trình PLC S7 1200 tiếng Việt-Chuong 2 các khai niệm về plcXuân Thủy Nguyễn
 
HDTN_Nhap_Mon_CĐT_bản thảo.pdf
HDTN_Nhap_Mon_CĐT_bản thảo.pdfHDTN_Nhap_Mon_CĐT_bản thảo.pdf
HDTN_Nhap_Mon_CĐT_bản thảo.pdfnghidepzai253
 
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lậpXây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lậpnataliej4
 
CCNA Lab Guide Tieng Viet v4.0.pdf
CCNA Lab Guide Tieng Viet v4.0.pdfCCNA Lab Guide Tieng Viet v4.0.pdf
CCNA Lab Guide Tieng Viet v4.0.pdfThngHunh59
 
De cuong plc
De cuong plcDe cuong plc
De cuong plcCao Phong
 
Bao cao do an dieu khien dong co dc
Bao cao do an dieu khien dong co dcBao cao do an dieu khien dong co dc
Bao cao do an dieu khien dong co dcnamnam2005nt
 
Mitsubishi
MitsubishiMitsubishi
Mitsubishiddungd4
 
PLC mitsubishi
PLC mitsubishiPLC mitsubishi
PLC mitsubishiquanglocbp
 
Dieukhienlaptrinh 1 libre
Dieukhienlaptrinh 1 libreDieukhienlaptrinh 1 libre
Dieukhienlaptrinh 1 librenguyenchinhhung
 
11 phamtuantrung dcl201_9076_2
11 phamtuantrung dcl201_9076_211 phamtuantrung dcl201_9076_2
11 phamtuantrung dcl201_9076_2Adobe Arc
 

Similar to ngon ngu-lap-trinh-sfc (20)

ĐỒ ÁN - Thiết kế hệ thống điều khiển thang máy chở hàng.doc
ĐỒ ÁN - Thiết kế hệ thống điều khiển thang máy chở hàng.docĐỒ ÁN - Thiết kế hệ thống điều khiển thang máy chở hàng.doc
ĐỒ ÁN - Thiết kế hệ thống điều khiển thang máy chở hàng.doc
 
C1
C1C1
C1
 
Thực hành lập trình led đơn codientu.info--
Thực hành lập trình led đơn   codientu.info--Thực hành lập trình led đơn   codientu.info--
Thực hành lập trình led đơn codientu.info--
 
plc 300
plc 300plc 300
plc 300
 
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
[123doc] - tai-lieu-chuong-5-thiet-lap-du-an-tren-nen-simatic-pcs7-ppt.pdf
 
Hệ thu thập dữ liệu điều khiển và truyền số liệu
Hệ thu thập dữ liệu điều khiển và truyền số liệuHệ thu thập dữ liệu điều khiển và truyền số liệu
Hệ thu thập dữ liệu điều khiển và truyền số liệu
 
Chuong 2
Chuong 2Chuong 2
Chuong 2
 
Tutorial 877 a_tudedenkho
Tutorial 877 a_tudedenkhoTutorial 877 a_tudedenkho
Tutorial 877 a_tudedenkho
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 2 các khai niệm về plc
Lập trình PLC S7 1200 tiếng Việt-Chuong 2 các khai niệm về plcLập trình PLC S7 1200 tiếng Việt-Chuong 2 các khai niệm về plc
Lập trình PLC S7 1200 tiếng Việt-Chuong 2 các khai niệm về plc
 
HDTN_Nhap_Mon_CĐT_bản thảo.pdf
HDTN_Nhap_Mon_CĐT_bản thảo.pdfHDTN_Nhap_Mon_CĐT_bản thảo.pdf
HDTN_Nhap_Mon_CĐT_bản thảo.pdf
 
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lậpXây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
Xây dựng mô hình gián đoạn của động cơ một chiều kích từ độc lập
 
Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200
 
CCNA Lab Guide Tieng Viet v4.0.pdf
CCNA Lab Guide Tieng Viet v4.0.pdfCCNA Lab Guide Tieng Viet v4.0.pdf
CCNA Lab Guide Tieng Viet v4.0.pdf
 
De cuong plc
De cuong plcDe cuong plc
De cuong plc
 
Bao cao do an dieu khien dong co dc
Bao cao do an dieu khien dong co dcBao cao do an dieu khien dong co dc
Bao cao do an dieu khien dong co dc
 
Mitsubishi
MitsubishiMitsubishi
Mitsubishi
 
PLC mitsubishi
PLC mitsubishiPLC mitsubishi
PLC mitsubishi
 
Luận văn: Thiết kế hệ thống điều khiển thang máy chở hàng, HOT
Luận văn: Thiết kế hệ thống điều khiển thang máy chở hàng, HOTLuận văn: Thiết kế hệ thống điều khiển thang máy chở hàng, HOT
Luận văn: Thiết kế hệ thống điều khiển thang máy chở hàng, HOT
 
Dieukhienlaptrinh 1 libre
Dieukhienlaptrinh 1 libreDieukhienlaptrinh 1 libre
Dieukhienlaptrinh 1 libre
 
11 phamtuantrung dcl201_9076_2
11 phamtuantrung dcl201_9076_211 phamtuantrung dcl201_9076_2
11 phamtuantrung dcl201_9076_2
 

ngon ngu-lap-trinh-sfc

  • 1. Trang 1 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:
  • 2. Trang 2  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 [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 Hình 1.1. Ứng dụng ngôn ngữ SFC trong điều khiển phức tạp
  • 3. Trang 3 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. [nguồn: Programing Manual] Hình 1.2. Mạch khóa chéo trong chương trình SFC
  • 4. Trang 4  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 [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 Hình 1.3 Sự tương quan giữa SFC và Flowchart
  • 5. Trang 5 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. [nguồn: Programing Manual] Hình 1.4 Chương trình SFC với nhiều bước mở đầu
  • 6. Trang 6 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) [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 Hình 2.1. Cấu trúc một chương rình SFC cơ bản
  • 7. Trang 7 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: 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. Hình 2.2. Thiết kế chương trình với nhiều khối mở đầu
  • 8. Trang 8 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. [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ở. Hình 2.3. Hoạt động của một bước bình thường
  • 9. Trang 9 [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. [nguồn: Programming Manual] Hình 2.5. Hoạt động của Coil Hold Step Hình2.4. Hoạt động của Coil Hold Step
  • 10. Trang 10 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.
  • 11. Trang 11 [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. Hình 2.6 Hoạt động của Operation Hold Step
  • 12. Trang 12 [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). Hình 2.7. Quá trình chuyển tiếp
  • 13. Trang 13 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 [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. Hình 2.8. Hoạt động của Operation Hold Step
  • 14. Trang 14 [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. Hình 2.9. Sự chuyển tiếp của Operation Hold Step (with transition check)
  • 15. Trang 15 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. [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. Hình 2.10. Hoạt động của bước Reset
  • 16. Trang 16 [nguồn: Programming Manual] [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. Hình 2.11. Hình dạng Block START Step(with END check) Hinh 2.12 Hoạt động xử lý chương trình khi gặp bước Block START Step(with END check)
  • 17. Trang 17 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. [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 Hình 2.13. Hình dạng Block START Step (without END check)
  • 18. Trang 18 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 Chức năng từng loại Serial transition 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 đó. Selection transition (branch/coupling) - 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. Parallel transition (branch/coupling) - Thực hiện tiến hành nhiều bước từ một bước duy nhất. - Khi các bước tức thời trước khớp nối được thực thi, 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.
  • 19. Trang 19 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. . [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. Hình 2.14. Vị trí của Transition
  • 20. Trang 20 [nguồn: Programming Manual] 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
  • 21. Trang 21 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:
  • 22. Trang 22 Bảng 2.3: Sự hoạt động của các điều kiện chuyển tiếp Rẽ nhánh 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, thì điều kiện bên 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.
  • 23. Trang 23 Ghép nối Khi các điều kiện chuyển đổi “b” hoặc “c” được thỏa mãn thì các bước thực 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. [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. Hình 2.16: Số lượng các bước có thể chọn lựa trong một khối
  • 24. Trang 24 [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. [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. Hình 2.18. Chuyển tiếp nhảy bướ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.17: Lựa chọn bước ưu tiên
  • 25. Trang 25 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 Rẽ nhánh 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 “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” Ghép nối 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 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,
  • 26. Trang 26 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.
  • 27. Trang 27 [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. Hình 2.20. Thực thi khối và bước 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.
  • 28. Trang 28 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.
  • 29. Trang 29 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.
  • 30. Trang 30 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 [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. Hình 3.1. Cấu trúc một chương rình SFC cơ bản
  • 31. Trang 31 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.
  • 32. Trang 32 Hình 3.2: Chương trình SFC điều khiển máy dập [nguồn: Automating With PLCs]
  • 33. Trang 33 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.
  • 34. Trang 34 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.
  • 35. Trang 35 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.
  • 37. Trang 37 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 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 Hình 4.1 Giản đồ thời gian hoạt động của hai bóng đèn
  • 38. Trang 38 Bảng 4.1 các thiết bị ngõ vào ngõ ra trong ứng dụng 4.1 Loại Địa chỉ thiết bị Tên thiết bị Hoạt động INPUT X0 ST: Start Nút khởi động X1 Reset Nút Reset T0 T1 timer T1 T2 Timer OUTPUT Y0 Plight_1 Điều khiển đèn 1 Y1 Plight_2 Điều khiển đèn 2 Y2 Plight_EN Điều khiển đèn báo nguồn
  • 39. Trang 39 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. Plight_1=False Plight_2 = False START 2 TRUE Reset Reset Light_EN(R) 3 Plight_1 = ON Plight_2 = OFF Light_EN(S) 4 Plight_1 = OFF Plight_1 = ON NOT Reset 1 T1 = 1s T2 = 1s Hình 4.3 Chương trình SFC điều khiển hai bóng đèn 0
  • 40. Trang 40  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]
  • 41. Trang 41 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 Input X0 Cảm biến Nhận biết sản phẩm X1 X2 X3 X4 Output Y0 Băng truyền 1 Di chuyển sản phẩm Y2 Băng truyền 2 Y4 Băng truyền 3 Y7 Cánh tay robot Gắp sản phẩm
  • 42. Trang 42 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 START Tay Robot N Y7 Băng 1 N Y0 Băng 2 N Y2 Băng 3 N Y4 X3 = 1 X2 = 1 X5 = 1 X0 =1 X1 = 1
  • 43. Trang 43 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.
  • 44. Trang 44 Hình 4.1. Sơ đồ hệ thống trộn nguyên liệu
  • 45. Trang 45 Chương trình SFC điều khiển hoạt động của hệ thống trộn nguyên liệu Hình 4.1. Chương trình SFC điều khiển quá trình trộn nguyên liệu START N DONE Weigh A N VA BRICK 1 S MT Weigh B N VB FILL N VC DROP 1 BRICK 2 DROP 2 MIX S MR TIP N MP1 S1 R MT RAISE R MR N MP0 S0 S1 T_MIX >= t1 WC <= Z & d wrong d right d wrong d right WC >= WA+Z WC >= WA+WB+ Z ST & S0 & WC <= Z S0
  • 46. Trang 46 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.
  • 47. 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) ..............................................10 2.2.5. Operation Hold Step (with transition check) ....................................................12 2.2.7. Block START Step (with END check) ...............................................................15 2.2.8. Block START Step (without END check) ..........................................................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
  • 48. Tài liệu tham khảo.....................................................................................................................46