Tải bản đầy đủ (.doc) (97 trang)

LUẬN VĂN ĐIỆN TỬ MÔ HÌNH THÍ NGHIỆM PLC GIAO TIẾP WINCC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.87 MB, 97 trang )

ĐỒ Á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



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



256

Timer,




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


tả:
Mỗi

lần



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



ngõ

ra được

trả
về


0.

Bộ

đếm

ngưng

đếm

khi

giá

trị

bộ

đếm

đạt

giá

trị

tối

đa



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


tả:
Khi

chân

LD

được

kích

(xung


lên)

giá

trị

PV

được

nạp

cho

bộ

đếm.
Mỗi

lần



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



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


tả:

Mỗi

lần



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



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



ngõ

Out

được
trả

về

0.


Giá

trị

cao


nhất

của

bộ

đếm



32767



thấp

nhất



–32768.

Khi
giá

trị

bộ
đếm


đạt

ngưỡng.
3.4

Lệnh

MOVE:
Trong

S7_200



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



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



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



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



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
.


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



nhân

2
n
Lệnh

dịch


phải:
0
Carry
Dịch

chuyển

bit

cao

sang

bit

thấp



chia

2
n
Tương

tự



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





thì

phần



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




số

nguyên

16

Bit,

nên

phần



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




chia,

nhưng

trong

trường

hợp này

ngõ

ra
OUT



32

Bit
Ta

sẽ

sử

dụng

lệnh


MUL

hay

DIV

khi

không

biết

ngõ

ra



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

×