19 Thiết lập địa chỉ Vùng nhớ chứa giá trị đếm HSC1

Một phần của tài liệu Xây dựn mô hình cân băng định lượng nguyên liệu đầu vào trong nhà máy sản xuất thức ăn chăn nuôi (Trang 62)

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 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

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.

Bảng 5. 7 Tham số khối PID_Compact

Thông số Ý nghĩa Thiết lập

Setpoint Giá trị cài đặt mong

muốn Lưu lượng đặt

Input Giá trị xử lý quá trình đã được Scale lại từ tín hiệu phản hồi của cảm biến

Lưu lượng thực tế

Output_PER Ngõ ra của PID định dạng theo Analog output( 0 -27648)

Giá trị tần số

State Chế độ hoạt động của PID

Error Trạng thái báo lỗi

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

Một phần của tài liệu Xây dựn mô hình cân băng định lượng nguyên liệu đầu vào trong nhà máy sản xuất thức ăn chăn nuôi (Trang 62)

Tải bản đầy đủ (PDF)

(100 trang)