HƯỚNG DẪN THỰC HÀNH PLC
Bình Định, 2024
Trang 2MỤC LỤC
Chương 1 LẬP TRÌNH PLC S7-1200 4
Giới thiệu chung 4
1.1.1 Ưu điểm và bảo mật 4
Trang 3Hướng dẫn cài đặt giao diện mô phỏng 58
Kết nối Module giao tiếp PLC và máy tính 62
2.2.1 Cáp USB kết nối 62
2.2.2 Kết nối với module phần cứng qua Bluetooth 67
Kết nối PLC và Module giao tiếp máy tính 68
2.3.1 Mô hình trạm bơm 69
2.3.2 Mô hình thiết bị trộn hóa chất 70
2.3.3 Mô hình trạm bơm nhiên liệu 71
2.3.4 Mô hình hệ thống sản xuất rượu 73
2.3.5 Mô hình hệ thống phân loại sản phẩm dùng xi lanh khí nén 74
2.3.6 Mô hình thang máy chở người 3 tầng 75
2.3.7 Mô hình dèn giao thông hiện số 76
2.3.8 Mô hình mô phỏng đèn led và led 7 đoạn 77
2.3.9 Mô hình hệ thống băng tải 79
2.3.10 Mô hình điều khiển vị trí dùng động cơ bước 80
2.3.11 Mô hình điều khiển Động cơ KĐB 3 Pha quay 2 chiều có hãm động năng 83
2.3.12 Mô hình điều khiển Động cơ KĐB 3 Pha khởi động sao tam giác quay 1 chiều có hãm động năng 84
2.3.13 Mô hình điều khiển Động cơ KĐB 3 Pha khởi động sao tam giác quay 2 chiều có hãm động năng 85
2.3.14 Mô hình điều khiển Động cơ KĐB rotor lồng sóc khởi động qua 2 cấp R và có hãm động năng 86
2.3.15 Mô hình điều khiển Động cơ KĐB rotor dây quấn quay 2 chiều, khởi động qua 2 cấp R và có hãm động năng 87
Trang 4PHẦN I – THỰC HÀNH ĐIỀU KHIỂN LOGIC NÂNG CAO
Chương 1 LẬP TRÌNH PLC S7-1200
Giới thiệu chung 1.1.1 Ưu điểm và bảo mật
S7-1200 là một dòng của bộ điều khiển logic lập trình (PLC) có thể kiểm soát nhiều Thiết kế nhỏ gọn, chi phí thấp, và một tập lệnh mạnh làm cho chúng ta có những giải pháp hoàn hảo hơn cho ứng dụng sử dụng với S7-1200
S7-1200 bao gồm một microprocessor, một nguồn cung cấp được tích hợp sẵn, các đầu vào/ra (DI/DO)
Một số tính năng bảo mật giúp bảo vệ quyền truy cập vào cả CPU và chương trình điều khiển Tất cả các CPU đều cung cấp bảo vệ bằng password chống truy cập vào PLC
S7-1200 cung cấp một cổng PROFINET, hỗ trợ chuẩn Ethernet và TCP/IP Ngoài ra bạn có thể dùng các module truyền thông mở rộng kết nối bằng RS485 hoặc RS232 1.1.2 Các chế độ hoạt động của PLC
CPU có 3 chế độ hoạt động: chế độ STOP, chế độ STARTUP và chế độ RUN Các LED trạng thái trên mặt trước của CPU biểu thị chế độ hiện thời của sự vận hành Trong chế độ STOP, CPU không thực thi chương trình nào, và ta có thể tải xuống một đề án Trong chế độ STARTUP, các OB khởi động (nếu có) được thực thi một lần Các sự kiện ngắt không được xử lý cho đến pha khởi động của chế độ RUN Trong chế độ RUN, chu kỳ quét được thực thi một cách lặp lại Các sự kiện ngắt có thể xuất hiện và được thực thi tại bất kỳ điểm nào nằm trong pha chu kỳ chương trình Ta không thể tải xuống một đề án trong khi đang ở chế độ RUN
Giới thiệu phần cứng PLC
Trang 5(5) Khe cắm thẻ nhớ
(6) Đèn led báo tín hiệu ngõ vào số (7) Đèn led báo tín hiệu ngõ ra số (8) Ngõ ra số
(9) Cổng kết nối Profinet (LAN)
(10) Đèn báo tín hiệu trạng thái hoạt động PLC Tạo project
Mở chương trình TIA V17 Tạo project mới
Chọn Create new project, đặt tên, nơi lưu sau đó nhấn Create
Cấu hình phần cứng chọn Configure a divice
Sau đó chọn add new device Chọn CPU giống như PLC thật
Trang 6Sau đó chọn add
Vào default tag table, khai báo các tag sẽ sử dụng
Để viết chương trình vào Main
Vào Basic instruction, chọn bit logic operation
Để tạo nút duy trì vào General, chọn open branch
Trang 7Khai báo các tag để hoàn chỉnh project
Vào comment ghi chú chức năng của network
Kết nối PC với PLC
Vào biểu tượng mạng, chọn Open Network and Sharing Center
Vào biểu tượng Local Vào properties
Vào TCP/IPv4
Trang 8Set IP cho máy tính là 192.168.1.10 hoặc 192.168.0.10
Để PC và PLC kết nối được thì ta phải set cùng lớp mạng, khác địa chỉ
Sau khi set xong ta nhấn Save
Chọn download
Chọn PCI nếu download từ LAN Còn Wifi thì chọn card wifi
Nhấn Start search để PC tìm PLC Nếu tìm thấy thì sợi dây liên kết có màu xanh
Trang 9Nhấn Load để tiến hành download
Chọn Delete all để reset các module
Sau đó chọn Load
Nhấn Finish để kết thúc Vận hành
Vào lại Main, chọn Go online
Để xem online nhấn Monitoring
Trang 10Muốn nhấn Start thì phải có phần cứng, hoặc có thể vào Modify
Xung cạnh lên, xung cạnh xuống, set, reset 1.6.2 Xung cạnh lên, cạnh xuống
Để lấy lệnh xung cạnh lên ta vào basic instruction, chọn Positive
Trên ta nhập vào địa chỉ cần bắt xung Ví dụ M0.6
Trang 11Ví dụ M0.7
Chú ý: Xung P chỉ lên 1 lần trong chu kỳ quét của PLC, do đó muốn Motor chạy thì phải có duy trì hoặc dùng lệnh set để bắt nó
Xung cạnh xuống dùng tương tự xung cạnh lên, lệnh là N 1.6.3 Lệnh Set, Reset
Lệnh set được dùng để bắt tín hiệu, khi đó PLC sẽ cưỡng bức 1 bit lên 1 Khi được set thì bit đó sáng hoài không thể tắt Để tắt ta phải dùng lệnh reset
Để thay đổi ngõ ra ta double click vào ngõ đó, sau đó nhấn chọn
Kết quả
Ngoài việc set 1 bit còn có thể set 1 byte
Trang 121.6.4 Các tiếp điểm đặt biệt
Muốn dùng các tiếp điểm đặc biệt trong S7-1200 ta phải kích hoạt Để mở chức năng các tiếp điểm đặc biệt ta làm như sau:
Chọn Properties
Vào tab General chọn System and clock memory
Chọn Enable Để kích hoạt các tiếp điểm đặc biệt của system memory byte Địa chỉ này có thể thay đổi được, nhưng mặc định là MB1
Trang 13Chú ý: các bit M đã cấu hình là các tiếp điểm đặc biệt thì không được dùng vào
Trang 14Nếu không biết lệnh có thể vào Manual
+PT: thời gian định thì mặc định là ms, có thể thêm đơn vị ở đằng sau như s, m, h, d, +Q: là ngõ ra được thực thi khi hết thời gian
+ET: giá trị thời gian hiện tại
- Khi ngõ vào IN được cấp xung thì ngõ ra Q sẽ lên 1 trong khoản thời gian PT được đặt trước đó mà không cần quan tâm xung IN cấp vào dài hay ngắn, 1 xung hay 2 xung Nên được gọi là timer xung (TP)
1.7.2 Timer ON (TON)
- Để là việc với Timer ta vào Timer On Delay trong Basic intruction, Thay đổi IN sang “FALSE”, trong khi bộ định thì vận hành, sẽ đặt lại và dừng bộ định thì
Đặt tên
Cú pháp
Trang 15- Có thể hiểu:
+IN: ngõ vào cấp nguồn cho phép hoạt động, dạng bool, vùng nhớ có thể I, Q, M, D, L, P,…
+PT: thời gian định thì mặc định là ms, có thể thêm đơn vị ở đằng sau như s, m, h, d, +Q: là ngõ ra được thực thi khi hết thời gian
+ET: giá trị thời gian hiện tại
- Khi ngõ vào IN được cấp 1 tín hiệu “True” bộ định thời sẽ bắt đầu tính thời gian và sau 1 khoảng thời gian bằng PT thì ngõ ra Q sẽ hoạt động Khi ngõ vào IN về “False” thời gian sẽ được đặt lại về 0
Ví dụ: tạo chu kỳ đèn sáng tắt 1p
Ví dụ dùng Timer tạo 1 biến đếm
-Không được dùng ngõ ra của Timer để reset timer, mà phải dùng biến đệm
Trang 16Không dùng được
1.7.3 Timer OFF (TOF)
Ngược lại với Timer ON, ta có Timer OFF delay (TOF) trong Basic intruction
Đặt tên
Trang 17- Có thể hiểu:
+IN: ngõ vào cấp nguồn cho phép hoạt động, dạng bool, vùng nhớ có thể I, Q, M, D, L, P,…
+PT: thời gian định thì mặc định là ms, có thể thêm đơn vị ở đằng sau như s, m, h, d, +Q: là ngõ ra được thực thi khi hết thời gian
+ET: giá trị thời gian hiện tại
- Khi ngõ vào IN được cấp 1 tín hiệu “True” bộ định thời sẽ không hoạt động và giá trị thời gian luôn trở về mặt định 0, ngõ ra Q sẽ có tín hiệu hoạt động liên lục Khi ngõ vào IN chuyển sang “False” lúc này bộ định thời sẽ bắt đầu đếm thời gian và cho phép ngõ ra Q hoạt động cho đến lúc đếm hết thời gian cài đặt PT
Ví dụ:
1.7.4 Timer ON có nhớ (TONR)
- Được lấy trong mục Basic Instructions
Trang 18+R: ngõ vào nhận tín hiệu đặt lại thời gian đếm
+PT: thời gian định thì mặc định là ms, có thể thêm đơn vị ở đằng sau như s, m, h, d, +Q: là ngõ ra được thực thi khi hết thời gian
+ET: giá trị thời gian hiện tại
- Tương tự như 1 Timer ON, TOR cũng hoạt động khi IN “True” nhưng khác với TON, khi IN về “False” TOR không đặt lại thời gian đếm mà dừng đếm tại thời điểm IN về “False” và sẽ đếm tiếp khi IN “True” TOR chỉ đặt lại thời gian đếm về 0 khi ngõ vào R ”True”
Ví dụ: tạo 1 TOR đếm 10s
Trang 21Cấp nguồn cho chân Reset
Đặt giá trị đếm cho counter
Ngõ ra của counter là “C”.QU có thể dùng để điều khiển đèn
Trang 221.8.2 Counter DOWN (CTD) - Để lấy counter ta vào
- Chọn CTD
Trang 23- Đặt tên
- Cú pháp
+ CD: với mỗi lần ngõ vào CD thay đổi từ “False”=>”True” thì Counter đếm xuống 1 + LD: ngõ vào đặt lại số đếm được cài đặt ở PV
+ PV: số lần đếm cần thiết để thực hiện 1 lệnh tại Q + Q: ngõ ra hoạt động sau khi số đếm hiện tại <=0 + CV: số đếm hiện tại
1.8.3 Counter UP/DOWN (CTUD) - Là sự kết hợp của cả CTU và CTD
Trang 24- Cú pháp
+ CU: với mỗi lần ngõ vào CU thay đổi từ “False” =>”True” thì Counter đếm lên 1 + R: ngõ vào đặt lại số đếm về 0
+ CD: với mỗi lần ngõ vào CD thay đổi từ “False”=>”True” thì Counter đếm xuống 1 + LD: ngõ vào đặt lại số đếm được cài đặt ở PV
+ PV: số lần đếm cần thiết để thực hiện 1 lệnh tại Q + QU: ngõ ra hoạt động sau khi số đếm hiện tại >=PV + QD: ngõ ra hoạt động sau khi số đếm hiện tại <=0 + CV: số đếm hiện tại
- Điểm khác biệt của CTUD với CTU và CTD là khi CTUD đếm lên hoặc đếm xuống đến 1 giá trị thì lệnh đếm lên hoặc đếm xuống tiếp theo sẽ bắt đầu từ giá trị đó
So sánh
Để dùng lệnh so sánh ta vào
Có nhiều lệnh so sánh như: ==, <>, >=, <=, >, <
Chọn dữ liệu so sánh
Trang 25Ví dụ:
Ví dụ: bài tập kết hợp Timer, counter
Trang 26Lệnh Move
Move là lệnh coppy giá trị Có những kiểu giá trị Move như sau: Trong 1200 lệnh Move dùng chung cho tất cả các kiểu dữ liệu:
Trang 27Hoặc có thể dùng xung clock 1Hz để tạo xung cho counter
Trang 28Vấn đề là Counter có nhớ sau khi đếm Để xóa giá trị Counter khi PLC bắt đầu chạy ta cần phải reset counter Để reset có 2 cách: dùng OB100 hoặc First Scan
+Dùng OB100:
Vào Program block chọn Add new block
Chọn Startup
Sau đó ctick vào Add new and open và nhấn OK
Block này có nhiệm vụ restart, nên muốn restart gì thì đem vào đây Ví dụ muốn khi bật PLC lên thì Counter C1 có giá trị đếm là 0
Khi PLC đang chạy counter đang đếm
Khi stop PLC
Trang 29Và khi On PLC lại
Và giá trị counter bắt đầu về 0
Hoặc dùng first Scan cũng tương tự
Trang 30Hoặc reset Counter
Lệnh chuyển đổi 1.11.1 Lệnh chuyển đổi
Lệnh Convert dùng để chuyển đổi kiểu dữ liệu
Ví dụ: chuyể đổi Real sang Int
Trang 31Có thể thay đổi định dạng của tag bằng Rewire tag thay vì ta mở tag lên và định dạng cho MD0 là Real
1.11.2 Lệnh làm tròn
Để làm tròn số ta dùng lệnh ROUND
Lấy lệnh và định dạng đầu vào / ra
Real thì dùng MD, MD thì phải cách 4 giá trị
Hoặc có thể xem đúng kiểu chưa
Nếu đã đúng thì không cần format lại
Trang 32Khi nhập 3.4 thì được làm tròn là 3.0
Và khi 3.6 thì được làm tròn là 4.0
Vậy ROUND được làm tròn theo quy tắt là lớn hơn 0.5 thì tròn lên Bé hoặc bằng 0.5 thì làm tròn xuống
Khác với ROUND thì CEIL là lệnh làm tròn lên Nếu lớn 0.0 là được làm tròn lên
Khác với CEIL thì FLOOR là lệnh làm tròn xuống Nếu bé hơn 0.9 thì làm tròn xuống
Ngoài ra còn có lệnh làm tròn xuống cho cả số thập phân và số nguyên, đó là lệnh TRUNC
Đối với số thập phân sang số nguyên
Trang 33Chọn khối read local time
Read local là đọc thời gian của máy tính, nghĩa là máy tính có thời gian sao thì PLC đọc vậy
Chọn RET_Van là MW100 Để đọc được ta cần phải cấu hình 1 khối DB
Đặt tên khối DB
Trang 34Sau đó chọn Add new and open và nhấn ok
Đặt tên và khai báo kiểu dữ liệu DTL, khi đó trước tên có dấu sổ
Nhấn sổ ra
Chọn xuất thời gian thực ra
Trang 35Muốn đọc giờ thì ta chỉ cần Move
Chọn là giờ
Xuất ra vùng nhớ dạng Byte
Đặt tên tag là giờ
Kiểu dữ liệu phải đúng trong bảng
Trang 36Sau đó nhấn change
Có thể kiểm tra lại
Hiện tại là 2 giờ 40 phút ngày 01/02/2012
Kết quả trên không đúng với ngày giờ của máy tính
Để khắc phục thì ta vào cấu hình lại phần cứng
Trang 37Vào phần time of day chọn lại múi giờ
Sau đó nhấn OK
Download phần cứng
Sau đó download chương trình Nếu muốn thay đổi ngày giờ để mô phỏng làm cách sau:
Trang 38Sau đó bỏ chọn Take from PG/PC (không sử dụng ngày giờ của máy tính) Set lại thời gian cần thay đổi để mô phỏng (không cần thay đổi ngày giờ của hệ thống) Sau đó chọn apply
Ví dụ: bài tập thời gian thực
Xung tốc độ cao HSC 1.13.1 Encoder
Encoder là bộ mã hóa quay Là thiết bị cơ điện dùng để chuyển đổi vị trí góc hoặc chuyển động của trục thành dạng tín hiệu Analog hoặc Digital
Trong máy CNC encoder được dùng gia công cơ khí chính xác hoàn toàn tự động Điều khiển và xác định các góc quay của dao hoặc bàn gá Trong robot tự động, encoder được dùng để xác định tọa độ cánh tay robot Ngoài ra, encoder còn được gặp trong thang máy, máy cán tôn, máy cắt thép, máy dán tem sản phẩm, băng tải, băng chuyền, …
Trang 39Đặt tên và enable chức năng HSC
Chức năng của HSC
Khai báo chức năng đếm là count Có nhiều chức năng: đếm xung, đếm chu kỳ, tần số, Motion control Để đếm tốc độ động cơ ta dùng 2 pha A, B
Các thông số khác không thay đổi so với mặc định
Trang 40Khai báo phần cứng: encoder đọc 2 xung A, B ứng với I0.0 và I0.1
Do tốc độ động cơ cao, nên cần phải lọc ngõ vào là Micro giây
Ngõ ra HSC mặc định lưu với địa chỉ ID1000
Lấy lệnh HSC vào Technology
Trang 41Đổi tên
Lấy lệnh ra main
Trong đó:
+EN: đầu vào cho phép HSC hoạt động
+HSC: địa chỉ phần cứng của HSC Để biết HSC có địa chỉ nhiêu ta vào xem trong phần PLC tags -> Show all tags -> System constants:
Trang 42Khi đó HSC_1 có địa chỉ là 257 +DIR: yêu cầu chiều đếm mới
+CV: yêu cầu thiết lập giá trị đếm mới +RV: yêu cầu thiết lập giá trị tham chiếu mới
+PERIOD: chỉ dùng khi đếm chu kỳ
+NEW_DIR: thiết lập chiều đếm mới, nếu 1 đếm lên, -1 thì đếm xuống +NEW_CV: giá trị đếm mới
+NEW_RV: giá trị tham chiếu mới +NEW_ PERIOD: ta không dùng +BUSY: thông báo chức năng bận +STATUS: hiển thị code trạng thái
80A1 HSC identifier does not address a HSC
Trang 43Thiết lập HSC bao gồm tên 257 và điều kiện reset giá trị xung
Lấy giá trị xung đọc được
Tạo thời gian lấy mẫu
Sau 0.5s thì lấy mẫu 1 lần
Trang 44Kết quả ở tần số 5Hz thì tốc độ là 163 vòng/phút Analog
1.14.1 Analog input
Nếu con thường không có Analog thì ta phải add device
Vào xem địa chỉ mặc định của 2 kênh Analog Có địa chỉ mặc định là IW64 và IW66 Chỉ đọc điện áp từ 0-10V
Vào Conversion operations lấy 2 khối NORM và SCALE
Trong khối NORM có:
+EN: điều kiện để khối hoạt động
Trang 45+VALUE: giá trị trung gian muốn Scale (thông thường là Real) +MAX: giá trị lớn nhất, có thể 50Hz, 2950rpm,
+OUT: vùng nhớ giá trị để lưu giá trị cuối cùng
Hoặc có thể tạo chương trình con để đọc được Analog Input và Output thì ta dùng khối FC
Ví dụ: đọc tín hiệu nhiệt độ của con PT100
Vì PT100 cho ra điện trở, để ra được nhiệt độ cần có bộ chuyển đổi R sang 0-10V
Giá trị ra này chưa thể sử dụng được, do đó ta phải đi xử lý tiếp
Trang 461.14.2 Analog output
Trước khi xuất ra tín hiệu Analog, thì ta cần phải xem cấu hình PLC có chức năng Analog output không, nếu có thì địa chỉ nhiêu, chức năng đọc dòng hay áp
Phải chuột vào module, chọn properties
Ta thấy có 2 kênh Analog output
Có thể thay đổi chức năng dòng hoặc áp 1.14.3 Chương trình con
Để giải quyết loại bài tập có nhiều chế độ độc lập nhau thì ta dùng chương trình con Ví dụ viết chương trình điều khiển đèn 2 chế độ: Tự động: thì đèn sang tắt 0.5s Chế độ tay thì đèn được điều khiển thông qua công tắt
Trong MAIN: trong Main thường dùng để gọi chương trình con, để gọi chương trình ta chỉ cần rê và thả
Gọi chương trình Manual
Trang 47Chương trình con: chương trình con thường nằm trong khối FC
Chương trình tự động: đèn tự động sáng tắt 0,5s
Chương trình con tay: đèn được bật tắt bằng tay
Bài tập: viết chương trình đèn giao thông có hai chế độ bình thường và nhấp nháy Chọn chế độ bằng thời gian thực hoặc nút nhấn.Xung PWM/PTO