ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
PHẦN NỘI DUNG
Chương 1: LÝ THUYẾT LIÊN QUAN
1. Khái quát chung về thiết bị điều khiển lập trình PLC
PLC viết tắt của Programmable Logic Controller , là thiết bị điều khiển lập trình
được (khả trình) cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông
qua một ngôn ngữ lập trình. Người sử dụng có thể lập trình để thực hiện một loạt trình
tự các sự kiện. Các sự kiện này được kích hoạt bởi tác nhân kích thích (ngõ vào) tác
động vào PLC hoặc qua các hoạt động có trễ như thời gian định thì hay các sự kiện
được đếm.
Một khi sự kiện được kích hoạt thật sự, nó bật ON hay OFF thiết bị điều khiển
bên ngoài được gọi là thiết bị vật lý. Một bộ điều khiển lập trình sẽ liên tục “lặp” trong
chương trình do “người sử dụng lập ra” chờ tín hiệu ở ngõ vào và xuất tín hiệu ở ngõ
ra tại các thời điểm đã lập trình.
Để khắc phục những nhược điểm của bộ điều khiển dùng dây nối ( bộ điều khiển
bằng Relay) người ta đã chế tạo ra bộ PLC nhằm thỏa mãn các yêu cầu sau :
+ Lập trình dể dàng , ngôn ngữ lập trình dể học .
+ Gọn nhẹ, dể dàng bảo quản , sửa chữa.
+ Dung lượng bộ nhớ lớn để có thể chứa được những chương trình phức tạp .
+ Hoàn toàn tin cậy trong môi trường công nghiệp .
+ Giao tiếp được với các thiết bị thông minh khác như : máy tính , nối mạng , các
mô Module mở rộng.
+ Giá cả cá thể cạnh tranh được.
Các thiết kế đầu tiên là nhằm thay thế cho các phần cứng Relay dây nối và các
Logic thời gian .Tuy nhiên ,bên cạnh đó việc đòi hỏi tăng cường dung lượng nhớ và
tính dể dàng cho PLC mà vẫn bảo đảm tốc độ xử lý cũng như giá cả … Chính điều
này đã gây ra sự quan tâm sâu sắc đến việc sử dụng PLC trong công nghiệp .
Các tập lệnh nhanh chóng đi từ các lệnh logic đơn giản đến các lệnh đếm , định
thời , thanh ghi dịch … sau đó là các chức năng làm toán trên các máy lớùn … Sự
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
1
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
phát triển các máy tính dẫn đến các bộ PLC có dung lượng lớn , số lượng I / O nhiều
hơn.
Trong PLC, phần cứng CPU và chương trình là đơn vị cơ bản cho quá trình điều
khiển hoặc xử lý hệ thống. Chức năng mà bộ điều khiển cần thực hiện sẽ được xác
định bởi một chương trình .
Chương trình này được nạp sẵn vào bộ nhớ của PLC, PLC sẽ thực hiện việc điều
khiển dựa vào chương trình này. Như vậy nếu muốn thay đổi hay mở rộng chức năng
của qui trình công nghệ , ta chỉ cần thay đổi chương trình bên trong bộ nhớ của PLC .
Việc thay đổi hay mở rộng chức năng sẽ được thực hiện một cách dễ dàng mà không
cần một sự can thiệp vật lý nào so với các bộ dây nối hay Relay.
1.1 Giới thiệu về PLC S7- 200
1.1.1 Cấu trúc và nguyên lý hoạt động của PLC
1.1.1.1 Cấu trúc :
PLC được nhiều hãng chế tạo, và mỗi hãng có nhiều họ khác nhau, và có nhiều
phiên bản trong mỗi họ, chúng khác nhau về tính năng và giá thành, phù hợp với bài
toán đơn giản hay phức tạp. Ngoài ra còn có các bộ ghép mở rộng cho phép ghép
nhiều bộ PLC nhỏ để thực hiện các chức năng phức tạp, hay giao tiếp với máy tính tạo
thành một mạng tích hợp, việc thực hiện theo dõi, kiểm tra, điều khiển một quá trình
công nghệ phức tạp hay toàn bộ một phân xưởng sản xuất. Mặc dù vậy, một hệ thống
điều khiển dùng bất cứ loại PLC nào đều cũng có cấu trúc như hình sau :
+ Ngõ vào dạng số: gồm hai trạng thái ON và OFF. Khi ở trạng thái ON thì ngõ
vào số được coi như ở mức logic 1 hay mức logic cao. Khi ở trang thái OFF thì ngõ
vào có thể được coi như ở mức logic 0 hay mức logic thấp.
+ Ngõ ra số: gồm hai trạng thái ON và OFF. Các ngõ ra này thường được nối ra
để điều khiển các cuộn dây contactor, đèn tín hiệu…
+ Thiết bị đầu vào: gồm các thiết bị tạo ra tín hiệu điều khiển thương là nút
nhấn, cảm biến.
+ Thiết bị chấp hành (Autuator): là thiết bị biến đổi tín hiệu điện từ PLC thành
một tác động vật lý. Autuator được nối với ngõ ra của PLC.
+ Chương trình điều khiển: một chương trình bao gồm một hay nhiều lệnh
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
2
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
nhằm thực hiện một nhiệm vụ cụ thể. Việc lập trình cho PLC chỉ đơn giản là xây dựng
một tập hợp các lệnh. Có nhiều cách để lập trình cho PLC như: dạng lập trình hình
thang (LAD); dạng câu lệnh (STL); hay dạng sơ đồ khối chức năng (FBD).
Chương trình điều khiển định ra quy luật thay đổi tín hiệu output ở phía đầu ra
của PLC theo sự thay đổi tín hiệu input ở phía đầu vào theo như mong muốn. Các
chương trình điều khiển được tạo ra bằng cách sử dụng bộ lập trình chuyên dụng cầm
tay (hand- held programmer hay PG = programmer) hoặc chạy phần mềm điều khiển
trên máy tính PC và được nạp vào PLC thông qua cáp, nối giữa PLC và PC hay PG.
+ Thiết bị lập trình (PG/PC): chương trình viết trong thiết bị lập trình và truyền
xuống PLC.
+ Cáp kết nối (cáp PPI): thiết bị cần thiết để truyền dữ liệu từ thiết bị lập trình
xuống PLC.
PLC có thành phần chính là :
Một bộ nhớ chương trình RAM bên trong ( có thể mở rộng thêm một số bộ nhớ
ngoài EPROM ).
Một bộ vi xử lý có cổng giao tiếp dùng cho việc ghép nối với PLC .
Các Module vào /ra.
Bên cạnh đó, một bộ PLC hoàn chỉnh còn đi kèm thêm một đơn vị lập trình bằng
tay hay bằng máy tính. Hầu hết các đơn vị lập trình đơn giản đều có đủ RAM để chứa
đựng chương trình dưới dạng hoàn thiện hay bổ sung . Nếu đơn vị lập trình là đơn vị
xách tay , RAM thường là loại CMOS có pin dự phòng, chỉ khi nào chương trình đã
được kiểm tra và sẵn sàng sử dụng thì nó mới truyền sang bộ nhớ PLC . Đối với các
PLC lớn thường lập trình trên máy tính nhằm hổ trợ cho việc viết, đọc và kiểm tra
chương trình . Các đơn vị lập trình nối với PLC qua cổng RS232, RS422, RS458, …
1.1.1.2 Nguyên lý hoạt động của PLC :
Đơn vị xử lý trung tâm: CPU điều khiển các hoạt động bên trong PLC. Bộ xử lý
sẽ đọc và kiểm tra chương trình được chứa trong bộ nhớ, sau đó sẽ thực hiện thứ tự
từng lệnh trong chương trình , sẽ đóng hay ngắt các đầu ra. Các trạng thái ngõ ra ấy
được phát đến các thiết bị liên kết để thực thi. Và toàn bộ các hoạt động thực thi đó
đều phụ thuộc vào chương trình điều khiển được giữ trong bộ nhớ
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
3
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
Hệ thống Bus: Hệ thống Bus là tuyến dùng để truyền tín hiệu, hệ thống gồm
nhiều đường tín hiệu song song:
+ Address Bus : Bus địa chỉ dùng để truyền địa chỉ đến các Module khác nhau.
+ Data Bus : Bus dùng để truyền dữ liệu.
+ Control Bus : Bus điều khiển dùng để truyền các tín hiệu định thì và điểu khiển
đồng bộ các hoạt động trong PLC .
Trong PLC các số liệu được trao đổi giữa bộ vi xử lý và các module vào ra thông
qua Data Bus. Address Bus và Data Bus gồm 8 đường, ở cùng thời điểm cho phép
truyền 8 bit của 1 byte một cách đồng thời hay song song.
Nếu một module đầu vào nhận được địa chỉ của nó trên Address Bus , nó sẽ
chuyển tất cả trạnh thái đầu vào của nó vào Data Bus. Nếu một địa chỉ byte của 8 đầu
ra xuất hiện trên Address Bus, module đầu ra tương ứng sẽ nhận được dữ liệu từ Data
bus. Control Bus sẽ chuyển các tín hiệu điều khiển vào theo dõi chu trình hoạt động
của PLC .
Các địa chỉ và số liệu được chuyển lên các Bus tương ứng trong một thời gian hạn
chế.
Hệ thống Bus sẽ làm nhiệm vụ trao đổi thông tin giữa CPU, bộ nhớ và I/O . Bên
cạnh đó, CPU được cung cấp một xung Clock có tần số từ 1¸8 MHZ. Xung này quyết
định tốc độ hoạt động của PLC và cung cấp các yếu tố về định thời, đồng hồ của hệ
thống.
Bộ nhớ :
+ PLC thường yêu cầu bộ nhớ trong các trường hợp : Làm bộ định thời cho các
kênh trạng thái I/O. Làm bộ đệm trạng thái các chức năng trong PLC như định thời,
đếm, ghi các Relay.
+ Mỗi lệnh của chương trình có một vị trí riêng trong bộ nhớ, tất cả mọi vị trí
trong bộ nhớ đều được đánh số, những số này chính là địa chỉ trong bộ nhớ . Địa chỉ
của từng ô nhớ sẽ được trỏ đến bởi một bộ đếm địa chỉ ở bên trong bộ vi xử lý. Bộ vi
xử lý sẽ giá trị trong bộ đếm này lên một trước khi xử lý lệnh tiếp theo. Với một địa
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
4
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
chỉ mới , nội dung của ô nhớ tương ứng sẽ xuất hiện ở đấu ra, quá trình này được gọi
là quá trình đọc .
Bộ nhớ bên trong PLC được tạo bỡi các vi mạch bán dẫn, mỗi vi mạch này có khả
năng chứa 2000 - 16000 dòng lệnh , tùy theo loại vi mạch. Trong PLC các bộ nhớ như
RAM, EPROM đều được sử dụng .
+ RAM (Random Access Memory ) có thể nạp chương trình, thay đổi hay xóa bỏ
nội dung bất kỳ lúc nào. Nội dung của RAM sẽ bị mất nếu nguồn điện nuôi bị mất .
Để tránh tình trạng này, các PLC đều được trang bị một pin khô, có khả năng cung cấp
năng lượng dự trữ cho RAM từ vài tháng đến vài năm. Trong thực tế RAM được dùng
để khởi tạo và kiểm tra chương trình. Khuynh hướng hiện nay dùng CMOSRAM nhờ
khả năng tiêu thụ thấp và tuổi thọ lớn .
+ EPROM (Electrically Programmable Read Only Memory) là bộ nhớ mà người sử
dụng bình thường chỉ có thể đọc chứ không ghi nội dung vào được. Nội dung của
EPROM không bị mất khi mất nguồn, nó được gắn sẵn trong máy, đã được nhà sản
xuất nạp và chứa hệ điều hành sẵn. Nếu người sử dụng không muốn mở rộng bộ nhớ
thì chỉ dùng thêm EPROM gắn bên trong PLC. Trên PG (Programer) có sẵn chỗ ghi
và xóa EPROM.
+ EEPROM (Electrically Erasable Programmable Read Only Memory) liên kết với
những truy xuất linh động của RAM và có tính ổn định. Nội dung của nó có thể được
xóa và lập trình bằng điện, tuy nhiên số lần là có giới hạn.
Môi trường ghi dữ liệu thứ tư là đĩa cứng hoặc đĩa mềm, được sử dụng trong máy
lập trình . Đĩa cứng hoặc đĩa mềm có dung lượng lớn nên thường được dùng để lưu
những chương trình lớn trong một thời gian dài .
Kích thước bộ nhớ :
+ Các PLC loại nhỏ có thể chứa từ 300 -1000 dòng lệnh tùy vào công nghệ chế tạo
+ Các PLC loại lớn có kích thước từ 1K - 16K, có khả năng chứa từ 2000 - 16000
dòng lệnh.
Ngoài ra còn cho phép gắn thêm bộ nhớ mở rộng như RAM , EPROM.
Các ngõ vào ra I/O:
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
5
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
Các đường tín hiệu từ bộ cảm biến được nối vào các module ( các đầu vào của PLC ),
các cơ cấu chấp hành được nối với các module ra ( các đầu ra của PLC ). Hầu hết các
PLC có điện áp hoạt động bên trong là 5V, tín hiệu xử lý là 12/24VDC hoặc
100/240VAC. Mỗi đơn vị I/O có duy nhất một địa chỉ, các hiển thị trạng thái của các
kênh I/O được cung cấp bởi các đèn LED trên PLC, điều này làm cho việc kiểm tra
hoạt động nhập xuất trở nên dể dàng và đơn giản. Bộ xử lý đọc và xác định các trạng
thái đầu vào (ON,OFF) để thực hiện việc đóng hay ngắt mạch ở đầu ra .
1.1.2 Các hoạt động xử lý bên trong PLC
1.1.2.1 Xử lý chương trình:
Khi một chương trình đã được nạp vào bộ nhớ của PLC , các lệnh sẽ được trong
một vùng địa chỉ riêng lẻ trong bộ nhớ .
PLC có bộ đếm địa chỉ ở bên trong vi xử lý, vì vậy chương trình ở bên trong bộ
nhớ sẽ được bộ vi xử lý thực hiện một cách tuần tự từng lệnh một, từ đầu cho đến cuối
chương trình . Mỗi lần thực hiện chương trình từ đầu đến cuối được gọi là một chu kỳ
thực hiện. Thời gian thực hiện một chu kỳ tùy thuộc vào tốc độ xử lý của PLC và độ
lớn của chương trình. Một chu lỳ thực hiện bao gồm ba giai đoạn nối tiếp nhau :
+ Đầu tiên, bộ xử lý đọc trạng thái của tất cả đầu vào. Phần chương trình phục vụ
công việc này có sẵn trong PLC và được gọi là hệ điều hành .
+ Tiếp theo, bộ xử lý sẽ đọc và xử lý tuần tự lệnh một trong chương trình. Trong
ghi đọc và xử lý các lệnh, bộ vi xử lý sẽ đọc tín hiệu các đầu vào, thực hiện các phép
toán logic và kết quả sau đó sẽ xác định trạng thái của các đầu ra.
+ Cuối cùng, bộ vi xử lý sẽ gán các trạng thái mới cho các đầu ra tại các module
đầu ra.
1.1.2.2 Xử lý xuất nhập:
Gồm hai phương pháp khác nhau dùng cho việc xử lý I / O trong PLC :
+ Cập nhật liên tục :
Điều nay đòi hỏi CPU quét các lệnh ngỏ vào (mà chúng xuất hiện trong chương
trình ), khoảng thời gian Delay được xây dựng bên trong để chắc chắn rằng chỉ có
những tín hiệu hợp lý mới được đọc vào trong bộ nhớ vi xử lý. Các lệnh ngõ ra được
lấy trực tiếp tới các thiết bị. Theo hoạt động logic của chương trình, khi lệnh OUT
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
6
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
được thực hiện thì các ngõ ra cài lại vào đơn vị I/O, vì thế nên chúng vẫn giữ được
trạng thái cho tới khi lần cập nhật kế tiếp.
+ Chụp ảnh quá trình xuất nhập :
Hầu hết các PLC loại lớn có thể có vài trăm I/O, vì thế CPU chỉ có thể xử lý một
lệnh ở một thời điểm. Trong suốt quá trình thực thi, trạng thái mỗi ngõ nhập phải được
xét đến riêng lẻ nhằm dò tìm các tác động của nó trong chương trình. Do chúng ta yêu
cầu delay 3ms cho mỗi ngõ vào, nên tổng thời gian cho hệ thống lấy mẫu liên tục trở
nên rất dài và tăng theo số ngõ vào.
Để làm tăng tốc độ thực thi chương trình, các ngõ I/O được cập nhật tới một vùng
đặc biệt trong chương trình. Ở đây, vùng RAM đặc biệt này được dùng như một bộ
đệm lưu trạng thái các logic điều khiển và các đơn vị I/O. Mỗi ngõ vào ra đều có một
địa chỉ I/O RAM này. Suốt quá trình copy tất cả các trạng thái vào trong I/O RAM.
Quá trình này xảy ra ở một chu kỳ chương trình (từ Start đến End ).
Thời gian cập nhật tất cả các ngõ vào ra phụ thuộc vào tổng số I/O được copy tiêu
biểu là vài ms. Thời gian thực thi chương trình phụ thuộc vào chiều dài chương trình
điều khiển tương ứng mỗi lệnh mất khoảng từ 1-10 us.
1.1.3 PLC S7- 200 CPU 224
- Bộ nhớ:
+ Chương trình: từ 32 đến 64Kb tuỳ theo loại CPU.
+ Dữ liệu: từ 16Kb đến 40Kb tuỳ theo loại CPU
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
CPU 221 CPU 222 CPU 224 CPU 226
Số I/O số có sẵn trên CPU 6IN/4OUT 8IN/6OUT 14IN/10OUT 24IN/16OUT
Số module tối đa có thể ghép
nối
Không có 2 module 7 module 7 module
Số lợng I/O số tối đa
128IN
128OUT
128IN
128OUT
128IN
128OUT
128IN
128OUT
Số lợng I/O Analog tối đa Không có
16IN
16OUT
32IN
32OUT
32IN
32OUT
Các Counter/ Timer 256/256 256/256 256/256 256/256
7
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
- Một số tính năng khác:
CPU 221 CPU 222 CPU 224 CPU 226
Tốc độ xử lý logic tại tốc độ
33MHZ
0.37µs/lệnh 0.37µs/lệnh 0.37µs/lệnh 0.37µs/lệnh
Phép toán số nguyên
(+,-,*,/)
Có Có Có Có
Phép toán số thực (+,-,*,/) Có Có Có Có
Các vòng lặp For/Next Có Có Có Có
Bộ đếm tốc độ cao 20KHz 20KHz 20KHz 20KHz
Các đầu ra dạng xung 2 (20KHz) 2 (20KHz) 2 (20KHz) 2 (20KHz)
Các ngắt thời gian 2 (1-255ms) 2 (1-255ms) 2 (1-255ms) 2 (1-255ms)
2. Phần mềm STEP7- MicroWIN32:
2.1 Giao diện phần mềm:
Để một hệ thống PLC có thể thực hiện được một quá trình điều khiển nào đó thì
bản thân nó phải biết được nó cần phải làm gì và làm như thế nào.
Việc truyền thông tin về hệ thống ví dụ như quy trình hoạt động cũng như các
yêu cầu kèm theo cho PLC người ta gọi là lập trình.Và để có thể lập trình được cho
PLC thì cần phải có sự giao tiếp giữa người và PLC.
Việc giao tiếp này phải thông qua một phần mềm gọi là phần mềm lập trình.
Mỗi một loại PLC hoặc một họ PLC khác nhau cũng có những phần mềm lập
trình khác nhau.
Đối với PLC S7-200, SIEMEN đó xây dựng một phần mềm để có thể lập trình
cho họ PLC loại này. Phần mềm này có tên là STEP7- MicroWIN32.Đây là một phần
mềm chạy trên nền Windows 32bit, trải qua nhiều phiên bản khác nhau. Ở đây tập
trung nói về STEP7-MicroWIN32 version 4.0.
Ngoài việc phục vụ lập trình cho PLC S7-200, phần mềm này cũng có rất nhiều
các tính năng khác như các công cụ gỡ rối, kiểm tra lỗi, hỗ trợ nhiều cách lập trình với
các ngôn ngữ khác nhau…
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
8
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
Phần mềm này cũng có xây dựng một phần trợ giúp (Help) có thể nói là rất đầy
đủ, chi tiết và tiện dụng. Người dùng có thể tra cứu các vấn đề về PLC S7-200 một
cách rất nhanh chóng, rõ ràng và dễ hiểu.
Để có thể thực hiện phần mềm lập trình STEP7- MicroWIN32 ta có 2 cách:
Cách 1:
Vào Start
→ Simatic
→ STEP7- MicroWIN32 V4.0
→ STEP7- MicroWIN32.
Cách 2: Chạy thông qua biểu tượng trên Desktop.
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
9
Vựng soạn thảo
chương trình
Các khối hàm, lệnh
Các khối
chức
năng
Công cụ kết
nối các lệnh
Nút thay đổi
trạng thái làm
việc của PLC
Down
load/Uploa
d
Nút kiểm tra trạng
thái của chương
trình.
Mở, tạo mới, lưu
một CT điều
khiển
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
2.1.1 Một số thành phần quan trọng:
- Program Block:
Khi click chuột vào nút này ta sẽ trở về được vùng soạn thảo
chương trình. Ở vùng này ta có thể thêm bớt các đầu vào/ra, các
biến, các lệnh, hàm để thực hiện chương trình điều khiển.
- Communications và cách kiểm tra sự kết nối với PLC S7-200:
Ở đây ta có thể thay đổi cách mà máy tính truyền thông với
PLC S7-200 (PPI, MPI, tốc độ truyền…) hoặc kiểm tra có hay
không sự truyền thông giữa máy tính và PLC S7-200 (kiểm tra
sự có mặt của PLC hay không).
- Symbol Table:
Click chuột vào đây, ta sẽ được một bảng mà ở đó ta có thể định
nghĩa các tên biến và đặt địa chỉ tương ứng cho các biến đó để có
thể dễ nhớ và dễ kiểm tra.Các biến này có thể là các đầu vào/ra,
các biến trung gian…
- Khối hàm, lệnh:
Đây là một trong những thành phần quan trọng nhất của
STEP7- MicroWIN32. Nó bao gồm toàn bộ các lệnh và khối hàm
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
10
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
của STEP7- Micro WIN32 để có thể tạo được một chương trình điều khiển cho PLC
S7-200.
Người dùng có thể tìm thấy các lệnh hoặc hàm mình cần dựa trên các nhóm có
cùng chức năng mà STEP7- MicroWIN32 đã phân loại sẵn.
Trong đó thường dùng nhất là các khối:
+ Bit Logic: bao gồm các lệnh làm việc với bit và thực hiện các phép toán logic
như AND, OR, NOT…
+ Compare: bao gồm các khối lệnh dùng để so sánh dữ liệu như >, <, =, ≥, ≤
+ Interger Math, Floating-Point Math: nhóm lệnh làm việc với số nguyên 16 bit,
32 bit và số thực. Nhóm lệnh này thực hiện các phép toán số học như +, -, *, /…
+ Move: các khối lệnh dùng để di chuyển dữ liệu từ vùng nhớ này sang vùng nhớ
khác của PLC.
+ Timer: đây là khối lệnh làm việc với các loại timer của S7-200.
+ Counter: đây là khối lệnh làm việc với các loại timer của S7-200
Ngoài ra còn các khối khác cũng rất quan trọng chúng ta có thể tham khảo thêm ở
phần Help của STEP7- MicroWIN32.
Để có thể biết một khối hàm hoặc lệnh làm việc như thế nào và điều kiện kèm
theo chúng ta chọn khối hàm, lệnh đó và nhấn F1.
+ Vựng soạn thảo:
Đây là vùng mà STEP7- MicroWIN32 dành cho người dùng soạn thảo các
chương trình điểu khiển của riêng mình.Ở đây người dùng có thể thêm các lệnh các
khối hàm, các cấu trúc điều khiển chương trình tạo các kết nối giữa các câu lệnh để
thực thi các nhiệm vụ điều khiển.
Có 3 phương pháp hay nói cách khác là 3 ngôn ngữ khác nhau để viết một chương
trình điều khiển cho PLC S7-200:
+ Statement List (STL): lập trình ở dạng danh sách lệnh dựa trên các từ gợi nhớ.
+ Lader (LAD): lập trình dạng hình thang có dạng như một sơ đồ nguyên lý mạch.
+ Function Data Block (FDB): lập trình dựa trên các khối logic cơ bản AND, OR…
Cũng nên lưu ý sự khác nhau giữa vùng soạn thảo khi dùng ngôn ngữ LAD so với
các ngôn ngữ khác.
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
11
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
Người dùng có thể thực hiện việc chuyển đổi việc lập trình giữa các ngôn ngữ
khác nhau thông qua việc lựa chọn ngôn ngữ lập trình khi vào menu:
View STL hoặc LAD hoặc FDB.
Ngoài ra khi soạn thảo chương trình STEP7- MicroWIN32 cũng hỗ trợ người dùng
với các thông báo lỗi về cú pháp, về dữ liệu…
2.1.2. Một số thao tác quan trọng:
- Có 2 cách để tạo một chương trình mới:
+ Vào menu File New.
+ Dùng biểu tượng trên thanh cụng cụ.
- Lưu lại chương trình đó viết bằng cách:
+ Vào menu File Save.
+ Dùng biểu tượng trên thanh công cụ.
- Để chèn một network mới:
+ Click chuột phải vào số thứ tự của network, chọn Insert Network(s).
+ Dùng biểu tượng trên thanh công cụ.
- Để xoá một network: chọn network
+ Click chuột phải vào network cần xóa, chọn Delete Network(s).
+ Dùng biểu tượng trên thanh công cụ.
- Để thêm một lệnh trong chương trình:
Chọn vị trí của lệnh trong chương trình:
+ Tiếp theo chọn Instructions, chọn nhóm lệnh sẽ làm việc, double click vào lệnh cần
dùng.
+ Dùng biểu tượng trên thanh công cụ.
- Để PLC S7-200 có thể thực hiện được các chương trình điều khiển, người dùng phải
Download chương trình xuống PLC.
+ Chọn File Download. Và việc download có phím tắt là Ctrl+D.
+ Dùng ngay biểu tượng ở trên thanh cụng cụ
- Khi trong PLC có sẵn một chương trình, người dùng cần đưa lên để kiểm tra, chỉnh
sửa STEP7- MicroWIN32 cũng hỗ trợ việc Upload.
+ Chọn menu File Upload. Phím tắt là Ctrl+U.
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
12
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
+ Dùng biểu tượng ở trên thanh công cụ.
Cần phải lưu ý là để Upload hoặc Download chương trình cho PLC thì phải chắc
chắn rằng PLC S7-200 đó được kết nối đến máy tính và việc truyền thông với máy
tính đó được thiết lập. Hay nó cách khác máy tính phải nhận ra được sự tồn tại của
PLC. Nếu không STEP7- MicroWIN32 sẽ báo lỗi. Khi kết nối thành công STEP7-
MicroWIN32 sẽ đưa ra bảng thông báo các thành phần sẽ được download xuống PLC.
Muốn download được thì phải chuyển PLC về trạng thái dừng (STOP) bằng cách
nhấn nút STOP trên thanh công cụ.
2.2 Các bước để lập trình một chương trình điều khiển cho PLC S7-200.
2.2.1 Bước 1: Phân tích yêu cầu công nghệ.
Phân tích các yêu cầu chung của hệ thống (tức là xác định thành phần nào cần
điều khiển, yêu cầu về thời gian, độ chính xác…).
- Phân tích thứ tự tác động của các thành phần trong hệ thống. Hay nói cách khác là sự
phân biệt thứ tự hoạt động của các thành phần trong hệ thống, cái nào trước, cái nào
sau và sự liên quan giữa chúng.
Phân tích bản chất của từng thành phần để xác định được các điều kiện liên quan
mà chỉ phụ thuộc vào bản chất riêng của nó và kết hợp với toàn bộ với những phân
tích trước đó để có phương pháp điểu khiển thích hợp.
2.2.2 Bước 2: Lập bảng địa chỉ cho các I/O.
Từ các bước phân tích về công nghệ cho ta biết sẽ có bao nhiêu I/O trong hệ
thống, bản chất của các I/O (số, tương tự, xung…) và ta sẽ xây dựng được một bảng
các I/O cho toàn bộ hệ thống.
Việc xây dựng bảng I/O phụ thuộc vào hệ thống và cấu hình PLC hoặc hệ PLC
mà chúng ta định viết chương trình điều khiển. Và việc gán địa chỉ cho các I/O của hệ
thống phải tuân thủ những quy định của nhà cung cấp PLC.
2.2.3 Bước 3: Lập giản đồ thời gian hoặc lưu đồ thuật toán điều khiển.
Đối với những hệ điều khiển tương đối lớn và phức tạp thì bước này rất quan
trọng cho việc lập trình về sau này.Nó sẽ giúp cho người lập trình phân tích hệ thống
điều khiển thành từng phần, sự liên quan và thứ tự tác động của chúng và từ đó sẽ cụ
thể hoá được phương án điều khiển trên chương trình cho PLC.
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
13
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
Đối với những hệ thống nhỏ không có quá nhiều các I/O thì người ta có thể xây
dựng giản đồ thời gian tương ứng cho từng I/O nằm trong tổng thể thứ tự và thời gian
tác động của toàn bộ I/O của hệ thống.
2.2.4 Bước 4: Viết chương trình điều khiển.
Từ những gì đã có từ việc phân tích hệ thống và xây dựng lưu đồ thuật toán hoặc
giản đồ thời gian thì việc cụ thể hoá bằng ngôn ngữ lập trình và đưa xuống PLC cũng
rất quan trọng.
Người lập trình cũng phải tuân thủ những quy định của nhà sản xuất về việc lập
trình cho loại PLC S7-200 của họ dẫn đến một số hạn chế nhất định trong việc thể
hiện thuật toán. Và đôi khi cũng phải điều chỉnh lại thuật toán cho phù hợp với loại
PLC mà mình đang có.
2.2.5. Bước 5: Chạy thử chương trình và kiểm tra lỗi
Sau khi đã hoàn thiện chương trình điều khiển và kiểm tra những lỗi có thể thấy
được như các lỗi về cú pháp, về sự sai khác kiểu dữ liệu, về thời gian… thì có thể
download chương trình xuống PLC để chạy thử.
Việc chạy thử này nếu có thể thực hiện trên hệ thống thực tế là tốt nhất còn nếu
không có thể chạy thử trên các phần mềm mô phỏng hoặc một hệ thống được xây
dựng để mô phỏng lại hệ thống cần điều khiển. Từ việc kiểm tra các đáp ứng của hệ
thống sau khi chạy thử thì người lập trình có thể kiểm tra lại toàn bộ thuật toán mà
mình đã xây dựng từ đó chỉnh sửa lai chương trình để đáp ứng được hoàn toàn các yêu
cầu của hệ thống.
3. TẬP LỆNH TRONG S7-200:
3.1
Lệnh
về
bit:
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
14
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
:
tiếp
điểm
thường
hở.
:
tiếp
điểm
thường
đóng.
:
Cuộn
coil,
ngõ
ra.
:
đảo
trạng
thái
bit.
:
Set
bit
:
Reset
bit
:
Vi
phân
cạnh
lên
:
Vi
phân
cạnh
xuống.
3.2
Timer:
TON,
TOF,
TONR.
TON:
Delay
On.
TOF:
Delay
Off.
TONR:
Delay
On
có
nhớ
3.2.1 TON:
IN:
BOOL:
cho
phép
Timer.
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
15
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
PT:
Int:
giá
trị
đặt
cho
timer(VW,
IW,
QW,
MW,
SW,
SMW,LW,
AIW,
T,
C,
AC,
Constant,
*VD,
*LD,
*AC)
Txxx:
số
hiệu
Timer.
Trong
S7_200
có
256
Timer,
ký
hiệu
từ
T0-T255
Các
số
hiệu
Timer
trong
S7_200
như
sau:
Timer
Resolution
Maximum
Timer
Number
TONR 1
ms 32.767
s T0,
T64
10
ms 327.67
s T1-T4,
T65-T68
3.2.2
TOF:
IN:
BOOL:
cho
phép
Timer.
PT:
Int:
giá
trị
đặt
cho
timer(VW,
IW,
QW,
MW,
SW,
SMW,LW,
AIW,
T,
C,
AC,
Constant,
*VD,
*LD,
*AC)
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
100
ms 3276.7
s T5-T31,
T69-T95
TON,
TOF 1
ms 32.767
s T32,
T96
10
ms 327.67
s T33-T36,
T97-T100
100
ms 3276.7
s T37-T63,
T101-T255
16
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
Txxx:
số
hiệu
Timer.
3.2.3 TONR:
IN:
BOOL:
cho
phép
Timer.
PT:
Int:
giá
trị
đặt
cho
timer(VW,
IW,
QW, MW,
SW,
SMW,
LW, AIW,
T,
C,
AC,
Constant,
*VD,
*LD,
*AC)
Txxx:
số
hiệu
Timer.
3.3
Counter:
3.3.1
Counter
Up(đếm
lên):
Cxxx:
số
hiệu
counter
(0-255)
CU:
kích
đếm
lên Bool
R:reset Bool
PV:giá
trị
đặt
cho
counter INT
PV:
VW,
IW,
QW,
MW,
SMW,
LW,
AIW,
AC,
T,
C,
Constant, *VD,
*AC,
*LD,
SW
Mô
tả:
Mỗi
lần
có
một
xung
cạnh
lên
ở
chân
CU,
giá
trị
bộ
đếm
(1
Word)
được tăng
lên
1.
Khi
giá
trị
hiện
tại
lớn
hơn
hoặc
bằng
giá
trị
đặt
PV(Preset value),
ngõ
ra
sẽ
được
bật
lên
ON.
Khi
chân
Reset
được
kích
(xung
lên)
giá
trị
hiện
tại
bộ
đếm
và
ngõ
ra được
trả
về
0.
Bộ
đếm
ngưng
đếm
khi
giá
trị
bộ
đếm
đạt
giá
trị
tối
đa
là
32767
(2
16
–
1).
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
17
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
3.3.2
Counter
Down(đếm
xuống):
Cxxx:
số
hiệu
counter
(0-255)
CU:
kích
đếm
lên Bool
R:reset Bool
PV:giá
trị
đặt
cho
counter INT
PV:
VW,
IW,
QW,
MW,
SMW,
LW,
AIW,
AC,
T,
C,
Constant, *VD,
*AC,
*LD,
SW
Mô
tả:
Khi
chân
LD
được
kích
(xung
lên)
giá
trị
PV
được
nạp
cho
bộ
đếm.
Mỗi
lần
có
một
xung
cạnh
lên
ở
chân
CD,
giá
trị
bộ
đếm
(1
Word)
được giảm
xuống
1.
Khi
giá
trị
hiện
tại
của
bộ
đếm
bằng
0,
ngõ
ra
sẽ
được
bật lên
ON
và
bộ
đếm
sẽ
ngưng
đếm.
3.3.3
Counter
Up/Down
(đếm
lên/xuống):
Cxxx:
số
hiệu
counter
(0-255)
CU:
kích
đếm
lên Bool
CD:
kích
đếm
xuống Bool
R:reset Bool
PV:giá
trị
đặt
cho
counter INT
PV:
VW,
IW,
QW,
MW,
SMW,
LW,
AIW,
AC,
T,
C,
Constant,*VD,
*AC,
*LD,
SW
Mô
tả:
Mỗi
lần
có
một
xung
cạnh
lên
ở
chân
CU,
giá
trị
bộ
đếm
(1
Word)
được
tăng
lên
1.
Mỗi
lần
có
một
xung
cạnh
lên
ở
chân
CD,
giá
trị
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
18
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
bộ
đếm
được
giảm
xuống
1.
Khi
giá
trị
hiện
tại
lớn
hơn
hoặc
bằng giá
trị
đặt
PV(Preset
value),
ngõ
ra
sẽ
được
bật
lên
ON.
Khi
chân
R
được
kích
(xung
lên)
giá
trị
bộ
đếm
và
ngõ
Out
được
trả
về
0.
Giá
trị
cao
nhất
của
bộ
đếm
là
32767
và
thấp
nhất
là
–32768.
Khi
giá
trị
bộ
đếm
đạt
ngưỡng.
3.4
Lệnh
MOVE:
Trong
S7_200
có
các
hàm
Move
sau:
Move_B:
Di
chuyển
các
giá
trị
cho
nhau
trong
giới
hạn
1
Byte
Move_W:
Di
chuyển
các
giá
trị
nguyên
cho
nhau
trong
giới
hạn
1
Word
Move_DW:
Di
chuyển
các
giá
trị
nguyên
cho
nhau
trong
giới
hạn
1
DWord
Move_R:
Di
chuyển
các
giá
trị
thực
cho
nhau
trong
giới
hạn
1
Dint
3.4.1
Move_B:
EN:
ngõ
vào
cho
phép
IN Ngõ
vào:
VB,
IB,
QB,
MB,
SB,
SMB,
LB,
AC,
Constant,
*VD,
*LD,
*AC
OUT
Ngõ
ra
VB,
IB,
QB,
MB,
SB,
SMB,
LB,
AC,
*VD,
*LD,
*AC
Khi
có
tín
hiệu
ở
ngõ
cho
phép,
lệnh
sẽ
chuyển
nội
dung
của
ô
nhớ
trong
(IN)
sang
ô
nhớ
trong
OUT
3.4.2
MOVE_W:
EN:
ngõ
vào
cho
phép
IN
Ngõ
vào:
VW,
IW,
QW,
MW,
SW,
SMW,
LW,
T,
C,
AIW,
Constant,
AC,
*VD,
*AC,
*LD
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
19
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
OUT
Ngõ
ra:
VW,
T,
C,
IW,
QW
SW,
MW,SMW,
LW,
AC,
AQW
*VD,
*AC,
*LD
3.4.2
MOVE_W:
EN:
ngõ
vào
cho
phép
IN
Ngõ
vào:
VW,
IW,
QW,
MW,
SW,
SMW,
LW,
T,
C,
AIW,
Constant,
AC,
*VD,
*AC,
*LD
OUT
Ngõ
ra:
VW,
T,
C,
IW,
QW,
SW,
MW,SMW,
LW,
AC,
AQW,
*VD,
*AC,
*LD
Khi
có
tín
hiệu
ở
ngõ
cho
phép,lệnh
sẽ
chuyển
nội
dung
của
ô
nhớ
trong
(IN)
sang
ô
nhớ
trong
OUT
3.4.3
MOVE_DW
EN:
ngõ
vào
cho
phép
IN
Ngõ
vào:
VD,
ID,
QD,
MD,
SD,
SMD,
LD,
HC,
&VB,
&IB,
&QB,
&MB,
&SB,
&T,
&C,
&SMB,
&AIW,
&AQW
AC,
Constant,
*VD,
*LD,
*AC
OUT
Ngõ
ra:
VD,
ID,
QD,
MD,
SD,
SMD,
LD,
AC,
*VD,
*LD,
*AC
Khi
có
tín
hiệu
ở
ngõ
cho
phép,lệnh
sẽ
chuyển
nội
dung
của
ô
nhớ
trong
(IN)
sang
ô
nhớ
trong
OUT
3.4.4
MOVE_R
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
20
ĐỒ ÁN 2 MÔ HÌN THÍ NGHIỆM PLC
SMD,
LD,
AC,
*VD,
*LD,
*AC
Khi
có
tín
hiệu
ở
ngõ
cho
phép,lệnh
sẽ
chuyển
nội
dung
của
ô
nhớ
trong
(IN)
sang
ô
nhớ
trong
OUT
Các
tín
hiệu
ngõ
vào
cũng
như
ngõ
ra
của
các
lệnh
Move
phải
được chọn
đúng
loại
theo
đã
định
dạng
như
vùng
Dword
đối
với
Move_R
và Move_DW…
Nếu
chọn
sai
định
dạng
thì
chương
trình
biên
dịch
sẽ
bị
sai.
EN:
ngõ
vào
cho
phép
IN
Ngõ
vào:
VD,
ID,
QD,
MD,
SD, SMD,
LD,
AC,
Constant,
*VD,
*LD,
*AC OUT Ngõ
ra:
VD,
ID,
QD,
MD,
SD,
_________________________________________________________________________
GVHD: Th.S – TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
21
3.5
Các
lệnh
về
dịch
bit:
Lệnh
Dịch
trái,phải
Byte:
Bit
EN
:
Bit
cho
phép
thực
hiện
lệnh
dịch
trái,dịch phải
IN
:
Byte
được
dịch
OUT:
Kết
quả
của
Byte
dịch
N
:
Số
Byte
dịch
Các
Bit
dịch
ra
ngoài,bị
loại
bỏ
Các
số
0
được
dịch
vào
Bit
mới
.
Ví
dụ:
Byte
:
1101
1101
Sau
lệnh
dịch
N=3
kết
quả:
0001
1011
(
3
Bit
000
mới
được
đẩy
vào,3
Bit
101
bị
đẩy
ra)
Lệnh
dịch
trái:
Carry
0
Lệnh
dịch
trái
chuyển
bit
thấp
sang
bit
cao
và
nhân
2
n
Lệnh
dịch
phải:
0
Carry
Dịch
chuyển
bit
cao
sang
bit
thấp
và
chia
2
n
Tương
tự
có
lệnh
xoay
phải,trái
Word,Dw
3.6 Các
hàm
số
học:
3.6.1
Lệnh
cộng
trừ:
ADD_I:
Cộng
hai
số
nguyên
16
bit
SUB_I:
Trừ
hai
số
nguyên
16
bit
EN:
ngõ
vào
cho
phép
IN1
+
IN2
=
OUT
IN1
–
IN2
=
OUT
Khi
ngõ
vào
cho
phép
lên
1
chương
trình
sẽ
thực
hiện
việc
cộng
(
hay trừ)
2
số
nguyên
16
Bit
ở
IN1, IN2
tương
ứng
,kết
quả
đưa
vào
OUT.
GVHD: Th.S TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
21
Tương
tự,
ta
có:
ADD_DI:
Cộng
hai
số
nguyên
32
Bit
SUBB_DI:
trừ
hai
số
nguyên
32
Bit
ADD_R:
Cộng
hai
số
thực
SUBB_R:
trừ
hai
số
thực
3.6.2
Lệnh
nhân
chia:
MUL_I:
Nhân
hai
số
nguyên
16
bit
DIV_I:chia
hai
số
nguyên
16
bit
EN:
ngõ
vào
cho
phép
IN1
*
IN2
=
OUT
IN1
/
IN2
=
OUT
Nếu
kết
quả
chia
có
dư
thì
phần
dư
sẽ được
bỏ.
Khi
ngõ
vào
EN
lên
1,
chương
trình
sẽ
thực
hiện
việc
nhân
(
hay
chia)
2
số
nguyên
16
Bit,
kết
quả
cất
vào
số
nguyên
16
Bit
Trường
hợp
chia:do
OUT
là
số
nguyên
16
Bit,
nên
phần
dư
của
phép chia
sẽ
bị
bỏ.
Trường
hợp
nhân:
nếu
bị
tràn
bộ
nhớ
thì
OUT
sẽ
chứa
phần
Byte
thấp. Tương
tự,
ta
có:
MUL_DI:
Nhân
hai
số
nguyên
32
bit
DIV_DI:
Chia
hai
số
nguyên
32
bit
MUL_R:
Nhân
hai
số
thực
GVHD: Th.S TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
22
DIV_R:
Chia
hai
số
thực
Lệnh
MUL,
DIV
:
Tương
tự
lệnh
nhân
và
chia,
nhưng
trong
trường
hợp này
ngõ
ra
OUT
là
32
Bit
Ta
sẽ
sử
dụng
lệnh
MUL
hay
DIV
khi
không
biết
ngõ
ra
có
bị
tràn
16
Bit hay
không.
3.6 3
Lệnh
tăng
giảm:
INC_B:
Tăng
Byte
DEC_B:
Giảm
Byte
Các
hàm
tương
tự:
INC_W:
Tăng
Word
DEC_W:
Giảm
Word
GVHD: Th.S TRẦN VĂN TRINH SVTH: LỚP NCĐT1ALT
23