Chọn vào PLC đã thêm vào và chọn tab Properties để cấu hình phần cứng cho PLC như cấu hình địa chỉ IP, các cổng I/O, bộ HSC, bộ PTO/PWM ...
Để cài địa chỉ IP cho PLC S7-1200
Chọn PROFINET interface [x1] ▶Enthernet addresses ▶ IP protocol
Nhập địa chỉ IP vào ô IP address
Hình 5. 14 Cài địa chỉ IP cho PLC S7-1200
Kích hoạt các Bit nhớ đặb biệt: Chọn System and clock memory, đánh dấu Enable the use of clock memory bytes
Hình 5. 15 Sử dụng các Bits đặc biệt
- Có thể lựa chọn địa chỉ bắt đầu ở ô Address of system memory byte (MBx) và Address of clock memory byte (MBx).
- Một số bit thường sử dụng như:
+ First cycle: Với tên Tà là “FristScan ” là bit có trạng thái 1 sau khi Startup OB hoàn thành , và chỉ duy trì 1 lần duy nhất khi ở chu kì quét đầu tiên và sẽ trở về 0
+ Always 1: Với tên Tag là AlwaysTRUE là bit có trạng thái luôn luôn bằng 1. + Always 0: Với tên Tag là AlwaysFALSE là bit có trạng thái luôn luôn bằng 0.
+ Các bit tạo xung clock với các tần số khác nhau tùy vào ứng dụng.
Bước 4 : Cấu hình cho bộ điếm HSC1 ( 100 KHz ) hoạt động
Để cấu hình cho bộ HSC , chọn vào High speed counters (HSC) ▶HSC1
Hình 5. 16 Cấu hình cho bộ điếm HSC hoạt động
Thiết lập chức năng cho bộ HSC:
Vào Function để chọn chế độ hoạt động của HSC:
Type of counting: Lựa chọn chức năng đếm là “Count” – đếm xung . Operating phase: Lựa chọn đếm 1 pha – “single phase” vì điều khiển băng tải nên động cơ chỉ quay 1 chiều nên chỉ cần đọc xung từ 1 pha của encoder.
Counting direction is specified by: chọn điều khiển hướng nội, tức điều khiển bằng chương trình PLC, chọn “Internal direction control”.
Initial counting direction: chọn hướng đếm, đếm lên – Count up.
Hình 5. 17 Thiết lập chức năng cho bộ HSC
Hình 5. 18 Thiết lập đầu vào tín hiệu xung của HSC1
Thiết lập địa chỉ Vùng nhớ chứa giá trị đếm HSC1 : để mặc định là ID1000
Hình 5. 19 Thiết lập địa chỉ Vùng nhớ chứa giá trị đếm HSC1
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
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ố:
+ 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ến hành download cấu hình xuống PLC bằng cách nhấn vào Edit ▶Complie ▶ Online Download to device▶
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
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.
- 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.
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.
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.
Bảng 5. 1 Các lệnh so sánh
Kiểu quan hệ Sự so sánh là đúng nếu
== IN1 bằng IN2
<> IN1 khác IN2
>= IN1 lớn hơn hoặc bằng IN2
<= IN1 bé hơn hoặc bằng IN2
> IN1 lớn hơn IN2
< IN1 bé hơn IN2
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.
Tham số Ý nghĩa Thiết lập HSC Địa chỉ phần cứng của HSC sử dụng
(Hardware identifier) 257
DIR = 1: yêu cầu chiều đếm mới False
CV = 1: yêu cầu một giá trị đếm mới TRUE
RV = 1: yêu cầu một giá trị đếm tham chiếu
mới False
PERIOD = 1: yêu cầu chu kì đếm mới (chỉ áp
dụng cho đếm tần số) False
NEW_DIR Giá trị hướng quay mới 0
NEW_CV Giá trị đếm mới 0
NEW_RV Giá trị tham chiếu mới 0
NEW_PERIOD Giá trị chu kì mới (1s, 0.1s, 0.01s) 0
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
Lập trình tính tốc độ dịch chuyển của băng tải
Cứ sau mỗi 100 ms, chương trình NGẮT sẽ đọc giá trị xung encoder về và gán cho vùng nhớ “xung_hiện_ tại” sau đó tính tốc độ dịch chuyển của băng tải theo công thức.
𝑉𝑃𝑉 =(𝐶𝑜𝑢𝑛𝑡𝑃𝑢𝑙𝑠𝑒 × 𝐷 × 𝜋)/ ( 0.1 × 𝑅𝑒𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛) (𝑚/𝑠) Với:
𝐶𝑜𝑢𝑛𝑡𝑃𝑢𝑙𝑠𝑒 : xung Encoder đếm được 𝐷: đường kính con lăn bị dẫn (𝑚) : 0.0567m
𝑅𝑒𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛: độ phân giải của encoder (𝑥𝑢𝑛𝑔/𝑣ò𝑛𝑔) : 2000 xung/vòng Gá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.
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ố Ý nghĩa Thiết lập
EN Ngõ vào cho phép hoạt động
MIN Giới hạn dưới của Value 0
VALUE Giới trị Value đưa vào IW64
MAX Giới hạn trên của Value 27648
OUT Kết quả trả về MD50
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
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_XBảng 5. 4 Tham số của lệnh SCALE_X Bảng 5. 4 Tham số của lệnh SCALE_X
Tham số Ý nghĩa Thiết lập
EN Ngõ vào cho phép hoạt
động
MIN Giới hạn dưới của Value 0.0
VALUE Giới trị Value đưa vào MD50
MAX Giới hạn trên của Value 10.0
OUT Kết quả trả về DB4.DBD40
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.
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_LOADBảng 5. 5 Bảng chức năng các chân của 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ố Thông tin Thiết lập
REQ Thực hiện khối lệnh khi cạnh lên M0.0
PORT ID của Port giao tiếp 269
BAUD Lựa chọn tốc độ baud:
4800,9600,19200,38400,57600 9600 PARITY Lựa chọn Parity:
0- None 1- Parity lẻ 2- Parity chẵn
0
MB_DB Khối dữ liệu của MB_MASTER DB2
DONE 1: Khi không có lỗi ERROR Báo lỗi:
0- Không có lỗi
1- Báo có lỗi. Khi có lỗi thì mã lỗi đó sẽ xuất hiện ở ngõ ra của thông số STATUS STATUS Mã lỗi
Đầ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
( 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_MASTERBả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 Chức năng Thiết lập
REQ 0: không có yêu cầu
1: yêu cầu truyền/nhận dữ liệu từ slave
M2.4
MB_ADDR Địa chỉ của Slave (0 đến 247) 1
MODE Dạng yêu cầu:
0- Đọc giá trị từ Slave
1- Ghi giá trị xuống Slave
DATA_ADDR Địa chỉ vùng nhớ bắt đầu trên Slave 40005 DATA_LEN Độ dài của dữ liệu :Số lượng bit hoặc
thanh ghi word sẽ truy cập trong yêu cầu này
2
DATA_PTR Địa chỉ vùng nhớ mà dữ liệu ở đó được
ghi xuống slave hoặc đọc vào master DB3 DONE 0 : Giao thức chưa hoàn tất
1: Hoàn tât giao thức ERROR 0: Không có lỗi
1: Khi có lỗi xảy ra
STATUS Mã lỗi
BUSY 0: không có yêu cầu nào
1: yêu cầu đang được thực hiện
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.
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
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. 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. 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:
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