Bước 5 : Cấu hình cho chức năng xử lí tín hiệu Analog hoạt động
2 đầu vào Analog trên PLC đã được cấu hình mặc định trong PLC S7-1200: - Địa chỉ vùng nhớ chứa giá trị tín hiệu Analog : IW64
- Kiểu tín hiệu Analog : Điện áp - Dải đo : 0…10V
62
trong PLC S7-1200
Bước 6: Cấu hình module giao tiếp CM1241
- Ở thanh Hardware catalog chọn Communication module ▶ Point-to- Point
▶ CM1241 (RS422/485) ▶ 6ES7 241-1CH31-0XB0
Hình 5. 21 Lựa chọn module CM 1241 RS422/485
Khi chọn vào module thì thấy trạm PLC sẽ thêm các slot ở phía bên trái. Và chúng ta nhấn đúp thêm một lần nữa để thêm module vào Rack
Hình 5. 22 Ghép nối Module CM1241 RS422/485 với PLC S7-1200
Chọn module CM1241 RS422/485 chọn tab Properties ▶ RS422/485 interface ▶ IO-Link để thiết lập các thông số:
63
GVHD: SV: Phạm Khắc Hải
Báo cáo đồ án tốt nghiệp Lớp: TĐH & ĐK - K55
+ Operating mode- Chế độ truyền: Half duplex (RS485) two-wire operation. + Receive line initial state: none.
+ Baud rate- Tốc độ truyền: 9600 kbps. + Parity- Kiểm tra chẵn lẻ : No partiy.
+ Data bits- Độ dài dữ liệu: 8 bits per character. + Stop bits:1.
Hình 5. 23 Thiết lập thông số truyền thông cho Module CM1241 RS422/485 Sau khi thiết lập xong cấu hình phần cứng,tiếnOnlinehành downloadDownloadcấuto hìnhdevicexuống tiếnOnlinehành downloadDownloadcấuto hìnhdevicexuống
PLC bằng cách nhấn vào Edit ▶ Complie ▶ ▶
64
GVHD: SV: Phạm Khắc Hải
K55
Hình 5. 24 Giao diện download chương trình xuống PLC S7-1200
Trong đó:
- Type of the PG/PC interface : giao thức truyền – PN/IE
- PG/PC interface : tên card Enthernet trên máy tính , nạp chương trình qua cổng Enthernet nên chọn card Realtek PCIe FE Family Controller
Sau đó nhấn Start search để tìm PLC , sau khi tìm, chọn PLC và nhấn Load để download chương trình cấu hình phần cứng xuống PLC S7-1200
Hình 5. 25 Tìm kiếm PLC trong mạng
65
K55
5.3.2. Lập trình PLC S7-1200 trên TIA Portal
Tạo các khối chương trình
Tia Portal luôn tạo sẵn 1 khối OB Main là khối chương trình chính của project, tùy vào nhu cầu sinh viên có thể tạo thêm các khối chương trình khác.
Bước 1. Ở thanh Project tree nhấp 2 lần vào Add new block
Hình 5. 26 Tao block cho chương trình
Bước 2. Màn hình Add new block sẽ hiện ra cho chọn khối muốn tạo
- Organization block: Program cycle, Start up, Time delay interrupt, Cylic interrupt…
- Function block, Function, Data block.
- Cho phép lựa chọn ngon ngử lập trình: LAD, FBD, SCL.
66
chương trình
- Trong chương trình PLC dùng các khối sau:
+ Main (OB1): chương trình chính gồm các lệnh cho quá trình calib, truyền thông Modbus RTU giao tiếp với biến tần, kiểm tra các lỗi cũng như vận hành mô hình.
+ tính khối lượng (FB1): xử lí tín hiệu analog để tính khối lượng thực tế. + tính tốc độ hiện tại [FB2]: xử lí tín hiệu Encoder để tính vận tốc dịch chuyển của băng tải
+ zero calibration [FB3] : tính giá trị trừ bì
+ PID (OB31): là cyclic interrupt để chạy khối PID và xuất tính hiệu xuống biến tần.
+ Các khối DB tương ứng với các FB và khối DB Data để lưu trữ dữ liệu.
Hình 5. 28 Các khối chương trình trong PLC
Bước 3. Lập trình trên khối chương trình vừa tạo Môi trường lập trình
gồm:
- Các network để viết code.
- Thanh Instructions chứa các lệnh, các khối lệnh.
67
GVHD: SV: Phạm Khắc Hải
Báo cáo đồ án tốt nghiệp Lớp: TĐH & ĐK - K55
Hình 5. 29 Giao diện Môi trường lập trình PLC trên TIA Portal
Các lệnh sử dụng trong chương trình
Hình 5. 30 Chương trình khởi chạy băng tải
Hình 5. 31 Tiếp điểm thường đóng, thường hở
Tiếp điểm thường hở (NO) sẽ đóng lại khi bit lên 1 và ngược lại. Tiếp điểm thường đóng (NC) sẽ mở ra khi bit lên 1 và ngược lại.
68
Báo cáo đồ án tốt nghiệp Lớp: TĐH & ĐK - K55
Hình 5. 32 Cuộn coil/ Ngõ ra
Nếu luồng tín hiệu chạy qua cuộn dây ngõ ra thì bit tín hiệu ngõ ra sẽ lên 1. Nếu có luồng tín hiệu chay qua cuộn dây ngõ ra đảo bit tín hiệu ngõ ra đảo sẽ về 0.
Hình 5. 33 Lệnh Set , Reset
Khi lệnh Set được kích hoạt bit ngõ ra sẽ được đặt lên 1 và chỉ được đặt về 0 khi lệnh Reset được kích hoạt.
Hình 5. 34 Lệnh so sánh
Dùng để so sánh 2 giá trị của cùng 1 kiểu dữ liệu.
Khi việc so sánh là đúng thì tiếp điểm sẽ được kích hoạt. Khi nhấp chuột vào lệnh sinh viên có thể lựa chọn kiểu so sánh.
69
Báo cáo đồ án tốt nghiệp Bảng 5. 1 Các lệnh so sánh Kiểu quan hệ == <> >= <= > <
5.3.3. Lập trình trình xử lí tín hiệu xung tốc độ cao từ Encoder
Sau khi cấu hình phần cứng cho bộ HSC để sử dụng sinh viên chi cần khái báo địa chỉ vùng nhớ của HSC mà sinh viên chọn để sử dụng. Có thể dùng khối “CTRL_HSC” trong việc quản lí giá trị xung đọc về.Các bước thêm khối “CTRL_HSC” như sau: Instructions ▶ Technology ▶ Counting ▶ CTRL_HSC. Khi thêm khối CTRL_HSC thì mô hình sẽ tự tạo 1 khối Instance
Data block để lưu trữ dữ liệu của khối CTRL_HSC.
Hình 5. 35 Khối xử lý xung tốc độ cao CTRL_HSC70 70
TIEU LUAN MOI download : skknchat@gmail.com
Báo cáo đồ án tốt nghiệp
Bảng 5. 2 Tham số của CTRL_HSCTham số Tham số HSC DIR CV RV PERIOD NEW_DIR NEW_CV NEW_RV NEW_PERIOD
Số xung Encoder lưu ở ô nhớ ID1000 đang ở kiểu dữ liệu số nguyên Dint cần chuyển sang kiểu sô thực Real để tiện tính toán
Hình 5. 36 Chuyển đổi giá trị xung Encoder đếm được
Hình 5. 37 Lệnh chuyển đổi kiểu dữ liệu (CONV) 71
Báo cáo đồ án tốt nghiệp Lớp: TĐH & ĐK - K55
Lập trình tính tốc độ dịch chuyển của băng tải
Cứ sau mỗi 100“xungms,_hiệnchương_tại”trình NGẮT sẽtốcđọcđộgiádịchtrịchuyểnxungencodercủabăngvề vàtải
gán cho vùng nhớ sau đó tính theo công thức.
=( × × )/ ( 0.1 × ) ( / )
Với:
: xung Encoder đếm được
Gán
: đường kính con lăn bị dẫn (
phép toán trên vào lệnh CALCULATE
Hình 5. 38 Lệnh CALCULAT
Các phép toán biểu thức được ghi ở ô “OUT:=”, IN1, IN2,IN3,IN4 và IN5
là tham số đầu vào tương ứng lần lượt với , , , 0.1 và . OUT là kết quả phép toán.
Hình 5. 39 Tính tốc độ dịch chuyển của băng tải
72
GVHD: SV: Phạm Khắc Hải
K55
5.3.4.Lập trình xử lí tín hiệu Analog
Để xử lí tín hiệu Analog trả về tín hiệu áp 0-10v từ bộ khuếch đại tín hiệu Loadcell ,ta sử dụng kết hợp 2 tập lệnh NORM_X và SCALE_X
Hình 5. 40 Lệnh NORM_XBảng 5. 3 Tham số của lệnh NORM_X Bảng 5. 3 Tham số của lệnh NORM_X
Tham số EN MIN VALUE MAX OUT
Tín hiệu analog dạng điện áp sẽ được chuyển tuyến tính sang giá trị số và lưu vào vùng nhớ IW64
Hình 5. 41 Quy đổi tín hiệu Analog sang tín hiệu số
73
K55
Lệnh NORM_X làm chuẩn hóa thông số VALUE bên trong phạm vi giá trị được xác định bởi các thông số MIN và MAX:
OUT = (VALUE – MIN) /(MAX – MIN) = IW64/27648
với (0,0 <= OUT <= 1,0).
Hình 5. 42 Lệnh SCALE_X Bảng 5. 4 Tham số của lệnh SCALE_X
Tham số EN MIN VALUE MAX OUT
Lệnh SCALE_X định tỷ lệ của thông số số thực được chuẩn hóa VALUE, với (0,0 <= VALUE <= 1,0), để chuyển đổi giá trị VALUE sang một tầm giá trị mới phù hợp với yêu cầu sử dụng. Ở đây là thành giá trị khối lượng vật lý và phạm vi giá trị được xác định bởi các thông số MIN và MAX.
Khối lượng đo bởi loadcell được tính theo công thức:
OUT = VALUE *(MAX –MIN) + MIN= MD50*10 (kg)
5.3.5.Lập trình giao thức truyền thông Modbus RTU
Để PLC có thể giao tiếp với biến tần LS IG5A qua giao thức truyền thông Modbus RTU cần phải dùng 2 khối lệnh của TIA Portal là: MB_COMM_LOAD và MB_MASTER.
74
GVHD: SV: Phạm Khắc Hải
Báo cáo đồ án tốt nghiệp Lớp: TĐH & ĐK - K55
Khối MB_COMM_LOAD: dùng để thiết lập port giao tiếp cho Modbus RTU. Bất kì khối MB_COMM_LOAD nào được tạo thì hê thống cũng sẽ sinh ra 1 khối instance data block cho khối lệnh đó.
Hình 5. 43 Khối MB_COMM_LOAD
Hình 5. 44 Khối Data block đi kèm với khối
MB_COMM_LOAD Bảng 5. 5 Bảng chức năng các chân của khối MB_COMM_LOAD Thông số REQ PORT BAUD PARITY MB_DB DONE ERROR GVHD:
Báo cáo đồ án tốt nghiệp Lớp: TĐH & ĐK - K55
STATUS
Đầu tiên, thêm bit FirstScan cho thông số REQ. Thông số này sẽ kích hoạt khối lệnh khởi tạo khi có cạnh lên
Hình 5. 45 Thêm bit FirstScan
Tiếp theo là chọn Port giao tiếp cho MODBUS. Giá trị của PORT chính là giá trị của thông số Hardware indentifier trong quá trình thiết lập module lúc đầu. Sau khi chọn Module CM 1241 thì chương trình sẽ tự gán Port phù hợp cho khối lệnh như hình dưới.
Hình 5. 46 Định danh phần cứng của Module SM1241 RS422/485
Hình 5. 47 Chọn cổng PORT
76
Báo cáo đồ án tốt nghiệp Lớp: TĐH & ĐK - K55
Sau đó, chọn thêm tốc độ BAUD và kiểm tra tính chẵn lẻ cho khối khởi tạo. Chọn giá trị baud phổ biến là 9600 và không kiểm tra tính chẵn lẻ
( Parity=0).
Khối MB_MASTER: thiết lập chương trình hiện tại như 1 master có thể gửi các yêu cầu xuống Biến tần LS IG5A. Bất kì khối MB_MASTER nào được tạo ra thì 1 instance dasta block cũng sẽ tương ứng được tạo ra.
Hình 5. 48 Khối MB_MASTER
Hình 5. 49 Khối Data block đi kèm với khối MB_MASTER Bảng 5. 6 Bảng chức năng các chân của MB_MASTER Bảng 5. 6 Bảng chức năng các chân của MB_MASTER
Chân
REQ
MB_ADDR MODE
TIEU LUAN MOI download : skknchat@gmail.com
Báo cáo đồ án tốt nghiệp
DATA_ADDR DATA_LEN DATA_PTR DONE ERROR STATUS BUSY
Sau khi chọn xong khối MB_MASTER, quay trở lại khối MB_COMM_LOAD, chọn thông số MB_DB và chọn khối lệnh MB_MASTER_DB như hình dưới
Hình 5. 50 Thêm Data block MB_MASTER_DB vào MD_DB
Tiếp theo, ta thêm các thông số cần thiết cho khối MB_MASTER để thiết lập truyền dữ liệu cho Biến tần LS IG5A.
GVHD: SV: Phạm Khắc Hải
K55
Đầu tiên, ta khai báo 1 bit tên là “REQ” vào chân REQ để cho phép việc truyền dữ liệu cho Biến tần được thực hiện. Sau đó khai báo địa chỉ là M2.4 bằng cách chọn chuột phải và chọn “Define tag…”
Hình 5. 51 Khai báo bit điều khiển truyền dữ liệu
Tiếp theo, ta khai báo địa chỉ Biến tần LS IG5A trong mạng MODBUS. Trong đồ án, biến tần LS IG5A có địa chỉ là 1. Vì vậy, ta nhấn đúp vào thông số MB_ADDR và thêm giá trị 1 như hình dưới
Hình 5. 52 Khai báo địa chỉ biến tần LS IG5A
Sau đó, ta sẽ chọn chế độ giao tiếp truyền thông với biến tần. Trong đồ án, ta cần truyền lệnh điều khiển và giá trị tần số xuống biến tần LS IG5A nên sẽ chọn chế độ là GHI, Vì vậy, ta sẽ chọn giá trị MODE là 1
Hình 5. 53 Chọn chế độ GHI dữ liệu xuống biến tần
Tiếp tục, thêm địa chỉ thanh ghi bắt đầu gần GHI trên biến tần LS IG5A vào thông số DATA_ADDR. Trong đề tài, ta cần thay đổi tần số, và điều khiển biến tần chạy, dừng thông qua giao tiếp truyền thông Modbus RTU. Theo tài liệu
79
K55
biến tần LS IG5A, địa chỉ thanh ghi Tần số yêu cầu và thanh ghi Lệnh điều khiển lần lượt là 0x0005 và 0x0006.
Hình 5. 54 Địa chỉ thanh ghi trên biến tần LS IG5A
Vì vậy, ta sẽ điền giá trị thông số DATA_ADDR là 40005, DATA_LEN là 2
Hình 5. 55 Gán địa chỉ thanh ghi cho DATA_ADDR
Sau đó,ta tạo 1 Data block để chứa giá trị cần truyền xuống biến tần. Và thông số DATA_PTR như một con trỏ để trỏ đến khối dữ liệu này.
Hình 5. 56 Khối dữ liệu chứa giá trị truyền
80
K55
Hình 5. 57 Gán giá trị cho thông số DATA_PTR
5.3.6.Lập trình PID
Để giải quyết bài toán ổn định lưu lượng nguyên liệu trên băng tải trong đề tài, ta sử dụng giải thuật PID. Trong phần mềm TIA Portal đã được tích hợp sẵn hàm PID hỗ trợ người lập trình trong quá trình xây dựng ứng dụng của mình.
Trong Tia Portal có 2 khối PID:
+PID_Compact: được sử dụng cho hầu hết các ứng dụng theo kiểu tự chỉnh.
+PID_3Step: sử dụng cho các đối tượng điều khiển là động cơ bước. Trong chương trình này sẽ sử dụng bộ PID_Compact.
Để thêm khối vào chương trình ta làm như sau: Instructions ▶ Technology ▶ PID Control ▶ Compact PID ▶ PID_Compact.
Hình 5. 58 Lựa chọn khối PID_Compact
81
K55
Hình 5. 59 Khối PID_Compact
Khi tạo khối PID_Compact thì mô hình sẽ tự tạo 1 khối Instance Data block để lưu trữ dữ liệu của khối PID_Compact.
Hình 5. 60 Khối Data block đi kèm với PID_Compact
Thuật toán PID luôn cần lấy mẫu theo chu kì nên cần đặt khối PID vào chương trình ngắt. Cách tạo chương trình ngắt theo chu kì 100ms:
Add new block ▶ Organization block ▶ Cyclic interrupt ▶ OK
82
K55
Hình 5. 61 Tạo khối Cyclic interrupt
Cấu hình thông số bộ PID: đối với khối PID_Compact, ta cần cấu hình trước khi chuyển sang chế độ vận hành (Commissioning).
Có 2 cách cấu hình:
-Cách 1 – kích chuột phải vào bộ PID và chọn Properties.
-Cách 2 – kích chuột vào biểu tượng configuration màu xanh góc trên bên phải. Tiến hành cấu hình như sau:
Basic setting:
+ Controller type: tùy vào đối tượng điều khiển mà sinh viên lựa chọn
cho phù hợp với ứng dụng. + Mục Input: có 2 lựa chọn sau:
- Input_PER (Analog): bộ PID sẽ tự động scale giá trị analog hồi tiếp
về.
- Input: phải xử lý giá trị analog trước khi đưa vào bộ PID.
+ Mục Output: có 3 lựa chọn:
- Output: Ngõ ra của PID định dạng theo số thực
- Output_PER: Ngõ ra của PID định dạng theo Anaalog ouput
- Output_PWM : Ngõ ra của PID định dạng theo độ rộng xung
83
K55
Dựa vào vào yêu cầu đề tài, cần kết hợp tín hiệu analog của loadcell và tín hiệu xung của Encoder để có được tín hiệu lưu lượng phản hồi về bộ PID nên ta thiết lập Basic setting như sau:
- Controller type : Flow (lb/hr)
- Chọn Activate Mode after CPU Reset giúp giữ được trạng thái hoạt động của bộ PID khi đã cấu hình hoàn chỉnh xong , dù CPU khởi động lại hay mất điện
- Input : Input
- Ouput : Output_PER
Hình 5. 62 Thiết lập Basic setting
PID parameter: thể hiện các thông số PID. Các thông số này sẽ được
mô hình tự động tìm ra, nếu muốn thay đổi thì chọn vào Enable manual entry.
Hình 5. 63 PID Parameter trong PID_Compact.
84
TIEU LUAN MOI download : skknchat@gmail.com
Báo cáo đồ án tốt nghiệp
Sau đó, ta quay trở lại cấu hình các tham số của khối PID_Compact được sử dụng bên trên.
Bảng 5. 7 Tham số khối PID_Compact
Thông số Setpoint Input Output_PER State Error
Hình 5. 64 Cấu hình các tham số khối PID
Khối “Xuất giá trị xuống biến tần” sẽ nhận số analog từ khối “PID” và thực hiện 1 phép toán scale giá trị analog này từ dãy giá trị của PLC (0-27648) sang dãy giá trị của biến tần (0 – 16384 ứng với 0 – 60Hz) sau đó gửi giá trị này xuống thanh ghi 0x0005 và gửi lệnh điểu khiển xuống thanh ghi 0x0006 của biến tần thông qua Modbus RTU để điểu khiển tốc độ của động cơ.
85