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ở
Trang 1HƯỚ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
1.1.2 Các chế độ hoạt động của PLC 4
Giới thiệu phần cứng PLC 4
Tạo project 5
Kết nối PC với PLC 7
Vận hành 9
Các lệnh cơ bản 10
1.6.1 Bit logic 10
1.6.2 Xung cạnh lên, cạnh xuống 10
1.6.3 Lệnh Set, Reset 11
1.6.4 Các tiếp điểm đặt biệt 12
Timer 13
1.7.1 Timer Pulse 13
1.7.2 Timer ON (TON) 14
1.7.3 Timer OFF (TOF) 16
1.7.4 Timer ON có nhớ (TONR) 17
Counter 20
1.8.1 Counter UP (CTU) 20
1.8.2 Counter DOWN (CTD) 22
1.8.3 Counter UP/DOWN (CTUD) 23
So sánh 24
Lệnh Move 26
Lệnh chuyển đổi 30
1.11.1 Lệnh chuyển đổi 30
1.11.2 Lệnh làm tròn 31
Thời gian thực 33
Xung tốc độ cao HSC 38
1.13.1 Encoder 38
1.13.2 HSC 39
Analog 44
1.14.1 Analog input 44
Trang 31.17.2 MC_Reset 55
1.17.3 MC_Home 55
1.17.4 MC_MoveAbsolute 56
1.17.5 MC_MoveRelative 56
1.17.6 MC_Movejog 57
Chương 2 LẬP TRÌNH PLC ĐIỀU KHIỂN CÁC PHẦN MỀM MÔ PHỎNG 58 Hướ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 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 mục đích khác
Trang 14Nếu không biết lệnh có thể vào Manual
+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+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+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+ 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
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
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
Tính tốc độ động cơ:
Kết quả:
Tocdo
HSC Tmau XungEncoder 60,[v / p]
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
Trang 48Xung PWM
PWM ta cần quan tâm hai giá trị Tcycle, Ton và xác định ngõ phát xung
S7-1200 có V 4.0 trở lên có 4 kênh PWM Còn dưới thì 2 kênh 2 kênh đầu là 100kHz,
2 kênh sau là 30kHz
Ta chọn kênh 1 và tiến hành enable chức năng lên
Trang 49Nếu để 100 thì tính tỷ lệ 0%-100%, tương ứng với bộ PID
Chọn cái chu kỳ phát xung Tcycle là 100ms Thường bé hơn 1s
Chọn cái tần số phát xung ban đầu, tần số này tốt nhất là 20% Chọn 20
Địa chỉ phát xung là Q0.0
Địa chỉ thanh ghi đầu ra
Trang 50Ký hiệu của lệnh
Cách lấy lệnh
Đặt tên
Khai báo
Trang 52- Chú ý ngõ phát xung của phần cứng và tần số tối đa mà phần cứng PLC đáp ứng được
- Lập trình PLC phá xung có tần số được nhập ở FREQUENY
Trang 53- REQ: ngõ vào điều khiển cho phép phát xung
- PTO: địa chỉ kênh xung
- FREQUENCY: nhập tần số
- DONE: Báo trạng thái phát xung thành công
- BUSY: Báo trạng thái ngõ ra đang thực hiện 1 nhiệm vụ khác
- ERROR: Báo lỗi không thể phát xung
- STATUS: Hiển thị mã trạng thái mã lỗi
Điều khiển chuyển động (Motion control)
Cấu hình bộ phát xung PTO