You are on page 1of 37

TÌM HIỂU VỀ PLC

MITSUBISHI
GIẢNG VIÊN HƯỚNG DẪN: DƯƠNG MINH ĐỨC
1. Giới thiệu chung

2. Các kí hiệu sử dụng trong SFC

PHẦN 2: NGÔN 3. Các loại điều kiện chuyển đổi


NGỮ LẬP TRÌNH
SFC. 4. Các hệ lệnh trong SFC

5. Lập trình bằng ngôn ngữ SFC với


Mitsubishi
I. GIỚI THIỆU CHUNG

• 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, được phát triển từ ngôn
ngữ GRAFCET .
• Đặc điểm:
• Thích hợp với các hệ thống mạch logic tuần tự.
• Dễ lập trình và sửa lỗi (vì thấy rõ hoạt động từng bước).
• Gồm 2 bộ phận chính là: các bước (step ) và điều kiện để
chuyển tiếp bước(transition condition). Ngoài ra còn có các
tác động đặt liên kết với các bước .
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

1. Bước mở đầu - Đại diện cho sự bắt đầu của 1 khối lệnh
(Initial steps ) - Trong 1 khối có thể có tối đa 32 bước mở đầu.
Ví dụ:
hay:

Các bước mở đầu S0, S1, S2, S3 đều được kích hoạt. Nếu
có 1 điều kiện chuyển tiếp ti được thông qua -> nhảy sang
bước S4.
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

2. Bước thông - Được thực hiện khi điều kiện chuyển tiếp trước nó thỏa
thường
mãn, và dừng khi điều kiện chuyển tiếp sau nó thỏa
Hay: mãn.
- Bước này sẽ chạy lệnh tương ứng được cài đặt của
chương trình.
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

3. Bước giả - Là bước mà tại đó không chạy chương trình.


(Dummy step)
- Trong khi đang chạy bước này, PLC luôn kiểm tra điểu
kiện chuyển tiếp sang bước sau. Khi thỏa mãn điều kiện
chuyển tiếp thì sẽ thực hiện bước tiếp theo.
- Sử dụng như 1 bước tạo trễ
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

4. Bước giữ cuộn - Cuộn dây tại bước SC sẽ giữ được trạng thái trước, khi
dây (Coil Hold mà chương trình đã chuyển sang bước tiếp theo
Step)
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

4. Bước giữ cuộn - Cuộn dây ở bước SC sẽ mất điện khi thực hiện bước
dây (Coil Hold END cưỡng bức nó, hay thực hiện 1 lệnh RESET
Step) bước SC trong chương trình.
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

5. 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

- Muốn đặt lại bước nào, ta đặt số thứ tự bước đó vào ô reset
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

6. Block START - Dùng khi trong chương trình chính có các khối lệnh con
Step (with END cần thực hiện.
check)
- Khi bắt đầu bước này, sẽ
thực hiện khối lệnh m. Sau
khi thực hiện hết khối m rồi
mới đi kiểm tra điều kiện
chuyển sang trạng thái tiếp
theo.
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

7. Block START - Dùng khi trong chương trình chính có các khối lệnh con cần
Step (without thực hiện.
END check)
- Khi bắt đầu bước này, sẽ thực
hiện khối lệnh m.Trong khi đang
thực hiện khối m vẫn tiếp tục
kiểm tra điều kiện chuyển sang
bước sau.
Nếu thỏa mãn, chuyển
luôn sang bước sau mà không
cần phải kết thúc khối m.
II. CÁC KÍ HIỆU SỬ DỤNG TRONG NGÔN NGỮ SFC (KÍ HIỆU CÁC
BƯỚC)

STT Tên bước Kí hiệu Tác dụng

8. END Step
- Là bước mà tại đó tất cả sự hoạt động của khối
bị dừng lại.
- Dấu 2 gạch
cuối cùng - Dùng để kết thúc 1 khối lệnh, hoặc 1 chương
- Trong
chương trình trình không tuần hòan.
:
• 1. Chuyển tiếp nối tiếp

• 2. Chuyển tiếp lựa chọn


III. CÁC LOẠI
CHUYỂN TIẾP:
• 3. Chuyển tiếp song song

• 4. Chuyển tiếp bước nhảy


1. Chuyển tiếp nối tiếp:

- Khi điều kiện chuyển tiếp được thỏa mãn, chương trinh sẽ

chuyển từ bước cũ sang bước mới

- Ví dụ: bước 1 đang chạy, nếu điều kiện chuyển đổi “b” thỏa mãn

-> chương trình sẽ chạy bước 2

- Có tối đa 512 chuyển đổi nối tiếp trong 1 khối lệnh SFC.

Hình: Lưu đồ hoạt động chuyển tiếp nối tiếp


2. Chuyển đổi lựa chọn:
- Một số bước được kết hợp song song, chương trinh chạy ở bước mà điều kiện chuyển tiếp
được thỏa mãn trước tiên
- Có 2 kiểu chuyển đổi dạng này:

Kiểu phân nhánh Kiểu ghép nối


(phân kì hoặc) (hội tụ và)
2. Chuyển đổi lựa chọn:

* Ví dụ: kiểu phân nhánh: Khi đang chạy bước n:

- Nếu điều kiện chuyển đổi “b” đúng -> thực hiện bước n+1;

- Nếu điều kiện chuyển đổi “c” đúng -> thực hiện bước n+2.

- Nếu cả 2 điều kiện đều thỏa mãn -> ưu tiên lệnh bên trái

- Có tối đa 32 bước có thể có trong chuyển đổi lựa chọn


3. Chuyển đổi song song:
- Một số bước được liên kết song song được xử lý đồng thời khi điều kiện chuyển tiếp liên quan
được thỏa mãn.
- Có 2 kiểu chuyển đổi dạng này:

Kiểu phân nhánh Kiểu ghép nối


(phân kì và) (hội tụ hoặc)
3. Chuyển đổi song song:

* Ví dụ: kiểu ghép nối: :

- Khi điều kiện chuyển tiếp “b” đúng trước “c” -> chuyển sang bước chờ, tới khi cả “c ” đúng -> so sánh

điều kiện “d”; nếu đúng thì chuyển sang bước n+2

- Tương tự với “c” đúng trước. Các bước chờ ( chính là bước này ) dùng để đồng bộ hóa song song.

- Có tối đa 32 bước có thể đồng thời xử lí trong chuyển đổi song song.
4. Chuyển đổi bước nhảy:
- Là một bước nhảy đến một bước được chỉ định trong cùng một khối xảy ra khi
điều kiện chuyển tiếp được thỏa mãn
- Ví dụ:

- Khi điều kiện chuyển đổi “b” được thỏa mãn, chương trình sẽ nhảy tới bước m được chỉ định
và thực hiện bước m.
4. Chuyển đổi bước nhảy:
- Lưu ý: có thể làm thế này để reset chính bước vừa thực hiện.
IV. CÁC HỆ LỆNH TRONG SFC

• SFC tạo thành khung chương trình, còn hành động trong các bước hay trong các điều

kiện chuyển tiếp có thể được viết bằng ngôn ngữ khác. Ngôn ngữ hay được sử dụng là

Ladder.

• Phần này sẽ tìm hiểu về một số lệnh hay được sử dụng:


IV. CÁC HỆ LỆNH

1. Bộ định thời Timer


Bảng sau chỉ ra số của timer:
Cho các xung Cho các xung Loại khả nhớ Loại khả nhớ Cho các xung
100 ms 10 ms cho các xung cho các xung 1 ms
1ms 100 ms
T 0 to T199 T200 to T245 T246 to T249 T250 to T255 T256 to T511

Các timer cộng và đếm các xung clock 1ms, 10ms, 100ms.. Khi giá trị đếm đạt được giá trị cài đặt,
tiếp điểm ngõ ra của timer bật ON.
IV. CÁC HỆ LỆNH

1. Bộ định thời Timer:


- Giá trị cài đặt xác định bằng hằng số Kx. Với x là số lần cộng và đếm các xung.
- Ví dụ:
IV. CÁC HỆ LỆNH

1. Bộ định thời Timer:


* Ví dụ:
- Y000 có điện -> kích hoạt bộ đếm Timer
- T0 cộng và đếm các xung 100ms ; với giá trị đặt là 50, Timer sẽ đếm giá trị:
100ms* 50 = 5s.
* Nếu là loại khả nhớ thì khi tắt tác động của bộ timer, giá trị vẫn được lưu giữ bằng giá trị
vừa đếm.
IV. CÁC HỆ LỆNH

2. Bộ đếm Counter :
Bảng sau chỉ định số của Counter:
Bộ đếm 16 bit Bộ đếm hai chiều 32 bit
Tầm đếm từ 0 đến 32767 Tầm đếm từ −2,147,483,648 to +2,147,483,647
Kiểu chung Kiểu chốt Kiểu chung Kiểu chốt
C0 to C99 C100 to C199 C200 to C219 C220 to C234

Đi kèm còn có giá trị cài đặt Kx. Với x là số lần đếm. Mỗi lần nhấn vào tác động của bộ
Counter -> là 1 lần đếm.
IV. CÁC HỆ LỆNH

2. Bộ đếm Counter:
* Ví dụ:
IV. CÁC HỆ LỆNH

2. Bộ đếm Counter:
* Ví dụ:
- X000 có điện -> C0 và C100 đều đếm. Khi tắt lệnh RUN chạy chương trình thì C0 bị xóa
về 0; còn C100 có nhớ nên giữ nguyên giá trị trước của nó.
- X001 có điện -> RESET C0 và C100 về 0.
IV. CÁC HỆ LỆNH

2. Bộ đếm Counter:
• Với kiểu bộ đếm 2 chiều 32 bit có thể đếm lùi -> dùng bộ rơ le chuyển hướng đếm, có
dạng M8x. Với x là số của bộ Counter tương ứng, x= 200 –> 243
• Ví dụ:

- Nhấn X003 -> kích hoạt M8200 -> bộ C200 sẽ đếm lùi.
IV. CÁC HỆ LỆNH

3. Các lệnh hay dùng:


- Các lệnh SET, RESET

- -> đặt trạng thái mới cho biến.


- SET: đặt trạng thái bit =1 cho biến
- RESET: xóa trạng thái trước, và đặt 0 cho biến
IV. CÁC HỆ LỆNH

3. Các lệnh hay dùng:


- Lệnh so sánh:

- Dùng các dấu so sánh: >, <, =, >=, <=, <>


- Ví dụ trên: khi nhấn X000 -> C0 sẽ đếm lên 1. Khi đếm C0 lớn hơn 3 (bắt đầu từ 4 trở
đi ) -> cuộn dây Y000 sẽ có điện
IV. CÁC HỆ LỆNH

3. Các lệnh hay dùng:


- Lệnh gán:

- Trong ví dụ trên: cho X000 có điện -> bộ C0 sẽ đếm. Nếu ta kích hoạt X004 -> lệnh MOV
sẽ gán giá trị đếm của C0 cho biến D0
IV. CÁC HỆ LỆNH

3. Các lệnh hay dùng:


- Các lệnh toán học:

- Ví dụ phép cộng: cộng giá trị S1 và S2, đưa kết quả vào D.
IV. CÁC HỆ LỆNH

3. Các lệnh hay dùng:


- Ví dụ về lệnh cộng:

- Lệnh ADD có hiệu lực khi ta giữ tiếp điểm X006 có điện. Hằng số K2 có tác dụng cộng 2 vào giá trị D0 rồi
gán cho D2.
=> Còn rất nhiều lệnh nữa, với rất nhiều chức năng khác nhau, hoàn chỉnh hệ lệnh, giúp cho quá trình làm việc
của hệ thống dễ dàng hơn.
V. 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 bài toán, 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- Grafcet, tiến hành lập
trình chi tiết trên phần mềm. Hình: Cấu trúc một khối lệnh SFC cơ bản
a0 a0

* VÍ DỤ BÀI TOÁN XYLANH CHUYỂN ĐỘNG:


A+ A- A+ A-

b0 B+ b1

- Xylanh A chuyển động lên-xuống (di chuyển mũi khoan). a1 a1


B-
- Xylanh B chuyển động phải-trái (đưa phôi vào vị trí cần khoan).
- Khi cảm biến CB báo có phôi, xylanh A đi xuống (A+) (xylanhB đứng
im) và đến a1 thì sẽ thực hiện chuyển động đi lên (A- ) (xylanh B vẫn
đứng im). Khi tới a0 thì xylanh A dừng, xylanh B sang phải (B+). Tới
b1 thì xylanh B dừng và xylanh A đi xuống, gặp a1 thì sẽ đi lên tới gặp
a0 thì xylanh A dừng. Lúc này xylanh B sang trái (B-), đến b0 thì
dừng. Lấy sản phẩm ra và lặp lại chu trình mới.
• Đầu vào: cảm biến có phôi CB, cảm biến vị trí a0, a1, b0, b1.
• Đầu ra: chuyển động của xylanh A: A+, A- ; xylanh B: B+, B-.

Mô tả bài toán Grafcet


Chuyển từ Grafcet sang chương trình SFC

Sơ đồ Grafcet Chương trình SFC

You might also like