TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH1.3: Cách đấu nối đầu vào input 1.3.1: Kiểu source Nguồn chung Đặc điểm kiểu source thường được sử dụng với các loại cảm biến dạng PNP,… Ví dụ:.
Trang 1GIÁO TRÌNH PLC S7 1200 SIEMENS
Trang 2Mục Lục
Bài: 1 Giới thiệu tổng quát về PLC, Phần mềm và cách tạo 1 project mới 1
Giới thiệu tổng quát về PLC s7 1200 1
1.1: Khái niệm về PLC 1
1.2: Phân biệt các loại plc s71200 1
1.3: Cách đấu nối đầu vào (input) 2
1.4: Cách đấu nối đầu ra(Output) 4
Hướng dẫn sử dụng phần mềm Tia Portal 5
2.1: Cách tạo 1 project mới 5
Tài liệu tham khảo: 8
Bài: 2 Giới thiệu các dạng dữ liệu lập trình trong PLC, làm quen các lệnh bit logic cơ bản 9
Các dạng dữ liệu trong lập trình PLC 9
Các lệnh logic cơ bản NO, NC, Coil 9
2.1: Ví dụ về NO, NC, Coil 10
Đối với các loại PLC còn có các lệnh bắt xung sườn lên, xung sườn xuống 12
3.1: Xung sườn lên: 12
3.2: Xung sườn xuống: 15
SR,RS 16
4.1: SR 16
4.2: RS 18
Tài liệu tham khảo xung sườn lên, xung sườn xuống, Set, Reset: 19
Tài liệu tham khảo bit lo-gic: 19
Bài: 3 Lập trình HMI 20
Trang 3Bài: 4 Timer 30
Tổng quan 30
Đối với s7 1200 có tới 4 loại timer: TP, TON, TOFF, TONR 30
2.1: TP: 30
2.2: TON: 32
2.3: TOFF: 34
2.4: TONR: 36
Ví dụ về lập trình timer: 37
Bài tập: 40
Tài liệu tham khảo: 44
Bài: 5 Bộ đếm Counter 45
Giới thiệu chung 45
S7 1200 có 3 loại Counter đếm CTU, CTD, CTUD 45
2.1: CTU bộ counter đếm lên 1 đơn vị 45
2.2: Ví dụ: 45
2.3: CTD bộ counter đếm xuống 1 đơn vị 47
2.4: CTUD: Bộ đếm counter đếm lên, xuống 48
Bài tập: 48
Tài liệu tham khảo: 52
Bài: 6 Lệnh toán học, lệnh so sánh 53
Lệnh toán học 53
1.1: Lệnh cộng(ADD): 53
1.2: Lệnh trừ(SUB): 54
1.3: Lệnh nhân(MUL): 55
1.4: Lệnh chia lấy phần nguyên(DIV): 56
1.5: Lệnh chia lấy phần dư (MOD) 57
Phép so sánh 58
2.1: Chọn kiểu dữ liệu so sánh 58
2.2: Ví dụ: 59
Trang 4Bài tập: 59
Tài liệu hướng dẫn: 64
Bài: 7 Lệnh chuyển đổi dữ liệu, thời gian thực 65
Lệnh chuyển đổi dữ liệu: 65
Ví dụ: 66
Lệnh chuyển đổi thời gian thực 66
3.1: Trước khi đọc các bạn cần khai báo kiểu dữ liệu cho RD_LOC_T 66
Tài liệu tham khảo: 69
Bài: 8 Xử lý tín hiệu Analog 70
Analog input 70
1.1: Cách đấu nối: 70
1.2: Kiểm tra các địa chỉ dữ liệu của các chanel analog 71
Ví dụ: 73
Bài tập: 74
Tài liệu tham khảo: 75
Bài: 9 lập trình điều khiển động cơ bước, servo 76
Tổng quan về động cơ bước và động cơ servo 76
1.1: Động cơ bước: 76
1.2: Động cơ servo: 76
Phân biệt xung PTO và PWM 76
2.1: PWM 76
2.2: PTO 76
Cách khởi tạo dự án điều khiển động cơ servo 77
Ví dụ: 85
Trang 52.1: Bảng chân và chức năng: 92
Ví dụ: 93
Bài tập: 93
Tài liệu tham khảo: 95
Bài: 11 Lập trình SCADA 96
Tổng quan về SCADA 96
Tạo giao diện SCADA cơ bản 96
2.1: Khởi tạo giao diện SCADA cơ bản 96
Wincc Advance smart Sever and Cilent 108
Bài tập tổng hợp 115
Bài: 12 Lập trình điều khiển vòng kín PID 131
Tổng quan hệ thông PID 131
Cấu hình PID 131
2.1: Các chân chức năng: 132
Bài tập: 136
Tài liệu tham khảo: 137
Bài: 13 kết nối mạng truyền thông công nghiệp 138
Tổng quan về mạng truyền thông công nghiệp 138
Cấu hình Profinet 138
Ví dụ: 143
Profibus 147
4.1: Tổng quan 147
4.2: Cấu hình profibus 147
Modbus 153
5.1: Tổng quan 153
5.2: Cấu hình đường truyền modbus 153
Bài tập: 159
Tài liệu tham khảo: 159
Trang 6Bài: 1 Giới thiệu tổng quát về PLC, Phần mềm và cách tạo 1 project mới
Giới thiệu tổng quát về PLC s7 1200
1.1: Khái niệm về PLC
PLC là từ viết tắt của các từ tiếng anh : Programable Logic Controller : là một bộ điều khiển logic lập trình mềm, làm việc theo chương trình lưu trong bộ 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 như LAD , STL, FDB, IL, ST, SFC, SCL
1.2: Phân biệt các loại plc s71200
Trang 7TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
1.3: Cách đấu nối đầu vào (input)
1.3.1: Kiểu source( Nguồn chung)
Đặc điểm kiểu source thường được sử dụng với các loại cảm biến dạng PNP,…
Ví dụ:
Trang 81.3.2: Kiểu sink( Âm chung)
Kiểu sink thường được sử dụng với các loạt cảm biến NPN,…
Ví dụ:
Trang 9TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
1.4: Cách đấu nối đầu ra(Output)
1.4.1: Ngõ ra relay (AC/DC/RLY hoặc DC/DC/RLY)
Ưu điểm
- Cách ly nguồn khỏi PLC qua relay
- Dòng tối đa 2A
Trang 101.4.2: Ngõ ra Transistor(DC/DC/DC)
Hướng dẫn sử dụng phần mềm Tia Portal
2.1: Cách tạo 1 project mới
2.1.1: Bước 1
Click vào biểu tượng TIA PORTAL
2.1.2: Bước 2
Trang 11TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
2.1.3: Bước 3 đặt tên project, chọn đường dẫn
- Project name: Tên project
- Path: chọn đường dẫn lưu lại project
- Version: Version của phần mềm
- Author: Tên tác giả
- Comment: ghi chú project
Click tạo project
2.1.4: Bước 4 Cấu hình thiết bị sử dụng của project
Cấu hình thiết bị
Trang 12Lựa chọn PLC phù hợp với cấu hình bên ngoài
Sau đó chọn ADD
Trang 13TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
2.1.5: Bước 5 Click vào Main để sẵn sàng lập trình
Tài liệu tham khảo:
https://www.youtube.com/watch?v=n2vO8oKOJXY&t=183s
Trang 14Bài: 2 Giới thiệu các dạng dữ liệu lập trình trong PLC, làm quen các lệnh bit logic cơ
bản
Các dạng dữ liệu trong lập trình PLC
BOOL : với dung lượng 1bit và có giá trị là 0 hoặc ( đúng hoặc sai )
BYTE : gồm có bit, thường dùng để biểu diễn 1 số nguyên dương trong khoảng
từ 0 đến 255 ( 16#00 – 16#FF )
WORD : gồm có 2 bytes để biểu diễn một số nguyên dương từ 0 đến 65535 (
16#0000 – 16#FFFF )
CHAR : gồm 8 bits dùng để biểu diễn số nguyên dương từ 0 đến 255
SINT : gồm 8 bits dùng để biểu diễn một số nguyên từ -128 đến 127
INT : gồm 2 bytes dùng để biểu diễn 1 số nguyên từ -32758 đến 32767
DINT : gồm 4 bytes để biểu diễn 1 số nguyên từ - 2, 147,483,648đến
2,147,483,648
USINT : gồm 8 bits để biều diễn 1 số nguyên dương từ 0 đến 255
UINT : gồm 2 bytes để biều diễn 1 số nguyên dương từ 0 đến 65,535
UDINT : gồm 4 bytes để biều diễn 1 số nguyên dương từ 0 đến 4,294,967,295
REAL : gồm 4 bytes dùng để biểu diễn một số thực dấu phảy động từ +/- 1.18
Trang 15TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
2.1: Ví dụ về NO, NC, Coil
2.1.1: Ta có một đoạn code sau:
Ở đây mình có sử dụng thường mở NO : ON(I0.0)
Thường đóng NC(I0.1): OFF, Cuộn Coil: LAMP(Q0.0)
2.1.2: Nguyên lý hoạt động
- Nút ON đóng
Các trạng thái hiển thị như hình code mô phỏng
Trang 16- Khi nút ON mở mạch vẫn tự động duy trì
- Khi ta tác động vào nút OFF(Thường đóng) mạch duy trì sẽ ngắt như mô phỏng đoạn code:
Trang 17TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Đối với các loại PLC còn có các lệnh bắt xung sườn lên, xung sườn xuống
3.1: Xung sườn lên:
- Khi sử dụng lệnh bắt xung sườn lên thì tác động xung từ 0->1 của nút bấm hoặc tiếp điểm chỉ nhận 1 xung rất nhỏ bằng 1 chu kỳ quét của PLC
Ví dụ:
Khi tác động M0.0 Q0.0 sẽ chuyển từ 0->1
Còn Q0.1 sẽ chuyển từ 0->1 nhưng chỉ 1 chu kỳ xung
Trang 18Để phát hiện xung sườn lên ta sử dụng Set và Reset
Khi M0.0 tác động thì cả Q0.0 và Q0.1 đều chuyển trạng thái từ 0->1
Trang 19TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Set: là cuộn hút có giữ khi tác động vào coil set thì trạng thái 1 của cuộn sẽ được lưu lại cho đến khi tác động reset
Reset: Khi tác động reset tất cả các cuộn set trước đó đều chuyển trạng thái từ 1 -> 0
Trang 203.2: Xung sườn xuống:
- Khi sử dụng lệnh bắt xung sườn lên thì tác động từ 1->0 của nút bấm hoặc tiếp điểm chỉ nhận 1 xung rất nhỏ bằng 1 chu kỳ quét của PLC
Trang 21TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Khi tác động M0.0 ngắt Q0.1 sẽ được set lên 1
SR,RS
4.1: SR
- S: Tác động xung 0->1 SR chuyển trạng thái từ 0->1 có giữ
- R1: Tác động xung từ 0-> SR chuyển trạng thái từ 1->0
Trang 23TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Trang 24RS cũng tương tự với SR nhưng khi S1 và R đều được tác động thì RS duy trì trạng thái RS =1
Tài liệu tham khảo xung sườn lên, xung sườn xuống, Set, Reset:
https://www.youtube.com/watch?v=eBeRFeZeHyQ&t=256s
Tài liệu tham khảo bit lo-gic:
https://www.youtube.com/watch?v=I3g_FyaG2K8&t=157s
Trang 25TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Bài: 3 Lập trình HMI
Giới thiệu về HMI
HMI(Human – Machine – Interface): là thiết bị giao tiếp giữa người và máy qua một
giao diện màn hình
1.1: Thiết lập một HMI trong phần mềm tia portal của siemens
1.1.1: Bước 1: chọn Add new device
1.1.2: Bước 2 cấu hình một màn hình HMI phù hợp
Chọn Add
Trang 261.1.3: Bước 3: khai báo kết nối với PLC
Chọn đúng PLC cần khai báo và bấm next
Tự cấu hình các màn hình
Trang 27TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Toolbox thiết kế giao diện cho HMI
Click chuột và kéo các nút bấm hoặc các thiết bị cần sử dụng
Ví dụ: tạo 1 giao diện đơn giản:
- Lấy nút bấm:
- Lấy dữ liệu I/O Field
Trang 281.2: Gắn Tag liên kết giữa PLC với HMI
- Button: Click chuột phải vào Button, chọn event sử dụng press và release
o Press: click chuột trái sử dụng để chuyển trạng thái nút bấm 0 -> 1( Set bit)
o Release: nhả nút bấm sử dụng để chuyển trạng thái nút bấm 1 -> 0(Reset bit)
Trang 29TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
- Gắn tag Flash cho các hình tròn như bóng đèn
o Click chuột phải vào hình tròn, chọn properties, chọn mục animations Chọn Display, chọn dynamize colors and flashing
Click vào dấu “…” chọn tag cho bóng đèn
Trang 30Sau khi gắn tag xong click vào Range chọn trạng thái 1 chuyển màu back ground thành màu tùy ý
Trang 31TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Khi bấm ON đèn LAMP sẽ được tác động
Nhập dữ liệu cho A và B
Trang 33TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Kết quả hiển thị C= A+B
Thử lại:
Lập trình:
Trang 34Tài liệu tham khảo:
Trang 35TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Bài: 4 Timer
Tổng quan
Timer là bộ định thì theo thời gian xác định
Đối với s7 1200 có tới 4 loại timer: TP, TON, TOFF, TONR
2.1: TP:
- IN: cấp tìn hiệu cho timer bắt đầu hoạt động
- PT: Giá trị ngưỡng đặt thời gian của timer
- Q: khi timer đạt tới ngưỡng đặt đầu Q sẽ chuyển từ 0 -> 1
- ET: Giá trị đếm tức thời của timer
2.1.1: Ta có giản đồ thời gian:
Trang 362.1.2: Ví dụ:
Khi tác động cấp IN 0 -> 1 timer sẽ bắt đầu đếm Q sẽ tác động từ khi IN chuyển trạng thái 0-> cho đến khi ET = PT
Khi ET = PT, Q sẽ chuyển từ 0 -> 1
Trang 37TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
2.2: TON:
- IN: Tác động timer bắt đầu hoạt động
- PT: Giá trị đặt ngưỡng thời gian
- Q: Chuyển trạng thái từ 0 - > 1 khi ET = PT
- ET: Giá trị đếm tức thời của timer
2.2.1: Ta có giản đồ thời gian:
Trang 39TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
2.3: TOFF:
- IN: Tác động timer bắt đầu hoạt động
- PT: Giá trị đặt ngưỡng thời gian
- ET: Giá trị đếm tức thời của timer
- Q: Chuyển trạng thái từ 0 -> 1 khi IN chuyển từ 0 -> 1, Chuyển trạng thái từ 1 -> 0 khi
IN = 0 và ET = PT 2.3.1: Ta có giản đồ thời gian:
Trang 402.3.2: Ví dụ:
Khi tác động IN từ 0 -> 1 Q sẽ chuyển từ 0 -> 1
Trang 41TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
2.4: TONR:
Trang 42- IN: Tác động timer bắt đầu hoạt động
- R: Khi timer đếm reset giá trị đếm bằng 0(ET=0)
- PT: Giá trị đặt ngưỡng thời gian
- ET: Giá trị đếm tức thời
- Q: Chuyển trạng thái từ 0 -> 1 Khi ET = PT
Lưu ý: TONR hoạt động như TON nhưng có lưu lại giá trị khi đếm IN chuyển trạng thái từ 1
Trang 43TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Mô tả hoạt động:
Khi tác động S1 bơm 1 chạy 5s, sau đó tắt Sauk hi bơm 1 tắt Bơm 2 chạy 5s, sau đó tắt Bơm
2 tắt bơm 1 lại hoạt động theo 1 vòng tuần khoản luân phiên đến khi dừng S1
Trang 44Khi có s2 tác đông cả 2 bơm cùng chạy s2 dừng lại tiếp tục luân phiên
Trang 45TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Bài tập:
Bài tập: Bài toán điều khiển đèn giao thông tại một ngã tư có hiển thị trên HMI
Trang 46Bài giải:
Gắn tag cho Button và LAMP trên HMI
Bảng địa chỉ PLC
Lập trình
Trang 47TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Trang 48Giám sát hoạt động
Trang 49TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Tài liệu tham khảo:
https://www.youtube.com/watch?v=jqnTkv9gA0w&t=137s
Trang 50Bài: 5 Bộ đếm Counter
Giới thiệu chung
S7 1200 có 3 loại Counter đếm CTU, CTD, CTUD
2.1: CTU bộ counter đếm lên 1 đơn vị
- CU: Khi tác động 1 xung 0~1 có thể lấy lệnh bắt xung sườn lên, xuống hoặc các tiếp điểm bình thường Counter CTU sẽ đếm lên 1 đơn vị
- R: khi R được tác động từ 0 ~ 1 thì giá trị đếm của CTU = 0
- PV: Đặt giá trị ngưỡng đếm cho tác động Q(QU)
- CV: Giá trị đếm của Counter
- Nếu CV >= PV thì C1.QU được tác động
- Lưu ý giá trị của Couter(CV) có thể vượt qua giá trị của PV tối đa theo kiểu dữ liệu đặt 2.2: Ví dụ:
Trang 51TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Khi giá trị CV >= PV C1.QU sẽ tác động
Khi tác động reset giá trị đếm về CV = 0
Trang 522.3: CTD bộ counter đếm xuống 1 đơn vị
- CD: Khi tác động xung từ 0~1 có thể lấy lệnh bắt xung sườn lên, xuống hoặc các tiếp điểm bình thường Counter CTD sẽ đếm xuống 1 đơn vị
- LD: khi tác động xung từ 0 ~ 1 Giá trị đếm của counter sẽ trả về giá trị bằng PV
- PV: là giá trị đặt ngưỡng của Counter
- CV: Giá trị đếm của Counter
- Q: khi giá trị của CTU CV = 0 thì Q(C1.QD) sẽ lên 1
Lưu ý giá trị đếm của của CTD có thể CV <0 tối đa theo kiểu giá trị đặt
Trang 53TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
2.4: CTUD: Bộ đếm counter đếm lên, xuống
- CU: Khi tác động 1 xung 0~1 có thể lấy lệnh bắt xung sườn lên, xuống hoặc các tiếp điểm bình thường Counter CTU sẽ đếm lên 1 đơn vị
- CD: Khi tác động xung từ 0~1 có thể lấy lệnh bắt xung sườn lên, xuống hoặc các tiếp điểm bình thường Counter CTD sẽ đếm xuống 1 đơn vị
- R: khi R được tác động từ 0 ~ 1 thì giá trị đếm của CTU = 0
- LD: khi tác động xung từ 0 ~ 1 Giá trị đếm của counter sẽ trả về giá trị bằng PV
- PV: là giá trị đặt ngưỡng của Counter
- CV: Giá trị đếm của Counter
- Q: khi giá trị của CTU CV = 0 thì Q(C1.QD) sẽ lên 1
- CTUD là kết hợp của CTU và CTD
Bài tập:
- Đếm số lần sáng của đèn và hiển thị lên màn hình
Ta có màn hình sau
Trang 54Gắn tag cho Button, I/O Field
Lập trình
Bảng địa chỉ tag
Chương trình chính
Trang 55TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Trang 57TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Tài liệu tham khảo:
https://www.youtube.com/watch?v=vnQTX0dINBs
Trang 58Bài: 6 Lệnh toán học, lệnh so sánh
Lệnh toán học
- Đối với S7 1200 có đầy đủ tất cả các lệnh +, -, * , / , sin , cos, tan,…
- Những lệnh sử dụng chủ yếu là cộng ADD(+), trừ Sub(-), nhân Mul(*), chia Div(/),…
- Đặc biệt Tia Portal có thêm chức năng Caculate có thể tự do thiết lập các công thức
1.1: Lệnh cộng(ADD):
- chọn dữ liệu cộng:
- EN: Khi tác động xung từ 0 ~ 1 OUT = IN1 + IN2
- Ví dụ:
Trang 59TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
Trang 601.3: Lệnh nhân(MUL):
- Chọn dữ liệu nhân:
- EN: khi tác động mức 1 vào EN giá trị từ OUT = 0 sau khi nhân OUT = IN1 * IN2
- Ví dụ:
Trang 61TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
1.4: Lệnh chia lấy phần nguyên(DIV):
- Chọn dữ liệu chia:
- EN: khi tác động xung từ 0 - > OUT = IN1 / IN2 (chia lấy phần nguyên trừ real)
- Ví dụ:
Khi tác động EN từ 0 -> 1 mw10 = 2
Trang 621.5: Lệnh chia lấy phần dư (MOD)
- Chọn dữ liệu chia:
- EN: khi tác động xung từ 0 -> 1 OUT = IN1 mod IN2 chia lấy phần dư
- Ví dụ:
Trang 63TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ QBB AUTOTECH
- Phép so sánh đúng bước tiếp theo sau nó sẽ được tác động
- Phép so sánh sai giữ nguyên trạng thái