Professional Documents
Culture Documents
Tia Portal Voi PLC S7
Tia Portal Voi PLC S7
1.1.1. CPU
Màn hình của PLC S7-1500 là phụ kiện rời, có thể được gắn thêm trên thân CPU hoặc khôn
1
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Standard CPUs:
applications,
CPU 1518-4 demanding
PN/DP ODK communication tasks
and very short reaction
times
Compact CPUs:
PROFINET IO
PROFIBUS RT/IRT PROFINET IO PROFINET basic Work Processing time for
CPU Performance segment interfaces interfaces RT interface functionality memory bit operations
2
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Fail-safe CPUs:
applications,
CPU 1518F-4 demanding
PN/DP ODK communication tasks
and very short reaction
times
3
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Module mở rộng đầu vào/ ra Digital/Analog
4
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
1.1.2. Các module khác
Module nguồn
5
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
1.2. KHAI BÁO PLC VỚI TIA PORTAL
6
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Bước 2: Khai báo CPU bằng cách "auto detection" kết nối Online với CPU.
(Hoặc tới bước 2.1 khai báo Offline)
1: Mở "Devices & Networks"
2: Nhấn "Add new device"
3: Chọn Controllers. Đặt tên nếu muốn (ví dụ Color_Mixing_CPU)
7
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
8
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
9
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
3: Sau đó nhấn Start search
4: Nhấn Detect
* Nếu có nhiều CPU trong
đường mạng, có thể chọn
một CPU sau đó nhấn Flash
LED để xác định các CPU
với nhau. (Nhưng các CPU
phải khác địa chỉ) Kết quả:
Cấu hình PLC đã được lấy
lên.
Bước 2.1: Khai báo khi không kết nối Online với PLC (Offline)
10
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Lưu ý: Phải khai báo đúng mã CPU, còn version firmware có thể khai báo thấp hơn so với
CPU thực tế chứ không được khai cao hơn.
10
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Bước 3: Thêm module mở rộng
Bên cột Hardware catalog bên phải màn hình ta có thể chọn các module mở rộng khác mà ta
có để khai báo thêm vào CPU
Lưu ý: Đọc đúng mã module để tìm trong Catalog khai báo, nguyên tắc có thể không cần
khai báo đủ module so với số lượng bên ngoài. Nên khai báo đúng thứ tự so với thực tế.
11
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
1.3. DOWNLOAD CHƯƠNG TRÌNH VÀO BỘ MÔ PHỎNG
Để sử dụng bộ mô phỏng ta cần cài đặt phần mềm mô phỏng S7-PLCSIM.
Chọn Online > Simulation > Start ho ặc nhấn biểu tượng để mở bộ mô phỏng.
12
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Nếu không có lỗi nhấn "Load". Còn nếu có lỗi thì kiểm tra lại và thực hiện lại từ đầu.
Chọn "Start all" nếu muốn Run CPU từ đây, sau đó nhấn "Finsish" để kết thúc.
13
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Chọn Sim Table, sau đó nhập các biến muốn kích bằng mô phỏng vào bảng.
14
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
1.4. DOWNLOAD CHƯƠNG TRÌNH VÀO PLC S7-1500
Bước 1: Tại Project tree, ta nhấn chuột phải vào CPU S7-1500 chọn Download to device,
chọn Hardware and sofware (only changes)
Hoặc nhấn biểu tượng download trên thanh công cụ.
Bước 3: Nếu yêu cầu "Start search" thì ta nhấn vào để xác định PLC ta sẽ download chương
trình vào.
Sau đó nhấn Load.
Bước 4: Xác nhận địa chỉ IP. Bằng cách xác nhận "Assign IP address" bằng Yes và OK
15
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Nếu máy tính đang kết nối PLC để chế độ IP động (như hình)
Thì phần mềm sẽ tự động gán IP cho máy tính để trùng khớp lớp mạng của PLC đang được
đặt.
Bước 5: Trong bảng "Load preview", xác nhận các thông tin trong bảng.
Nếu báo đỏ thì kiểm tra thông tin lỗi và thực hiện lại từ bước 1
Bước 6: Nhấn Load
Bước 7: Xác nhận lại việc Run CPU, nếu ta muốn Run CPU từ đây thì check vào "Start all"
sau đó nhấn Finish.
Còn không thì bỏ check "start all" và nhấn Finish.
Kết quả: Sau khi download xong sẽ có thông báo hoàn thành.
16
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
1.5. UPLOAD CHƯƠNG TRÌNH TỪ PLC S7-1500
Bước 1: Mở cửa sổ upload chương trình từ CPU
Bước 2: Chọn giao thức kết nối với CPU. Sau đó nhấn search để tìm kiếm các CPU đang truy
cập.
Bước 3: Upload CPU lên project.
Kết quả: Cấu hình phần cứng, chương trình của CPU sẽ được upload lên project.
Program block và tags
17
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 2: CẤU TRÚC CHƯƠNG TRÌNH VÀ CÁC KIỂU DỮ LIỆU
2.1. CẤU TRÚC CHƯƠNG TRÌNH PLC
Vùng dữ liệu cục bộ được sử dụng trong các khối chương trình như OB, FB, FC trao
đổi dữ liệu bên trong khối chương trình của nó, tức là không thể truy xuất ra các khối
khác.
Tuy nhiên ta có thể truy cập gián tiếp vào địa chỉ vùng nhớ cục bộ này thông qua các
biến nhớ khác của khối chứa nó.
18
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
19
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
S5TIME Có Có
LTIME Không Có
L_TIME_OF_DAY
DT (DATE_AND_TIME) Có Có
DTL Không Có
LDT Không Có
(L_DATE_AND_TIME)
Mảng ARRAY Có Có
(limited 16 bit) (limited 64 bit)
Cấu trúc STRUCT Có Có
Con trỏ POINTER Có Có
ANY
Khối TIMER Có Có
COUNTER (Thêm loại IEC)
BLOCK_FB Có Có
BLOCK_FC
PLC data types PLC DATA TYPE Có Có
20
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
2.4. NGÔN NGỮ LẬP TRÌNH
Khi cài đặt phần mềm Tia Portal sẽ có sẵn 4 ngôn ngữ lập trình:
- LAD (Ladder)
- FBD (Function block diagram)
- STL (Statement list)
- SCL (Structured control language)
- Graph
Đối với chương trình trong tài liệu này sẽ sử dụng ngôn ngữ LAD.
21
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 3: CÁC TẬP LỆNH CƠ BẢN
3.1. LẬP TRÌNH BIT LOGIC
3.1.1. Tiếp điểm I/O
INPUT OUTPUT
--| |--: Tiếp điểm thường mở (Normal --( )--: Cuộn coil
Open “NO”) - Khai báo: Output
--|/|--: Tiếp điểm thường đóng - Kiểu dữ liệu: BOOL
(Normal Close “NC”) - Vùng dữ liệu: Q, M, L, D
- Khai báo: INPUT - Miêu tả: Trạng thái ngõ ra là kết quả
- Kiểu dữ liệu: BOOL xử lý của phép toán logic.
- Vùng dữ liệu: I, Q, M, L, D, T, C
- Miêu tả : Tiếp điểm NO hay NC dùng
để kiểm tra trạng thái ở mức “1” hay
mức “0” của tín hiệu
Ví dụ 1:Nút nhấn được đấu vào ngõ I0.0 của PLC (sử dụng tiếp điểm NO của nút nhấn); Bóng
đèn được đấu vào ngõ Q0.0 của PLC.
Mô tả: Q0.0 “Bóng đèn” sẽ có tín hiệu mức “1” khi I0.0 “Nút nhấn” có trạng thái tín hiệu mức
“1”, tức nhấn nút nhấn
Ví dụ 2:Nút nhấn được đấu vào ngõ I0.1 của PLC (sử dụng tiếp điểm NO của nút nhấn); Bóng
Ví dụ 3:
Địa chỉ Mô tả
I0.0 Nút nhấn 1
I0.1 Nút nhấn 2 (Đấu NC)
Q0.0 Motor
22
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
23
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ 3:Viết chương trình với ngõ ra là Q0.0 sẽ lên mức 1 (True) khi I0.0 được bấm ON, hoặc
nếu I0.1 bấm On và I0.2 OFF, hoặc ngược lại I0.1 OFF và I0.2 ON.
Bài tập 3.1:Điều khiển một đối tượng (như là: động cơ, đèn, chuông, quạt …) chạy và dừng
bằng 2 nút nhấn ON và OFF.
Bài tập 3.2:Nhấn cả 2 nút ON 1 và ON 2 thì động cơ chạy. Nhấn 1 trong 2 nút STOP 1 và
STOP 2 thì động cơ dừng.
Bài tập 3.3: Đặt sản phẩm vào đầu băng tải, băng tải chạy chuyển vật đến cuối băng tải thì
dừng. Cho biết đầu và cuối băng tải đều có gắn cảm biến phát hiện vật thể đó.
Bài tập 3.4: Cho biết đầu và cuối băng tải đều có gắn cảm biến phát hiện vật.
Đặt sản phẩm vào đầu băng tải đèn Q1 sáng, băng tải chạy chuyển vật đến cuối băng tải thì
dừng và đèn Q1 tắt, Q2 sáng.
24
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
3.1.2. Tập lệnh SET, RESET
3.1.2.1. Lệnh SET và RESET
Ký hiệu Khai báo Kiểu dữ liệu Mô tả
--(S)--: Set ngõ ra OUT BOOL Khi lệnh Set được tác
động thì địa chỉ ngõ
ra sẽ được đặt
lên mức 1.
--(R)--: Reset ngõ ra OUT BOOL Khi lệnh Set được
tác động thì địa chỉ
ngõ ra sẽ được đặt trả
về 0.
Ví dụ 1: Ngõ ra “Quạt” Q0.0 sẽ được chốt giá trị mức 1 khi
- “Nút nhấn 1” I0.0 có trạng thái tín hiệu mức 1, hoặc
- “Nút nhấn 2” I0.1 có trạng thái tín hiệu mức 1 và “Nút nhấn 3” có trạng thái tín hiệu
mức 0.
Ví dụ 3: Sử dụng lệnh Set, Reset viết chương trình điều khiển động cơ quay thuận/ quay
nghịch(đảo chiều) trực tiếp. Nhấn nút STOP động cơ dừng.
25
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Bài tập 3.5:Sử dụng lệnh Set, Reset viết chương trình điều khiển động cơ quay thuận/ quay
nghịch (đảo chiều) gián tiếp. Nhấn nút STOP động cơ dừng.
Bài tập 3.6:Sử dụng lệnh Set, Reset làm bài tập 2.1, 2.2, 2.3, 2.4
3.1.2.2. Lệnh SET_BF và RESET_BF
Khi tín hiệu I0.0 mức "1" sẽ thực hiện lệnh Set ngõ ra với 5 bit liên tục bắt đầu từ Q0.0. Tức là
Q0.0 - Q0.1 - Q0.2 - Q0.3 - Q0.4 sẽ được chốt giá trị.
Tương tự khi tín hiệu I0.1 mức "1" sẽ Reset ngõ ra với 5 bit liên tục bắt đầu từ Q0.0.
Như vậy khi ta muốn Set hoặc Reset các tín hiệu liên tục thì có thể sử dụng 2 lệnh Set-Reset
này.
3.1.2.3. Khối hàm SR và RS
Thực chất khối hàm SR và RS có thể được viết từ lệnh Set và Reset như trên.
Thông thường khi lập trình khối SR Flipflop hoặc RS Flipflop này thì khi khai báo toán hạng
ta hay sử dụng vùng nhớ M, D hoặc L để quản lý chương trình. Tuy nhiên, vẫn phải phụ thuộc
vào người viết đang mong muốn thực hiện chương trình như thế nào bởi không có sự ràng buộc
chắc chắn nào ép người viết chương trình phải thực hiện như trên.
Ký hiệu Khai báo Kiểu dữ liệu Mô tả
BOOL Ngõ ra được Set lên
S IN khi có tín hiệu ở chân
R IN S, và được Reset khi
: <toán IN có tín hiệu ở chân R.
Khối SR hạng> /OUT
Q OUT
26
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Khi cả 2 chân S, R
đều có tín hiệu mức
1 thì sẽ ưu tiên
Reset.
BOOL Ngõ ra được Set lên
S IN khi có tín hiệu ở chân
R IN S, và được Reset khi
: <toán IN có tín hiệu ở chân R.
Khối RS hạng> /OUT Khi cả 2 chân S, R
Q OUT đều có tín hiệu mức 1
thì sẽ ưu tiên Set.
SR
I0.0 I0.2 Q1.0
(S) (R1) (Q)
0 0 0
0 1 0
1 0 1
1 1 0 Ưu tiên RESET
RS
I0.2 I0.0 Q1.0
(S1) (R) (Q)
0 0 0
0 1 0
1 0 1
1 1 1 Ưu tiên SET
3.1.3. Tập lệnh nhận biết xung cạnh lên, cạnh xuống
Lưu ý: Có một sự hay nhầm lẫn thường gặp, nhiều bạn cứ tưởng tín hiệu xung cạnh lên/ xuống
chỉ dùng cho tín hiệu ngõ vào INPUT (I). Chúng ta có thể bắt xung cạnh lên/xuống của các tín
hiệu khác với kiểu dữ liệu BOOL (I, Q, M, D, …).
27
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Định nghĩa:
3.1.3.1. Lệnh nhận biết xung cạnh lên
Ký hiệu Khai báo Kiểu dữ liệu Mô tả
BOOL Khi lệnh được
<toán I, Q, M, thực thi sẽ quét tín
hạng1> D, L, T, hiệu cạnh lên của
C <toán hạng 1>.
<toán I, Q, M, <toán hạng 2>là
hạng2> D, L bit nhớ cạnh nghĩa
là dùng lưu trạng
thái tín hiệu trước
khi quét.
CLK BOOL Khi lệnh được
I, Q, M,
D, L
thực thi sẽ quét tín
hiệu cạnh lên tại
<toán M, D
hạng> chân CLK.
Ngõ Q là kết quả
Q I, Q, M, của tín hiệu cạnh
D, L
lên, nhận tín hiệu
mức 1 trong một
chu kỳ lệnh hay
còn gọi là One
shot output.
<toán hạng>là bit
nhớ cạnh nghĩa là
dùng lưu trạng
thái tín hiệu trước
khi quét.
Lệnh kiểu tiếp điểm cạnh lên dùng cho việc nhận biết xung cạnh lên của từng bit
đơn lẻ, còn kiểu khối hàm dùng cho kết quả của một tổ hợp tín hiệu.
<toán I, Q, M, BOOL Khi lệnh được
hạng1> D, L thực thi tín hiệu ở
<toán I, Q, M, <Toán hạng 1> sẽ
hạng2> D, L chứa tín hiệu cạnh
lên. Còn <toán
hạng 2> sẽ là mức
tín hiệu của tín
hiệu đầu vào.
Ví dụ:
Khi I10.0 mức "1" thì M0.0 sẽ là tín hiệu cạnh lên của I10.0; còn ngõ Q4.0 chính là
mức tín hiệu của I10.0, tức là khi I10.0 mức "1" thì Q4.0 mức "1" và ngược lại.
28
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
CLK I, Q, M, BOOL Khối hàm chức
D, L năng bắt tín hiệu
Q I, Q, M, cạnh lên từ chân
D, L CLK và đưa ra kết
quả ngõ Q.
Ví dụ:
Khi I10.0 mức "1" thì M0.1 sẽ là tín hiệu cạnh lên của I10.0; còn ngõ M0.2 chính
là mức tín hiệu của I10.0, tức là khi I10.0 mức "1" thì M0.2 mức "1" và ngược lại.
CLK I, Q, M, BOOL Khối hàm chức
D, L năng bắt tín hiệu
Q I, Q, M, cạnh xuống từ
D, L chân CLK và đưa
ra kết quả ngõ Q.
Khi nhấn “Nút nhấn ON” I0.0, tín hiệu “Động cơ quay thuận” Q0.0 lên mức 1 được
giữ trạng thái đến khi nào mất tín hiệu I0.0 (về mức 0). Và “Tín hiệu xung cạnh lên”
M6.0 lên mức 1 trong một chu kỳ lệnh. Ví dụ 2:Xét đoạn chương trình sau
30
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Khi nhấn “Nút nhấn ON” I0.0, tín hiệu “Động cơ quay thuận” Q0.0 lên mức 1 được giữ trạng
thái đến khi nào mất tín hiệu I0.0 (về mức 0). Đợi khi nào “Nút nhấn ON” I0.0 trả về mức 0
thì “Tín hiệu xung cạnh xuống” M6.0 lên mức 1 trong một chu kỳ lệnh.
Ví dụ 3:Xét đoạn chương trình sau
“Tín hiệu xung cạnh lên” M6.0 sẽ lên mức 1 trong một chu kỳ lệnh khi:
- Kết quả phép toán I0.0 AND I1.0 = 1, hoặc I0.0 AND I1.1 = 1;
- Hoặc “Nút nhấn STOP” I0.2 lên mức 1.
Ví dụ 4: Xét các đoạn chương trình sau:
Bài tập 3.7:Bài toán một nút nhấn hai tác động.
Trạng thái ban đầu đèn tắt, khi tác động nút nhấn đèn sáng, tác động lần tiếp theo đèn tắt,
trạng thái cứ như vậy lặp đi lặp lại.
Ví dụ 2: Khi nhấn nút băng tải chạy đồng thời nạp 10 vào vùng nhớ MW10, đến cuối thì dừng
băng tải và nạp 20 vào vùng nhớ MW10.
32
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ 3: Khi nhấn nút băng tải chạy đồng thời nạp 10 vào vùng nhớ MW10, đến cuối thì dừng
băng tải và nạp 20 vào vùng nhớ MW10. Khi nhấn STOP băng tải dừng và nạp 0 vào MW10.
Ở ví dụ 2 ta sử dụng tiếp điểm NC để cho băng tải dừng. Còn ở ví dụ này ta sẽ ứng dụng lệnh
MOVE để làm việc đó.
Hàm MOVE đầu tiên là để nạp 0 vào MW10, hàm MOVE thứ 2 là nạp 0 vào QB2.
Mà QB2 bao gồm 8 bit từ Q2.0 đến Q2.7 dẫn đến kết quả Q2.0 = 0 (Băng tải dừng).
Trường hợp này ta chỉ mới sử dụng 1 bit Q2.0 trong QB2, khi làm như thế này có thể sẽ ảnh
hưởng đến 7 bit còn lại trong QB2. Vì thế khi ta muốn dừng 1 loại các bit thì có thể áp dụng
lệnh MOVE với giá trị 0 vào vùng nhớ muốn xóa.
33
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
3.2.2. Hàm CONVERT
Hàm CONVERT dùng để chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác.
Khối hàm Thông số Kiểu dữ liệu Mô tả
EN BOOL Cho phép khối hàm thực hiện.
ENO BOOL Báo khối hàm đang thực hiện.
IN Integers, floating- Giá trị sẽ được chuyển đổi
point numbers,
BCD16, BCD32
OUT Integers, floating- Kết quả chuyển đổi
point numbers,
BCD16, BCD32
Ví dụ 1: Chuyển đổi số 10 sang dạng số thực.
10 đang dạng số nguyên INT, ta sẽ chuyển sang dạng số thực REAL 10.0
Thực hiện việc chuyển đổi này ta phải qua 2 bước. INT to DINT và DINT to REAL. Bởi vì khi
ta nhập số 10 vào hệ thống sẽ tự hiểu 10 thuộc INT tức sử dụng INT 16bit đã đủ để chứa 10.
Tuy nhiên nếu ta khai báo DINT to REAL trước sau đó nhập 10 sau thì sẽ gọn hơn.
34
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ 3.1: Nếu dữ liệu MD100 (DINT) = 262144. Thì ta không thể chuyển sang INT được vì
dãi INT chỉ là 0-65535 (đối với số dương).
Ví dụ 3.2: Nếu dữ liệu MD100 (DINT) = 12345. Thì ta có thể chuyển sang INT vì 12345 nhỏ
hơn 65535
MD100
MW100 (Word cao) MW102 (Word thấp)
Giá trị 216 đến 232-1 Giá trị 20 đến 216-1
0 12345
Như vậy giá trị 12345 được lưu truong Word thấp MW102.
Kết luận: giá trị MD100 = MW102 = 12345
3.2.3. Hàm ROUND/ CEIL/ FLOOR/ TRUNC
Thực chất đây là hàm chuyển từ số thực REAL sang số nguyên DINT (do REAL 32bit)
nhưng với nhiều kiểu khác nhau
* Làm tròn quá bán (Hàm ROUND)
** Hàm TRUNC thực hiện cắt bỏ phần phía sau dấu chấm động để lấy phần nguyên phía
trước.
Timer On SD S_ODT
delay
36
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Timer On SS S_ODTS
delay duy trì
Bài tập 4.0: Đọc giản đồ thời gian để nắm nguyên tắc hoạt động của chúng.
Có thể khai báo 5 hàm trên phần mềm để thử 5 loại Timer trên.
Khối S_ODT:
Lệnh SF:
37
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ 1: Viết chương trình điều khiển 3 bơm luân phiên 20s
Gợi ý.
Địa chỉ:
38
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ 2: Băng tải chạy khi cảm biến S1 phát hiện vật đầu băng tải. CB S2 phát hiện vật đến
giữa băng tải, gạt đóng lại. Sau 5 giây, gạt mở ra cho vật đi qua đến cuối S3 thì băng tải dừng
lại.
Bài tập 4.1: Viết chương trình điều khiển đèn giao thông
** Xem clock memory sau khi hoàn thành bài tập 4.2
39
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
4.2. TIMER - IEC
Đối với PLC S7-1500 hoặc PLC S7-1200 có 4 loại câu lệnh Timer là TON, TOF, TP, TONR.
Nguyên lý hoạt động không có gì thay đổi so với Simatic Timer.
Độ phân giải của IEC Timer là 1ms, Max time = 231 - 1 ms đối với Timer 32 bit (Time) và
Max time = 263 - 1 ms đối với Timer 64 bit (LTime).
4.2.1. TON
Khi ngõ vào IN tác động và duy trì trạng thái cho phép TON hoạt động. Khi giá trị ET > PT thì
ngõ ra Q cho kết quả mức 1. (Các tiếp điểm thay đổi trạng thái)
Khi ngõ vào IN mất tín hiệu thì TON ngưng hoạt động. Giá trị ET trả về 0.
IEC Timer không đặt tên giống Simatic Timer là từ T0-T255 mà sử dụng một DB để quản lý dữ
liệu, DB này do hệ thống tự tạo ra nên ta chỉ có thể thay đổi tên tag (symbol).
Tên timer ở trên đang là "IEC_Timer_0_DB" ta có thể đổi thành "Timer 1" như dưới để dễ sử
dụng tiếp điểm -| |- hay -|/|-.
40
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ 1: Nhấn nút ON, bơm nước 25s sau đó tự tắt. Quan sát chân vùng nhớ ET
ON: I0.0; OFF: I0.1; Bơm: Q0.0
Nhận xét 1: chân ET (MD10): Thời gian đếm lên hay xuống ???
Nhận xét 2: Giá trị ET như thế nào khi ngắt ngõ vào IN ?. So sánh với Simatic Timer.
4.2.2. TOF
Khi ngõ vào IN tác động và duy trì thì tiếp điểm TOF thay đổi trạng thái.
Khi ngõ vào IN chuyển trạng thái tín hiệu về 0 thì sau khoảng thời gian đặt ở PT thì trạng thái
tiếp điểm trả về vị trí ban đầu.
41
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
4.2.3. TP
Khi ngõ vào IN có tín hiệu tác động thì TP hoạt động, ngõ ra Q sẽ tạo 1 xung bằng giá trị đặt ở
PT.
Khi giá trị ET = PT thì kết thúc.
Trong quá trình TP hoạt động ngõ vào IN còn tác động hay không cũng không ảnh hưởng.
Ví dụ 1: Nhấn nút ON đèn hành lang sáng trong 10 giây thì tắt.
4.2.4. TONR
Khối hàm Timer này hoạt động giống như Ondelay Timer TON, chỉ khác ở chức năng nhớ
được thời gian khi mất tín hiệu đầu vào IN. Khi tín hiệu đầu vào IN có trở lại thì bộ Timer
TONR này sẽ chạy tiếp tục với giá trị bị dừng lúc trước.
Giản đồ thời gian của TONR:
42
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Bài tập 4.3: Thực hiện thay thế IEC Timer cho các bài tập ví dụ Simatic Timer
43
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 5: LẬP TRÌNH ỨNG DỤNG BỘ ĐẾM VÀ SO SÁNH
5.1. BỘ ĐẾM COUNTER
Bộ đếm counter cũng có 2 dạng là Simatic và IEC.
Cả 2 đều có 3 loại bộ đếm là CU, CD và CUD tức đếm lên, đếm xuống và vừa đếm lên đếm
xuống.
Ta cùng điểm qua một số điểm khác nhau:
Bộ đếm
lên
44
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Bộ đếm
xuống
Giá trị bộ đếm chỉ đếm xuống tới 0, không có Giá trị bộ đếm có thể xuống giá trị
giá trị âm âm (Min = -32767)
CD: kích đếm xuống
LD: Đặt giá trị từ chân PV vào giá
trị hiện tại của bộ đếm
PV: đặt giá trị cho bộ
đếm Q: lên 1 khi bộ
đếm ≤ 0
CV: lưu trữ giá trị hiện tại của bộ
đếm
Bộ đếm
lên/
xuống
45
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
46
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Kết quả:
Q 0.0 0.1 1.0 1.1 1.2 1.3 1.4
MW20
Nhỏ hơn 0 X X X X
0 X X X X
1 X X X
2 X X X
3 X X X X
4 X X X
5 X X X
6 X X X X X
7 X X X X
8 X X X X X
9 X X X X X
10 X X X X
11 X X X X
12 X X X X
Lớn hơn 13 X X X
Bài tập 5.1: Đếm sản phẩm từ I0.1 và bào số lượng sản phẩm theo yêu cầu sau:
• Không có sản phẩm đèn A sáng.
• Từ 1 đến 10 sản phẩm đèn B sáng.
• Từ 11 đến 20 sản phẩm đèn C sáng.
• Từ 20 sản phẩm trở lên đèn D sáng.
Bài tập 5.2: Đếm số sản phẩm bên trong băng tải, tức sản phẩm vào thì đếm lên, sản phẩm ra
đếm xuống.
Bài tập 5.3: Điều khiển 4 đèn A, B, C, D sáng dần. Thời gian chuyển đổi là 1 giây.
Đèn
t A B C D
0 0 0 0 0
1 1 0 0 0
2 1 1 0 0
3 1 1 1 0
4 1 1 1 1
5 (reset) 0 0 0 0
47
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 6: PHÂN TÍCH QUY TRÌNH CÔNG NGHỆ VÀ GIẢI THUẬT LẬP TRÌNH
6.1. LẬP TRÌNH TUẦN TỰ ỨNG DỤNG KHỐI HÀM SR (Grafcet)
Lưu đồ tuần tự nối tiếp có hồi tiếp:
Start
Điều kiện A
Điều kiện B
Hồi tiếp
Điều kiện C và
Điều kiện E
Điều kiện D
48
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Chuyển đổi giản đồ trên qua chương trình PLC:
49
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
6.2. KHẢO SÁT MÔ HÌNH ĐÓNG NẮP
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
50
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
6.3. MÔ TẢ QUY TRÌNH HOẠT ĐỘNG CỦA MÔ HÌNH
51
TUÂN CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Đối với PLC S7-1500 ta có thể cài đặt thông số trực tiếp từng kênh một, không giống PLC S7-
1200/300 ta chỉ có thể cài đặt 1 nhóm kênh (gồm 2 kênh).
Địa chỉ của Analog ta có thể thay đổi được giống địa chỉ ở ngõ vào/ ra Digital
52
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ 1: Xét gian đồ với giá trị đơn cực bên dưới:
Giá trị điện áp 0 - 10V sẽ được scale ra giá trị INT 0 - 27648
Volt 0 10
INT 0 27648
Tương tự giá nếu ta đo giá trị dòng điện 4-20mA thì giá trị cũng sẽ được scale
như vậy:
4 - 20mA tương ứng 0 - 27648
53
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
* Vậy tại sao lại là "27648"??
.................................................................
Bước 2: Cho mực nước ở mức 0.5 lit, ghi nhận giá trị INT đọc được
Cho mực nước ở mức 2.7 lit, ghi nhận giá trị INT đọc được
Bước 3: Từ 2 điểm khảo sát trên, viết phương trình đường tín hiệu
.................................................................
Chương trình:
54
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
7.3. KHỐI HÀM NORM_X VÀ SCALE_X
Sử dụng lệnh Normalize để chuyển đổi giá trị đầu cào nằm trong giới hạn [Min, Max] với ngõ
ra thay đổi tuyến tính trong giới hạn [0.0, 1.0].
Công thức toán học của lệnh NORM_X là:
OUT = (VALUE - MIN) / (MAX - MIN)
Sử dụng lệnh Scale để chuyển đổi giá trị sang một tầm giá trị mới phù hợp với yêu cầu sử dụng.
Khi lệnh SCALE_X được thực hiện thì giá trị VALUE trong giới hạn [0.0, 1.0] sẽ được chuyển
đổi nằm trong giới hạn [MIN, MAX] và được lưu vào vùng nhớ OUT.
Công thức toán học của lệnh SCALE_X là:
OUT = [VALUE * (MAX - MIN)] + MIN
55
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ: Sử dụng NORM_X và SCALE_X xử lý tín hiệu cảm biến lưu lượng (điện áp).
Tầm đo Kênh 0
56
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
7.4. KHỐI HÀM SCALE
Khối hàm SCALE (hay khối FC105 kế thừa từ phần mềm STEP Manager) là khối hàm thư
viện của Siemens, khối hàm này có chức năng tính giá trị INT đọc về sang giá trị điện áp, dòng
điện, ... với dãi giá trị MIN <= OUT <= MAX do người dùng quy định.
HI_LIM là giá trị max, thường lấy giá trị max của cảm biến khai báo
LO_LIM là giá trị min, thường lấy giá trị min của cảm biến khai báo
BIPOLAR là chân xác định giá trị đơn cực hay lưỡng cực,
Bài tập nhanh: Sử dụng khối hàm SCALE khai báo các giá trị như trên kiểm tra giá trị
OUT với điện áp thực tế cảm biến trả về.
57
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 8: LẬP TRÌNH XỬ LÝ TÍN HIỆU ANALOG OUTPUT
8.1. LÝ THUYẾT
Giá trị xuất ra ngõ PQWxxx cũng là giá trị INT với dải K1 đến K2
Xét giản đồ sau:
Giá trị xuất ra ngõ ra Analog sẽ nằm trong giới hạn LO_LIM và HI_LIM
OUT = [(Set_Value - LO_LIM)/(HI_LIM - LO_LIM) * (K2 - K1)] + K1
Ví dụ ta muốn xuất giá trị điện áp ra ngõ PQW272 với điện áp 0 - 10V;
tức là tương ứng K1 = 0, K2 = 27648
58
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
8.2. BÀI TẬP ỨNG DỤNG
Viết chương trình điều khiển bơm để ổn định mực nước ở mức 2Lit với công suất bơm như
sau.
Khi mực nước thấp hơn 1.0 lit thì bơm 100% công suất.
Khi mực nước từ 1.0 - 1.5 lit thì bơm 70% công suất.
Khi mực nước từ 1.5 - 1.8 lit thì bơm 50% công suất.
Khi mực nước từ 1.8 - 2.0 lit thì bơm 30% công suất.
Hướng dẫn
Bước 1: Bơm nước đến các mực nước1.0; 1.5; 1.8; 2.0 Lit, đọc giá trị INT trả về từ cảm biến.
......................................................................................................................................................
......................................................................................................................................................
......................................................................................................................................................
Tính:
30% = ........ INT
50% = ........ INT
70% = ........ INT
100% = ........ INT
59
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Bước 3: Dùng lệnh so sánh để viết để đặt giá trị cho ngõ ra Analog (bơm)
Giá trị INT tại các điểm mực nước, học viên khảo sát và nhập vào.
Do STOP
đấu NC
60
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Việc sử dụng khối hàm SCALE hay UNSCALE chỉ giúp việc tính toán nhanh hơn, ta hoàn toàn
có thể tự sử dụng các phép toán + - * / để tự tính toán lấy giá trị của mình mong muốn.
Việc tính ra giá trị vật lý mới là vấn đề chủ chốt và cần thiết.
Trong thực tế, việc xác định phương trình đường thẳng như trên ví dụ là hơi khó khăn bởi tính
chất tuyến tính của cảm biến và hệ thống. Vì vậy nếu sử dụng phương trình tuyến tính này ta
có thể chia nhỏ các điểm để có nhiều đường tuyến tính nhỏ, việc tính toán ra giá trị sẽ chính
xác hơn.
61
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 9: THỜI GIAN THỰC - REAL TIME
Chọn Data block (DB) > Đặt tên cho khối > Type: Global DB > Chọn number: Automatic >
Nhấn OK
(Đặt tên cho dễ hiểu, không nên quá dài như ví dụ)
Kết quả:
Khi tác động M5.0 sẽ thực hiện load thời gian DT#2020-01-15-7:20:0.0 vào CPU. Ta chỉ cần
load thời gian này vào CPU 1 lần nên M5.0 chỉ cần tác động 1 lần duy nhất. Nêu tác động lại
thì sẽ lại load DT#2020-01-15-7:20:0.0 vào CPU.
MW210 sẽ lưu giá trị mã lỗi của khối:
63
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
9.1.2. Khối hàm RD_SYS_T
Cũng tương tự như WR_SYS_T ta cũng tạo ra 1 khối DB để lưu giá trị Date And Time đọc lên
từ CPU.
* Trong khối DB này ta cũng tao một biến có data type là Date_And_Time
Ta muốn đọc liên tục thì chân EN luôn TRUE (ở đây sử dụng 1 tiếp điểm NC)
64
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
9.1.3. Khối hàm T_COMP
Khối hàm này sẽ cho phép ta so sánh 2 DATE AND TIME
* Tạo một DB tên CMP_DT để ta lưu giá trị đặt mong muốn
* Khai báo 1 biến với data type là Date And Time và giá trị DT#2020-01-015-20:10:00
Đặt vấn đề: Viết chương trình tưới cây tự động vào 10 giờ sáng hằng ngày trong 10 phút.
Trong khối DB tên CMP_DT ta đã tạo biến với khung giờ trên, thế nhưng khung giờ cố định
nhưng ngày lại khác, qua ngày mới DB không thể tự thay đổi ngày trong khung giờ so sánh.
65
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
9.2. CÁC PHÉP TOÁN THỜI GIAN
9.2.1. Phép cộng thời gian T_ADD
IN1: DT
IN2: Time
OUT: DT
Giải quyết vấn đề trên:
Ta có thể viết chương trình để mỗi lần tưới sẽ thực hiện cộng thêm 24h (tức 1 ngày) vào khung
giờ tưới.
66
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
9.2.2. Phép trừ thời gian T_SUB
IN1: DT
IN2: Time
OUT: DT
Tương tự phép cộng, phép trừ thực hiện (IN1 - IN2) đưa ra kết quả OUT.
Giá trị tại chân RET_VAL chính là thời gian CPU bắt đầu hoạt động.
Giá trị sẽ chạy lại từ 0 khi CPU chuyển từ STOP sang RUN hoặc vượt quá giới hạn 231 -1 ms.
67
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 10: THIẾT KẾ HÀM CHỨC NĂNG VỚI FUNCTION FC
* Chọn FC Function > Đặt tên khối "Motor_Controller" > Chọn ngôn ngữ LAD > OK
Kết quả:
68
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
* Ta vào khối FC vừa tạo ở trên, khai báo biến Input và Output
Các biến Input bao gồm:
Nút nhấn START
Nút nhấn STOP
Nút điều khiển Motor chạy thuận: FOR.
Nút điều khiển Motor chạy nghịch: REV.
2 bộ Timer để đặt thời gian là Timer_For và Timer_Rev
2 chân để đặt giá trị thời gian
(Ở đây sử dụng Simatic Timer nên Data type là S5Time
và Timer. Nếu sử dụng IEC Tỉmer thì Data type là
IEC_Timer và Time)
Các biến Output bao gồm:
Đèn báo Start_light sáng khi nhấn START
Motor chạy thuận: Motor_For
Motor chạy nghịch: Motor_Rev
* Viết chương trình sử dụng các biến In, Out đã khai báo ở trên
69
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
* Sau khi viết xong ta compile kiểm tra lỗi và save project.
* Vào khối chương trình chính OB Main gọi khối FC2 (Khối FC ta tạo) ra hoặc nơi ta muốn
gọi khối "Motor_Controller" này.
** Tương tự như vậy ta có thể gọi hàm khác ra và khai báo cho Motor 2, 3, 4, ...
Chú ý trong trường hợp này đang dùng Simatic Timer nên chỉ có thể khai báo từ T0 -T255.
70
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ví dụ 2: Thiết kế hàm SCALE
Hàm SCALE có chân Input: IN, HI_LIM, LO_LIM, BIPOLAR và Ouput: OUT
OUT = [((FLOAT (IN) – K1)/(K2–K1)) ∗ (HI_LIM–LO_LIM)] + LO_LIM
* Tạo khối FC "SCALE_FC"
* Lập trình
Do chương trình thực hiện nhiều phép toán nên cần biến nhớ để chứa giá trị tính toán, giá trị
này không có ý nghĩa hiển thị ra khỏi khối nên ta dùng biến Temp.
71
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
* Sau khi viết xong ta compile kiểm tra lỗi và save project.
* Lấy Điền "SCALE_FC" hoặc FC1 (số FC khi ta khởi tạo) ta được
Bài tập 10.2: Thiết kế khối hàm chức năng đọc tín hiệu Analog, đưa ra kết quả điện (giống tín
hiệu cảm biến) và giá trị vật lý (độ cao, nhiệt độ, tốc độ, ...)
72
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
** Khi ta thay đổi các biến In, Out hay In/Out thì sẽ phải gọi lại khối hoặc Update interface
Nhấn chuột phải vào khối hàm > Chọn Update block call
Nhấn OK
** Còn nếu không thay đổi In/Out thì mà chỉ thay đổi chương trình bên trong khối thì không
ảnh hưởng đến khối hàm được gọi ra. (Lúc này chỉ khác chức năng do chương trình thay đổi).
73
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
10.2. THIẾT KẾ HÀM CHỨC NĂNG VỚI FC VỚI DB
Các ngõ vào START, STOP, FOR, REV ở khối hàm "Motor_Controller" sử dụng các nút nhấn
bên ngoài điều khiển, nhưng ngoài ra ta muốn trên HMI/SCADA cũng có thể điều khiển được
nên phải viết thêm một biến nhớ M song song với ngõ I.
Tuy nhiên ta có thể quản lý dữ liệu Motor_Controller bằng một khối DB.
Ví dụ 1: Từ khối hàm chức năng Motor_Controller ở trên, hãy thiết lập một khối DB quản lý
dữ liệu khối hàm này.
* Tạo một khối DB tên Motor_DB sau đó tạo các biến với kiểu dữ liệu như dưới đây.
Khi check vào ô Retain thì giá trị tag đó sẽ được lưu lại kể cả khi CPU mất điện.
74
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Thời gian For và Rev ta có đặt tại giá trị bắt đầu trong DB, khi ta liên kết tag này với
HMI/SCADA ta có thể thay đổi thời gian chạy của Motor. (Việc này cũng có thể sử dụng vùng
nhớ M để thực hiện nhưng phức tạp hơn.)
75
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
10.3. KIỂU DỮ LIỆU DO NGƯỜI DÙNG ĐỊNH NGHĨA - UDT
Đặt vấn đề: Ta có số lượng lớn Motor cần điều khiển, như vậy ta phải tạo ra một list các biến
như bảng 10.1.
Bảng 10.1: Khai báo thông thường Bảng 10.2: Khai báo với UDT
Chú ý kiểu dữ liệu Data type ở bảng 10.2.
Kiểu dữ liệu "Motor_UDT" như vậy ta có thể tự tạo cho mình kiểu dữ liệu mong muốn bao
gồm nhiều biến khác nhau. Như vậy khi khai báo biến ta chỉ việc chọn kiểu dữ liệu
"Motor_UDT" là sẽ bao gồm 7 biến bên trong.
76
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
* Mở Motor_UDT > Tạo biến tên Motor_type1 với kiểu dữ liệu Struct.
Sau đó tạo các biến cần thiết như bên dưới.
* Sau đó vào khối DB > Tạo biến với tên Motor_1 với kiểu dữ liệu "Motor_UDT" mà ta đã
tạo ở trên.
** Khi ta có sự thay đổi trong Motor_UDT thì bên khối DB sẽ báo lỗi
Ta muốn cập nhật thay đổi này thì nhấn chuột phải vào chỗ bôi đỏ "Motor_UDT" > Chọn
Update interface.
77
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
78
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 11: ĐIỀU KHIỂN ĐỘNG CƠ VỚI HÀM PHÁT XUNG
11.1 Tính toán giá trị và cấu hình cho động cơ bước autonics driver MD5-HD14
Số xung tối thiểu cần điều khiển động cơ quay 1 vòng là
360
𝑝= = 5000xung
0.072
P36 chỉ định hệ số nhân xung đầu vào để đạt tốc độ định mức của step. Nó sẽ được đặt thành
các giá trị được xác định và phải được tính toán tối đa tần số của đầu ra xung được chọn của
bộ điều khiển.
𝑇
4𝑋𝑃𝑋
𝑃36 ≥ 60𝑠
𝑓𝑜𝑢𝑡 𝑚𝑎𝑥
Tốc độ định mức đông cơ step :180 vòng /phút
Số xung trên mỗi vòng quay của động cơ (P ) : (resolution) x p
Tần số tối đa của đầu ra xung được chọn Q0.0 : 100khz
➢ Tính tần số vận tốc tối đa
𝑇
4𝑋𝑃𝑋
𝑓𝑚𝑎𝑥 ≥ 60𝑠
𝑃36
Tốc độ định mức đông cơ step :180 vòng /phút
Số xung trên mỗi vòng quay của động cơ (P ) : (resolution) x p
79
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
➢ Cấu hình
➢ Nhấp chuột phải vào tên PLC => Chọn Properties => tại mục pulse generators (PTO/PWM)
nhấp chuột vào PTO1/PWM1 => tích cho phép vào Enable và Pulse options chọn PTO (pulse
A and direction B)
Vào Technology objects => Add new object => TO_Positioning axis => Ok
80
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Vào Driver :
- Pulse generator : chọn Pulse_1 (địa chỉ phát xung đã cấu hình ở plc phía trên)
81
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
- Signal type : chọn PTO (pulse A and direction B) (tín hiệu điều khiển A chân xung , B
chân hướng )
- Axis 1 pulse chân Q0.0, Axis 1 direction chân Q0.1
82
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Cấu hình chiều quay động cơ và số xung cho một vòng
Vào Dynamics:
- Maximum velocity: (vận tốc tối đa)
- Start/stop velocity: (vận tốc bắt đầu/dừng)
- Acceleration/deceleration:thời gian tăng/giảm tốc là 1s
83
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Khối MC Power
Khối MC Power là khối cho phép động cơ quay:
- Chân Axis: chân nhận giá trị cấu hình động cơ.
- Chân Enable: nhận tín hiệu cho phép hoặc là không chân này phải luôn có tín hiệu động cơ mới
chạy.
- Start Mode: Chế độ chạy tín hiệu lên mức 1.
- Stop Mode : Chế độ dừng tín hiệu xuống mức 0.
- Status : chân trạng thái
- Error: chân báo lỗi
84
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
MC MoveRelative
Khối MC MoveRelative điều khiển động cơ quay tương đối
- Chân Axis: chân nhận giá trị cấu hình động cơ.
- Chân Execute: nhận tín hiệu điều khiển động cơ quay chỉ nhận sườn dương
- Distance: nhận giá trị khoảng cách và hướng
- Velocity : nhận giá trị vận tốc
- Done : báo quay xong góc
- Error : báo lỗi
85
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 12: TRUYỀN THÔNG DỮ LIỆU GIỮA 2 PLC
- Thiết lập phần cứng cho trạm Master ( 1214C- CM1243-5). Chọn Simatic S71200, chọn
CPU, kích đúp chuột trái chọn CPU1214C DC/DC/DC.
86
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
- Để thiết lập Modul truyền thông CM1243-5. Kích chuột trái vào Slot 101. Chọn
Communication modul, chọn CM1243-5.
-
- Thiết lập phần cứng trạm Slave CPU313C-2DP.
87
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
- Chọn Add new devices, chọn SIMATIC S7-300, chọn CPU 313C-2DP.
-
- Để kết nối 2 Modul, chọn Devices & network. Giữ chuột trái, nối cổng DP của S7300 với
cổng DP của CM1243-5 như hình dưới.
- Để thiết lập mạng, kích đúp chuột trái vào cổng DP của S7300. Ở table Operating Mode
chọn DP Slave.
88
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
-
- Mục Assigned DP Master chọn kết nối tới CM1243-5.
-
- Để thiết lập vùng nhớ truyền nhận dữ liệu kích đúp vào Add new và thiết lập vùng nhớ.
89
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
90
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
-
- Viết chương trình và Download trên Master
91
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
- Để Download chương trình trên Master. Đặt địa chỉ của PC là 192.168.1.2 và địa chỉ của PLC
là 192.168.1.4. Kích chuột trái vào thanh rail của CPU 1214C và chọn Download.
- Hãy Run PLC và chạy Test thử chương trình của bạn.
92
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
12.2. Truyền thông Modbus Ethernet giữa 2 PLC S7-1200
Bước 1: Cho phép truyền nhận giữa 2 PLC
Để thực hiện việc truyền nhận dữ liệu ta cần cấp quyền cho phép như sau:
Nhấp chuột phải vào tên PLC => Chọn Properties => tại mục Protection & Security nhấp chuột vào Connection
mechanisms và tích dấu cho phép kết nối như hình bên dưới.
Bước 2: Kết nối S7 Connection giữa 2 PLC, ta click chuột vào mục Devices & networks bên trái màn hình để
thực hiện kết nối truyền thông.
Lưu ý: Đổi địa chỉ IP cho PLC sao cho không trùng nhau.
Để đổi địa chị 2 PLC ta có thể thực hiện bằng cách click chuột trái vào cổng PROFINET trên mỗi PLC. Hoặc
tại Devices & networks ta click chuột vào biểu tượng phía trên và đổi địa chỉ.
Sau khi đổi địa chỉ IP ta nhấp chuột vào cồng Profinet PLC1 kéo sang cổng Profinet PLC2 để tạo kết nối truyền
thông PN/IE.
Nhấp chuột vào biểu tượng sau đó chọn S7 Connection và kết nối 2 PLC với nhau thao tác
tương tự việc kết nối PN/IE.
93
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
1.2 Chương trình điều khiển trên phần mềm Tia portal v14.
Ta gọi một hàm khối xuống gõ PUT rồi nhấn enter sẽ đc hàm PUT.
➢ Chân ADDR_i (i = 1…4): Địa chỉ trên Slave nhận tín hiệu từ Master
➢ Chân SD_i (i = 1…4): Địa chỉ trên Master gửi tín hiệu cho Slave
➢ Chân ERROR : Chân báo lỗi không gửi được tín hiệu
94
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Gọi các chân REQ , DONE, ERROR,STATUS để điều khiển việc cho phép gửi dữ liệu
Chân ID tự động có sau khi chọn REQ
Chân ADDR_1 nhập m60.0 vào start chọn 1byte length nghĩa là gửi tín hiệu từ master cho slave dài 1byte từ
M60.0 đến M60.7( địa chỉ ở slave)
Chân RD_1 nhập nhập m60.0 vào start chọn 1byte length nghĩa là tín hiệu nhận slave dài 1byte từ m60.0 đến
m60.7(địa chỉ ở master)
95
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
96
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Sau khi cấu hình xong các chân của khối PUT ta được như hình sau:
Network này là REQ cho phép gửi tín hiệu khi gửi xong chân DONE sẽ reset chân REQ bắt đầu một chu trình gửi
mới, nếu lỗi thì chân ERROR reset chân REQ
97
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
• Hàm GET: Tín hiệu gửi từ SLAVE sang MASTER
➢ Chân ADDR_i (i = 1…4): Địa chỉ trên Slave gửi tín hiệu cho Master
➢ Chân SD_i (i = 1…4): Địa chỉ trên Master nhận tín hiệu từ Slave
➢ Chân ERROR : Chân báo lỗi không gửi được tín hiệu
Ta kích vào biểu tượng trên hàm GET để thiết lập hàm GET
- Chọn Connection parameter: ở local có sẵn PLC Mater bên partner ta chọn PLC Slave
- Chọn Block Parameter :
Gọi các chân REQ , DONE, ERROR,STATUS để điều khiển việc cho phép gửi dữ liệu
Chân ID tự động có sau khi chọn REQ
Chân ADDR_1 nhập m70.0 vào start chọn 2byte length nghĩa là gửi tín hiệu từ slave cho master dài 2 byte từ
m70.0 đến m71.7( địa chỉ ở master)
Chân RD_1 nhập nhập m70.0 vào start chọn 2byte length nghĩa là tín hiệu nhận master dài 2byte từ m70.0 đến
M71.7(địa chỉ ở slave)
98
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
99
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
100
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Network này là REQ cho phép gửi tín hiệu khi gửi xong chân NDR sẽ reset chân REQ bắt đầu
một chu trình gửi mới, nếu lỗi thì chân ERROR reset chân REQ
❖ Viết chương trình gửi và nhận tín hiệu qua các địa chỉ đã đặt ở cấu hình khối PUT và khối GET
101
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
102
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 13: LẬP TRÌNH XỬ LÝ XUNG TỐC ĐỘ CAO
13.1. PHẦN CỨNG CPU COMPACT VÀ KHAI BÁO ĐỌC XUNG TỐC ĐỘ CAO
CPU Compact có tích hợp sẵn các DI/DO, hoặc có thể thêm AI/AO tùy mã hàng. Và còn có
thêm bộ đếm xung tốc độ cao HSC, bộ điều xung PWM.
Một số dòng Compact - CPU 300C: 312C, 313C, 313C-2DP/PtP, 314C -2DP, ...
13.1.1. Đấu nối phần cứng.
Tùy thuộc vào mỗi mã CPU mà có các chân đấu khác nhau. Để cụ thể ta phải tra manual của
CPU đó. (Học viên chép tài liệu trong ổ D:\Tai lieu\CPU 31xC Technological functions.pdf)
Trong bài này sẽ sử dụng CPU 313C-2DP
Các chân trong Connector X1 của CPU 313C-2DP/ PtP
103
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Track B/ Direction: Pha B/ chân hướng.
Hardware gate: Chân điều khiển phần cứng.
Latch: Chân chốt giá trị phần cứng.
Ví dụ: Ta muốn đọc xung từ encoder, ta có thể sử dụng CH0 bao gồm:
- 2 chân xung Pha A và Pha B lần lượt đấu vào DI+0.0 và 0.1
- Nếu sử dụng chức năng Start/Stop phần cứng thì đấu nút điều khiển vào DI+0.2
- Nếu sử dụng chức năng chốt phần cứng thì đấu nút điều khiển vào DI+1.4
- Ngõ ra output DO+0.0
13.1.3.Khai báo trên phần mềm
* Khai báo project PLC có CPU 313C-2DP
* Mà tại mỗi kênh ta có thể chọn mode như bên hình dưới
104
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
(1) Gate function: Abort counting - reset giá trị đếm hoặc Interrupt counting - chức năng ngắt.
(2) Comparision value: giá trị so sánh để thực hiện chức năng (1)
(3) Hysteresis: Độ trễ, ta có thể đặt độ trễ của ngõ ra số.
(4) Tín hiệu Input: Sử dụng loại tín hiệu ngõ vào như thế nào.
Nếu sử dụng ngắt cứng hay đảo chiều đếm cứng thì check vào ô.
(5) Output: Ngõ ra có thể được set lên bằng việc so sánh >= hoặc <= với giá trị đặt; hoặc tạo ra
một xung có độ rộng với thời gian đặt tại Pulse duration.
(6) Chọn tần số cho tín hiệu, HW gate và latch.
(7) Chọn điều kiện xảy ra ngắt phần cứng - HW interrupt. Nếu không sử dụng ngắt thì không
check
Nếu ở các mode khác nhau thì thông số có thể có thay đổi với từng mode.
13.1.4. I/O addresses
105
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ta có thể thay đổi hoặc để mặc định địa chỉ I/O, địa chỉ này sẽ được khai báo trong khối
hàm
13.1.5. Khối hàm bộ đếm COUNT
Tham số Kiểu dữ Mô tả
liệu
INPUT
LADDR WORD Địa chỉ I/O address.
Phần này do ta đặt trong khai báo phần cứng. Sau đó quy
đổi ra số hệ thập lục phân.
Ví dụ ta khai báo 768, đổi ra số hex sẽ là 300. Vậy ta khai
báo trong khối hàm là W#16#300
CHANNEL INT Kênh được sử dụng.
SW_GATE BOOL Start / Stop bộ đếm.
CTRL_DO BOOL Cho phép ngõ ra hoạt động
106
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
SET_DO BOOL Cho phép điều khiển ngõ ra
JOB_REQ BOOL Kích hoạt động JOB (Trigger)
JOB_ID WORD W#16#0000: Không thực hiện chức năng gì hết
W#16#0001: Ghi giá trị vào COUNTVAL
W#16#0002: Ghi giá trị khởi đầu cho đếm
W#16#0004: Ghi giá trị vào chế độ Comparison
W#16#0008: Ghi giá trị sai lệch cho hysteresis
W#16#0010: Ghi khoảng thời gian xung - pulse duration
W#16#0082: Đọc giá trị khởi đầu cho đếm
W#16#0084: Đọc giá trị của chế độ Comparison
W#16#0088: Đọc giá trị sai lệch - hysteresis
W#16#0090: Đọc khoảng thời gian xung - pulse duration
JOB_VAL DINT Ghi giá trị cho JOB
OUTPUT
STS_GATE BOOL Trạng thái SW_Gate
STS_STRT BOOL Trạng thái HW_Gate
STS_LTCH BOOL Trạng thái chốt
STS_DO BOOL Trạng thái ngõ ra
STS_C_DN BOOL Trạng thái chiều đếm xuống
STS_C_UP BOOL Trạng thái chiều đếm lên
COUNTVAL DINT Giá trị thực thi
LATCHVAL DINT Giá trị chốt
JOB_DONE BOOL Thực hiện công việc mới khi giá trị là True, mặc định là
TRUE
JOB_ERR BOOL Lỗi JOB
JOB_STAT WORD Mã lỗi xem Help F1
107
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
BÀI 14: LẬP TRÌNH ĐIỀU KHIỂN PID VỚI HÀM CHỨC NĂNG
ĐIỀU KHIỂN LIÊN TỤC VỚI KHỐI HÀM "CONT_C"
Khối hàm CONT_C được sử dụng để điều khiển quá trình kĩ thuật với các biến đầu vào và đầu
ra tương tự trên cơ sở thiết bị khả trình Simatic. Trong khi thiết lập tham số, có thể tích cực
hoặc không tích cực một số thành phần chức năng của bộ điều khiển PID sao cho phù hợp đối
tượng.
Có thể sử dụng module mềm PID như một bộ điều khiển với tín hiệu chủ đạo đặt cứng ( fix
setpoint) hoặc thiết kế một hệ thống điều khiển nhiều mạch vòng theo kiều điều khiển cascade.
Những chức năng điều khiển được thiết kế trên cơ sở của luật điều khiển PID của bộ điều khiển
mẫu với tín hiệu tương tự.
Module mềm PID bao gồm tín hiệu chủ đạo SP_INT, tín hiệu ra của đối tựơng PV_PER , tín
hiệu giả để mô phỏng tín hiệu ra của đối tượng PV_IN , các biến trung gian trong quá trình
thực hiện luật và thuật điều khiển PID như PVPER_ON,P_SEL,I_SEL , D_SEL ,
MAN_ON…..
Tín hiệu chủ đạo SP_INT được nhập dưới dạng số thực dấu phẩy động.
108
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Tín hiệu ra của đối tượng PV_PER:Thông qua hàm nội của FB41 có tên CRP_IN, tín hiệu ra
của đối tượng có thể đựơc nhập dưới dạng số nguyên có dấu hoặc số thực dấu phẩy động. Chức
năng của CRP_IN là chuyển đổi kiểu biểu diễn của PV_PER từ dạng số nguyên sang số thực
dấu phẩy động có giá trị nằm trong khoảng -100 đến 100% theo công thức:
Chuẩn hóa : chức năng của hàm chuẩn hóa PV_NORM tín hiệu ra của đối tượng là chuẩn hóa
tín hiệu ra của hàm CRP_IN theo công thức:
Hai tham trị khống chế giải giá trị cho phép của PV_NORM là PV_FAC và PV_OFF .
Mặc định PV_FAC của hàm PV_NORM có giá trị bằng 1 và PV_OFF có giá trị bằng 0.
Lọc nhiễu tác động trong lân cận điểm làm việc. Tín hiệu sai lệch là hiệu giữa tín hiệu chủ đạo
và tín hiệu ra của đối tượng. Nó được tạo ra ngay trong FB41 và là đầu vào của khối
DEADBAND hoặc của đối tượng mà có thể bỏ qua sự ảnh hưởng của nhiễu trong lân cận điểm
làm việc ta chọn DEAD_W = 0
Hình vẽ dưới mô tả thuật PID được thiết kế theo kiểu song song của 3 thuật điều khiển đơn lẻ:
tỉ lệ P, tích phân I và vi phân D theo sơ đồ cấu trúc (sau khối DEADBAND) Chính vì cấu trúc
song song như vậy nên ta có thể thông qua các tham trị P_SEL,I_SEL, hay D_SEL mà tích hợp
các thuật điều khiển khác nhau từ bộ lấy mẫu như thuật điều khiển P , PI , PID
Đặt giá trị :Phần mềm cho phép chọn chế độ tự động ( automatic mode) hoặc chế độ bằng tay.
Ở chế độ bằng tay các giá trị của các biến được chọn bằng tay . Bộ tích phân (INT) tự thiết lập
chế độ LNM_LNM, P-DISV và bộ vi phân (DIF) tự động về 0. Điều đó đảm bảo cho việc
109
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
chuyển chế độ từ thiết bị lập giá trị bằng tay về chế độ tự động không gây nên 1 biến đổi đột
ngột nào đối với các biến đã được thiết lập giá trị bằng tay.
Cũng có thể giới hạn cho các giá trị được thiết lập bằng tay nhờ hàm LMN_LIMIT.
Một bit cờ sẽ có giá trị logic bằng 1 khi biến vào có giá trị vượt qúa giới hạn đã chọn. Hàm
LMN_MORM sẽ chuẩn hóa tín hiệu ra của hàm LMNLIMIT theo công thức :
Ngòai ra nhiễu có thể được lọc trước bằng cách đưa qua đầu vào DISV.
Khối hàm CONT_C có một chương trình con phục vụ cho việc khởi tạo lại tòan bộ hệ thống.
Chương trình này được gọi khi tín hiệu vào COM_RST có giá trị logic bằng 1.
Trong khi khởi tạo ,luật điều khiển tích phân được tự động thiết lập với giá trị khởi tạo
I_ITVAL. Nếu luật điều khiển này được gọi theo ngắt thời gian, nó sẽ luôn làm việc với giá trị
này. Tất cả các đầu ra khác được đặt giá trị mặc định.
Khối hàm CONT_C không có khả năng tự kiểm tra lỗi bên trong của module mềm PID . Mã
báo lỗi RET_VAL không được sử dụng.
14.3.1. Tham biến chính thức đầu vào: Khối hàm CONT_C có 26 tham biến chính thức đầu vào
như sau:
Kiểu dữ
Biến Mặc định Mô tả chức năng
liệu
110
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Khi đọc biến quá trình từ các cổng vào/ra
đầu vào PV_PER phải được nối với các
cổng vào/ra và đầu vào “process variable
peripheral” có giá trị logic True.
111
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
CYCLE TIME T#1s SAMPLING TIME
112
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Cổng vào “reset time” được sử dụng để
thiết lập hằng số thời gian tích phân cho bộ
dk tích phân.
113
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Biến quá trình được nhân với một hệ số cho
phù hợp với phạm vi qui định của biến này.
Hệ số được chọn thông qua cổng vào
“process
variable factor”.
114
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
đặt thông qua cổng vào “disturbance
variable”.
14.3.2. Tham biến chính thức đầu ra: Khối hàm CONT_C có 9 tham biến chính thức đầu ra như
sau:
Kiểu dữ
Biến Mặc định Mô tả chức năng
liệu
115
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Tín hiệu ra của bộ đk tích phân được xuất
qua cổng ra “intergral component”.
Bộ điều khiển PID là bộ điều khiển xuất hiện nhiều trong công nghiệp, và bộ điều khiển thích
hợp nhất để điều chỉnh thuật toán là dạng chuẩn.
t
Trong dạng này: MV (t ) = K (e(t) + 1
f e(t)dt + T d
e(t))
p Ti 0 d dt
Trong dạng song song lý tưởng, được trình bày trong phần lý thuyết bộ điều khiển
d t
MV(t) = Kpe(t) + Ki ƒ e (t)dt + K
dt e(t)
0 d
các thông số độ lợi được liên kết tới dạng chuẩn thông qua Ki=Kp/Ti và Kd=Kp*Td . Dạng song
song này, trong đó các thông số được xử lý như là các độ lợi đơn giản, là dạng tổng quá và linh
hoạt nhất. Tuy nhiên, nó cũng là dạng mà các thông số có sự liên quan vật lý ít nhất và thường
được dành riêng cho việc khảo sát lý thuyết của bộ điều khiển PID. Dạng chuẩn, mặc dù ít phức
tạp hơn về mặt toán học, nhưng lại phổ biến hơn trong công nghiệp.
116
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Độ lợi tỉ lệ, Kp
Giá trị càng lớn thì đáp ứng càng nhanh do đó sai số càng lớn, bù khâu tỉ lệ càng lớn. Một giá
gị độ lợi tỉ lệ quá lớn sẽ dấn đến quá trình mất ổn định và dao động.
Giá trị càng lớn kéo theo sai số ổn định bị khử càng nhanh. Đổi lại là độ vọt lố càng lớn: bất kỳ
sai số âm nào được tích phân trong suốt đáp ứng quá độ phải được triệt tiêu tích phân bằng sai
số dương trước khi tiến tới trạng thái ổn định.
Độ lợi vi phân, Kd
Giá trị càng lớn càng giảm độ vọt lố, nhưng lại làm chậm đáp ứng quá độ và có thể dẫn đến
mất ổn định do khuếch đại nhiễu tín hiệu trong phép vi phân sai số.
Một phương pháp điều chỉnh theo kinh nghiệm khác là phương pháp Ziegler–Nichols, được
đưa ra bởi John G. Ziegler và Nathaniel B. Nichols vào những năm 1940. Phương pháp này,
ban đầu cho đầu ra của vòng điều khiển bị dao động; trong lúc hệ thống bị dao động xác định
được số dao động trong khoảng thời gian khảo sát, Tth.
Chọn luật điều khiển và tính toán tham số từ Kpth và Tth theo bảng sau:
P 0.50
PI 0.45 0.80
117
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
14.5. LẬP TRÌNH HỆ THỐNG.
CPU 315F-2PN/DP
Module DI16/DO16
Module AI4/AO2
Một số địa chỉ liên quan đến phần điều khiển PID:
Cảm biến siêu âm xác định mực nước trong bồn nối vào ngõ analog input CH0: PIW272
Bơm tuyến tính được nối vào ngõ analog output CH0: PQW272
Bước 2: Khai báo một số tham số cần thiết, để chuyển sang bước điều khiển bằng tay để xác
định các tham số cho bộ điều khiển PID.
Chọn “Monitoring on/off” để quan sát Online: “Modify to 1” đầu vào “PVPER_ON”.
119
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Chọn “Configuration” (biểu tượng trên khối hàm CONT_C); hoặc vào :
Chọn “Commissioning” (biểu tượng ngay trên khối hàm CONT_C); hoặc vào
120
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Vùng 1: Đồ thị.
Vùng 2: Các thông số của 3 đường “SP_INT”, tức giá trị đặt (ở đây là mực nước); “PV”, tức
giá trị thực tế cảm biến đo về được (ở đây là cảm biến siêu âm đo mực nước hiện tại trong bồn);
“LMN”, tức đáp ứng của ngõ ra tuyến tính (ở đây là Pump).
Vùng 3: Chọn và hiệu chỉnh các tham số của bộ điều khiển PID.
Bước 4: Ta sử dụng phương pháp Ziegler–Nichols. Cho Ti=0, Td=0, tăng Kp từ từ đến khi hệ
thống dao động. Xác định Kpth
Ta có thể thấy giá trị “PV” vẫn bám theo giá trị “Setpoint”, nhưng ngõ ra lại có sự dao động.
Khi ta càng tăng P lên thì dao động càng lớn (đây cũng chính là nhược điểm của phương pháp
này, làm cho hệ thống giao động để tìm ra các tham số).
Khi P=5.0
122
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Khi P=8.0
Khi P=15.0
Khi P=60.0, dao động đã tới hạn, số dao động càng dày đặc.
123
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Bước 5: Xét tại thời điểm P=30.0, dao động gần như tới hạn nên ta tăng P lên thêm một ít và
chọn Kpth phù hợp hơn.
Ta chọn Kpth=35.0
124
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Ở đây chọn từ giây 20 đến 40 (tức Tth=40-20=20s). Đếm số dao động (có 31 xung).
Tth = số dao động (xung) / khoảng thời gian xét = 31/20 = 1.55
Bước 6: Nhập các tham số đã tính vào bộ điều khiển, xem kết quả.
125
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Cho chạy lại hệ thống và tìm các thông số cần thiết với các tham số đã tìm được:
Kp=21.0;
Ti=0.775s;
Td=0.194s;
Setpoint=50.0
Định nghĩa: Thời gian quá độ là thời gian cần thiết để sai lệch giữa đáp ứng của hệ thống và
giá trị xác lập của nó không vượt quá e% (thường chọn là 2% hoặc 5%).
Từ giây thứ 6 đến 26, vậy t đáp ứng = 20s.
Do hình dáng của bồn nước này phần đáy là hình chóp nón (từ 0-0.5L), phần thân là hình trụ
(0.5-3L) nên khoảng thời gian lúc đầu (giây thứ 6 đến 14) đáp ứng chậm hơn so với khoảng
thời gian sau.
126
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
Xét về độ vọt lố.
Độ vọt lố = 0.
Xét về sai số.
Ta phóng to đồ thị PV.
Điều chỉnh thủ Không cần hiểu biết về toán. Yêu cầu nhân viên có kinh
công Phương pháp online. nghiệm.
Các công cụ Điều chỉnh chắc chắn. Phương Giá cả cao, và phải huấn luyện.
phần mềm pháp online hoặc offline. Có thể
bao gồm phân tích các van và
cảm biến. Cho phép mô phỏng
trước khi tải xuống để thực thi.
Cohen-Coon Xử lý các mô hình tốt. Yêu cầu kiến thức toán học.
Phương pháp offline. Chỉ tốt
đối với các quá trình bậc một.
127
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
14.7. HOÀN THIỆN BỘ ĐIỀU KHIỂN VỚI KHỐI HÀM CONT_C
Dựa theo sơ đồ cấu trúc của khối hàm ta xác định các tham số chính cần cho bộ điều khiển PID
trên như sau:
128
HOÀNG QUỐC TUÂN - CƠ ĐIỆN TỬ - TIA Portal – SIMATIC S7
TÀI LIỆU THAM KHẢO
129