Bài giảng Ứng dụng PLC điều khiển các hệ truyền động thủy khí công nghiệp: Chương 3 Ngôn ngữ lập trình cho PLC cung cấp cho người học những kiến thức như: Các bước lập trình cho PLC; Cấu trúc bộ nhớ cho PLC; Các lệnh cơ bản cho PLC; Các lệnh logic cho PLC; Bộ định thì- Timer; Bộ đếm - Counter.
Trang 1CHƯƠNG 3 NGÔN NGỮ LẬP TRÌNH CHO PLC
Trang 25 Dịch lưu đồ ra giản
đồ thang
6.Lập trình giản đồ thang vào PLC
Trang 3Chương trình đúng ?
10 Chạy hệ thống
Đúng Sai
Sai Đúng
Trang 5 Lưu ý trong một số bước lập trình:
Bước 2: Liệt kê đầy đủ các cổng vào ra, các cổng dự trữ, cần thiết khi phát triển hệ thống.v.v và chọn PLC có số đầu vào ra lớn hơn hoặc bằng theo yêu
cầu
Bước 3 : Phân cổng vào ra cho PLC về nguyên tắc nên tuân thủ các nguyên
tắc để thuận tiện cho việc lập trình, theo dõi kiểm tra phát hiện lỗi như sau :
Phân cổng vào ra theo chức năng yêu cầu: ví dụ đầu vào đếm tốc độ
cao, đầu vào Analog, đầu vào logic, phải đúng với các đầu vào chức năng của
PLC
Phân cổng vào ra có dụng ý: theo tên gọi, hoặc theo trình tự tác động để
tận dụng được các khả năng tín hiệu hoá của PLC dễ theo dõi phát hiện lỗi và
dễ lập trình
Trang 62
II Cấu trúc bộ nhớ cho PLC
Chức năng:
- Lưu trữ tạm thời các bảng trạng thái I/O
- Lưu trữ chương trình, dữ liệu, …
Trang 7II Cấu trúc bộ nhớ cho PLC
PHÂN CHIA BỘ NHỚ
Gồm 4 vùng:
Vùng chương trình : lưu trữ lệnh chương trình
Vùng tham số : lưu trữ các tham số như từ khóa, địa
chỉ, …
Vùng dữ liệu : lưu trữ dữ liệu của chương trình như kết
quả tính, bộ đệm truyền thông, …
Vùng đối tượng : lưu dữ liệu cho các đối tượng lập trình
như counter, timer, thanh ghi, bộ đệm ngõ vào/ra tương
tự
Trang 8- Miền I (Input image register)
- Miền Q (Output image register)
- Miền V (Variable Memory)
- Miền M (internal Memory bits)
- Miền SM (Special memory bits)
Trang 9II Cấu trúc bộ nhớ cho PLC
VÙNG NHỚ DỮ LIỆU PLC S7-200
Miền I : là thanh ghi đệm, lưu các giá trị ngõ vào khi PLC hoạt động
Miền Q : thanh ghi đệm, chứa các kết quả chương trình để
điều khiển ngõ ra
Miền V : lưu các kết quả trung gian khi thực hiện chương
trình
Trang 10Miền SM : chứa các bit đểlựa chọn và điều khiển các chức
năng đặc biệt của CPU
Trang 11II Cấu trúc bộ nhớ cho PLC
Trang 128
II Cấu trúc bộ nhớ cho PLC
PHƯƠNG THỨC TRUY CÂP BỘ NHỚ
Theo Bit: tên miền + địa chỉbyte + ‘.’+ chỉsốbit
Theo Double word: tên miền + D + địa chỉ word cao của
double word VD0, QD2, ID1, …
(VD0 = VW0 VW2 = VB0 VB1 VB2 VB3)
Trang 13III Các lệnh cơ bản cho PLC
PLC có 3 ngôn ngữ lập trình
Ngôn ngữ liệt kê dòng lệnh (STL)
Ngôn ngữ giản đồ thang (LAD)
Ngôn ngữ khối chức năng ( FBD)
Trang 140
III Các lệnh cơ bản cho PLC
Ngôn ngữ liệt kê dòng lệnh (STL)
Sử dụng các lệnh gợi nhớ
Phù hợp cho người có kinh nghiệm lập trình
Điều khiển nhiều chức năng hơn LAD và FBD
Có thể từ STL chuyển sang LAD và FBD
Trang 15III Các lệnh cơ bản cho PLC
Ngôn ngữ giản đồ thang (LAD)
Chương trình tương tự như sơ đồ nối dây mạch điện
Mô phỏng chuyển động của dòng điện từ nguồn qua các
điều kiện ngõ vào tác động đến ngõ ra
Phù hợp với người mới bắt đầu
Trang 162
III Các lệnh cơ bản cho PLC
Ngôn ngữ giản đồ thang (LAD)
Sử dụng các lệnh như các khối logic
Chương trình là sự kết nối các hộp
Trang 17III Các lệnh cơ bản cho PLC
1 Lệnh LD (LoaD) :
Lệnh LD dùng để đặt một công tắc logic thường mở vào chương trình
Chương trình STL: lênh LD luôn xuất hiện ở vị trí
đầu tiên của một nhánh chương trình hoặc mở đầu một
khối logic
Cú pháp: LD bit
Toán hạng
Địa chỉ Loại dữ liệu Vùng biến nhớ
Ví dụ: LD I0.1
Trang 184
III Các lệnh cơ bản cho PLC
Chương trình dạng LAD: lệnh LD thể hiện công tắc
logic thường mở đầu tiên nối trực tiếp với bus bên trái
của một nhánh chương trình hay công tắc thường mở
đầu tiên của logic
Trang 19III Các lệnh cơ bản cho PLC
Địa chỉ Loại dữ liệu Vùng biến nhớ
Ví dụ: LDN I0.1
Trang 206
III Các lệnh cơ bản cho PLC
Chương trình dạng LAD:
Trang 21III Các lệnh cơ bản cho PLC
3 Lệnh gán ’ = ‘ (OUTPUT) :
Cú pháp: = bit
Toán hạng
Địa chỉ Loại dữ liệu Vùng biến nhớ
Ví dụ: = Q0.0
Trang 2278
III Các lệnh cơ bản cho PLC
Trang 23III Các lệnh cơ bản cho PLC
4 Lệnh SET / RESET :
-Lệnh SET dùng để đặt trạng thái của bit về mức logic 1 vĩnh viễn
- Lệnh RESET dùng để đặt trạng thái của bit về mức logic 0 vĩnh
Địa chỉ Loại dữ liệu Vùng biến nhớ
Trang 2480
III Các lệnh cơ bản cho PLC
Trang 25IV Các lệnh logic cho PLC
Trang 27IV Các lệnh logic cho PLC
Trang 29IV Các lệnh logic cho PLC
5 Lệnh NOT
Lệnh đảo giá trị logic
Cú pháp: NOT
Trang 31III Các lệnh logic cho PLC
7 Lệnh ALD ( AND LOAD)
Nối nối tiếp 2 tổ hợp khối
Trang 32
88
III Các lệnh logic cho PLC
Ví dụ 1: chuyển chương trình dạng Ladder sang STL
1
2
Trang 33III Các lệnh logic cho PLC
Ví dụ 2: chuyển chương trình dạng STL sang Ladder
Trang 34
90
III Các lệnh logic cho PLC
8 Lệnh khai báo điểm rẽ nhánh và gọi lại điểm rẽ nhánh
( LPS , LPP)
Trang 35III Các lệnh logic cho PLC
Ví dụ 1: chuyển chương trình dạng Ladder sang STL
Trang 36
92
III Các lệnh logic cho PLC
Ví dụ 2:
Ban đầu xilanh ở vị trí KH1
Bấm nút Start, xilanh chuyển động
tịnh tiến ra đẩy chi tiết và quay trở lại
khi gặp KH 2 Xilanh chuyển động
lùi về và dừng lại khi gặp KH1
Trang 37
III Các lệnh logic cho PLC
Ví dụ 3:
Ban đầu xilanh ở vị trí KH1
Bấm nút Start, xilanh chuyển động
tịnh tiến ra đẩy chi tiết và quay trở lại
khi gặp KH 2 Xilanh chuyển động
lùi về và dừng lại khi gặp KH1
Trang 38
94
III Các lệnh logic cho PLC
Trang 39III Các lệnh logic cho PLC
Ví dụ 4:
Trang 41
III Các lệnh logic cho PLC
Ví dụ 5: Máy cắt phôi tự động
Trang 43
III Các lệnh logic cho PLC
Trang 45III Các lệnh logic cho PLC
9 Lệnh phát hiện sườn lên EU ( Edge Up)/ Sườn xuống
Trang 462
III Các lệnh logic cho PLC
Trang 47IV Các bit đặc biệt hay dùng
Trang 484
V Bộ định thì- Timer
1 Định nghĩa:
Là bộ đếm xung có chu kỳ xác định và khi được kích hoạt
nó sẽ thực hiện đủ số xung tương ứng với thời gian cần đã đặt
Thời gian trễ = n x độ phân giải
n: số xung
độ phân giải: 1ms, 10ms, 100ms
T33-T36 T97-T100 100ms T37-T63
T101-255
T37-T63 T101-255
T37-T63 T101-255
Trang 49V Bộ định thì- Timer
2 Lệnh TON ( On Delay):
Trang 51
V Bộ định thì- Timer
Ví dụ 1:
Trang 53
V Bộ định thì- Timer
Cảm biến vùng:
Trang 55
KH2
1
2
Trang 58M0.1
M0.2
Trang 59V Bộ định thì- Timer
VD2.1
Trang 60
6
V Bộ định thì- Timer
Trang 61V Bộ định thì- Timer
Trang 63V Bộ định thì- Timer
VD4
KH1 KH2 KH3 KH4
XL1
XL2
Trang 662
V Bộ định thì- Timer
Ví dụ 3: Đèn giao thông
Điều khiển tín hiệu đèn giao thông ở các ngã
tư với các thông số về thời gian như sau:
Đèn xanh sáng 25s, đèn Vàng sáng 5s,
đèn Đỏ sáng 30s,
Khởi động hệ thống bằng nhấn
nút PB_Start, dừng bằng cách nhấn PB_Stop
Trang 684
V Bộ định thì- Timer
Trang 69V Bộ định thì- Timer
Trang 706
V Bộ định thì- Timer
Trang 71V Bộ định thì- Timer
Ví dụ 3: Máy ép
Trang 72
8
Bộ đếm dùng để đếm sự kiện xảy ra
Có 2 loại bộ đếm: + Đếm tăng ( Counter-Up)
+ Đếm giảm ( Counter-Down) + Đếm thuận nghịch
V Bộ đếm - Counter
Trang 739
1 Bộ đếm tăng – CTU
Đếm số sườn lên của tín hiệu đầu vào, kết quả đếm này
được so sánh với giá trị đặt Khi giá trị tức thời này
lớn hơn hoặc bằng giá trị đặt thì bit Cxx có giá trị
logic 1
V Bộ đếm - Counter
Cú pháp: CTU Cxx PV
CU: đầu vào xung đếm
R : đầu vào Reset
PV :giá trị đặt Cxx: C0-C255
Trang 740
1 Bộ đếm tăng – CTU
Đếm số sườn lên của tín hiệu đầu vào, kết quả đếm
này được so sánh với giá trị đặt Khi giá trị tức thời
này lớn hơn hoặc bằng giá trị đặt thì bit Cxx có giá trị
logic 1
V Bộ đếm - Counter
Cú pháp: CTU Cxx PV
CU: đầu vào xung đếm
R : đầu vào Reset
PV :giá trị đặt VW; T; C; IW; QW; MW; SMW;
AC; AIW; Constant Cxx: C0-C255
Trang 75
1
2 Bộ đếm lùi – CTD
Đếm số sườn lên của tín hiệu đầu vào Bộ counter sẽ
đếm lùi bắt đầu từ giá trị đặt Khi giá trị tức thời này
bằng 0 bit Cxx có giá trị logic 1
V Bộ đếm - Counter
Cú pháp: CTD Cxx PV
CD: đầu vào xung đếm
LD : đầu vào đặt giá trị ban đầu
PV :giá trị đặt VW; T; C; IW; QW; MW; SMW;
AC; AIW; Constant Cxx: C0-C255
Trang 762
V Bộ đếm - Counter
Trang 773 Bộ đếm tiến/ lùi – CTUD
Trang 784
V Bộ đếm - Counter
Trang 806
V Bộ đếm - Counter
Trang 81VI Các lỗi hay gặp trong lập trình
1 Không được lập trình Hai hoặc nhiều " Thang " khác
nhau hay " nhánh hoàn thiện" trong cùng một Network
Trang 828
VI Các lỗi hay gặp trong lập trình
2 Nếu một lệnh OUT, hoặc một lệnh FUN luôn cần điều
kiện thực hiện là ON, thì lệnh này không được nối trực
tiếp với đường trục nguồn Power bus bên trái mà
Thay vào đó phải nối qua một tiếp điểm cờ thường ON
- ( ALWAYS ON SM0.0)
Trang 83VI Các lỗi hay gặp trong lập trình
3 Một nhánh không được xuất phát từ một nhánh song
song khác
Trang 840
VI Các lỗi hay gặp trong lập trình
4 Nếu một địa chỉ bít dùng lặp lại trên hai lệnh OUT PUT
khác nhau thì lệnh OUT PUT đi trước sẽ không có tác
dụng