Tài liệu hướng dẫn lập trình SFC cho PLC của MISTSUBISHI họ FX CPU bằng phần mềm GX developer
Trang 1Hà Nội – 11/2012
Trang 21
I Tổng quan về ngôn ngữ SFC cho PLC họ FX 3
3 Các thao tác cơ bản trong lập trình SFC 5
II Các biểu tượng sử dụng trong lập trình SFC cho PLC họ FX CPU 6
Trang 4Grafcet viết ở phần này đều được trích từ tài liệu học tập môn Điều khiển logic và PLC của thầy
Dương Minh Đức - Viện Điện - Trường Đại Học Bách Khoa Hà Nội)
Grafcet (Graphe Fonctinnel de Conmmande Étape Transition) là một đồ hình chức năng
cho phép mô tả các trạng thái làm việc của hệ thống và biểu diễn quá trình điều khiển với các trạng thái chuyển biến từ trạng thái này sang trạng thái khác, đó là một graph định hướng và được xác định bởi các phần tử sau:
G={E,T,A,M}
Trong đó:
E={E1, E2,…,Em} là tập hữu hạn các trạng thái (giai đoạn) của hệ thống Mỗi trạng thái ứng
với những tác động nào đó của phần điều khiển và trong một trạng thái các hành vi điều khiển
là không thay đổi Một trạng thái có hai khả năng là hoạt động và không hoạt động Điều khiển chính là thực hiện các mệnh đề logic chứa các biến vào và các biến ra để hệ thống có được một trạng thái xác định trong hệ và đó cũng chính là một trạng thái của Grafcet
T={t1,t2,…,tp} là tập hữu hạn các chuyển tiếp (chuyển trạng thái) Hàm Boole gắn với một
chuyển tiếp được gọi là “một tiếp nhận” Giữa hai trạng thái luôn luôn tồn tại một chuyển tiếp
A={a1,a2,…,an} là tập các cung định hướng nối giữa một trạng thái này với một chuyển tiếp
hoặc giữa một chuyển tiếp với một trạng thái
M={m1,m2,…,mm) là tập các giá trị 0 và 1 Nếu mi=1 thì trạng thái thứ I là hoạt động, nếu
mi=0 thì trạng thái i không hoạt động
Về các kí hiệu của các trạng thái, chuyển tiếp, phân nhánh trong Grafcet, các bạn có thể tìm hiểu
(hoặc đọc lại) trong tài liệu giảng dạy của thầy Dương Minh Đức
2 Giới thiệu về ngôn ngữ SFC cho PLC họ FX
Các Step hay còn gọi là SFC process (In GX Developer, an SFC process is called a "step") trong ngôn ngữ SFC, tương ứng với Grafcet là các trạng thái E Mỗi Step (S) đều được đánh số tương tự các trạng thái E Ví dụ Step S1, S2, S3,… tương tự các trạng thái E1, E2, E3…
Các Step chính là các Rơ-le trạng thái trong PLC (State Relay) Các Step bắt đầu từ S0-S9 được gọi là các Step khởi tạo (Initial Step), và luôn là Step đầu tiên bắt đầu cho một khối SFC (SFC Block) Các Step bắt đầu từ S10 trở đi được sử dụng như các Step thông thường, số Step
tối đa cho một khối SFC là 512 Step.Mỗi Step (hay State Relay) được nối với một mạch điện
nội(internal circuit) bên trong PLC.Trạng thái hoạt động của các mạch điện nội kết nối với các
Step được phân thành 3 trạng thái là ON, OFF, và không hoạt động, được miêu tả như hình dưới
Trang 54
Hình 1- Các trạng thái hoạt động của mạch điện nội
Các chuyển tiếp tương ứng trong Grafcet, được gọi là các Transition trong ngôn ngữ SFC Các Transition được đánh số như các Step Như ở hình trên, các Transistion đều được nối với các mạch điện nội Khi thõa mãn điều kiện chuyển, thì Step tiếp theo được hoạt động, và Step trước
Hình 2- Số Step "tiếp theo" cho mỗi phân nhánh
Trong ngôn ngữ SFC, để chuyển tới các Step ở trước đó, hay ở một khối SFC khác, có thể dung
biểu tượng nhảy(Jump Symbol) Các thuộc tính kèm theo như sau:
Nhảy tới một Step khác Step khác có thể nằm trong cùng khối với Step trước đó, hoặc nằm ở một khối khác
Trang 65
Reset Step: Nếu sử dụng biểu tượng này thì Step đích sẽ được Reset khi điều kiện chuyển thõa mãn
Lệnh RET: Trong lập trình SFC cho FX CPU, lệnh RET sẽ được tự động thêm vào sau mỗi
“khối” (Block), người viết chương trình không phải thêm lệnh RET ở cuối mỗi Block Và lệnh RET cũng sẽ không được hiển thị , như đối với lập trình bằng ngôn ngữ Ladder
Người lập trình có thể viết các “chú thích” (comment) cho các Step, nhưng đối với FX CPU, việc viết các “chú thích” cho các Transition sẽ không được cho phép
3 Các thao tác cơ bản để viết và sửa một chương trình SFC cho PLC họ FX CPU
Các thao tác cơ bản được minh họa như hình sau, Hình 3
Hình 3- Các thao tác cơ bản để tạo/sửa chương trình SFC
Trang 76
II- Các biểu tượng sử dụng trong lập trình SFC cho PLC họ FX CPU
Các biểu tượng sử dụng trong lập trình SFC cho PLC họ FX CPU của MITSUBISHI sử dụng phần mềm GX Developer
Các biểu tượng được chia thành các lớp và được biểu diễn bởi các hình như sau:
Lớp Ladder (Ladder Class):
Khối Ladder (Ladder Block):
Lớp Step (lớp các trạng thái):
Step khởi tạo: với i là số thứ tự của Step (Step number)
Step thông thường: số Step tối đa cho mỗi khối SFC (SFC Block) là 512
Lớp chuyển tiếp (Transition Class):
Chuyển tiếp nối tiếp (Series Transition):
Rẽ nhánh lựa chọn (Selective Branch):
Selective Branch trong ngôn ngữ lập trình SFC chính là phân nhánh phân kỳ “HOẶC”
trong Grafcet
Hội tụ lựa chọn: (Selective Coupling):
Selective Coupling trong ngôn ngữ lập trình SFC chính làphân nhánh hội tụ “HOẶC”
trong Grafcet
Rẽ nhánh song song (Parallel Branch):
Parallel Branch trong ngôn ngữ lập trình SFC chính là phân nhánh phân kỳ “VÀ” trong
Grafcet
Hội tụ song song (Parallel Coupling):
Parallel Coupling trong ngôn ngữ lập trình SFC chính là phân nhánh hội tụ “VÀ” trong
Grafcet
Chuyển tiếp Jump:
Chuyển tiếp Jump dùng để nhảy tới một Step trước đó nằm trong cùng một khối SFC hoặc nằm ở một khối SFC khác
Reset JUMP:
Reset JUMP sẽ reset trạng thái của Step đích, và nhảy về Step trước đó của chuyển tiếp
Trang 87
Bảng sau tổng hợp lại các biểu tượng sử dụng trong lập trình SFC cho PLC họ FX CPU
Bảng 1-Các biểu tượng trong lập trình SFC cho FX CPU
Trang 98
Hình 4-Cửa sổ lập trình SFC
Hình trên là cửa sổ người dùng trong lập trình SFC cho PLC bằng phần mềm GX Developer Cửa sổ
làm việc bao gồm các vùng sau:
1) Vùng hiển thị tên Project, số các Step được sử dụng, số thứ tự của Block đang được chỉnh sửa
(Block number), chế độ của Project…
2) Các tab Menu trên thanh Menu
3) Các biểu tượng trên thanh công cụ
4) Vùng hiển thị các thông tin của Project
Trang 109
5) Vùng viết/chỉnh sửa lưu đồ SFC
6) Vùng lập trình các hoạt động đầu ra hoặc lập trình điều kiện cho các chuyển tiếp (hay là Internal circuit như đã nói ở phần trên) Ngôn ngữ dùng cho vùng này là Ladder
7) Loại CPU được sử dụng trong Project
8) Hiển thị chế độ chỉnh sửa (Edit mode)
Để tạo lưu đồ SFC, các biểu tượng (SFC symbol) được lấy ra, đặt vào khối SFC, sau đó kết nối các biểu tượng lại với nhau theo một trình tự
Để lấy ra các biểu tượng, người lập trình có thể sử dụng một trong 4 cách sau:
Sử dụng các “Nút” trên thanh công cụ (Toolbar button)
Sử dụng các phím chức năng (Function key)
Sử dụng các Menu trên Toolbar
Hoặc nhấn phím Enter trong vùng viết/chỉnh sửa SFC
Khi sử dụng một trong các cách trên, một của sổ hiện ra cho phép lựa chọn biểu tượng cần lấy gọi là cửa sổ Enter SFC symbol Với cửa sổ này, người lập trình có thể lấy ra biểu tượng cần thiết
Hình 5-Cửa sổ Enter SFC symbol
Trong lập trình SFC cho FX CPU, toàn bộ chương trình được chia thành các “KHỐI” (Block), tương ứng cho mỗi phân đoạn của quá trình sản xuất Các Block được chia thành hai loại là SFC Block, hay Ladder Block Khi lập trình cho mỗi Block, người lập trình cần chọn loại Block cho Block đó, là SFC Block hay Ladder Block Với Ladder Block, ngôn ngữ lập trình là Ladder như thông thường với SFC Block, ngôn ngữ lập trình là SFC, chính là các biểu tượng SFC (SFC Symbol) đã nói ở trên
Trong vùng 4, Vùng hiển thị các thông tin của Project, chọn Program => Main, danh sách các block
Trang 1110
Hình 6- Đặt tiêu đề và thiết lập một Ladder Block
Hình 7 - Đặt tiêu đề và thiết lập một SFC Block
Như đã nói ở trên, khi một Block là Ladder Block, thì ngôn ngữ lập trình cho Block sẽ là ngôn ngữ Ladder như thông thường.Nên trong phần này sẽ không đề cập tới việc viết chương trình cho một khối
là Ladder Block.Với một Block là SFC Block, ngôn ngữ lập trình là SFC với các biểu tượng đã được
Trang 1211
giới thiệu ở trên.Phần sau đây sẽ hướng dẫn việc lấy ra các biểu tượng (SFC symbol) dùng trong lập trình SFC
a) Tạo một Step (trạng thái)
Từ cửa sổ lập trình nhấn phím F5 , hoặc nhấn chuột vào biểu tượng tương ứng trên thanh công
cụ, xuất hiện cửa sổ Enter SFC Symbol
Hình 8 - Tạo một Step
Ở phần Symbol nhấn nút thả xuống và chọn Step như hình sau:
Hình 9 - Lựa chọn thuộc tính cho Symbol là Step
Số thứ tự của Step (Step number): ngay cạnh phần Symbol chính là số thứ tự của Step Nếu để
mặc định, số thứ tự của Step được tự động tăng lên so với Step trước đó Người lập trình có thể tùy chọn chỉnh sửa số thứ tự của Step, với số thứ tự mới không được trùng số với các Step trước đó (không kể Step trước đó ở trong cùng một Block hay Block khác) Các Step có số thứ
tự từ 0 tới 9 được gọi là các Step khởi tạo (Initial Step) như đã nói ở trên
Step attribute: thuộc tính của Step bị ẩn khi CPU là FX CPU Nên không cần quan tâm tới
Step attribute
Comment: để bổ sung thêm thông tin cho Step, ngoài số thứ tự của Step, Comment cho phép
người lập trình viết thêm các thông tin khác, và được hiển thị ở cửa sổ lập trình nếu chế độ hiển
thị Comment được bật
Chú ý: tổng số Step tối đa cho mỗi Block không được vượt quá 512 Step Ngoài các Step thông
thường và Step khởi tạo, Dummy Step cũng được sử dụng trong lập trình SFC Các Dummy
Step cũng chính là các Step thông thường, nhưng không được lập trình đầu ra hay nói cách
khác là Step đó không được nối với mạch điện nội nào
Trang 1312
Hình 10 - Tạo một Transition
Cũng giống với việc tạo một Step, một Transition cũng được đánh số Số thứ tự của các Transition cũng được tự động tăng lên, hoặc người lập trình có thể đánh số khác cho Transition Sự khác biệt với Step đó là, số thứ tự của Transition chỉ có ý nghĩa trong Block, hay nói cách khác, các Transistion ở các Block khác nhau có thể có cùng số thứ tự
Với lập trình SFC cho FX CPU, việc bổ sung thêm thông tin cho Transition thông qua Comment không được hỗ trợ Và ô Comment sẽ bị ẩn
c) Tạo Selective Brach
Từ cửa sổ lập trình, nhấn phím F6, trong phần Symbol của cửa sổ Enter SFC Symbol xuất hiện, lựa chọn thuộc tính của Symbol là D như hình vẽ
Hình 11 - Tạo Selective Branch
Ngay cạnh phần Symbol, gọi là số lượng nhánh (Number of Branch) Khi số lượng nhánh là 1, thì giữ nguyên giá trị mặc định là 1.Nếu số lượng nhánh nhiều hơn 1, người lập trình có thể thay thế một giá trị khác phù hợp với số lượng nhánh cần sử dụng Khi giá trị của số lượng nhánh được nhập vào là số dương thì nhánh sẽ được tạo từ trái sang phải, nếu một số bé hơn không được nhập vào, thì nhánh sẽ được tạo từ phải qua trái như hình vẽ sau
Hình 12 - Số lượng nhánh có giá trị âm.
Trang 1413
d) Tạo Parallel Branch
Từ cửa sổ lập trình, nhấn phím F7, trong phần Symbol của cửa sổ Enter SFC Symbol xuất hiện, lựa chọn thuộc tính của Symbol là ==D như hình vẽ
Hình 13 - Tạo Parallel Branch
Tương tự với việc tạo một Selective Branch, số lượng nhánh cũng có thể được thay đổi theo mong muốn
e) Tạo Selective Coupling
Từ cửa sổ lập trình, nhấn phím F8, trong phần Symbol của cửa sổ Enter SFC Symbol xuất hiện, lựa chọn thuộc tính của Symbol là C như hình vẽ
Hình 14 - Tạo Selective Coupling
Việc chọn số lượng nhánh tương tự như trên
f) Tạo Parallel Coupling
Từ cửa sổ lập trình, nhấn phím F9, trong phần Symbol của cửa sổ Enter SFC Symbol xuất hiện, lựa chọn thuộc tính của Symbol là ==C như hình vẽ
Hình 15 - Tạo Parallel Coupling
Việc chọn số lượng nhánh tương tự như trên
g) Tạo Jump transition
Từ cửa sổ lập trình, nhấn phím F8, trong phần Symbol của cửa sổ Enter SFC Symbol xuất hiện, lựa chọn thuộc tính của Symbol là JUMP như hình vẽ
Hình 16 - Tạo Jump transition
Trang 1514
Ngay cạnh phần thuộc tính của Symbol, được gọi là Số thứ tự của Step đích (Jump destination
step number), giá trị trong ô này chính là số thứ tự của Step muốn nhảy tới khi thõa mãn điều kiện chuyển Step đích (destination step) có thể nằm trong cùng một Block, hoặc nằm ở một Block khác
Ở phần thuộc tính của Jump Transition, ô Step Attribute, lựa chọn thuộc tính là [ ], có ý nghĩa,
Jump transition này là một lệnh nhảy thông thường
h) Tạo Reset jump
Tương tự như đối với việc tạo Jump transition, việc tạo Reset Jump được thực hiện như việc tạo
Jump transition.Nhưng ở phần Step attribute, thuộc tính được lựa chọn là [R] Có ý nghĩa Jump
transition này là một Reset jump
Khi điều kiện chuyển thõa mãn, Reset jump được thực hiện Trạng thái của Step đích được reset, nhưng sẽ không nhảy đến Step đích mà nhảy về Step trước Reset jump
Hình 17 - Tạo Reset jump
i) Thay đổi chương trình
Sau khi viết xong chương trình, nếu muốn thay đổi, người lập trình có thể nháy đúp vào biểu tượng muốn thay đổi, cửa sổ Enter SFC symbol sẽ xuất hiện, người lập trình có thể thay đổi các thông số cho các biểu tượng theo ý muốn Ngoài ra có thể chèm thêm hay xóa bỏ các biểu tượng, được minh họa như các hình sau
Hình 18 - Chèm thêm dòng mới
Hình 19 - Chèm thêm cột mới
Trang 1615
Hình 20 - Xóa một dòng
Hình 21 - Xóa một cột
Trang 1716
IV- Ví dụ minh họa
Phần trên trình bày các thành phần của ngôn ngữ SFC dùng cho PLC họ FX CPU, và cách tạo các SFC symbol để tạo lưu đồ SFC.Phần này sẽ đưa ra các ví dụ, trình bày từng bước việc viết một chương trình SFC như thế nào sử dụng chương trình GX Developer.Sau đó chạy mô phỏng các chương trình bằng GX Simulator
1- Ví dụ 1
Có hai công việc được phân chia thời gian thực hiện như sau: công việc thứ nhất CVI được thực hiện trong khoảng thời gian t1, sau khi hết thời gian t1 tạm dừng thực hiện công việc CVI và chuyển sang thực hiện công việc thứ hai là CVII trong khoảng thời gian t2 Hết thời gian t2, tạm dừng công việc CVII và chuyển sang thực hiện công việc CVI với thời gian t1 Cứ thế lặp đi lặp lại.Ở trạng thái đầu tiên, các công việc đều bị tạm dừng, chỉ khi nào nhấn nút Start thì mới bắt đầu quá trình
Để giải quyết bài toán trên bằng PLC, trước tiên ta quy định các đầu vào/ra tương ứng với các công việc được thực hiện Ta có bảng vào/ra như sau:
Trang 1817
Khởi động phần mềm GX Developer
Tạo một Project mới bằng cách nhấn biểu tượng New trên thanh công cụ Chọn PLC series là
FXCPU Chọn PLC type là FX3U(C) Phần Program type, chọn loại chương trình là SFC
Như hình minh họa phía dưới
Sau khi nhấn OK, sẽ xuất hiện danh sách Block list, với các Block chưa được lập trình như
hình dưới
Sau khi xuất hiện danh sách các Block, ta bắt đầu viết chương trình cho các Block để thực hiện được công việc theo yêu cầu
Chọn Block thứ hai (Block No.1) Nháy đúp chuột, cửa sổ Block information setting xuất hiện
Ta điền các thông tin cho Block:
+ Block title: đặt tên cho Block là Thuc hien cong viec
+ Block type: chọn Block type là SFC
Trang 1918
Sau khi cài đặt xong thông tin cho Block, nhấn Execute để vào cửa sổ viết chương trình cho
Block
Mặc định Step S0 và Transition 0 đã được thêm vào chương trình Như đã nói ở trên các Step
từ S0 tới S9 là các Step khởi động, nên ta sẽ không viết chương trình đầu ra cho Step S0 + Chọn Transition 0 (Click chuột vào Transition 0) :
Trang 2019
+ Ở phần bên trái, ta viết điều kiện chuyển bằng Ladder cho Transition 0 như sau:
Click chuột sang phần bên phải:
Nhấn F5, sau đó chọn đầu vào là X0 như bảng vào ra đã chọn ở phía trên Nhấn OK
Sau khi nhấn OK:
Trang 2120
Tiếp theo nhấn F8 Rồi nhấn Enter Chú ý: sau khi nhấn F8, cửa sổ Enter symbol xuất hiện, nhưng không viết gì vào cửa sổ Enter symbol, mà nhấn phím Enter
Sau khi nhấn Enter:
( [TRAN ] chính là chuyển tiếp Khi X0 ON, thì TRAN sẽ được tích cực và trạng thái
tiếp theo được hoạt động Trạng thái phí trước sẽ bị ngừng hoạt động Khi nhấn F8, chúng ta
không phải gõ vào TRAN, nếu TRAN được gõ vào cửa sổ Enter symbol thì khi nhấn Enter sẽ
báo lỗi)
Sau khi viết xong đầu ra cho một Step hay điều kiện chuyển cho một Transition, chúng ta phải
Convert đoạn chương trình Ladder vừa viết cho Step hoặc Transition Nếu không Convert đoạn
chương trình Ladder đó, khi chuyển sang Transition khác hay Step khác, đoạn chương trình Ladder cho Step hoặc Transition đó sẽ bị xóa
Để Convert, ta nhấn phím F4, và màu nền đoạn chương trình Ladder cho Step hoặc Transition
đó sẽ chuyển sang màu trắng thông báo đã được Convert như hình phía dưới