Trường Đại Học Bách Khoa Hà Nội Viện Điện
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
Giáo viên hướng dẫn:
Thầy Dương Minh Đức
Sinh viên thực hiện:
Đặng Việt Hòa Đặng Ngọc Hạnh Trần Công Định
Hà Nội – 11/2012
MỤC LỤC
I.
Tổng quan về ngôn ngữ SFC cho PLC họ FX.
3
1.
Grafcet.
3
2.
Giới thiệu ngôn ngữ SFC.
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
III.
Tạo và chỉnh sửa sơ đồ SFC
8
IV.
Các ví dụ minh họa
16
Ví dụ 1.
16
Ví dụ 2.
34
Tài liệu tham khảo
41
1
Hướng dẫn lập trình SFC cho PLC họ FX CPU I- Tổng quan về ngôn ngữ SFC cho PLC họ FX. 1. Grafcet. Để thấy sự ứng dụng của phương pháp Grafcet trong lập trình cho PLC (chính là ngôn ngữ SFC), phần này sẽ nhắc lại một số khái niệm cơ bản của Grafcet. (Tất cả các khái niệm, thông tin về Grafcet 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.
3 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
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 đó sẽ bị dừng. Các mạch điện nội là các khối Ladder, và hoạt động giống như các khối Ladder khi viết chương trình bằng ngôn ngữ Ladder. Các phân nhánh có số Step “tiếp theo” tối đa là 8, nhưng nếu có nhiều phân nhánh, thì tổng số tối đa các Step “tiếp theo” là 16, được miêu tả như hình dưới.
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. 4 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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.
5 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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: Lớp chuyển tiếp (Transition Class):
số Step tối đa cho mỗi khối SFC (SFC Block) là 512.
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. 6
Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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.
7 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU III-
Tạo và chỉnh sửa lưu đồ SFC.
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. 8 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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 sẽ hiện ra. Nháy đúp chuột vào Block cần lập trình, để lựa chọn Block đó là SFC Block hay Ladder Block. Đặt tên cho Block đó trong ô Block title.Sau đó nhấn Excute để vào cửa sổ viết chương trình.Các bước trên được minh họa thông qua các hình sau.
9 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
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 10 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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. b) Tạo một Transition . Từ cửa sổ lập trình, nhấn phím F5, trong phần Symbol của cửa sổ Enter SFC symbol hiện ra, lựa chọn thuộc tính của Symbol là TR. (chú ý: trước khi nhấn F5, con trỏ chuột phải được đặt ở dòng tiếp theo sau Step, như mũi tên trong hình phía dưới chỉ tới)
11 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
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. 12 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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. 13 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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. 14 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Hình 20 - Xóa một dòng.
Hình 21 - Xóa một cột.
15 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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: Thực tế Nút Start CVI t1 CVII t2
PLC X0 Y1 T1 Y2 T2
Lưu đồ Grafcet được thể hiện như sau:
Hình 22 - Lưu đồ Grafcet ví dụ 1.
Sau khi có lưu đồ Grafcet của quá trình, ta bắt đầu viết chương trình cho PLC để thực hiện công việc theo yêu cầu bằng ngôn ngữ SFC. Các bước thực hiện như sau: 16 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 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. 17 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
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) :
18 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
+ Ở 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:
19 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
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. 20 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Sau khi viết xong điều kiện chuyển cho Transition 0, tiếp theo ta viết đầu ra cho Step S1. Viết đầu ra cho Step S1: + Để thêm S1, Click chuột vào dòng tiếp theo sau Transition 0 (phần lưu đồ SFC bên trái).
Thêm biểu tượng Step, bằng cách nhấn phím F5 như phần III) đã trình bày, và điền các thông số như sau:
Sau khi điền các thông số cho Step S10, nhấn OK. Cửa sổ lập trình sẽ hiện ra như sau ( Chọn Step number là 10. Phần Comment có thể có hoặc không.):
21 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Click chuột chọn Step S10:
Giống như Transition 0, ta cũng viết đoạn chương trình đầu ra cho Step S10 ở phần bên phải lưu đồ SFC bằng ngôn ngữ Ladder. Sau khi viết xong, nhấn F4 để Conver. Và được như sau:
Ta giả sử thời gian T1 cho công việc CVI là t1=10*(giá trị Timer 1). Tiếp theo ta viết điều kiện chuyển cho Transition 1, là chuyển tiếp khi kết thúc thời gian t1 của công việc CVI + Click chuột vào dòng tiếp theo sau Step S10, nhấn phím F5. 22 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Sau đó nhấn OK.
+ Click chuột chọn Transition 1. Click chuột sang phía bên phải lưu đồ SFC. Viết đoạn chương trình điều kiện chuyển cho Transition 1 bằng ngôn ngữ Ladder.Ta được như hình sau:
23 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Đầu vào của Transition 1 chính là T1.( Chú ý khi viết đầu ra [TRAN ]: nhấn F8, sau đó nhấn Enter. Không viết TRAN vào cửa sổ Enter symbol sau khi nhấn F8.) Nhấn F4 để Convert cho Transition 1:
Tiếp theo tạo Step S11 và Transition 2 giống như tạo Step S10 và Transition 1. Nhưng ở Step S11, ta lấy Timer 2 làm bộ định thời cho công việc CVII. Giả sử t2=10*(giá trị Timer 2). + Tạo Step S11:
24 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
+ Tạo Transition 2:
Sau khi thực hiện công việc CVII, và hết thời gian t2, sẽ quay trở lại thực hiện công việc CVI trong thời gian T1. Nên tiếp theo ta sẽ tạo Jump transition để nhảy về Step S10 (là trạng thái của công việc CVI Tạo Jump Transition: Click chuột vao dòng tiếp theo phía sau Transition 2, và nhấn phím F5. Phần Symbol chọn mũi tên thả xuốn để chọn JUMP.Và điền 10 (là Step S10) là giá trị của Step đích. Như hình sau: 25 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Phần Step attribute giữ nguyên như mặc định. Sau khi điền xong thông số, nhấn OK.
Step S10 có dấu chẩm đen ở giữa sau khi Reset jump được tạo với Step đích là S10. Trong lưu đồ SFC đã viết ở trên ta thấy, Step khởi tạo S0 có dấu chấm hỏi. Đó là do ta không viết đầu ra cho Step S0. Và Step S0 cũng chính là một Dummy Step như đã nói ở phần III). Trong Grafcet, để cho Grafcet có thể hoạt động được thì trạng thái khởi tạo đầu tiên phải được hoạt động đầu tiên. Nên một tín hiệu g được thêm vào trạng thái khởi tạo để cho phép trạng thái đầu tiên hoạt động. Và trong lập trình SFC ta cũng phải làm tương tự để Step S0 hoạt động khi bắt đầu quá trình. Tạo tín hiệu g trong lưu đồ SFC:
26 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU + Trong phần 4) Vùng hiển thị các thông tin của Project, chọn Program , nháy đúp vào main để hiển thị danh sách Block (Block list):
+ Nháy đúp chuột vào Block 0 (Block No.0 phía trên Block 1 là Block SFC chúng ta vừa tạo. Cửa sổ Block information setting xuất hiện, điền tên cho Block trong ô Block title là Khoi tao.Chọn Block type là Ladder.
Nhấn Execute để vào của sổ lập trình cho Block 0.
27 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Phần bên trái là biểu tượng Ladder đã nói ở phần II).Phần bên phải là nơi viết đoạn chương trình Ladder khởi tạo bằng ngôn ngữ ladder. Đoạn chương trình khởi tạo được viết như hình sau:
Sau đó nhấn F4 để Convert cho đoạn Ladder vừa viết.[SET S0 ] chính là tín hiệu g được thêm vào trạng thái khởi tạo đầu tiên ở trogn Grafcet.(M8002 dùng để SET S0, khi PLC được cấp điện, M8002 sẽ được ON và cho phép Step S0 hoạt động).
Mô phỏng: sau khi đã viết xong lưu đồ SFC cho công việc cần thực hiện. Tiếp theo chúng ta sẽ mô phỏng lưu đồ SFC vừa được viết để kiểm tra sự hoạt động của lưu đồ. Trở lại danh sách Block (Block list bằng Program => Main).
28 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Trong danh sách Block, ta thấy hai Block đã được tạo là Block 0 và Block 1. Để có thể mô phỏng được, các Block cần phải được Convert. Trong danh sách Block, cột ngay cạnh cột Block title chính là trạng thái của Block đã được Convert hay chưa. Với một Block đã được Conver thì sẽ có kí hiệu là „-„, với Block chưa được Convert thì sẽ có kí hiệu là ‘*’. Ý nghĩa các ký hiệu được thể hiện trong phần được khoanh vòng ở hình trên (phía bên phải ). Để Convert các Block chưa Convert, trên Menu Bar chọn Convert => Convert Block (all block).
Sau khi nhấn Convert Blocl (all block): 29 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Các Block đều đã được Convert (tất các đều có kí hiệu „-„). + Mô phỏng SFC tương tự như đối với mô phỏng chương trình Ladder. Chọn Start ladder logic test để mô phỏng lưu đồ SFC vừa tạo.
Sau khi chọn Start ladder logic test để mô phỏng lưu đồ, trở lại danh sách Block, nháy đúp vào Block 1 là Block chúng ta đã viết trước đó để xem trạng thái của các Step. Step S0 sẽ được ON, và có màu xanh.
30 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Để cho phép Step S10 hoạt động, Click chọn Transition 0, để tích cực X0, cho phép Transition 0 chuyển Step.
Mô phỏng chương trình SFC tương tự như mô phỏng một chương trình Ladder. Nhấn FORCE ON để tích cực X0, cho phep Transition 0 chuyển sang Step S10. Sau đó nhấn FORCE OFF, để đưa X0 về trạng thái trước đó ( không được tích cực). Sau đó Step S10 sẽ có màu xanh, có nghĩa là Step S10 đang hoạt động. Step S0 sẽ mất màu xah, có nghĩa là Step S0 đã bị ngừng hoạt động.
31 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Khi Click vào Step S10 sẽ thấy đầu ra Y1 được ON, và Timer 1 tính thời gian:
Khi Timer 1 đã đếm hết thời gian t1, Transition 1 thõa mãn.
Transition 1 thõa mãn, Step S10 sẽ bị ngừng hoạt động, và Step S11 được hoạt động.
32 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Tương tự, sau khi Timer 2 đếm hết thời gian t2, Transition 2 thõa mãn, Jump Transition sẽ nhảy về Step S10. Để kết thúc mô phỏng, chọn Tools => End ladder logic test
33 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU 2- Ví dụ 2. Cho sơ đồ chuyển động: b0
b1 S1=T
a0 S1=P S1=X
S1=L
a1
Hệ thống gồm 2 cơ cấu chuyển động lên – xuống và phải – trái cùng với các cảm biến vị trí (a0, a1, b0 và b1). Đầu tiên cơ cấu lên – xuống thực hiện chuyển động xuống (trong mỗi thời điểm chỉ có 1 cơ cấu hoạt động, tức là hiện tại cơ cấu phải – trái đang đứng yên). Khi gặp cảm biến a1 thì sẽ thực hiện chuyển động lên. Khi gặp cảm biến a0 thì cơ cấu lên – xuống dừng lại và cơ cấu phải – trái mang theo cả cơ cấu lên – xuống chuyển động sang phải. Khi gặp cảm biến b1 thì cơ cấu phải – trái dừng lại và cơ cấu lên – xuống thực hiện chuyển động xuống, đến khi gặp cảm biến a1 thì nó chuyển động lên. Khi gặp cảm biến a0 thì cơ cấu lên – xuống dừng lại, cơ cấu phải – trái thực hiện chuyển động sang trái. Khi gặp b0 thì cơ cấu phải – trái dừng lại và cơ cấu lên – xuống thực hiện chuyển động xuống. Hệ thống lại bắt đầu một chu kỳ mới. Sau đây chúng ta sẽ giải quyết bài toán bằng PLC sử dụng ngôn ngữ SFC. Thành lập sơ đồ Graphcet:
S0
. a0.b0
S1
S1=X a1
S2
S1=L
a0.b0
a0.b1 S1=P
S3 b1
S1=T
S4 b0
Kí hiệu đầu vào ra: Thực tế Cảm biến a0
PLC X0 34
Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU Cảm biến a1 Cảm biến b0 Cảm biến b1 START Đi Xuống (X) Đi Lên (L) Sang Phải (P) Sang Trái (T)
X1 X2 X3 X4 Y0 Y1 Y2 Y3
Tạo một block : Vi Du 2.
Vẽ sơ đồ SFC dựa vào lưu đồ Graphcet:
35 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU Chú thích (Comment) cho các đầu vào ra:
Viết chương cho các chuyển tiếp và các step: Chuyển tiếp (Transition) 0:
Step 10 (đi xuống):
Chuyển tiếp 1:
Step 11(đi lên):
36 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Chuyển tiếp 2:
Step 13(Sang phải):
Chuyển tiếp 4:
Chuyển tiếp 3:
Step 12 (Sang trái):
37 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Chuyển tiếp 5:
Tạo một xung khởi tạo cho trạng thái ban đầu S0:
Sau khi hoàn tất chọn Convert/Compile all program để trình biên dịch liên kết tất cả các khối vừa tạo. Tiếp theo chúng ta tiến hành mô phỏng hoạt động của chương trình.Chọn (Start or end ladder logic test )
.
Sau khi chọn (Start or end ladder logic test ) =>Program=> main=> block để quan sát trạng thái của các Step. Đầu tiên kích hoạt xung khởi tạo S0: X004(START) = ON. Vào Block title “START” kích chuột vào X004 => chuột phải =>Device test.
38 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Trong cửa sổ Device test =>FORCE ON (X004 ON) =>FORCE OFF (X004 OFF). Nút nhấn X004 (tạo xung khởi động S0) được nhấn=>S0 ON
Vào Block có tên “Vi Du 2” để quan sát trạng thái của các Step.
Kích hoạt các chuyển tiếp để quan sát sự chuyển trạng thái của các Step: Kích chuột vào chuyển tiếp (transiton) 0.=>chuột phải=>Device test. Trong cửa sổ Device test ON (FORCE ON), OFF (FORCE OFF) các đầu vào X000 (cảm biến a0), X002 (cảm biến b0) và quan sát sự chuyển trạng thái.
39 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU
Tương tự cho các chuyển tiếp(transition) còn lại. Để kết thúc mô phỏng chọn Tools => End ladder logic test.
40 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định
Hướng dẫn lập trình SFC cho PLC họ FX CPU Tài liệu tham khảo.
1. MITSUBISHI PLC. SFC-GX Developer Operation Manual. 2. MITSUBISHI PLC. MELSEC FX series Programmable Controller Programming Manual (Basic & applied Instructions Editor). 3. Thầy Dương Minh Đức – Viện Điện, ĐH Bách Khoa Hà Nội. Tài liệu về Điều khiển Logic và kỹ thuật lập trình PLC.
41 Đặng Ngọc Hạnh
Đặng Việt Hòa
Trần Công Định