Luật điều khiển thƣờng lựa chọn trên cơ sở đã xác định đƣợc mô hình toán học của đối tƣợng. Trong trƣờng hợp mô hình toán học của đối tƣợng chƣa đƣợc xác định đƣợc, có thể chọn phƣơng pháp thực nghiệm. Tuy nhiên để tiến hành hệ thống thực nghiệm hệ thống phải đảm bảo các điều kiện: ―Khi đƣa trạng thái làm việc đến biên giới ổn định thì mọi giá trị của các tín hiệu trong hệ thống đều phải nằm trong giới hạn cho phép‖.
Đối với điều khiển hệ thống cân lƣu lƣợng bằng thuật toán PID thực hiện trong luận văn em chọn Phƣơng pháp Thực Nghiệm để xác định các thông số cho bộ điều khiển. Việc lựa chọn phƣơng pháp này vì chúng ta chƣa biết chính xác các quá trình động học của hệ thống khi hoạt động.
Ziegle – Nichols đã đề xuất nguyên tắc xác định hệ số Kp, thời hằng tích phân Ti, thời hằng vi phân Td của hàm truyền khâu hiệu chỉnh PID dựa trên các thông số Kth, Tth thu đƣợc từ sơ đồ quá độ của hệ thống theo bảng sau:
Luật điều khiển Kp Ti Td
P 0.5Kth 0
PI 0.45Kth 1/(1.2Tth) 0
PID 0.6Kth 0.5 Tth 0.125 Tth
Các thông số hệ số khuếch đại giới hạn Kth và chu kỳ dao động tới hạn Tth có thể xác định đƣợc bằng phƣơng pháp sau:
Cho hệ thống làm việc ở biên giới ổn định, điều khiển đối tƣợng theo luật P ( cho Ti =, Td=0) rồi thay đổi hệ số Kp từ 0 đến giá trị tới hạn (hệ thống vẫn ở biên giới ổn định). Tại điểm này ta xác định hệ số Kth và chu kỳ tới hạn Tth.
CHƢƠNG 5: THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 5.1. Xây dựng chƣơng trình điều khiển bằng Unity Pro
5.1.1 Unity Pro
Unity pro chạy trên môi trƣờng windows 32 , 64 bit dùng lập trình cho các dòng PLC : Premium, Quantum, Atrium
Ngôn ngữ lập trình Unity Pro tuân theo tiêu chuẩn IEC 1131-3. Các đối tƣợng điều khiển đƣợc xác định trƣớc gồm tên, địa chỉ, kiểu dử liệu và đƣợc xác định thông qua ngƣời sử dụng.
Unity Pro hổ trợ lập trình năm ngôn ngữ khác nhau Ngôn ngữ công tắc: LADDER(LD)
Danh sách lệnh:INSTRUCTION LIST(IL) Cấu trúc văn bản: STRUCRURE TEXT(ST)
Sơ đồ tuần tự: DEFINE FUNCTION BLOCK(DFB) Grafcet(SCF)
Cửa sổ lập trình Unity Pro
5.1.2 Xây dựng chƣơng trình điều khiển
Bƣớc 1: Tạo project voiws PAC TSX P573634M cấu hình các rack và module
nhƣ Hình 5.2
Hình 5.2 Cấu hình Module PLC Bƣớc 2: Thiết lập truyền thông Ethernet
Trong Commucation chọn New network và cấu hình định địa chỉ cho PLC để kết với PC theo giao thucws truyền thông TCP/IP
Link Network vừa tạo với Module ETY PORT trên PLC
Hình 5.4 Link network với Module TSX ETY PORT
Bƣớc 3: Tạo mạng truyền thông CanOpen cho biến tần AVT31
Cấu hình truyền thông cho ATV3.1 nhƣ mục 3.3.1
Bƣớc 4: Viết chƣơng trình điều khiển bằng các ngôn ngữ có sẵn trong Unity Pro
5.1.2.1 Tính khối lƣợng trên băng tải
Nhƣ đã trình bày ở chƣơng 2 tín hiệu từ loadcell qua mạch chuyển đổi công đƣợc đƣa vào ngõ vào analog của PLC. TSX AEY 414 là modul ngõ vào Analog của PLC Premium TSX P57 3634.
Modul Analog TSX AEY 414.
Mô tả vật lý và các ký hiệu ngõ vào của modul.
Hình 5.5 Modul analog TSX AEY 414.
2. vỏ nhựa bảo vệ, modul có kích thƣớc tiêu chuẩn. 3. vị trí ghi nhãn ký hiệu của modul.
4. hiển thị trạng thái đang thực hiện chƣơng trình hoặc báo lỗi. 5. chỗ vít nối để lấy tín hiệu vào.
Chú thích các ký hiệu :
INx: Ngõ vào cực dƣơng của cảm biến sử dụng kênh x. COMx: Ngõ vào cực âm của cảm biến sử dụng kênh x. ISx: Cực dƣơng cung cấp cho đầu đo.
LCx: Đƣờng bù.
Đặc tính của modul TSX AEY 414
Đây là modul có các cổng lấy mẫu tín hiệu vào là Analog biến đổi digital cho PLC phân tích và xử lý, với số bit mà hóa là 16 bit (từ 0 đến 65535).
Modul Input Analog TSX AEY 414 có 4 kênh ngõ vào riêng biệt và mỗi kênh có nhiều tầm. Để sử dụng một trong các kênh, hay tầm ngõ vào nào ta sử dụng phần mềm ( Unity Pro) để cấu hình.
Nếu dùng cảm biến Thermocouple có thể chọn B, E, J, K, L, N, R, S, T, U hay có thể chọn tầm điện áp -13…63mV.
Nếu dùng cảm biến Thermowell Pt100, Pt1000, Ni1000 sử dụng 2 hay 4 dây hay có thể chọn tầm điện trở 0…400 Ohms hay 0… 3850 Ohms. Hay có thể chọn theo mức điện áp đơn cực hay lƣỡng cực nhƣ: +/- 10 V,
0..10 V, +/- 5 V, 0..5 V, 1…5V. Cách mắc Loadcell.
Vị trí mắc loadcell trong mô hình.
Loadcell đƣợc lắp tại vị trí tâm bàn cân, thông qua hệ thống con lăn để xác định khối lƣợng nguyên liệu trên cả băng tải. Tại vị trí đặt loadcell này, loadcell sẽ đọc giá trị khối lƣợng nguyên liệu của cả băng tải giá trị này đặt là Q.
Cách mắc dây tín hiệu loadcell trong modul analog.
Tín hiệu từ loadcell qua mạc đầu cân qua mạch chuyển đổi DAC với điện áp tối đa là 5V. Đƣợc đƣa vào kênh 0 của modul, trong modul ta chọn tầm hoạt động 0—5V.
Sơ đồ mắc dây từ ngõ ra mạch khuếch đại vào modul AEY 414
Hình 5.6 Sơ đồ mắc cảm biến vào modul AEY 414
Phƣơng pháp tính khối lƣợng trên đơn vị chiều dài – q.
Giả sử bàn cân có chiều dài L (m) đƣợc gắn bởi hai con lăn cố định. Khối lƣợng nguyên liệu trên bàn cân gây ra một lực tỷ lệ tại tâm bàn cân ( điểm giữa hai con lăn). Tại hai con lăn cố định lực tác dụng lên bằng 0, tại tâm bàn cân lực tác dụng lên bàn cân là lớn nhất. Lực gây ra phân bố lên bàn cân có dạng tam giác.
Hình 5.7 Phân bố lực trên bàn cân.
Lực tác dụng lên loadcell bằng tổng hợp lực tác dụng lên bàn cân. Goi df là vi phân lực phân bố trên vi phân chiều dài dl của bàn cân. Tổng hợp F tác dụng lên bàn cân đƣợc xác định F = L df 0 = L f l dl 0 ) (
Với f(l) là hàm phân bố lực tác dụng lên bàn cân theo chiều dài. Gọi dfmax là phân bố lực lớn nhất tại tâm bàn cân.
Tổng hợp lực F tác dụng lên bàn cân chính bằng diện tích tam giác ABC
F = 2 L . dfmax (a)
Gọi Q là khối lực nguyên liệu trên bàn cân tƣơng ứng với lực F tác dụng lên loadcell, q là khối lƣợng nguyên liệu phân bố trên một đơn vị chiều dài băng tải, lực tƣơng ứng do q tác động lên bàn cân chính là dfmax
Vậy từ đẳng thức (a) chúng ta viết lại
gQ =g 2 L . q Q = 2 L . q => q = L Q 2 (kg/m )
Đây chính là biểu thức xác định q từ giá trị khối lƣợng nguyên liệu trên băng tải Q đƣợc đọc từ loadcell.
C
A B
Giải thuật tính khối lƣợng nguyên liệu.
Trong giới hạn cho phép giá trị đọc AD tỉ lệ tuyến tính với giá trị khối lƣợng đặt trên loadcell.
Để đọc giá trị AD ta dùng ngắt thời gian T=500ms. Đọc khối lƣợng loadcell Đọc ngõ vào IW0.4.0 Ngắt Timer? Tính hàm chuyển đổi khối lƣợng Thoát Yes No
Hình 5.8 Giải thuật đọc khối lƣợng.
Khi chƣa có khối lƣợng trên băng tải, PLC đọc về giá trị offset A1.
Khi có khối lƣợng chuẩn M gắn tại vị trí gắn loadcell PLC đọc về giá trị A2
Từ đó nếu PLC đọc về một giá trị A thì ta có hàm chuyển đổi sang khối lƣợng. m = M. 1 2 1 A A A A
Code chƣơng trình
Cứ mỗi thời gian T = 500ms thì đọc giá trị từ kênh thứ 0 của modul Input Analog TSX AEY 414 một lần lƣu vào biến A.
Khối lƣợng nguyên liệu trên băng tải tính theo công thức: m = M.
1 2 1 A A A A
Với A1 là giá trị offset (giá trị AD đọc đƣợc khi khối lƣợng trên băng tải là 0) Chọn M có khối lƣợng chuẩn là 1kg, đọc đƣợc giá trị AD là A2
Khi có khối lƣợng băng tải Q, tính q – khối lƣợng trên đơn vị chiều dài băng tải bằng công thức: q =
L Q
2
5.1.2 Đo vận tốc băng tải
Đây là cách đo vận tốc dùng trong luận văn, đây là cách đọc vận tốc thông qua giao thức truyền thông PDO của CanOpen cho ATV31. PDO truyền gửi thông tin mà ta cần từ node CanOpen ở đây là ATV31.
Cơ sở lý thuyết và cách xác định vận tốc.
Mặc định của PDOs truyền trong DS 301 V04 (đƣợc qui định bởi CiA (CAN in Automation) ).
Hình 5.9 Mặc định của PDOs truyền.
Trong cấu hình CanOpen ở phần mềm SyCon, trong file ―atv31.co‖ (file dẫn đƣờng truyền từ nut ―select database‖ trong cấu hình cho Card TSX CPP 110 (Xem cách cấu hình ở chƣơng 3 – phần 3.2.2.2) ta chọn PDO truyền là PDO 6.
Hình 5.10 Chọn PDO6 truyền và nhận
PDO 6 truyền là một có kích cỡ 2 word. Word thứ nhất chứa word trạng thái ―ETA‖, word thứ hai chứa giá trị vận tốc thực của động cơ ―RFRD‖.
Đặt địa chỉ cho PDO6 trong card TSX CPP110 dùng phần mềm lập trình Unity Pro.
PDO TYPE SYCON UNITY PRO Ý NGHĨA PDO6
truyền
Ngõ vào
IB0-IB1 %MW0 Word trạng thái ―ETA‖ IB2-IB3 %MW1 Giá trị vận tốc thực ―RFRD‖ PDO6
nhận
Ngõ ra QB0-QB1 %MW32 Word điều khiển ―CMD‖ QB2-QB3 %MW33 Giá trị vận tốc đặt ―LFRD‖
Bảng 4.1 Bảng địa chỉ cho PDO6
Lƣu đồ giải thuật đo vận tốc băng tải.
Trong PDO6 truyền có word thứ 2 là ―RFRD‖ có địa chỉ %MW33 chứa giá trị vận tốc thực của động cơ, giá trị này có đơn vị là (vòng/phút), ta dùng PLC để đọc giá trị này về, và thực hiện tính toán chuyển đổi để đổi sang đơn vị (m/s).
Lƣu đồ giải thuật đọc vận tốc băng tải
Đọc vận tốc Đọc giá trị word RFRD Ngắt Timer? Tính hàm chuyển đổi Thoát Yes No
Hình 5.12 Lƣu đồ giải thuật đọc vận tốc băng tải.
Giống nhƣ phƣơng pháp đọc khối lƣợng để đọc vận tốc ta cũng dùng phƣơng pháp ngắt thời gian T =500ms. Cứ T =300ms thì đọc giá trị word thứ 2 là ―RFRD‖ trong PDO6 truyền của ATV31. Từ đó tính toán đổi đơn vị từ (vòng/phút) sang (m/s).
Cách đổi đơn vị (vòng/phút) sang (m/s):
Giả sử chúng ta đọc ―RFRD‖ là N (vòng/phút), đây là vận tốc quay tại trục của động cơ. Từ động cơ đƣợc truyền động đến hộp gear có hệ số truyền động là k ( cứ k vòng quay từ bánh răng trùng trục động cơ thì bánh răng hộp gear quay một vòng). Cứ bánh răng hộp gear quay một vòng thì băng tải chuyển động đƣợc chiều dài l(m).
Vậy công thức chuyển đổi. N (vòng/phút) = k l N . 60 . (m/s) = N.a (m/s) Với a = k l . 60
Mô hình trong luận văn với giá trị k=7.2 và l = 0,109 (m) tính ra a =2.523x 10-4
Code
5.1.3 Lập trình các chế độ điều khiển
Giải thuật tổng quát
Trong luận văn để điều khiển hệ thống cân lƣu lƣợng, em điều khiển hệ thống hoạt động ở hai chế độ: bằng tay và tự động.
Bắt đầu Chế độ Manual? Chế độ Auto? Chƣơng trình Manual Chƣơng trình Auto Kết thúc
Hình 5.13 Giải thuật tổng quát.
Code
Chế độ manual
Khi hoạt động ở chế độ bằng tay ta thể điều khiển động cơ chạy thuận hay chạy nghịch. Với vận tốc chạy cố định là 300 (vòng/phút). Chế độ Manual Forward? Reverse? Stop? Điều khiển chạy thuận Điều khiển chạy nghịch Kết thúc Yes No Yes No No Yes Hình 5.14 Chế độ manual
Code
Chế độ auto
Chế độ Auto
Nhận các thông số ban đầu
Đọc khối lƣợng
Đọc vận tốc từ ATV31
Tính lƣu lƣợng PV
Khối PIDFF
Xuất tín hiệu điều khiển ra ATV31
Kết thúc
Giá trị PV = giá trị vận tốc thực (m/s) x khối lƣợng trên đơn vị chiều dài (kg/s)
Khi tính đƣợc giá trị lƣu lƣợng hiện tại PV, ta đƣa giá trị này vào cổng PV của khối PIDFF (trình bày ở chƣơng 4). Ngõ ra OUT của khối PIDFF làm tín hiệu điều khiển để xuất tín hiệu ra biến tần.
Tính hiệu điều khiển OUT (kg/s) của khối PIDFF chính là giá trị lƣu lƣợng đƣợc tính theo thuật toán PID ở thời điểm hiện tại. Từ đó ta chia cho giá trị khối lƣợng trên đơn vị chiều dài để có vận tốc đặt (m/s) đổi sang đơn vị (vòng/phút). Khi có vận tốc đặt (vòng/phút) ta đặt giá trị word thứ hai của PDO6 nhận là ―LFRD‖- đây là word đặt
giá trị vận tốc cho biến tần để biến tần điều khiển vận tốc cho động cơ ( Xem bảng 4.1 trong chƣơng 3).
5.1.4 Chƣơng trình điều khiển biến tần
Đoạn chƣơng trình điều khiển CanOpen cho ATV 31, sau khi cài đặt các phần cứng và phần mềm ở trên, đƣợc viết bằng ngôn ngữ ST (Structured Test) trong phần mềm lập trình cho PLC Premium là Unity Pro.
Đoạn chƣơng trình định nghĩa các trạng thái của biến tần ATV31.
State_Ctrl := INT_TO_BYTE (ATV_STATE.STATE); ATV_Novoltage :=0; ATV_Locked :=0; ATV_wait :=0; ATV_Ready :=0; ATV_Run :=0; ATV_Error :=0; ATV_Estop :=0;
IF ((State_Ctrl AND 16#0F) =16#08) THEN ATV_Error :=1;
ELSE
CASE BYTE_TO_INT (State_Ctrl) OF
16#00: ATV_Novoltage :=1; 16#40: ATV_Locked :=1; 16#21: ATV_Wait :=1; 16#23: ATV_Ready :=1; 16#27: ATV_Run :=1; 16#07: ATV_Estop :=1; END_CASE; END_IF;
Giải thích đoạn chƣơng trình trên: ATV_STATE.STATE là word trạng thái ―ETA‖ của biến tần ATV31. Theo bảng 3.2 là word thứ nhất của PDO 6 truyền. Theo bảng 3.3 chúng ta thấy các trạng thái của biến tần, mỗi trạng thái thì tƣơng ứng với một giá trị cho ―ETA‖
Đoạn chƣơng trình điều khiển. IF ATV_Error THEN ATV_CTRL.CMD :=16#0080; END_IF; IF ATV_Estop THEN ATV_CTRL.CMD :=16#0000; END_IF; IF ATV_Locked THEN ATV_CTRL.CMD :=16#0006; END_IF; IF ATV_Wait THEN ATV_CTRL.CMD :=16#0007; END_IF;
IF(ATV_Ready AND FORWARD) THEN ATV_CTRL.CMD :=16#000F;
ELSIF (ATV_Ready AND REVERSE) THEN ATV_CTRL.CMD :=16#080F;
END_IF;
IF(ATV_Run AND FORWARD) THEN ATV_CTRL.CMD :=16#000F;
ELSIF (ATV_Run AND REVERSE) THEN ATV_CTRL.CMD :=16#080F;
END_IF;
IF(ATV_Ready AND NOT FORWARD) THEN ATV_CTRL.CMD :=16#100F;
END_IF;
IF(ATV_Run AND NOT FORWARD) THEN ATV_CTRL.CMD :=16#100F;
END_IF;
Giải thích đoạn chƣơng trình trên: ATV_CTRL.CMD là word điều khiển ―CMD‖ trong bảng 3.1. Để quá trình truyền nhận xảy ra thì biến tần ATV31 phải ở trạng thái ATV_Run (Operation enabled) khi đó ―ETA‖ = 16#27. Nên tất cả các trạng thái khác của biến tần đều phải đƣa về trạng thái này bằng word điều khiển ―CMD‖ hay ATV_CTRL.CMD trong đoạn chƣơng trình. Trong bảng 3.3 trình bằng các giá trị cho word điều khiển ―CMD‖ để đƣa trạng thái sẵn sàng hoạt động ATV_Run. Để biến tần
điều khiển động cơ chạy theo chiều thuận hay nghịch thì ATV_CTRL.CMD := 16#000F hay ATV_CTRL.CMD := 16#080F, từ đó muốn vận tốc động cơ chạy bao nhiêu thì đặt giá trị cho word ―LFRD‖ trong bảng 3.1.
5.2 Thiết kế hệ thống giám sát và điều khiển SCADA
Giới thiệu tổng quan về Vijeo Citect
Vijeo Citect là một phần mềm giám sát đƣợc phát triển với sự hợp tác của Citect Pty ltd (một công ty con của Schneider). Vijeo Citect là một phiên bản cải tiến nhất, mạnh mẽ nhất cho HMI/SCADA trên thị trƣờng. Phần mềm này giúp Schneider đem lại cho khách hàng những giải pháp tự động hóa tích hợp toàn diện theo đúng nghĩa.
Vijeo Citect là giải pháp có khả năng mở rộng cao, độ linh hoạt tốt và độ tin cậy cao. Nó phù hợp với các ứng dụng giám sát và điều khiển tự động hóa trong công nghiệp. Vijeo Citect đáp ứng đƣợc mọi kiểu ứng dụng trong sản xuất tự động hóa, mọi giải pháp phân phối điện đòi hỏi HMI/SCADA. Bên cạnh đó, nó đáp ứng mọi yêu cầu của các trạm điều khiển độc lập và các hệ thống giám sát dự phòng.
Với Vijeo Citect ta có thể:
Cung cấp cho bộ máy của ta một cách thức điều khiển trung tâm hoặc cục bộ sử dụng trang đồ họa rõ rang, súc tích và có thể chỉnh đƣợc kích thƣớc.
Thêm nút bấm điều khiển đồ họa vào các trang của mình để thực hiện một hoặc nhiều tác vụ.
Thiết kế những hình động phức tạp để hiển thị trạng thái vận hành và quá trình của dự án của ta.
Hiển thị những tin nhắn văn bản và đồ họa để cho thấy trạng thái của một bộ xử lý hoặc một báo động.
Cấu hình dự án CitectSCADA bằng một ngôn ngữ và hiển thị nó trong bất cứ ngôn ngữ nào khác.