Trịnh Lương Miên - ĐKH - ĐHGTVT 17Bộ timer: TON, TONR, TOF - Hàm TON và TONR đếm thời gian khi có tín hiệu ở đầu vào IN, Khi giá trị đếm thời gian vượt qua giá trị đặt, bit Timer có giá
Trang 12013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 1
ĐIỀU KHIỂN LOGIC - PLC
(LOGICAL CONTROL - PLC)
Môn học cung cấp cho sinh viên các kỹ năng thiết
kế, tổng hợp và lắp ráp các mạch điều khiển logic;
xây dựng hoàn chỉnh hệ thống điều khiển đơn giản
dựa trên PLC Khoa Điện - Điện tử, Bộ môn Điều khiển học
3 PLC SIEMENS S7-200
3.1 Khái quát chung và cấu hình phần cứng S7-200
3.2 Cấu trúc bộ nhớ và giới hạn toán hạng S7-200
3.3 Cấu trúc chương trình và lập trình cho S7-200
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng trong các
bài toán điều khiển
3.5 Xử lý tín hiệu tương tự và bộ điều khiển PID trong
S7-200
Trang 22013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 3
Tập các lệnh S7-200 được thể hiện ở cả 3 dạng ngôn
ngữ lập trình LAD, STL, FBD, bao gồm nhóm lệnh sau:
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Tập lệnh bit S7-200 sử dụng ô nhớ ngăn xếp (stack) để thực
hiện với đa số các lệnh bit Ngăn xếp gồm 9 bítchồng lên nhau, nhưng thường các lệnh bit chỉliên quan đến bit stack0
và bit stack1 Stack0lưu giữ kết quả củaphép toán logic
Ví dụ 1:
Trang 72013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 13
Hàm POSITIVE và NEGATIVE
Cho một xung ở đầu ra có độ rộng một chu kỳ vòng quét tại thời điểm xuất
hiện sườn lên (lệnh POSITIVE) và sườn xuống (lệnh NEGATIVE) của xung
Lệnh SET, RESET n bit
Ghi hoặc xoá giá trị 1 của n bit kể từ địa chỉ bit
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Trang 82013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 15
Lệnh so sánh Byte, Word, Double word, số thực
Chúng ta có thể sử dụng các cách so sánh như: =, >=, <=, <>, <, >, cho các
Byte, Word, Double word Đầu ra bằng 1 khi so sánh đúng
Lệnh so sánh Byte, Word, Double word, số thực
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Trang 92013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 17
Bộ timer: TON, TONR, TOF
- Hàm TON và TONR đếm thời gian khi có tín hiệu ở đầu vào IN, Khi giá trị đếm thời
gian vượt qua giá trị đặt, bit Timer có giá trị 1
Với bộ thời gian TON, giá trị đếm thời gian sẽ bị xoá khi mất tín hiệu ở đầu vào IN,
còn với bộ thời gian TONR, giá trị đếm thời gian sẽ dừng lại tại thời điểm mất tín hiệu
đầu vào IN và đếm tích luỹ khi tiếp tục có tín hiệu ở đầu vào IN
- Hàm TOF reset giá trị đếm thời gian và đặt bit Timer bằng 1 khi có tín hiệu ở đầu
vào IN, khi mất tín hiệu ở đầu vào IN, bộ thời gian bắt đầu đếm thời gian và khi giá trị
đếm thời gian bằng giá trị đặt bit Timer bị xoá về 0
- Tất cả các bộ đếm thời gian sẽ vẫn tiếp tục đếm thời gian khi đã đếm tới giá trị đặt,
nó chỉ dừng lại khi đạt giá trị cực đại 32.767s
Độ phân giải các bộ Timer
Cần chú ý rằng, chúng ta không thể sử dụng cùng một địa chỉ cho hai loại bộ
thời gian, ví dụ TON T32 và TOF T32
Bộ timer: TON, TONR, TOF
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Trang 102013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 19
Ví dụ:
Bộ timer: TON, TONR, TOF
LD I0.0 TONR T1, 100
Trang 112013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 21
Ví dụ:
Bộ timer: TON, TONR, TOF
Đèn trước cửa gara không được tắt ngay khi ấn nút đóng để người đi khỏi
Bộ Counter: CTU, CTD, CTUD,
- Bộ đếm tiến CTU
- Bộ đếm thuận CTU đếm tăng tại thời điểm sườn lên của tín hiệu đầu
vào Cu Khi nội dung bộ đếm bằng giá trị đặt PV, bộ đếm dừng lại và bit
counter bằng 1 Bộ đếm bị reset khi có tín hiệu tại đầu vào R
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Cứ mỗi xung 0->1 ở ngõ vào I0.0 thì bộ đếm tăng lên 1 đơn vị Từ xung thứ 5 thì ngõ ra Q0.0=1, nếu I0.1=1 thì sẽ reset ngõ ra
Trang 122013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 23
- Bộ đếm lùi: CTD
- Bộ đếm nghịch CTD đếm nghịch tại thời điểm sườn lên của tín hiệu
đầu vào CD, bộ đếm dừng lại và bit counter bằng 1 khi nội dung bộ
đếm bằng 0, bộ đếm bị reset và được đặt giá trị PV khi có tín hiệu ở
đầu vào LD
Bộ Counter: CTU, CTUD, CTD
- Bộ đếm tiến lùi (thuận
nghịch) CTUD đếm tăng tại
thời điểm sườn lên của tín
hiệu đầu vào CU và đếm
nghịch tại thời điểm sườn lên
của đầu vào tín hiệu CD, khi
nội dung bộ đếm lớn hơn
hoặc bằng giá trị đặt, bit
Trang 132013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 25
Khối chuyển dữ liệu MOV
Thực hiện chuyển dữ liệu từ đầu vào IN tới đầu ra OUT khi có tín hiệu ở đầu
vào EN, nếu việc chuyển dữ liệu thành công sẽ có tín hiệu ở đầu ENO
MOV_B: chuyển Byte dữ liệu
Tương tự cũng có: MOV_W, MOV_DW, MOV_R
Các hàm toán học: ADD, SUB, MUL, DIV
Các hàm sử lý toán học số nguyên 16 bit: ADD_I, SUB_I, MUL_I, DIV_I
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Trang 142013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 27
Các hàm toán học: ADD, SUB, MUL, DIV
Các hàm sử lý toán học số nguyên 32 bit: ADD_DI, SUB_DI, MUL_DI, DIV_DI
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Ví dụ ứng dụng 1: Điều khiển ĐCKB
Trang 152013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 29
Điều khiển ĐCKB
Mạch điều khiển
Sơ đồ nối dây PLC
Nối dây Rơle trung gian voi K1
Sử dụng Rơle trung gian K11 nguồn 24VDC, dùng đóng điện 220VAC cho cuộn dây contactor K1
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Điều khiển ĐCKB
Trang 162013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 31
Ví dụ ứng dụng 2: Điều khiển đảo chiều ĐCKB
Nhấn S1 (NO) thì quay phải và đèn H1 sáng.
Nhấn S2 (NO) thì quay trái và đèn H2 sáng.
Động cơ dừng bất cứ lúc nào và đèn H3 sáng nếu nhấn S3(NC) hoặc quá dòng
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Điều khiển đảo chiều ĐCKB
Sơ đồ nối dây PLC
Đảm bảo an toàn:
sử dụng tiếp điểm khóa chéo
Trang 172013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 33
Điều khiển đảo chiều ĐCKB chỉ khi đã dừng hẳn
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Ví dụ 3: Đảo chiều ĐCKB chỉ khi đã dừng hẳn (5s)
Nhấn S1 (NO) thì quay phải và đèn H1 sáng.
Nhấn S2 (NO) thì quay trái và đèn H2 sáng.
Động cơ dừng bất cứ lúc nào và đèn H0 sáng nếu nhấn S3(NC) hoặc quá dòng Q1 tác động
Việc đảo chiều chỉ thực hiện khi nhấn S3 và sau 5s (đảm bảo dừng hẳn) Đèn H3 nháy sáng1Hz trong thời gian chờ dừng hẳn.
Trang 192013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 37
Ví dụ 4: Rót chất lỏng vào thùng chứa
Khi nhấn S1 thì thùng rỗng được đưa
vào băng tải và băng tải vận chuyển
đến S2 thì dừng.
Van Y1 rót chất lỏng sau 5s thì thùng
đầy và van Y1 đóng lại,
Băng tải hoạt động đưa thùng đầy ra
và thùng rổng lại được đưa vào băng
tải, bắt đầu chu trình mới
Nếu chất lỏng trong bồn hết thì còi H1
sẽ cảnh báo
Nếu thùng rỗng hết thì băng
tải dừng sau 15s kể từ thùng
cuối cùng được rót đầy Y2
sẽ cho rơi thùng rỗng vào
băng tải nếu được cấp điện
trong 100ms
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Ví dụ 4: Rót chất lỏng vào thùng chứa
Trang 202013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 39
Ví dụ 4: Rót chất lỏng vào thùng chứa
3.4 Tập lệnh cơ bản của S7-200 và ứng dụng …
Ví dụ 4: Rót chất lỏng vào thùng chứa
Trang 212013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 41
- Các hoạt động được điều khiển kế tiếp nhau theo một trình
tự xác định
- Ví dụ: ĐK nâng/hạ lấy hàng, ĐK khoan/đột sản phẩm
- Sử dụng lưu đồ (flowchart) hoặc sơ đồ chức năng Grapcet
(function chart) để mô tả hoạt động của hệ trình tự
Mạch lạc rõ ràng giúp kiểm tra và thử hệ thống
3.4 … Điều khiển trình tự
Các bước để thiết kế bài toán điều khiển trình tự
B1: Xây dựng sơ đồ phối hợp hoạt động
- Phân tích và mô tả hoạt động chi tiết của từng bộ phận/thiết bị
cần điều khiển dựa theo yêu cầu công nghệ trong một khối
hình chữ nhât
- Mô tả việc phối hợp việc thực hiện của các khâu/thiết bị dưới
dạng sơ đồ khối hình chữ nhật kế tiếp nhau theo đúng trình tự,
yêu cầu công nghệ
B2: Lập sơ đồ khối điều khiển trình tự
Trang 222013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 43
B3: Chọn lựa và thiết kế phần cứng điều khiển
- Chọn thiết bị chấp hành, đo lường, định ngõ vào/ra và chọn
loại PLC
- Thiết kế mạch nối dây giữa PLC với thiết bị ngoại vi
B4: Lập chương trình điều khiển cho PLC
- Lựa chọn cấu trúc chương trình điều khiển: lập trình lập tuyến
đơn giản (nội dung chương trình điều khiển tổ chức trong một
hàm main) hay lập trình cấu trúc (một chương trình trình và
nhiều chương trình con)
- Soạn thảo chương trình điều khiển theo dạng ngôn ngư phù
hợp LAD, STL, FBD
B5: Chạy thử và hoàn chỉnh chương trình
- Chạy thử chương trình offline: kiểm tra ngõ vảo/ra qua LED
- Chạy thử on-line: kết nối phần cứng và quan sát đáp ứng của
hệ thống sản xuất thực để hiệu chỉnh chương trình lần cuối
3.4 … Điều khiển trình tự
- Ví dụ:
The drill consists of the following
elements:
- Drill motor with feedback signals
for drill running/stopped
Start button and coolant switch
- Cooling pump with feedback
signal for coolant pressure
reached
- Clamping device with feedback
signal for selected clamp
Trang 232013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 45
-Functional Diagram - Drilling Sequence
The entire drilling sequence can be divided into the following sections:
• Insert work piece (manual)
• If required, set switch for coolant (depending on the material)
• Start the machine with the start button (drill motor starts up)
• Clamp the work piece with the selected clamp pressure
• Start the cooling pump (if coolant selected)
• Lower drill and carriage to the bottom target position (drill)
• Wait 0.5 seconds at lower target position (drill)
• Raise drill with carriage to upper target position
• Remove work piece, turn off drill motor and cooling pump
• Remove work piece (manual)
Trang 242013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 47
Defining Inputs and Outputs
- List the inputs and outputs for the drill in the form of a table
- If you want to program symbolically, enter the required symbolic
names (for example input I 0.4 "Cl_press_ok")
3.4 … Điều khiển trình tự
- Lập chương trình điều khiển trên PLC
Trang 262013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 51
Calibration and Configuration location for EM
Calibration Input ảnh hưởng đến giá trị số đọc được trong PLC của đầu vào
tương tự Thực hiện điều chỉnh đến khi đạt được quan hệ tín hiệu đầu vào-giá
trị đọc trong CPUđạt mong muốn bằng chỉnh chốt phân áp GAIN và OFFSET
Configuration for mudule: dùng DIP để chọn dải tín hiệu đầu vào và độ phân giải
Đối với TC/RTD thì dùng DIP chọn loại cảm biến đầu vào, thang đo oC/F, …
3.5 Xử lý tín hiệu tương tự …
- Input Data Word Format for EM
The 12-bit data value is
placed within the analog
input word of the CPU
- Output Data Word Format for EM
The 12-bit data value is
Trang 272013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 53
- The S7-200 Allows You to Filter the Analog (Digital) Inputs
S7-200 cho phép cài đặt bộ lọc mềm
với tất cả các đầu vào tương tự (lọc
giống nhau) Giá trị số sau lọc trong
CPU của tín hiệu đầu vào sẽ là trung
bình chung các giá trị của số mẫu
được cài đặt trên STEP 7 MicroWIN
Số mẫu chọn min.=64
Select 64 or more samples to calculate the average value
3.5 Xử lý tín hiệu tương tự …
- The S7-200 Allows You to Configure the Value of Analog Outputs
- The Analog Output Table allows
you to set analog output points
to known values ( 32768 to
37262) after a RUN-to-STOP
transition, or to preserve the
output values that existed before
the transition to STOP mode
- The Analog Output table is part
of the system block that is
downloaded and stored in
the S7-200 CPU
Trang 282013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 55
-Tín hiệu Analog là các tín hiệu tương tự (0-10VDC, 4-20mA, …)
Tín hiệu analog có thể là tín hiệu từ các cảm biến đo khoảng
cách, cảm biến áp suất, cảm biến đo trọng lượng, …
Đọc tín hiệu analog từ Modul EM231:
Các tín hiệu có thể đọc được từ Modul EM231 (tuỳ thuộc việc
chọn các Switch trên modul):
+ Tín hiệu đơn cực (tín hiệu điện áp): 0-10VDC, 0-5VDC
+ Tín hiệu lưỡng cực (tín hiệu điện áp): -5÷5VDC, -2.5÷2.5VDC
+ Tín hiệu dòng điện:0÷20mA, 4÷20mA
3.5 Xử lý tín hiệu tương tự …
- Tín hiệu Analog sẽ được đọc vào AIW0, AIW2, … tuỳ thuộc
vào vị trí của tín hiệu đưa vào modul
VD: EM231 có 4 ngõ vào Analog do vậy vị trí các ngõ vào
tương ứng là: AIW0, AIW2, AIW4, AIW6
Tín hiệu analog là tín hiệu điện áp, tuy nhiên giá trị mà
AIWx đọc vào không phải là giá trị điện áp ,mà là giá trị đã
được quy đổi tương ứng 16bit.
+ Trường hợp đơn cực : Giá trị từ 0÷64000 tương ứng với
(0-10V, 0-5V hay 0-20mA)
+ Trường hợp lưỡng cực: Giá trị từ -32000÷32000 tương ứng
Trang 292013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 57
Do vậy dựa tren giá trị đọc vào của AIW ta có thểå tính được
giá trị điện áp tương ứng; từ giá trị điện áp ta có thể suy ra giá
trị mong muốn.
- Thông thường các tín hiệu Analog đọc vào bao giờ người sử
dụng cũng mong muốn đọc được chính giá trị mong muốn (Ví
dụ: giá trị khối lượng trong đọc đầu cân Loadcell, giá trị áp
suất trong đọc tín hiệu từ cảm biến áp suất …)
- Phương pháp đọc Analog trong trường hợp này ta sẽ không
cần quan tâm nhiều đến chế độ đơn cực hay lưỡng cực, mà chỉ
cần xác định được 2 điểm, từ đó lập được phương trình đường
thẳng (Giá trị mong muốn đọc theo AIW)
3.5 Xử lý tín hiệu tương tự …
Ví dụ: Để đọc khối lượng từ đầu cân: Ta xây dựng hàm Khối lượng
theo AIW (là tín hiệu đọc vào)
Bước 1: Ta cần xác định 2 điểm:
+ Điểm 1: Ta online trên máy tính, đọc giá trị AIW0 là x1, trong
trường hợp ở điểm 1 (Điểm 1 là điểm ta đặt quả cân chuẩn 1 có khối
lượng m1 lên bàn cân), Tương tự ta xác định được điểm 2 (tương ứng
x2 và m2) Từ đó ta có 2 điểm: Điểm 1 (x1,m1), Điểm 2 (x2,m2).
+ Phương trình đường thẳng đi qua 2 điểm 1, 2 có dạng:
(X-X1)/(X2-X1)= (Y-Y1)/(Y2-Y1), Từ đó rút Y theo X
Đó chính là phương trình khối lượng theo AIW.
Trang 302013.08.05 TS Trịnh Lương Miên - ĐKH - ĐHGTVT 59
Xuất tín hiệu analog qua modul EM232:
Các tín hiệu có thể xuất ra Modul EM232(tuỳ thuộc việc chọn
các Switch trên modul):
• + Tín hiệu đơn cực (tín hiệu dòng điện): 0-20mA
• + Tín hiệu lưỡng cực (tín hiệu điện áp): -10VDC – 10VDC
Tín hiệu 0 -20mA tương ứng với giá trị 0 – 32000
Các tín hiệu có thể đọc được thông qua Modul EM235 (Tuỳ
theo Switch chọn trên Modul):
• Đơn cực : 0 – 50mV , 0 – 100mV , 0 – 500mV , 0 – 1V , 0 –
5VDC , 0 – 20mA , 0 – 10VDC.
• Lưỡng cực : 25mV , 50mV , 100mV , 250mV ,
+-500mV , +-1VDC ,+-2.5VDC , +-5VDC ,+-10VDC
Giá trị tương ứng cho chế độ đơn cực: Từ 0 – 64000
Giá trị tương ứng cho chế độ lưỡng cực : -32000 – 32000