Luận văn Điều khiển vận tốc hệ định vị đa tải bằng thuật toán PID

LỜI MỞ ĐẦU Ngày nay, khoa học kỹ thuật đạt rất nhiều tiến bộ trong lĩnh vực điều khiển tự động hóa. Các hệ thống điều khiển được áp dụng các quy luật điều khiển cổ điển, điều khiển hiện đại, cho tới điều khiển thông minh, điều khiển bằng trí tuệ nhân tạo. Kết quả thu được là hệ thống hoạt động với độ chính xác cao, tính ổn định bền vững, và thời gian đáp ứng nhanh. Trong điều khiển công nghiệp, bộ điều khiến PID là sự lựa chọn chung, tối ưu nhất cho các hệ thống điều khiển có hàm truyền (phương trình trạng thái) như điều khiển vị trí, điều khiển vận tốc, điều khiển mức Dùng máy tính để hiển thị trạng thái làm việc được sử dụng rộng rãi. Trong lĩnh vực tự động hóa trong công nghiệp, WinCC là một trong những phần mềm chuyên dùng của hãng Siemens để quản lý, thu thập dữ liệu và điều khiển quá trình công nghiệp. Xuất phát từ thực tế đó, bằng những kiến thức đã được học và được đọc ở trường cùng với những kiến thức tìm tòi từ báo chí sách vở và Internet chúng tôi đã quyết định tìm hiểu về đề tài: “ĐIỀU KHIỂN VẬN TỐC HỆ ĐỊNH VỊ ĐA TẢI BẰNG THUẬT TOÁN PID ” Trong thời gian thực hiện đề tài chúng tôi không tránh khỏi những thiếu sót mong thầy cô và các bạn đóng góp thêm để hoàn thiện đề tài hơn nữa. SƠ LƯỢC ĐỀ TÀI Mục tiêu đề tài.Mục tiêu của đề tài là xây dựng mô hình điều khiển vận tốc không phụ thuộc tải trọng. Điều khiển tốc độ ổn định của chuyển động quay thành tịnh tiến. Trong thời gian nhận đề tài, mục tiêu thực hiện đề tài được đề ra như sau: - Tìm hiểu và thiết kế giao diện điều khiển bằng WinCC. - Tìm hiểu cách kết nối và điều khiển giữa WinCC, PLC và động cơ DC, encoder, cảm biến - Tìm hiểu bộ HSC, điều xung PWM trong PLC. Tính toán các tham số động lực học, hàm trạng thái (space – state) của mô hình.Xây dựng hàm truyền động học cho hệ thống.Xây dựng, lập trình thuật toán PID, điều khiển động cơ DC.Xây dựng giao diện tổng quan điều khiển trên WinCC 7.0.Thiết kế bản vẽ, xây dựng và lắp ráp mô hình thực.Lựa chọn cảm biến góc (encoder), và cảm biến vị trí.Thiết kế mạch cầu ‘H’, bốn MOSFET điều khiển động cơ. Phương pháp nghiên cứu.Tiếp cận, xây dựng mô hình lý thuyết gồm có. Tiếp cận các mô hình tương tự.Tiếp cận lý thuyết điều khiển.Tiếp cận, xây đựng mô hình thực: Thiết kế mô hình cơ khí.Ứng dụng Matlab trong phân tích và thiết lập hàm truyền.Mô phỏng hàm truyền bằng Matlab.Các phương pháp cảm biến góc và vị trí.Thiết kế mạch điều khiển.Lập trình các vòng điều khiển.Chạy mô hình thực và hiệu chỉnh các thông số.Ghi chép lại đầy đủ các lần hiệu chỉnh, chọn ra thông số ổn định nhất. Sau khi hoành thành xong đồ án, chúng tôi xin tóm tắt lại những vấn đề như sau: Những công việc đã làm được: Tìm hiểu rõ bộ điều khiển PID.Xây dựng được phương trình động học cho hệ thống.Xây dựng được hàm truyền và mô phỏng bằng Matlab.Tìm hiểu rõ chương trình WinCC để thiết kế được giao diện điều khiển trực quan, dể điều khiển, liên kết với các biến trong PC ACCESS để điều khiển PLC.Thiết kế được mạch điều khiển động cơ DC bằng FET đảo chiều bằng cầu H, Relay. - Mạch đọc xung Encoder hai pha A và B. Tìm hiểu và sử dụng được các thuật toán, các bộ HSC, PWM, PID trong PLC.Các bộ điều khiển PID điều khiển động cơ rất tốt thời gian xác lập nhỏ, sai số không đáng kể, các thông số của bộ điều khiển ổn định đáp ứng tốt ưu cầu đặt ra. Những việc chưa làm được: - Khi động cơ có tốc độ lớn thì nếu vận tốc đặt nhỏ thì bộ điều khiển làm việc chưa được tốt còn có ít sai số trong khoảng thời gian xác lập. - Vì cơ khí được thiết kế và thi công thủ công nên còn sai số, do vậy đã ảnh hưởng đến việc điều khiển chính xác. - Do thời gian hạn chế nên chưa thiết kế được giao diện mô phỏng trên Matlab một cách trực quan. MỤC LỤC PHẦN MỞ ĐẦU . 1 LỜI CẢM ƠN . 2 SƠ LƯỢC ĐỀ TÀI . 3 Phần A : TỔNG QUAN LÝ THUYẾT . 5 Chương I: CƠ SỞ LÝ THUYẾT . 6 1. Khảo sát chuyển động thẳng đều 6 1.1 Độ dời 6 1.1.1 Độ dời . 6 1.1.2 Độ dời trong chuyển động thẳng . 6 1.2. Độ dời và quãng đường đi 6 1.3. Vận tốc trung bình . 6 1.4. Vận tốc tức thời . 6 1.5. Chuyển động thẳng đều 6 1.5.1 Định nghĩa 6 1.5.2 Phương trình chuyển động 7 1.6. Đồ thị . 7 1.6.1 Đồ thị tọa độ 7 1.6.2 Đồ thị vận tốc 8 2. Thiết lập hàm truyền động học 8 2.1. Phân tích truyền động của hệ thống . 8 2.2. Xây dựng hàm truyền hệ thống . 9 3. Cơ sở thuật toán PID . 11 3.1 PID là gì? . 11 3.2 .Lý thuyết liên quan 12 3.2.1.Sai số xác lập 12 3.2.2. Độ vọt lố 13 3.2.3. Thời gian đáp ứng 13 3.2.4. Ảnh hưởng của cực và zero . 13 3.2.5 Hiệu chỉnh PID . 14 3.2.5.1. Hiệu chỉnh tỉ lệ P (Proportional) . 14 3.2.5.2. Hiệu chỉnh vi phân tỉ lệ PD(ProportionalDerivative) 16 3.2.5.3. Hiệu chỉnh tích phân tỉ lệ PI (Proportional Integral) 18 3.2.5.4. Hiệu chỉnh vi tích phân tỉ lệ PID (Proportional Integral Derivative) 21 4. Hệ thống điều khiển rời rạc 23 4.1.Khái niệm 23 4.2.Đặc điểm lấy mẫu 25 4.3. Khâu giữ dữ liệu . 27 4.4. Phép biến đổi Z 30 4.4.1. Tính tuyến tính . 30 4.4.2. Dời trong miền thời gian . 30 4.4.3. Tỉ lệ trong miền Z 31 4.4.4. Đạo hàm trong miền Z . 31 4.4.5. Định lý giá trị đầu 31 4.4.6. Định lý giá trị cuối . 31 4.5. Biến đổi Z của các hàm cơ bản . 32 4.5.1- Hàm dirac . 32 4.5.2. Hàm nấc đơn vị 32 4.5.3. Hàm dốc đơn vị 32 4.5.4. Hàm mũ . 33 5. Tìm hiểu ứng dụng Matlab trong việc phân tích và thiết kế hệ thống điều khiển rời rạc 34 5.1 Hàm chuyển đổi giữa phương trình trạng thái và hàm truyền hệ rời rạc trong Matlab 36 5.2. Phương trình trạng thái hệ rời rạc . 37 5.3. Khảo sát tính ổn định và đáp ứng quá độ của hệ rời rạc . 38 5.4. Quỹ đạo nghiệm số hệ rời rạc . 41 6. Xây dựng hàm truyền bằng thuật toán PID 42 6.1.Hàm truyền của các khâu hiệu chỉnh rời rạc . 42 6.1.1. Khâu tỉ lệ . 42 6.1.2. Khâu vi phân 42 6.1.3. Khâu tích phân . 43 6.1.4. Bộ điều khiển PI, PD, PID rời rạc 44 6.2 Xây dựng hàm truyền PID trong S7-200 45 6.3 Ứng dụng Matlab thiết kế và mô phỏng bộ điều khiển PID cho hệ . thống 49 Chương II: SƠ LƯỢC WINCC 59 1. Giới thiệu WinCC . 59 2. Tạo biến nội 61 3. Thiết lập giao diện và thuộc tính . 62 4. Một số câu lệnh thường dung trong chương trình . 67 Chương III: SƠ LƯỢC PC ACCESS 68 Chương IV: SƠ LƯỢC PLC S7-200 69 1. Giới thiệu PLC S7-200 224DC . 69 2. Cấu trúc, nguyên lý hoạt động của PLC S7-200, CPU 224 70 2.1. Cấu trúc 70 2.2. Nguyên lý hoạt động 71 2.2.1 Đơn vị xử lý trung tâm 71 2.2.2 Hệ thống bus . 71 2.2.3 Bộ nhớ . 71 3. Cách kết nối PLC và giao tiếp với máy tính . 72 4. High Speed Counter . 75 5. Điều xung, tần số (PWM,PTO) . 80 5.1. Điều rộng xung 50%(PTO) 80 5.2. Điều rộng xung theo tỉ lệ (PWM) . 81 6. PID 82 6.1 Giới thiệu lệnh vòng lặp PID trong S7-200 . 82 6.2 Cách sử dụng PID Wizard 84 Chương V: GIAO TIẾP GIỮA PLC VÀ WINCC 88 1. Giới thiệu về giao tiếp giữa PLC và WINCC 88 1.1. Cách thức giao tiếp PC access . 88 1.2. Hiển thị gia trị trên Tag logging 90 2. Vẽ đồ thị giám sát . 92 3. Alarm logging . 93 Chương VI: CẢM BIẾN VÀ CƠ CẤU CHẤP HÀNH 98 1. Cảm biến từ . 98 2. Encoder 99 2.1. Cấu tạo chính của Encoder 99 2.2. Nguyên lý cơ bản . 101 3. Động cơ DC . 102 3.1 Cấu tạo 103 3.2 Nguyên lý hoạt động . 104 3.3 Điều khiển tốc độ động cơ DC . 104 Phần B: THIẾT KẾ VÀ THI CÔNG . 106 Chương I: THIẾT KẾ CƠ KHÍ 107 1. Cơ cấu lấy tải 107 2. Cơ cấu trục chính . 108 Chương II: THIẾT KẾ MẠCH ĐIỀU KHIỂN 109 1. Khối nguồn . 109 2. Khối điều khiển động cơ . 109 3. Khối đọc xung Encoder 109 4. Khối driver(Cầu H) 110 Chương III: LƯU ĐỒ GIẢI THUẬT 111 1. Giải thuật chương trình chính 111 2. Giải thuật thuật toán PID 112 Chương IV: GIAO DIỆN CHƯƠNG TRÌNH 113 TÀI LIỆU THAM KHẢO . 114

doc114 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2658 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Luận văn Điều khiển vận tốc hệ định vị đa tải bằng thuật toán PID, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
c thay thế bởi chính giá trị MIn đó với khả năng có thể bị điều chỉnh hoặc cắt (chặn giới hạn), điều này sẽ được nói rõ ở phần sau. Giá trị ban đầu của bias MX, Mi thường được lấy là giá trị của đầu ra bộ PID ngay trước thời điểm thực hiện lệnh PID lần đầu tiên. Các hằng số khác ảnh hưởng đến thành phần này là: Kc - hằng số khuếch đại, Ts - thời gian lấy mẫu và Ti - hệ số tích phân là đặc trưng cho ảnh hưởng của thành phần này lên toàn bộ đại lượng xử lý. - Thành phần vi phân (differential) MD tỉ lệ với độ thay đổi của sai sô, thể hiện qua phương trình : MDn = KC * TD / Ts * [(SPn – PVn) – (SPn-1 – PVn-1)] Với đặc tính có quán tính của mọi hệ vật chất, chúng ta có thể giả thiết rằng đại lượng thực tế PV không bao giờ có sự thay đổi một cách gián đoạn. Tuy nhiên đại lương yêu cầu thì có thể tăng giảm gãy khúc (do được tính trên lý thuyết). Về bản chất toán học, thành phần vi phân là phép lấy đạo hàm nên những sự thay đổi gián đoạn có thể gây nên các giá trị vô cùng lớn ở đầu ra. Để tránh hiện tượng này, trong phương trình trên ta giả thiết SPn = SPn - 1 và có thể viết: MDn = KC * TD / Ts * (PVn-1 – PVn) Trong đó : MDn: thành phần vi phân của đầu ra PID ở thời điểm lấy mẫu n Kc: hằng số khuếch đại Ts: thời gian lấy mẫu Td: hệ số vi phân SPn: đại lượng yêu cầu tại thời điểm lấy mẫu n SPn-1: đại lượng yêu cầu tại thời điểm lấy mẫu n-1 PVn: đại lượng thực tế tại thời điểm lấy mẫu n PVn-1: đại lượng thực tế tại thời điểm lấy mẫu n-1 Như vậy trên thực tế không cần nhớ sai số ở thời điểm lấy mẫu kế trước mà chỉ cần nhớ đại lượngthực tế. Trong lần tính toán đầu tiên PVn-1 được lấy bằng PVn. 6.3 Ứng dụng Matlab thiết kế và mô phỏng bộ điều khiển PID cho hệ thống : Với phương trình hàm truyền hệ điều khiển liên tục đã được thiết lập ở phần trên: Với dữ liệu đầu vào là: x : đầu vào khối lượng thỏa điều kiện sau g = 9.8 (m/s2) (gia tốc trọng trường) J = 0.3 (kg.m^2/s^2) (moment quán tính của motor) b = 0.03(Nms) (hệ số suy giảm của hệ thống cơ học) Trường hợp 1: thiết kế bộ PID cho cơ cấu truyền động không tải (x = 1) + Đáp ứng vòng kín chưa hiệu chỉnh Mở cửa sổ MATLAB command window lên và tạo một new m-file Và gõ vào đó các dòng lệnh sau Sau đó nhấn nút Run trên cửa sổ m-file và quan sát hình vẽ ta sẽ thấy đáp ứng của hệ thống g = 9.8; J = 0.3; b = 0.03; x = 1; num = g*x; den = [J b 0]; motor = tf(num,den) Ts = 0.01; motor_d= c2d(motor,Ts,'zoh') sys_cl = feedback(motor_d,1) [Y,T] = step(sys_cl,12); stairs(T,Y); xlabel('Time (s)') ylabel('Velocity (rad/s)') title('Stairstep Response:Original') Hình 6.1 : Đáp ứng ngỏ ra của hệ thống khi chưa có bộ điều khiển PID. Ta thấy hệ thống hoạt động không ổn định và độ vọt lố, thời gian xác lập , sai số xác lập đều rất lớn và đáp ứng quá độ rất xấu. + Proportional control Bây giờ ta sẽ thiết kế bộ điều khiển của khâu tỷ lệ Kp ( proportional controller) để xem ảnh hưởng của khâu này có thể cải thiện đáp ứng của hệ thống như thế nào. Tiếp tục nhập vào m-file các dòng lệnh sau nhấp nút Run trên cửa sổ Và quan sát biểu đồ đạt được Kp = 0.005; PID = tf(Kp,1); contr = c2d(PID,Ts,'tustin'); sys_cl = feedback(contr*motor_d,1); [x2,T] = step(sys_cl,12); stairs(T,x2) xlabel('Time (seconds)') ylabel('Velocity (rad/s)') title('Stairstep Response:with P controller') Hình 6.2 : Đáp ứng ngỏ ra của hệ thống khi có khâu hiệu chỉnh tỷ lệ K p. Quan sát biểu đồ ta thấy khâu tỷ lệ có thể giảm đáng kể sai số xác lập và làm thay đổi phần nhỏ đến thời gian xác lập.Nhìn chung đáp ứng hàm truyền lúc này được cải thiện phần nào. + Proportional-Derivative control Hình 6.2 chỉ ra rằng độ vọt lố và thời gian xác lập hệ thống còn rất cao , đáp ứng vẫn chưa tốt. Bây giờ ta sẽ tiến hành thiết kế bộ điều khiển PD gồm hai khâu tỉ lệ và vi phân (Proportional-Derivative controller) Nhập vào các dòng lệnh sau và chạy m-file Kp = 0.001; Kd = 0.07; PID = tf([Kd Kp],1); contr = c2d(PID,Ts,'tustin'); sys_cl = feedback(contr*motor_d,1); [x2,T] = step(sys_cl,12); stairs(T,x2) xlabel('Time (seconds)') ylabel('Velocity (rad/s)') title('Stairstep Response:with PD controller') Hình 6.3 : Đáp ứng ngỏ ra của hệ thống khi có khâu hiệu chỉnh PD. Nhìn hình vẽ đáp ứng ngỏ ra của hệ thống đã được cải thiện rất nhiều.Qua đó ta thấy thêm vào bộ điều khiển của khâu tích phân Kd có thể giảm độ vọt lố , thời gian xác lập đáng kể và đáp ứng của hệ thống đã ổn định hơn , tuy nhiên vẫn còn sai số xác lập tương đối lớn. + Proportional-Integral-Derivative control Để khử sai số xác lập này ta sẽ thêm vào bộ điều khiển PD khâu vi phân .Bây giờ ta sẽ thiết kế bộ điều khiển PID gồm ba khâu tích phân , vi phân và khâu tỷ lệ để xem bộ điều khiển PID có thể làm cho hệ thống tối ưu hơn không Nhập vào m-file các dòng lệnh sau và tiến hành mô phỏng,ta sẽ có kết quả sau: Kp = 0.03; Ki = 0.001; Kd = 0.2; PID = tf([Kd Kp Ki],[1 0]); contr = c2d(PID,Ts,'tustin'); sys_cl = feedback(contr*motor_d,1); [x2,T] = step(sys_cl,12); stairs(T,x2) xlabel('Time (seconds)') ylabel('Velocity (rad/s)') title('Stairstep Response:with PID controller') Hình 6.4 : Đáp ứng ngỏ ra của hệ thống với bộ điều khiển PID không tải. Bây giờ ta đạt được hệ thống dao động chuẩn với tr rất bé, không độ vọt lố , không sai số xác lập , thời gian đáp ứng rất nhanh. Trường hợp 2: thiết kế bộ PID cho cơ cấu truyền động một tải (x =2). Nhập các dòng lệnh sau vào và tiến hành mô phỏng trên m-file với thông số ngỏ vào là khối lượng x thay đổi , bây giờ x =2 . Các thông số khác vẫn giữ nguyên không đổi. g = 9.8; J = 0.3; b = 0.03; x = 2; num = g*x; den = [J b 0]; motor = tf(num,den) Ts = 0.01; motor_d= c2d(motor,Ts,'zoh') sys_cl = feedback(motor_d,1) [Y,T] = step(sys_cl,12); stairs(T,Y); xlabel('Time (s)') ylabel('Velocity (rad/s)') title('Stairstep Response:Original') Kp = 0.042; Ki = 0.001; Kd = 0.2; PID = tf([Kd Kp Ki],[1 0]); contr = c2d(PID,Ts,'tustin'); sys_cl = feedback(contr*motor_d,1); [x2,T] = step(sys_cl,12); stairs(T,x2) xlabel('Time (seconds)') ylabel('Velocity (rad/s)') title('Stairstep Response:with PID controller') Hình 6.5 : Đáp ứng ngỏ ra của hệ thống với bộ điều khiển PID một tải. Trường hợp 3: Thiết kế bộ PID cho cơ cấu truyền động hai tải (x =3) Nhập các dòng lệnh sau vào và tiến hành mô phỏng trên m-file với thông số ngỏ vào là khối lượng x thay đổi , bây giờ x =3 . Các thông số khác vẫn giữ nguyên không đổi. g = 9.8; J = 0.3; b = 0.03; x = 3; num = g*x; den = [J b 0]; motor = tf(num,den) Ts = 0.01; motor_d= c2d(motor,Ts,'zoh') sys_cl = feedback(motor_d,1) [Y,T] = step(sys_cl,12); stairs(T,Y); xlabel('Time (s)') ylabel('Velocity (rad/s)') title('Stairstep Response:Original') Kp = 0.045; Ki = 0.001; Kd = 0.1; PID = tf([Kd Kp Ki],[1 0]); contr = c2d(PID,Ts,'tustin'); sys_cl = feedback(contr*motor_d,1); [x2,T] = step(sys_cl,12); stairs(T,x2) xlabel('Time (seconds)') ylabel('Velocity (rad/s)') title('Stairstep Response:with PID controller') Hình 6.6 : Đáp ứng ngỏ ra của hệ thống với bộ điều khiển PID hai tải. Trường hợp 4: Thiết kế bộ PID cho cơ cấu truyền động 3 tải (x =4) Nhập các dòng lệnh sau vào và tiến hành mô phỏng trên m-file với thông số ngỏ vào là khối lượng x thay đổi , bây giờ x =4 . Các thông số khác vẫn giữ nguyên không đổi. g = 9.8; J = 0.3; b = 0.03; x = 4; num = g*x; den = [J b 0]; motor = tf(num,den) Ts = 0.01; motor_d= c2d(motor,Ts,'zoh') sys_cl = feedback(motor_d,1) [Y,T] = step(sys_cl,12); stairs(T,Y); xlabel('Time (s)') ylabel('Velocity (rad/s)') title('Stairstep Response:Original') Kp = 0.048; Ki = 0.001; Kd = 0.1; PID = tf([Kd Kp Ki],[1 0]); contr = c2d(PID,Ts,'tustin'); sys_cl = feedback(contr*motor_d,1); [x2,T] = step(sys_cl,12); stairs(T,x2) xlabel('Time (seconds)') ylabel('Velocity (rad/s)') title('Stairstep Response:with PID controller') Hình 6.7 : Đáp ứng ngỏ ra của hệ thống với bộ điều khiển PID ba tải. Trường hợp 5: Thiết kế bộ PID cho cơ cấu truyền động bốn tải (x =5) Nhập các dòng lệnh sau vào và tiến hành mô phỏng trên m-file với thông số ngỏ vào là khối lượng x thay đổi , bây giờ x =3 . Các thông số khác vẫn giữ nguyên không đổi. g = 9.8; J = 0.3; b = 0.03; x = 5; num = g*x; den = [J b 0]; motor = tf(num,den) Ts = 0.01; motor_d= c2d(motor,Ts,'zoh') sys_cl = feedback(motor_d,1) [Y,T] = step(sys_cl,12); stairs(T,Y); xlabel('Time (s)') ylabel('Velocity (rad/s)') title('Stairstep Response:Original') Kp = 0.05; Ki = 0.001; Kd = 0.1; PID = tf([Kd Kp Ki],[1 0]); contr = c2d(PID,Ts,'tustin'); sys_cl = feedback(contr*motor_d,1); [x2,T] = step(sys_cl,12); stairs(T,x2) xlabel('Time (seconds)') ylabel('Velocity (rad/s)') title('Stairstep Response:with PID controller') Hình 6.8 : Đáp ứng ngỏ ra của hệ thống với bộ điều khiển PID bốn tải. ˜˜˜&™™™ Chương II: SƠ LƯỢC WINCC 1. Giới thiệu về WinCC: WinCC ( Windows Control Center ) : là chương trình kết hợp với PLC dùng để giám sát, thu thập dữ liệu và điều khiển các hệ thống tự động hóa quá trình sản xuất. nó là một chương trình HMI (Human Machine Interface) hỗ trợ người dùng lập trình thiết kế giao diện người – máy. WinCC là hệ thống trung tâm điều khiển của cả hệ thống, nó cung cấp các tính năng như: hiển thị hình ảnh, các số liệu, lưu trữ dữ liệu, cảnh báo, giao diện than thiện, dễ điều khiển… Dưới đây là cách thức tạo một dự án mẫu: Đầu tiên là mở giao diện WinCC: Hình 2.1 . Cách vào WinCC 6.0 Vào Menu => Simatic => WinCC => Windows Control Center 6.0. Khi đó màn hình sẽ hiện lên thông báo tạo mới dự án như sau: Single User Project :tạo dự án với 1 máy chủ. Multi-User Project : tạo dự án với nhiều máy tính nối mạng. Client Project : tạo dự án với 2 máy kết nối nhau. Nhấn chọn Single User Project và OK. Hình 2.2 Tạo 1 project mới Sau đó hộp thoại mới xuất hiện để tạo tên dự án và nơi lưu trữ như hình: Hình 2.3 Tạo 1 project mới Khi đó cửa sổ soạn thảo giao diện xuất hiện như hình: Hình 2.4 Giao diện làm việc khi tạo project Để kết nối với PLC thì cần liên kết với DRIVER. Chọn phải chuột vào Tag Management và chọn Add New Driver: Hình 2.5 Kết nối PLC với máy tính Khi đó hộp thoại Add New Driver xuất hiện và chọn OPC.CHN và chọn OK. Hình 2.6 Kết nối PLC với máy tính. 2. Tạo biến nội : Trong WinCC có 2 cách tạo biến là Biến nội :là các vùng nhớ có sẳn trong WinCC nhằm mô phỏng hệ thống trên giao diện WinCC như một PLC ảo và biến ngoại dùng để kết nối giữa PLC thực tế và giao diện WinCC phần này sẽ được nói đến trong phần giới thiệu về PC ACCESS trong phần tiếp theo. Để tạo các biến nội thì trong mục Internal tags nhấp phải chuột chọn new tags Hình 2.7 Tạo biến nội Sau đó đặt tên cho biến đó và chọn kiểu của biến vừa thiết lập với: Binary tag: kiểu nhị phân. Unsigned 8 - bit value:kiểu số nguyên 8 bit không dấu. Signed 8 - bit value: kiểu số nguyên 8 bit có dấu. Unsigned 16 - bit value: kiểu số nguyên 16 bit không dấu. Signed 16 - bit value: kiểu số nguyên 16 bit có dấu. Unsigned 32 - bit value: kiểu số nguyên 32 bit không dấu Signed 32 - bit value: kiểu số nguyên 32 bit có dấu Floating Point Number 32 bit IEEE 754: kiểu số thực 32 bit theo tiêu chuẩn của IEEE 754 Floating Point Number 64 bit IEEE 754: kiểu số thực 32 bit theo tiêu chuẩn của IEEE 754 Text tag 8 bit character set: kiểu ký tự 8 bit. Text tag 16 bit character set: kiểu ký tự 16 bit. Raw Data type: kiểu dữ liệu thô. Hình 2.8 Tạo kiểu dữ liệu cho biến Sau đó biến được tạo ra trong thư viện, các biến khác thực hiện tương tự sau khi tạo xong thì liên kết các biến này với các phần trong giao diện: Hình 2.9 Biến sau khi tạo 3. Thiết lập giao diện và các thuộc tính: Để thiết lệp giao diện điều khiển thì trong giao diện WinCC click chuột phải vào Graphics Designer chọn new picture: Sau đó click chuột phải vào nó và chọn rename picture để đổi tên Hình 2.10 Tạo giao diện hoạt động cần dùng và nhấp dúp vào để bắt đầu thiết kế giao diện điều khiển: Hình 2.11 Tạo giao diện hoạt động Sau đó một một file ảnh được tạo với tên mặc định là “NewPdl0.Pdl” để đổi tên file ảnh vừa tạo, nhấp chọn file ảnh và phải chuột chọn “Rename picture” Khi đó trên màn hình hiển thị hộp thoại “New Name”: Cửa sổ Graphics Designer: Giao diện ban đầu của cửa sổ Graphics Designer: Hình 2.12 Giao diện của cửa sổ Graphics Designer Hình ảnh quá trình: Tất cả các đối tượng hình cần dùng cho hình ảnh quá trình được lấy trong thư viện của WinCC hoặc có thể tự thiết kế mới. Trên bảng chọn lệnh vào View chọn Library Hoặc cũng có thể nhấp vào biểu tượng Library trên thanh công cụ Hình 2.13 Quá trình lấy các hình mẫu Hộp thoại Library xuất hiện như trên, để lấy hình ảnh ra ngoài làm việc cần nhấp chọn và kép thả ra ngoài giao diện Tạo nút nhấn: Trong bảng các đối tương điều khiển vào “Window Objects” chon vào biểu tượng “Button” Sau khi tạo nút nhấn xuất hiện hộp thoại: Nút nhấn Đạt tên nút nhấn Liên kết với file ảnh khi được nhấn Lựa chọn file ảnh liên kết Hình 2.14 Tạo nút nhấn Cách lập trình nút nhấn: nhấp phải chuột chọn Properties của nút nhấn vừa tạo. Hộp thoại “Objects Properties” xuất hiện. Chọn tab “Events” >> “Button” >> “Mouse”. Lập trình cho nút nhấn dùng lập trình C chọn “Mouse Action” phải chuột chọn “C-Action” Hình 2.15 Lập trình nút nhấn Hộp thoại “Edit Action” : Tập lệnh cơ bản trong WinCC Vùng lập trình Kiểm tra lỗi Hình 2.16 Lập trình nút nhấn Ví dụ: Tạo nút nhấn “Hoạt động” theo yêu cầu khi nhấn thì đặt biến “bien_1” kiểu binay lên mức 1. Hình 2.17 Lập trình nút nhấn Tạo và thực thi vùng nhập/xuất dữ liệu (I/O Field): Trong bảng các đối tượng điều khiển vào “Smart Objects” chọn vào biểu tượng “Button”. Sau khi tạo vùng nhập/xuất dữ liệu xuất hiện hộp thoại: Định dạng kiểu, màu và cỡ chữ I/O Field Liên kết với biến cần nhập/xuất dữ liệu Thời gian cập nhật giá trị vào biến Thiết lập kiểu I/0 là nhập hoặc xuất hoặc cả hai Hình 2.18 Tạo I/O Field 4. Một số lệnh thường dùng trong chương trình: SetTagBit: Cú pháp: Bool SetTagBit(Tag Tag_Name, short int value) Nội dung: Định giá trị cho một Tag có kiểu dữ liệu là Binary. SetTagByte Cú pháp: Bool SetTagByte(Tag Tag_Name, byte value) Nội dung: Định giá trị cho một Tag có kiểu dữ liệu là 8 bit. SetTagSByte Cú pháp: Bool SetTagSByte(Tag Tag_Name, signed char value) Nội dung: Định giá trị cho một Tag có kiểu dữ liệu là 8 bit có dấu. Tương tự có các hàm SetTagWord, SetTagDWord . . . GetTagBit Cú pháp: Bool GetTagBit(Tag Tag_Name) Nội dung: Lấy giá trị hiện tại của một Tag có kiểu dữ liệu là Binary. GetTagByte Cú pháp: Bool GetTagByte(Tag Tag_Name) Nội dung: Lấy giá trị hiện tại của một Tag có kiểu dữ liệu là 8 bit. GetTagSByte Cú pháp: Bool GetTagBit(Tag Tag_Name) Nội dung: Lấy giá trị hiện tại của một Tag có kiểu dữ liệu là 8 bit có dấu. Tương tự có các hàm GetTagWord, GetTagDWord . . . Các hàm điều khiển thường dùng: Thoát khỏi Runtime: Cú pháp: Bool DecactivateRTProject() Nội dung: Thoát khỏi chương trình WinCC đang chạy Runtime Thoát khỏi WinCC: Cú pháp: Bool ExitWinCC() Nội dung: Thoát khỏi chương trình WinCC, kể cả WinCC Explorer Các hàm xử lý tính toán: Các hàm tính toán trên bit: ˜˜˜&™™™ Chương III: SƠ LƯỢC PC ACCESS PC Access là phần mềm dùng để tạo các biến ngoại nhằm liên kết giữa các công cụ điều khiển và hiển thị WinCC và các ô nhớ trong PLC để có thể điều khiển các ngõ ra trong PLC và hển thị chùng lên WinCC. Giao diện của chương trình như sau: Hình 3.1 Giao diện khởi động PC Access Để tạo các biến ngoại thì trước tên đặt tên cho PLC ảo trong chương trình PC access bằng cách click chuột phải vào MicroWin(com1) và chọn New PLC. Sau đó giao điện PLC Properties hiện và và tiến hành đặt tên cho PLC ảo là New PLC như hình: Để tạo các biến cho chương trình thì click chuột phải vào New PLC và chọn new Item, sau đó giao diện đặt biến hiện ra để đặt tên, địa chỉ ô nhớ, kiểu dữ liệu của biến đó: Hình 3.2 Tạo biến liên kết trong PC Access Các biến khác cũng làm tương tự sau đó tiến hành Save chương trình vừa tạo. ˜˜˜&™™™ Chương IV: SƠ LƯỢC PLC S7-200 1. Giới thiệu về PLC S7_200 CPU224DC: PLC được viết tắt từ cụm từ (Programmable Logic Control) nghĩa là điều khiển logic khả trình. Đây là loại thiết bị cho phép thực hiện linh hoạt các phép toán điều khiển số thông qua một ngôn ngữ lập trình, thay cho việc phải thực hiện các phép toán bằng các mạch số. Do đó PLC trở thành bộ điều khiển nhỏ gọn, dễ dàng thay đổi thuật toán và đặc biệt dễ dàng trao đổi thộng tin với môi trường xung quanh ( với các loại PLC khác hoặc với máy tính). Người sử dụng có thể lập trình để thực hiện một loạt các sự kiện. Các sự kiện này được kích hoạt bởi tác nhân kích thích ( ngõ vào ) tác động vào PLC hoặc qua các hoạt động có trễ như thời gian định kỳ hay các sự kiện được đếm. Thông thường, một PLC được cấu tạo bởi 7 module phần cứng sau: Module nguồn, module đơn vị xử lý trung tâm, module bộ nhớ chương trình và dự liệu, module đầu vào, module đầu ra, modul phối ghép, module chức năng. Panel lập trình, vận hành, giám sát. Bộ nhớ chương trình Bộ nhớ dữ liệu Nguồn Đơn vị xử lý trung tâm Khối ngõ vào Khối ngõ vào Quản lý việc phối ghép Hình 1.11: Các Modul của một PLC. 2. Cấu trúc, nguyên lý hoạt động của PLC S7-200, CPU 224: 2.1 Cấu trúc: Một bộ PLC gồm 5 thành phần chính: Khối nhận ( Modul Input ) tập trung bên trong các cổng dùng để kết nối với các thiết bị nhập. Khối xuất ( Modul Output ) tập trung bên trong các cổng dùng để kết nối với các thiết bị xuất. Khối xử lý ( CPU ) có công dụng xử lý chương trình cài đặt trên PLC. Khối bộ nhớ ( Memory ) lưu trữ chương trình và dữ liệu, bao gồm: * Bộ nhớ chương trình ( Program Memory ) dùng để chứa chương trình cài đặt trên PLC. * Bộ nhớ dữ liệu ( Data Memory ) dùng để cung cấp các vùng nhớ trống có tác dụng hỗ trợ cho chương trình vận hành ( User Memory ). Khối nguồn ( Power Supply ) có công dụng cung cấp nguồn cho hệ thống. Hình 1.12: Cấu trúc của PLC. 2.2 Nguyên lý hoạt động: 2.2.1 Đơn vị xử lý trung tâm: CPU điều khiển các hoạt động bên trong PLC. Bộ xử lý sẽ đọc và kiểm tra chương trình được chứa trong bộ nhớ, sau đó sẽ thực hiện thứ tự từng lệnh trong chương trình, sẽ đóng hay ngắt các đầu ra. Các trạng thái ngõ ra ấy được phát tới các thiết bị liên kết để thực thi và toàn bộ các hoạt động thực thi đó đều phụ thuộc vào chương trình điều khiển được giữ trong bộ nhớ. 2.2.2 Hệ thống bus: Hệ thống bus là tuyến dùng để truyền tín hiệu, hệ thống gồm nhiều đường tín hiệu song song: Address Bus: Bus địa chỉ dùng để truyền địa chỉ đến các Modul khác nhau. Data Bus: Bus dùng truyền dữ liệu. Control Bus: Bus điều khiển dùng để truyền các tín hiệu định thì và điều khiển đồng bộ các hoạt động trong PLC. Trong PLC các số liệu được trao đổi giữa bộ xử lý và các modul vào ra thông qua Data Bus. Address Bus và Data Bus gồm 8 đường, ở cùng thời điểm cho phép truyền 8 bit của 1 byte một cách đồng thời hay song song. 2.2.3 Bộ nhớ: PLC thường yêu cầu bộ nhớ trong các trường hợp: Làm bộ định thì cho các kênh trạng thái IN/OUT Làm bộ đệm trạng thái các chức năng trong PLC như định thời, đếm, ghi các Relay d/Các ngõ vào ra I/O: Các đường tín hiệu từ các cảm biến được nối vào các modul (các đầu vào của PLC), các cơ cấu chấp hành được nối nối với các modul ra (các đầu ra của PLC). Hầu hết các PLC có điện áp hoạt động bên trong là 5V, tín hiệu xử lý là 12/24VDC hoặc 100/240VAC. Mỗi đơn vị I/O có duy nhất một địa chỉ Mỗi đơn vị I/O có duy nhất một địa chỉ, các hiển thị trạng thái của các kênh I/O được cung cấp bởi các đèn LED trên PLC, điều này làm cho việc kiểm tra họat động nhập xuất trở nên dể dàng và đơn giản. Thực hiện chương trình: PLC thực hiện chương trình theo chu kỳ lặp. Mỗi vòng lặp được gọi là vòng quét ( scan ). Mỗi vòng quét bắt đầu bằng việc đọc các dữ liệu từ các cổng vào vùng đệm, tiếp theo là giai đoạn thực hiện chương trình. Trong từng vòng quét, chương trình được thực hiện bằng lệnh đầu tiên và kết thúc tại lệnh kết thúc END. Sau giai đoạn thực hiện chương trình là giai đoạn truyền thông nội bộ và kiểm tra lỗi. Vòng quét được kết thúc bằng giai đoạn chuyển các nội dung của bộ đệm tới các cổng ra. Lặp lại chu kỳ quét 1.Nhập dữ liệu từ ngoài vào 2. Thực hiện chương trình 3.Truyền thông và tự kiểm tra lỗi. 4.Chuyển dữ liệu từ bộ đệm ra ngoại vi. Hình 1.14: Chu kỳ quét của PLC 3. Cách kết nối PLC và giao tiếp với máy tính: Đối với loại CPU S7-200 DC/DC/DC: Điện áp cấp nguồn: 24VDC Ngõ vào tích cực: 24VDC Điện áp tại ngõ ra: 24VDC Dưới đây là sơ đồ khối của CPU224DC: Hình 4.1 Sơ đồ khối của CPU224DC Để có thể giao tiếp giữa máy tính và PLC cho thực hiện việc Download hoặc Upload cho PLC, trước tiên ta phải chọn cổng giao tiếp: - Trường hợp cáp giao tiếp là cáp USB thì cổng giao tiếp phải chọn USB . - Trường hợp cáp giao tiếp là cáp COM thì phải chọn đúng cổng giao tiếp của máy tính. Để có thể chọn cổng giao tiếp,vào mục Communication, chọn Set PG/PC Interface. Hình 4.2 Liên kết PLC với máy tính Sau đó chọn Properties của PC/PPI cable (PPI) Trong Tab PPI: chọn đúng tốc độ Bauds ở phần Transmission Rate: Tốc độ để mặc định là 9600, tốc độ Baud mặc định ở cáp cũng là 9600 ( tốc độ Baud này chỉ áp dụng đối cáp cổng COM), trên cáp COM, cho phép ta chọn nhiều mức tốc độ Baud khác nhau. Trong phần Local Connection: cho phép ta chọn cổng COM. Sau khi chọn cổng COM, bước kế tiếp là phải chọn địa chỉ PLC, thông thường địa chỉ mặc định của PLC là 2, nếu địa chỉ PLC khác 2 thì ta phải chọn địa chỉ đúng trước khi thực hiện việc Communication. Trường hợp nếu không biết địa chỉ PLC ta có thể thực hiện như sau: Hình 4.3 Liên kết PLC với máy tính Hình 4.4 Liên kết PLC với máy tính Vào phần Communication,chọn Search all baud rate sau đó double click vào phần “ double click to refresh,khi đó chương trình sẽ tự nhận địa chỉ PLC . Sau khi chọn xong cổng Com cũng như địa chỉ PLC, ta thực hiện việc Download cũng như Upload: Chọn mũi tên xuống cho việc Download,mũi tên lên cho việc upload. Ngoài ra việc Communication còn có thể thực hiện bằng cách Vào CPU click chuột phải,chọn Type : Chọn Read PLC,nếu liên thông được thì chương trình có thể đọc được loại PLC,còn không thì nó sẽ báo,ta phải chọn lại cổng COM cũng như địa chỉ PLC trong phần Communications. Hình 4.5 Chọn loại CPU 4. High Speed Counter: Để đọc xung tốc độ cao (HSC), ta cần phải thực hiện các bước cho vệc định dạng Wizard: Hình 4.6 Thiết lập High Speed Counter * Chọn Wizard đọc xung tốc độ cao High Speed Counter: Chọn Mode đọc xung tốc độ cao và loại Counter nào (HC0,HC1…) Hình 4.7 Thiết lập High Speed Counter Tuỳ từng loại ứng dụng mà ta có thể chọn nhiều Mode đọc xung tốc độ cao khác nhau,có tất cả 12 Mode đọc xung tốc độ cao như sau: Mode 0,1,2 : Dùng đếm 1 pha với hướng đếm được xác định bởi Bit nội . Hình 4.8 Giản đồ xung Mode 0,1 và 2 Mode 0: Chỉ đếm tăng hoặc giảm, không có Bit Start cũng như bit Reset Mode 1: Đếm tăng hoặc giảm, có bit Reset nhưng không có bit Start Mode 2: Đếm tăng hoặc giảm, có Bit Start cũng như bit Reset để cho phép chọn bắt đầu đếm cũng như chọn thời điểm bắt đầu Reset. Các Bit Start cũng như Reset là các ngõ Input chọn từ bên ngoài. Mode 3,4,5: Dùng đếm 1 pha với hướng đếm được xác định bởi Bit ngoại, tức là có thể chọn từ ngõ vào input. Mode 3: Chỉ đếm tăng hoặc giảm, không có Bit Start cũng như bit Reset Hình 4.9 Giản đồ xung Mode 3,4 và 5 Mode 4: Đếm tăng hoặc giảm,có bit Reset nhưng không có bit Start Mode 5: Đếm tăng hoặc giảm, có Bit Start cũng như bit Reset để cho phép chọn bắt đầu đếm cũng như chọn thời điểm bắt đầu Reset. Các Bit Start cũng như Reset là các ngõ Input chọn từ bên ngoài. Mode 6,7,8: Dùng đếm 2 pha Hình 4.10 Giản đồ xung Mode 6,7 và 8 với 2 xung vào, 1 xung dùng để đếm tăng và một xung đếm giảm. Mode 6: Chỉ đếm tăng giảm, không có Bit Start cũng như bit Reset Mode 7: Đếm tăng giảm, có bit Reset nhưng không có bit Start Mode 8: Đếm tăng giảm, có Bit Start cũng như bit Reset để cho phép chọn bắt đầu đếm cũng như chọn thời điểm bắt đầu Reset. Các Bit Start cũng như Reset là các ngõ Input chọn từ bên ngoài. Mode 9,10,11 : Dùng để đếm xung A/B của Encoder,có 2 dạng: Dạng 1 (Quadrature 1x mode): Đếm tăng 1 khi có xung A/B quay theo chiều thuận, và giảm 1 khi có xung A/B quay theo chiều ngược. Hình 4.11 Giản đồ xung Mode 9,10 và 11 Dạng 2 (Quadrature 4x mode): Đếm tăng 4 khi có xung A/B quay theo chiều thuận, và giảm 4 khi có xung A/B quay theo chiều ngược. Mode 9: Chỉ đếm tăng giảm, không có Bit Start cũng như bit Reset Mode 10: Đếm tăng giảm, có bit Reset nhưng không có bit Start Mode 11: Đếm tăng giảm, có Bit Start cũng như bit Reset để cho phép chọn bắt đầu đếm cũng như chọn thời điểm bắt đầu Reset. Các Bit Start cũng như Reset là các ngõ Input chọn từ bên ngoài. Mode 12: Chỉ áp dụng với HSC0 và HSC3, HSC0 dùng để đếm số xung phát ra từ Q0.0 và HSC3 đếm số xung từ Q0.1 ( Được phát ra ở chế độ phát xung nhanh) mà không cần đấu phần cứng, nghĩa là PLC tự kiểm tra từ bên trong. Trên là bảng Mô tả chế độ đếm cũng như loại HSC, quy định địa chỉ vào. Căn cứ vào bảng trên để có thể chọn loại HSC cho từng ứng dụng phù hợp. 1 Số Bit được sử dụng để điều khiển các chế độ của HSC: HDEF Control Bits(used only when HDEF is executed) HSC0 HSC1 HSC2 HSC4 Description SM37.0 SM47.0 SM57.0 SM147.0 Active level control bit for Reset**: 0 = Reset active high 1 = Reset active low SM47.1 SM57.1 Active level control bit for Start**: 0 = Start active high 1 = Start active low SM37.2 SM47.2 SM57.2 SM147.2 Counting rate selection for Quadrature counters: 0 = 4x counting rate 1 = 1x counting rate SM Control Bits for HSC Parameters HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 Description SM37.3 SM47.3 SM57.3 SM137.3 SM147.3 SM157.3 Counting direction control bit: 0 = count down 1 = count up SM37.4 SM47.4 SM57.4 SM137.4 SM147.4 SM157.4 Write the counting direction to the HSC: 0 = no update 1 = update direction SM37.5 SM47.5 SM57.5 SM137.5 SM147.5 SM157.5 Write the new preset value to the HSC: 0 = no update 1 = update preset SM37.6 SM47.6 SM57.6 SM137.6 SM147.6 SM157.6 Write the new current value to the HSC: 0 = no update 1 = update current SM37.7 SM47.7 SM57.7 SM137.7 SM147.7 SM157.7 Enable the HSC: 0 = disable the HSC 1 = enable the HSC Các bit trang thái: Status Bits for HSC0, HSC1, HSC2, HSC3, HSC4, and HSC5 HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 Description SM36.0 SM46.0 SM56.0 SM136.0 SM146.0 SM156.0 Not used SM36.1 SM46.1 SM56.1 SM136.1 SM146.0 SM156.1 Not used SM36.2 SM46.2 SM56.2 SM136.2 SM146.0 SM156.2 Not used SM36.3 SM46.3 SM56.3 SM136.3 SM146.0 SM156.3 Not used SM36.4 SM46.4 SM56.4 SM136.4 SM146.0 SM156.4 Not used SM36.5 SM46.5 SM56.5 SM136.5 SM146.0 SM156.5 Current counting direction status bit: 0 = counting down; 1 = counting up SM36.6 SM46.6 SM56.6 SM136.6 SM146.0 SM156.6 Current value equals preset value status bit: 0 = not equal; 1 = equal SM36.7 SM46.7 SM56.7 SM136.7 SM146.0 SM156.7 Current value greater than preset value status bit: 0 = less than or equal; 1 = greater than 5. Điều xung, tần số (PWM,PTO) : CPU S7_200 có 2 ngõ ra xung tốc độ cao (Q0.0 ,Q0.1), dùng cho việc điều rộng xung tốc độ cao nhằm điều khiển các thiết bị bên ngoài. Việc điều rộng xung được thực hiện thông qua việc định dạng Wizard. Có 2 cách điều rộng xung:điều rộng xung 50%,và điều rộng xung theo tỉ lệ (PWM) . 5.1 Điều rộng xung 50% (PTO): Để thực hiện việc phát xung tốc độ cao ( PTO) trước hết ta phải thực hiện các bước định dạng sau: Reset ngõ xung tốc độ cao ở chu kì đầu của chương trình Chọn loại ngõ ra phát xung tốc độ cao Q0.0 hay Q0.1 Định dạng thời gian cơ sở ( Time base) dựa trên bảng sau: PTO/PWM Control Byte Reference: Result of executing the PLS instruction Control Register (Hex Value) Enable Select Mode PTO Segment Operation Time Base Pulse Count Cycle Time 16#81 Yes PTO Single 1 µs/cycle Load 16#84 Yes PTO Single 1 µs/cycle Load 16#85 Yes PTO Single 1 µs/cycle Load Load 16#89 Yes PTO Single 1 ms/cycle Load 16#8C Yes PTO Single 1 ms/cycle Load 16#8D Yes PTO Single 1 ms/cycle Load Load 16#A0 Yes PTO Multiple 1 µs/cycle 16#A8 Yes PTO Multiple 1 ms/cycle Các Byte cho việc định dạng SMB67 ( cho Q0.0) SMB77 ( cho Q0.1) Ngoài ra: Q0.0 Q0.1 SMW68 SMW78 : Xác định chu kì thời gian SMW70 SMW80 : Xác định chu kì phát xung SMD72 SMD82 : Xác định số xung điều khiển 5.2 Điều rộng xung theo tỉ lệ (PWM): Để thực hiện việc phát xung tốc độ cao ( PWM) trước hết ta phải thực hiện các bước định dạng sau: Reset ngõ xung tốc độ cao ở chu kì đầu của chương trình Chọn loại ngõ ra phát xung tốc độ cao Q0.0 hay Q0.1 Định dạng thời gian cơ sở ( Time base) dựa trên bảng sau: Result of executing the PLS instruction Control Register (Hex Value) Enable Select Mode PWM Update Method Time Base Pulse Width Cycle Time 16#D1 Yes PWM Synchronous 1 µs/cycle Load 16#D2 Yes PWM Synchronous 1 µs/cycle Load 16#D3 Yes PWM Synchronous 1 µs/cycle Load Load 16#D9 Yes PWM Synchronous 1 ms/cycle Load 16#DA Yes PWM Synchronous 1 ms/cycle Load 16#DB Yes PWM Synchronous 1 ms/cycle Load Load Các Byte cho việc định dạng SMB67 ( cho Q0.0) SMB77 ( cho Q0.1) Ngoài ra: Q0.0 Q0.1 SMW68 SMW78 : Xác định chu kì thời gian SMW70 SMW80 : Xác định chu kì phát xung SMD72 SMD82 : Xác định số xung điều khiển Ngoài ra để thực hiện được điều xung nhiềi\u trang thái của xung thì còn dùng nhiều đến lệnh ngắt ATCH: Bit EN : tín hiệu cho phép thực hiện lệnh ATCH INT : Chương trình ngắt được gọi khi có sự kiện ngắt xảy ra EVNT : Số thứ tự sự kiện ngắt Bảng sự kiện ngắt: Lệnh DTCH: lệnh cấm ngắt Bit EN : tín hiệu cho phép thực hiện lệnh DTCH EVNT : Số thứ tự sự kiện ngắt ,bị cấm 6. PID: 6.1 Giới thiệu lệnh vòng lặp PID trong S7-200: - Lệnh này tính toán vòng lặp PID (PID Loop) theo các đầu vào và những thông số từ bảng được định địa chỉ bởi TBL. Những lỗi có thể được gây nên bởi lệnh này (ENO = 0): + Bit đặc biệt SM4.3 = 1: lỗi Run - Time. + Lỗi 0006: địa chỉ gián tiếp. + Bit đặc biệt SM1.1 = 1: lỗi tràn (Overflow). Những bit nhớ đặc biệt có nội dung bị ảnh hưởng bởi lệnh này: + SM1.1 (Overflow): bằng 1 nếu kết quả bị tràn. Lệnh PID Loop (Proportional, Integral, Derivative Loop) được sử dụng để tính toán vòng lặp PID. Lệnh này chỉ được thực hiện nếu như đỉnh của ngăn xếp (Top Of Stack) bằng 1 trong STL, hay có Power Flow trong LAD. Lệnh này có hai toán hạng: [TBL] là địa chỉ byte đầu tiên của một bảng dữ liệu còn [LOOP] là một số nằm trong khoảng từ 0 đến 7. Điều này cũng có nghĩa là chỉ có tối đa 8 lệnh PID Loop có thể được sử dụng trong một chương trình. Nếu có hai lệnh PID Loop với cùng một số [LOOP] thì dù chúng có sử dụng hai bảng khác nhau đi nữa cũng vẫn ảnh hưởng đến nhau và có thể gây những hậu quả không lường trước được. Bảng dữ liệu của lệnh PID Loop bao gồm 09 tham số dùng để điều khiển hoạt động của vòng lặp: giá trị tức thời và giá trị kế trước (current and previous value) của biến điều khiển (process variable), giá trị yêu cầu (setpoint), giá trị xử lý (output - đầu ra của PID), hệ số khuếch đại (gain), thời gian lấy mẫu (sample time), hệ số tích phân (integral time - reset), hệ số vi phân (derivative time - rate) và integral sum (bias). Để thực hiện lệnh này ở một tần suất lấy mẫu xác định, nó phải hoặc là được đặt trong một ngắt thời gian hoặc là được thực hiện trong chương trình chính qua kiểm soát bởi một bộ định thời. Đồng thời, thời gian lấy mẫu tương ứng phải được đưa vào bảng dữ liệu của lệnh. Trong STEP 7 Micro / Win 32, chúng ta có thể sử dụng PID Wizard để tạo thuật toán với PID cho một mạch điều khiển kín bằng cách chọn Tools Instruction Wizard -> PID từ Menu chính. Bảng dữ liệu của lệnh PID Loop bao gồm 09 tham số 6.2 Cách sử dụng PID Wizard: Chọn từ menu command Tools > Instruction Wizard… và sau đó chọn PID hoặc click biểu tượng Instruction Wizard trong thanh công cụ Navigation Bar và sau đó chọn PID hoặc mở Wizards folder trong Instruction Tree và sau đó mở wizard hoặc một bộ PID cũ đã tồn tại và được cấu hình trước - Sau đó ta lần lượt thực hiện theo các bước sau: Bước 1: Xác định vòng lặp PID. Nếu Project của chúng ta đã có cấu hình bộ PID tồn tại sẵn được tạo từ trước trong STEP 7 Micro/WIN version 3.2 , chúng ta phải chọn để chỉnh xửa nó hoặc tạo một cái mới trước khi tiếp tục bước 1 này. Sau đó ta các định cấu hình cho vòng lặp PID Bước 2: thiết lập bảng thông số cho bộ PID Xác định ngỏ vào vòng lặp loop setpoint (SP) nên được chia như thế nào.Chọn bất kỳ số thực nào trong khoảng Low Range and High Range. Giá trị mặc định là một số thực nằm giữa 0.0 và 1.0. - Xác định các thông số sau: + Gain Time(Kc) + Sample Time(Ts) + Integral Time(Ti) + Derivative Time(Td) Bước 3: Sự lựa chọn ngỏ vào và ra Giá trị tức thời của biến điều khiển (PV) là một thông số ta phải xác định cho chương trình con được tạo bởi wizard . Wizard hỏi bạn cho những sự lựa chọn sau - Xác định giá trị tức thời của biến điều khiển (PV) nên được chia như thế nào. Ta có thể chọn : + Unipolar ( khoảng mặc định 0 đến 32000 có thể được chỉnh sửa) + Bipolar(khoảng mặc định -32000 đến 32000có thể được chỉnh sửa) + 20% Offset (range 6400 to 3200 được xét và không thể thay đổi) Chúng ta cũng phải nhập vào những sự lựa chọn ngỏ ra sau: - Xác định ngỏ ra nên được chia như thế nào. Ta có thể chọn như sau: + Output Type (Analog or Digital) Chú ý: nếu bạn chọn cấu hình loại ngỏ ra số, sau đó bạn phải nhập vào chu kỳ thời gian là giây. + Scaling (Unipolar, Bipolar, or 20% Offset) Bước 4: Xác định loại thông báo. - Enable Low Alarm (PV) và xét giới hạn cảnh báo mức thấp được chuẩn hóa từ 0.0 đến giới hạn cảnh báo mức cao. - Enable High Alarm (PV) và xét giới hạn cảnh báo mức cao được chuẩn hóa từ giới hạn cảnh báo mức thấp đên 1 - Enable Analog Input Module Error and xác định vị trí the input module được gắn với PLC Bước 5: Xác định vùng nhớ cho các phép toán. Tập lệnh PID instruction sử dụng một bảng thông số 36 byte trong vùng nhớ V để lưu trữ các giá trị thông số được dùng cho việc điều khiển hoạt đọng của vòng lặp.Phép toán PID cũng cần một vùng nhớ tạm cho những kết quả tạm thời. Bạn cần xác định địa chỉ byte vùng nhớ V cho sự bắt đầu thuật toán PID Bạn cũng có thể chọn để thêm vào chế độ điều khiển bằng tay của PID.Khi ở chế độ này phép toán PID không được thực hiện và giá trị ngỏ ra không đổi. Bước 6 : Xác định chương trình con và chương trình ngắt Chú ý: nếu Project của bạn có chứa một bộ PID cấu hình tồn tại sẵn , chương trình ngắt đã tạo sẵn được liệt kê (read only). Bởi vì tất cả các cấu hình trong Project chia sẽ một chương trình ngắt chung , tên của nó không được thay đổi bởi bất kỳ cấu hình mới nào được thêm vào hệ thống. wizard gán tên mặc định cho chương trình con và chương trình ngắt ban dầu. Bạn có thể chỉnh sửa tên mặc định. Bước 7 : Generate PID Code Phần này chỉ một list của POUs được tạo bởi PID Wizard và mang một bảng mô tả tóm tắt được tích hợp vào chương trình của bạn Những yêu cầu này đã được xác nhận một lần qua các bước trên và bạn click Finish , S7-200 Instruction Wizard tạo program code và data block code cho cấu hình bạn đã xác định. Các chương trình con và chương trình ngắt đã tạo bởi wizard trở thành một phần của Project. Để enable cấu hình này bên trong chương trình, sử dụng SM0.0 để gọi chương trình con này từ MAIN program block mỗi chu kỳ quét. Chương trình ngắt PID thì được gọi một cách tuần hoàn dựa trên thời gian lấy mẫu. . ˜˜˜&™™™ Chương V: GIAO TIẾP GIỮA PLC VÀ WINCC 1. Giới thiệu về giao tiếp giữa PLC và WINCC : 1.1 Cách thức giao tiếp PC access: Để giao tiếp được giữa PLC và WinCC thì trước tiên cần tạo các biến ngoại trong PC ACCESS và save lại ví dụ như sau: Hình 5.1 Cách thức giao tiếp PC access Sau đó vào giao diện chính của WinCC chọn Tag management => OPC => OPC Groups sau đó click chuột phải và chọn system Parameter: Tiếp theo giao diện OPC Item Manager hiện ra và chọn tiếp S7200.OPCServer và chọn Browser Server. Tiếp theo check vào read access và Wrire access vào nhấn Next. Sau khi giao diện S7200.OPCServer xuất hiện thì click chọn lần lượt vào S7200.OPCServer =>MicroWin => New PLC sau đó quét tất cả các biến vừa mới thiết lập trong PC Access và chọn Add Items: Hình 5.2 Cách thức giao tiếp PC access Sau đó chọn tiếp S7200_OPCServer và Finish. Sau khi kết nối xong các biến thì nhấn back và chọn Exit. 1.2 Hiển thị gia trị trên Tag logging: Tiếp theo để có thể xuất được các biến cần hiển thị lên giao diện đồ thị thì cần tạo nên 1 tag logging mới. Để khởi động giao diên tag logging trong giao diên WinCC click dúp vào tag logging: Sau đó click phải vào Timer và chọn new: Tiếp theo đặt tên cho biến timers trong muc Base chọn 1 day và trong mục Factor chọn 7: Hình 5.3 Hiển thị giá trị trên tag logging Tiếp theo cần tạo biến lưu trữ bằng cách click phải vào archives và chọn archive Wizard… Và cứ tiếp tục chọn next và đặt tên của biến lưu trữ: Sau đó click select: Và chọn biến cần hiển thị trong OPC: Hình 5.4 Hiển thị giá trị trên tag logging Sau đó trong mục đã xuất hiện các biến cần hiển thị, khi đó cần click chuột phải vào các biến đó chọn Properties: Sau đó chọn các giá trị như trong hình: Hình 5.5 Hiển thị giá trị trên tag logging Sau đó save lại và thoát chương trình. 2. Vẽ đồ thị giám sát : Sau khi tạo được Tag logging như trên, trong cửa sổ Graphics Designer, trong khung Opject Palette chọn WinCC Online TrendControl, giữ chuột trái và kéo thả vào Graphics Designer như hình: Sau đó, ta thấy cửa sổ hiện ra, ta đổi tên Trend thành tên ta muốn và chọn Tag Name đề gán biến muốn hiển thị: Sau đó nhấn OK hai lần để kết thúc. 3. Alarm logging : Vào cửa sổ Alarm logging Editor như hình: Trong cửa sổ Alarm Logging ta làm như hình : Trong ô Tag to be monitored ta gán biến Tag muốn hiển thị: Click chuột phải, chọn Properties như hình: Gõ chuỗi muốn hiển thị vào Message text và vị trí lỗi muốn hiển thị vào ô Point of error : Ta thiết lập mức giới hạn trên và dưới. Ta làm theo hướng dẫn như hình: Thiết lập giới hạn: Sauk hi thiết lập xong, nhấn OK và Save lại chương trình. Kết quả sẽ là: Sau đó, trong Graphics Designer ta chọn: Thiết lập Message text và Fault Location như hình: Kết quả như sau: ˜˜˜&™™™ Chương VI : CẢM BIẾN VÀ CƠ CẤU CHẤP HÀNH 1. Cảm biến từ : Những yếu tố ảnh hưởng đến tầm của cảm biến: + Kích thứơc, hình dáng, vật liệu lõi và cuộn dây. + Vật liệu và kích thước đối tượng + Nhiệt độ môi trường Nguyênlýhọat động: Mạch dao động tạo dao động điện từ. Từ trường biến thiên từ lõisắt sẽ tác động với vật kim lọai đặt trước nó. Khi có đối tượng lại gần -> xuất hiện dòng điện cảm ứng chống lại sự thay đổi dòng điện -> giảm biên độ tín hiệu dao động. Bộ phát hiện sẽ phát hiện sự thay đổi tín hiệuvà tác động để mạch ra lên mức ON. 2. Encoder : 2.1. Cấu tạo chính của Encoder: Encoder mục đích dùng để xác định vị trí góc của một đĩa quay, để đo tốc độ và chiều quay của thiết bị, đĩa quay có thể là bánh xe, trục động cơ, hoặc bất kỳ thiết bị quay nào cần xác định vị trí góc. Dựa trên nguyên tắc cảm biến ánh sáng với một đĩa có khắc vạch sáng tối quay giữa nguồn sáng và phototransistor (đối với encoder quang) hoặc là hiện tượng cảm ứng điện từ (đối với encoder từ). Ở đây ta chỉ đề cập tới encoder quang. Encoder được chia làm 2 loại, là encoder tuyệt đối và encoder gia tăng. Ở đây ta chỉ nghiên cứu về loại gia tăng. Hình 1.5: Một số loại encoder trên thị trường. Gồm 1 bộ phát ánh sáng (thường là LED), một bộ thu ánh sáng nhạy với ánh sáng từ bộ phát ( thường là photodiotde hoặc phototransistor), 1 đĩa quang được khoét lỗ gắn trên trục quay đặt giữa bộ phát và thu, thông thường trục quay này sẽ được gắn với trục quay của đối tượng cần đo tốc độ hay vị trí. Hình 1.6: Cấu tạo thực tế của encoder Một encoder thường có các dây sau: Dây cấp nguồn (+5V) cho encoder. Dây nối đất (GND). Dây pha A – tín hiệu ra theo độ phân giải (1 vòng/N xung (N từ vài chục lên đến vài nghìn xung tuỳ theo độ phân giải)). Dây pha B – tín hiệu ra theo độ phân giải (1 vòng/N xung (N từ vài chục lên đến vài nghìn xung tuỳ theo độ phân giải)), pha B chậm pha hơn pha A 90o. Thường tuỳ theo trạng thái pha nhanh hay chậm của 2 pha này ta xác định chiều quay của đối tượng, để từ đấy bộ đếm đếm tiến hoặc đếm lùi. 3600 A B Z Hình 1.8: Dạng sóng ngõ ra của LED thu. Ngoài ra một số encoder còn có dây pha z, ta thu được một xung từ pha z khi đĩa encoder quay 1 vòng. Hình 1.9: Cấu tạo đĩa quay trong encoder 2.2. Nguyên lý cơ bản: Encoder thực chất là một đĩa tròn xoay, quay quanh trục. Trên đĩa có các lỗ (rãnh). Người ta dùng một đèn led để chiếu lên mặt đĩa. Khi đĩa quay, chỗ không có lỗ (rãnh), đèn led không chiếu xuyên qua được, chỗ có lỗ (rãnh), đèn led sẽ chiếu xuyên qua. Khi đó, phía mặt bên kia của đĩa, người ta đặt một con mắt thu. Với các tín hiệu có, hoặc không có ánh sáng chiếu qua, người ta ghi nhận được đèn led có chiếu qua lỗ hay không. Cứ mỗi lần đi qua một lỗ, chúng ta phải lập trình để thiết bị đo đếm lên 1. Số lỗ trên đĩa sẽ quyết định độ chính xác của thiết bị đo. Ví dụ đĩa của bạn có 1 lỗ tức là khi bạn quay được 1 vòng thì bộ thu sẽ thu được 1 xung, nếu đĩa của bạn khoét N lỗ có nghĩa 1 vòng bạn thu được N xung. Như vậy khi đo tốc độ bạn đếm số xung trong 1 đơn vị thời gian, từ đó bạn tính được số vòng trên 1 đơn vị thời gian (hoặc bạn có thể đo chu kì xung). Nếu đo tốc độ cao thì số lỗ khoét càng nhiều càng chính xác Hình 1.10: Quá trình đọc Encoder. 3. Động cơ DC: Động cơ DC là động cơ điện hoạt động với dòng điện một chiều. Động cơ điện một chiều ứng dụng rộng rãi trong các ứng dụng dân dụng cũng như công nghiệp. Thông thường động cơ điện một chiều chỉ chạy ở một tốc độ duy nhất khi nối với nguồn điện, tuy nhiên vẫn có thể điều khiển tốc độ và chiều quay của động cơ với sự hỗ trợ của các mạch điện tử cùng phương pháp PWM. Động cơ điện một chiều trong dân dụng thường là các dạng động cơ hoạt động với điện áp thấp, dùng với những tải nhỏ. Trong công nghiệp, động cơ điện một chiều được sử dụng ở những nơi yêu cầu moment mở máy lớn hoặc yêu cầu thay đổi tốc độ trong phạm vi rộng. ở đây ta chỉ nghiên cứu động cơ DC trong dân dụng chỉ hoạt động với điện áp 24V trở xuống . Hình 1.1 Một số loại động cơ trên thực tế. 3.1 Cấu tạo: Một động cơ DC có 6 phần cơ bản: Phần ứng hay Rotor (Armature). Nam châm tạo từ trường hay Stator (field magnet). Cổ góp (Commutat). Chổi than (Brushes). Trục motor (Axle). Bộ phận cung cấp dòng điện DC. Stator bao gồm vỏ máy, cực từ chính, cực từ phụ, dây quấn phần cảm (dây quấn kích thích). Số lượng cực từ chính ảnh hưởng tới tốc độ quay. Đối với động cơ công suất nhỏ, người ta có thể kích từ bằng nam châm vĩnh cửu. Hình 1.2: Cấu tạo động cơ điện một chiều. Rotor ( còn gọi là phần ứng ) gồm các lá thép kỹ thuật điện ghép lại có rãnh để đặt các phần tử của dây quấn phần ứng. Điện áp một chiều được đưa vào phần ứng qua hệ thống chổi than – vành góp. Chức năng của chổi than – vành góp là để đưa điện áp một chiều và đổi chiều dòng điện trong cuộn dây phần ứng. Số lượng chổi than bằng số lượng cực từ (một nửa có cực từ âm, một nửa có cực từ dương). Phương trình cơ bản của động cơ 1 chiều: E = K Φ. W (1) V = E + Ru.Iu (2) M = K Φ Iu (3) Với: E: sức điện động cảm ứng (V). Φ: Từ thông trên mỗi cực( Wb). Iu: dòng điện phần ứng (A). V : Điện áp phần ứng (V). Ru: Điện trở phần ứng (Ohm). W : tốc độ động cơ (rad/s). M : moment động cơ (Nm). K: hằng số, phụ thuộc cấu trúc động cơ. 3.2 Nguyên lý hoạt động: Khi có một dòng điện chảy qua cuộn dây quấn xung quanh một lõi sắt, cạnh phía bên cực dương sẽ bị tác động bởi một lực hướng lên, trong khi cạnh đối diện lại bị tác động bằng một lực hướng xuống theo nguyên lý bàn tay trái của Fleming. Các lực này gây tác động quay lên cuộn dây, và làm cho rotor quay. Để làm cho rotor quay liên tục và đúng chiều, một bộ cổ góp điện sẽ làm chuyển mạch dòng điện sau mỗi vị trí ứng với 1/2 chu kỳ. Chỉ có vấn đề là khi mặt của cuộn dây song song với các đường sức từ trường. Nghĩa là lực quay của động cơ bằng 0 khi cuộn dây lệch 90o so với phương ban đầu của nó, khi đó rotor sẽ quay theo quán tính. Tương tác giữa dòng điện phần ứng và từ thông kích thích tạo thành momen điện từ. Do đó phần ứng sẽ được quay quanh trục. Hình 1.3: Nguyên lý hoạt động của động cơ DC. 3.3 Điều khiển tốc độ động cơ DC: Thông thường, tốc độ quay của một động cơ điện một chiều tỷ lệ với điện áp đặt vào nó, và ngẫu lực quay tỷ lệ với dòng điện. Có nhiều phương pháp để thay đổi tốc độ động cơ DC, ở đây ta sử dụng phương pháp điều khiển thông dụng nhất là kiểu điều biến độ rộng xung (PWM), có nghĩa là ta cấp áp cho động cơ dưới dạng xung với tần số không đổi mà chỉ thay đổi Ton và Toff. Từ (1),(2). (3) suy ra: W = V/(K.Φ) – Ru.Iu/(K.Φ) (4) Theo (4) : khi Iu không đổi (tức Moment không đổi) và Φ không đổi thì W thay đổi "tuyến tính" theo V (thực tế thì không hoàn toàn tuyến tính theo đường thẳng được). Hình 1.4: Điều khiển động cơ bằng PWM. Khi tỷ lệ thời gian "on" trên thời gian "off" thay đổi sẽ làm thay đổi điện áp trung bình (VAV). Tỷ lệ phần trăm thời gian "on" trong một chu kỳ chuyển mạch nhân với điện áp cấp nguồn sẽ cho điện áp trung bình đặt vào động cơ. Như vậy với điện áp nguồn cung cấp là 100V, và tỷ lệ thời gian ON là 25% thì điện áp trung bình là 25V. VAV thay đổi từ VL đến VH tùy theo các độ rộng Ton và Toff Như vậy, tốc độ động cơ sẽ thay đổi "tuyến tính" theo % độ rộng xung. Phần B THIẾT KẾ VÀ THI CÔNG Chương I: THIẾT KẾ CƠ KHÍ 1. Cơ cấu lấy tải : Hệ thống được điều khiển bởi một motor DC được gắn phía sau, cơ cấu này được thiết kế dựa vào sự truyền động bánh răng. Trục motor được lắp trực tiếp với một bánh răng tỳ vào một thanh răng có hệ số giống nhau. Khi motor quay thuận (hoặc ngược), cơ cấu này sẽ kéo (hoặc đẩy) 2 thanh đỡ tải trong quá trình lấy tải. Giới hạn của thanh răng bởi 2 cảm biến từ. Quá trình đỡ tải Motor tải 2. Cơ cấu trục chính: Cơ cấu đỡ tải Thanh Visme - Được thiết kế gồm một Motor thẳng đứng bắt chặt với với 1 giá đỡ cao 1,2m so với mặt đất, trục motor gắn trực tiếp với 1 thanh Visme dài 1,05m. Thanh Visme, bộ phận đỡ tải được gắn với nhau và cùng gắn vào 1 thanh trượt dài 1,05m. Khi Motor quay thuận sẽ đưa tải trượt từ trên xuống, và ngược lại. - Các tải được định vị bởi các cảm biến từ. Chương II: THIẾT KẾ MẠCH ĐIỀU KHIỂN 1. Khối nguồn: Sử dụng IC ổn áp LM7805 và LM7812 để tạo áp chuẩn. 2. Khối điều khiển động cơ : Sử dụng IC LM324 để điều biến độ rộng xung PWM điều khiển tốc độ động cơ DC ở chế độ Manual. 3. Khối đọc xung Encoder: 4. Khối Driver (Cầu H): Sử dụng 2 cặp FET IRF9540 và IRF540 làm Driver với tồng công suất lớn (ID = 23A). Chương III: LƯU ĐỒ GIẢI THUẬT Đ Đ S S START VITRI_DAU=1 TRỞ VỀ VỊ TRÍ_ĐẦU CÀI ĐẶT THÔNG SỐ BAN DẦU CHO HỆ THỐNG START=1 S Đ PID XUỐNG 0 TẢI CẢM BIẾN_TRƯƠC=1 HÃM TỐC ĐỘ PID LÊN 0 TẢI TRỞ VỀ VỊ TRÍ ĐẦU 0 TẢI NGẮT PID, GỌI CHƯƠNG TRÌNH ĐIỀU XUNG HÃM MOTOR LẤY 1 TẢI CẢM BIẾN_SAU=1 PID XUỐNG 1 TẢI CẢM BIẾN_TRƯƠC=1 HÃM TỐC ĐỘ PID LÊN 1 TẢI TRỞ VỀ VỊ TRÍ ĐẦU 1 TẢI NGẮT PID, GỌI CHƯƠNG TRÌNH ĐIỀU XUNG HÃM MOTOR LẤY 1 TẢI CẢM BIẾN SAU=1 PID XUỐNG 2 TẢI CẢM BIẾN TRƯƠC=1 Đ S S S S S Đ Đ Đ HÃM TỐC ĐỘ PID LÊN 2 TẢI TRỞ VỀ VỊ TRÍ ĐẦU 2 TẢI NGẮT PID, GỌI CHƯƠNG TRÌNH ĐIỀU XUNG HÃM MOTOR LẤY 1 TẢI CẢM BIẾN SAU=1 PID XUỐNG 3 TẢI CẢM BIẾN_TRƯƠC=1 HÃM TỐC ĐỘ PID LÊN 3 TẢI TRỞ VỀ VỊ TRÍ ĐẦU 3 TẢI NGẮT PID, GỌI CHƯƠNG TRÌNH ĐIỀU XUNG HÃM MOTOR LẤY 1 TẢI CẢM BIẾN_SAU=1 PID XUỐNG 4 TẢI CẢM BIẾN_TRƯƠC=1 HÃM TỐC ĐỘ PID LÊN 4 TẢI TRỞ VỀ VỊ TRÍ ĐẦU 0 TẢI STOP=1 END Đ Đ Đ Đ Đ S S S S 1. Giải thuật chương trình chính: Giải thuật thuật toán PID: ĐỌC XUNG TỪ HSC0 à TỐC ĐỘ THỰC TẾ à ĐƯA VÀO BỘ PID SO SÁNH LẤY GIÁ TRỊ NGÕ RA PID CHUYỂN THÀNH ĐỘ RỘNG XUNG TƯƠNG ỨNG ĐƯA XUNG ĐÓ VÀO PWM ĐIỀU XUNG ĐỘNG CƠ LIÊN TỤC ĐỌC XUNG TỪ HSC VÀO ĐIỀU CHỈNH XUNG PWM XUẤT RA ĐỘNG CƠ END START CÀI ĐẶT THÔNG SỐ NGỎ VÀO CHO BỘ PID: CHUẨN HÓA NGỎ VÀO PID-SETPOIN (SPn)=Vđặt/Vmax CHUYỂN TỐC ĐỘ TỐI ĐA TỪ VÒNG/ PHÚT SANG VÒNG /MS =>VD44. VD44 xTHỜI GIAN LẤY MẪUx SỐ XUNG/VÒNG CỦA ENCODER => VD64. CHUYỂN THỜI GIAN LẤY MẪU/MS SANG THỜI GIAN LẤY MẪU / S TÍNH TOÁN CÁC GIÁ TRỊ HỆ SỐ VI PHÂN Ti VÀ HỆ SỐ TÍCH PHÂN Td TỪ BỘ THÔNG SỐ Kp , Ki , Kd. NẠP THÔNG SỐ NGỎ VÀO CHO BỘ PID: BAO GỒM 9 THAM SỐ LÀ: GIÁ TRỊ TỨC THỜI(PVn) CỦA BIẾN ĐIỀU KHIỂN (PVn) , GIÁ TRỊ YÊU CẦU (SETPOINT-SPn) , GIÁ TRỊ XỬ LÝ OUTPUT (Mn) , HỆ SỐ KHUẾCH ĐẠI (Kp) , THỜI GIAN LẤY MẪU (Ts) , Ti , Td , BIAS (Mx) , GIÁ TRỊ KẾ TRƯỚC (PVn-1) CỦA BIẾN ĐIỀU KHIỂN (PVn) LẦN LƯỢT CHIẾM CÁC ĐỊA CHỈ Ô NHỚ LÀ: VD100 , VD104 , VD108 , VD112 , VD116 , VD120 , VD124 , VD128 , VD132. PID-ENABLE = 1 Đ S Chương IV: GIAO DIỆN CHƯƠNG TRÌNH Giao diện điều khiển - Kp, Ki, Kd là ba hệ số các khâu tỉ lệ, tích phân, vi phân của thuật toán PID. Button Defaut là trả về giá trị mặc định chạy không tải. Khi quá trình hoạt động thay đổi tải trọng, thì các giá trị Kp, Ki, Kd sẽ tự động cập nhật. - Pulse Width hiển thị giá trị độ rộng xung để điều khiển tốc độ motor 1 (kéo tải). - Khi hoạt động, tốc độ đo(Measurement Speed) sẽ bám sát theo tốc độ đặt (Max Speed Allowed (RMP)). - Exit sẽ thoát Runtime. - Original Position tác dụng đưa hệ thống về vị trí chuẩn bị hoạt động. Sau khi hệ thống đã ở vị trí ban đầu, ta nhấn Reset Parameters để reset hệ thống. - Start cho phép hệ thống hoạt động. - Stop cho phép dừng hệ thống. TÀI LIỆU THAM KHẢO 1. Lý thuyết điều khiển tự động, Nguyễn Thị Phương Hà, Đại Học Bách Khoa TPHCM. 2. S7-200 Programmable Controller SystemManual. 3. HMI WinCC 7.0 Getting Started. 4. Đo lường và điều khiển bằng máy tính, Nguyễn Đức Thành, Đại Học Bách Khoa TPHCM. 5. Lý thuyết tín hiệu, Phạm Thị Cư, Đại Học Bách Khoa TPHCM. 6. Internet, báo và tạp chí.

Các file đính kèm theo tài liệu này:

  • docBao cao luan van.doc
  • rar185020_Điều khiển v_.rar
  • docBia_in_tom_tat.doc
  • docMuc_luc.doc
  • docNhan xet.doc