Mô hình chiết chai di động

MỤC LỤC PHẦN I: TỔNG QUAN VỀ ĐỘNG CƠ DC VÀ ĐỘNG CƠ BƯỚC 1 Chương I: Giới thiệu động cơ DC và các phương pháp điều chỉnh động cơ DC 2 I. Giới thiệu về động cơ một chiều 2 II. Các phương pháp điều chỉnh tốc độ động cơ DC 8 III. Chỉ tiêu chất lượng của hệ truyền động điện 10 IV. Các phương pháp đảo chiều quay dùng động cơ transistor 21 Chương II: Điều chỉnh vị trí động cơ DC 24 I. Khái niệm 24 II. Điều khiển vị trí dùng PID 24 III. Điều khiển vị trí dùng logic mờ 26 Chương III: Giới thiệu về động cơ bước và phương pháp điều khiển động cơ bước 28 I. Động cơ từ trở thay đổi 29 II. Động cơ đơn cực 30 III. Động cơ lưỡng cực 32 IV. Động cơ nhiều pha 33 V. Các mạch điều khiển động cơ bước cơ bản 34 PHẦN II: GIỚI THIỆU PLC S7_200 VÀ CÁC THIẾT BỊ LIÊN QUAN 41 Chương I: Giới thiệu PLC Simatic S7_200 42 I. Giới thiệu về phần cứng và cấu hình của PLC 42 II. Giới thiệu về tập lệnh S7_200 51 Chương II: Các thiết bị liên quan 105 I. Thiết bị giải mã vị trí 105 II. Transistor 107 PHẦN III: THIẾT KẾ HỆ THỐNG 111 Chương I: Thiết kế mô hình hệ thống 112 Giới thiệu mô hình 112 Chương II: Hệ thống điều khiển và mạch gia công tín hiệu 117 I. Hệ thống điều khiển valve 117 II. Khâu hồi tiếp 117 III. Mạch gia công tín hiệu 117 Chương III: Thiết kế mạch phần cứng 119 I. Mạch tạo xung vuông 119 II. Mạch kích động cơ bước 121 III. Mạch điều khiển động cơ bước 123 IV. Mạch điều khiển động cơ DC 128 Chương IV: Thiết kế phần mềm 131 I. Giải thuật 131 II. Chương trình điều khiển 140 CHƯƠNG I GIỚI THIỆU ĐỘNG CƠ DC VÀ CÁC PHƯƠNG PHÁP ĐIỀU CHỈNH TỐC ĐỘ ĐỘNG CƠ DC I. Giới thiệu về động cơ một chiều 1. Khái niệm Ngày nay, mặc dù điện xoay chiều được sử dụng rất rộng rãi. song máy điện một chiều vẫn tồn tại, đặc biệt là động cơ điện một chiều. Trong công nghiệp, động cơ điện một chiều được sử dụng ở những nơi cần momen mở máy lớn hoặc trong yêu cầu điều chỉnh tốc độ và phạm vi rộng. Trong các thiết bị tự động, các máy điện khuếch đại, các động cơ chấp hành cũng là máy điện một chiều. Ngoài ra, các máy điện một chiều còn thấy trong các thiết bị ô tô, tàu thủy, máy bay, các máy phát điện một chiều điện áp thấp dùng trong thiết bị điện hóa, hàn điện với chất lượng cao. Nhược điểm chủ yếu của máy điện một chiều là có cổ góp làm cho cấu tạo phức tạp, đắc tiền , kém tin cậy và nguy hiểm trong môi trường dễ nổ. Khi sử dụng động cơ một chiều cần phải có nguồn một chiều kèm theo. 2. Nguyên lý làm việc Khi cho điện áp một chiều U vào 2 chổi điện A và B, trong dây quấn phần ứng có dòng điện Iư . các thanh dẫn ab, cd có dòng điện nằm trong từ trường sẽ chịu lực Fđt tác động làm cho rô to quay. Chiều lực xác định theo qui tắc bàn tay trái. Phương trình điện áp: U = Eư + Rư Iư . Trong đó: Eư là sức phản điện. Iư là dòng điện trong dây quấn phần ứng Rư là điện trở của dây quấn phần ứng. U là điện áp đưa vào. Sức điện động của động cơ điện một chiều: Trong đó : p là số đôi cực từ chính. N là số thanh dẫn tác dụng của cuộn dây phần cứng. a là số đôi cực nhánh song song của cuộn dây. n là tốc độ quay (vòng / phút).  là từ thông kích từ dưới một cực từ (wb). Mômen điện từ của động cơ: Momen điện từ là momen quay, cùng chiều với tốc độ quay n. 3. Điều chỉnh tốc độ Ta có phương trình: Eư = U – Rư Iư Thay trị số Eư = kE . . n Ta có phương trình tốc độ: Ta có các phương pháp điều chỉnh tốc độ:  Mắc điện trở điều chỉnh vào mạch phần ứng: Khi thêm điện trở vào mạch phần ứng, tốc độ sẽ giảm. Tổn hao trên phần ứng lớn nên chỉ số sử dụng với động cơ công suất nhỏ.  Thay đổi điện áp U: Nguồn điện một chiều điều chỉnh được dùng để cung cấp điện áp cho động cơ. Phương pháp này được sử dụng nhiều.  Thay đổi từ thông: Thay đổi từ thông bằng cách thay đổi dòng điện kích từ. Khi điều chỉnh tốc độ ta kết hợp các phương pháp trên với nhau. Ví dụ: phương pháp thay đổi từ thông kết hợp với phương pháp thay đổi điện áp thì phạm vi điều chỉnh rất rộng. Đây là ưu điểm lớn của động cơ điện một chiều.

doc206 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2813 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Mô hình chiết chai di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iảm giá trị Bit IN đi một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN Toán hạng :IN :VB, IB, QB, MB, SMB, SB, AC, Constant, *VD, *AC OUT:VB, IB, QB, MB, SMB, SB, AC, *VD, *AC STL DECB IN L A D Lệnh giảm giá trị Word IN đi một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN Toán hạng : IN :VW,T,C,IW, QW,MW, SMW,SW,AC,AIW, Const,*VD,*AC OUT : VW,T,C, IW, QW,MW,SMW,SW, AC,*VD,*AC STL DECW IN L A D Lệnh giảm giá trị Double Word IN đi một đơn vị kết quả ghi vào OUT. Trong STL kết quả ghi vào IN Toán hạng :IN:VD, ID, QD, MD, SMD, SD, AC, HC, Const, *VD, *AC OUT:VD,ID,QD, MD,SMD,SD,AC, *VD, *AC STL DECD IN L A D Lệnh thực hiện việc lấy căn bậc hai của một số IN kết quả ghi vào số OUT 32 bit Toán hạng :IN :VD,ID,QD, MD, SMD,SD, AC, Const,*VD, *AC OUT:VD, ID, QD, MD, SMD,SD, AC, *VD, *AC STL SQRT IN OUT Giới thiệu về Timer và các lệnh điều khiển Timer Timer là bộ tạo thời gian trễ giữa tín hiệu vào và tín hiệu ra nên trong điều khiển thường được gọi là khâu trễ. S7-200 từ CPU 214 trở lên có 128 Timer được chia làm hai loại khác nhau đó là: Timer tạo thời gian trễ không có nhớ có nghỉa là khi tín hiệu logic vào IN ở mức không thì Timer sẽ bị Reset. Timer Txx này có thể Reset bằng hai cách đó là cho tín hiệu logic vào bằng không hoặc dùng lệnh R Txx (trong STL) để Reset lại timer Txx. Timer này được dùng để tạo thời gian trễ trong một thời gian liên tục kí hiệu là TON Timer tạo thời gian trễ có nhớ có nghĩa là khi tín hiệu logic vào IN ở mức không thì Timer này không chạy nữa nhưng khi tín hiệu lên mức cao lại thì Timer lại tiếp tục chạy tiếp. Timer Txx này có thể Reset bằng cách dùng lệnh R Txx (trong STL) để Reset lại timer Txx. Timer này được dùng để tạo thời gian trễ trong một thời gian gián đoạn (trong nhiều khoảng thời gian khác nhau) kí hiệu là TONR Cả hai loại Timer trên đều chạy đến giá trị đặt trước PT thì nó sẽ tự dừng lại nếu muốn cho nó hoạt động lại thì ta phải Reset Timer lại. Timer có những tính chất cơ bản sau: Các bộ Timer điều được điều khiển bởi một cổng vào và một giá trị đếm tức thời. Giá trị đếm tức thời được lưu trong một thanh ghi 2 Byte ( gọi là Tword) của Timer xác định khoảng thời gian trễ được kích. Giá trị đếm tức thời của Timer luôn luôn được so sánh với giá trị PT đặt trước. Ngoài thanh ghi 2 byte T-word lưu giá trị tức thời còn có một bit kí hiệu T-bit chỉ thị trạng thgái logci đầu ra giá trị logic này phụ thuộc vào kết quả so sánh giá trị đếm tức thời với giá trị đặt trước. Khi giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước thì T-bit sẽ có giá trị logic bằng 1 ngược lại T-bit sẽ có giá trị logic bằng không. Time có 3 độ phân giải đó là 1ms 10ms và 100ms và phân bố của các Timer trong CPU214 như sau : Lệnh Độ phân giải Giá trị cực đại Tên Timer TON 1 ms 32767 T32;T96 10 ms 32767 T33®T36;T97®T100 100 ms 32767 T37®T63;T101®T127 TONR 1 ms 32767 T0;T64 10 ms 32767 T1®T4; T65®T68 100 ms 32767 T5®T31; T69®T95 Các lệnh điều khiển Timer Dạng lệnh Mô tả chức năng lệnh L A D Khai báo Timer số hiệu xxx kiểu TON để tạo thời gian trễ tính từ khi giá trị đầu vào IN được kích. Nếu giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước thì T-bit bằng 1. Txxx: CPU214: 32-63, 96-127 PT:VW,T,C,IW,QW,MW,SMW,SW,AC,AIW, Const, *VD, *AC. STL TON Txxx PT L A D Khai báo Timer số hiệu xxx kiểu TOR để tạo thời gian trễ tính từ khi giá trị đầu vào IN được kích. Nếu giá trị đếm tức thời lớn hơn hoặc bằng giá trị đặt trước thì T-bit bằng 1 Txxx :CPU 214: 0-31, 64-95 PT:VW,T,C,IW, QW,MW,SMW, SW,AC,AIW, Const, *VD, *AC. STL TONR Txxx PT Các lệnh sử dụng hàm phát xung tốc độ cao CPU 214 sử dụng hai cổng ra Q0.0 và Q0.1 để phát ra dãy xung có tần số cao PTO hoặc tín hiệu điều xung theo độ rộng PWM PTO là một dãy xung vuông tuần hoàn có chu kì là một số nguyên nằm trong khoảng 250ms®65535ms hoặc 250ms®65535ms. Độ rông xung bằng một nửa chu kì xung. Số xung tối đa cho phép là 4.294.967.295 PWM là một dãy xung vuông tuần hoàn có chu kì là một số dương nằm trong khoảng 250ms®65535ms hoặc 250ms®65535ms. Khác với PTO độ rông xung trong mỗi chu kì xung có thể thay đổi được và là một số nguyên trong khoảng 0ms đến 65535ms. nếu độ rộng xung lớn hơn chu kì xung thì dãy xung có tín hiệu logic bằng 1 ngược lại nếu độ rộng xung bằng 0 thì tín hiệu logic bằng 0 Để điều khiển các nguồn phát PTO và PWM ta sử dụng: Một byte điều khiển 8 bit Một từ đơn (Word) ghi chu kì xung Một từ kép (Double word) ghi số xung của dãy Địa chỉ của những ô nhớ trên như sau: Cổng ra Byte điều khiển Chu kì Độ rộng xung Số xung Q0.0 SMB67 SMW68 SMW70 SMW72 Q0.1 SMB77 SMW78 SMW80 SMW82 Các byte điều khiển SMB67 và SMB77 có cấu trúc như sau: Q0.0 Q0.1 Chức năng SM67.0 SM77.0 Đổi chu kì 1:cho phép / 0:không cho phép SM67.1 SM77.1 Đổi độ rộng xung 1:cho phép / 0:không cho phép SM67.2 SM77.2 Đổi số đếm xung 1:cho phép / 0:không cho phép SM67.3 SM77.3 Đơn vị thời gian 1:ms / 0:ms SM67.4 SM77.4 Không sử dụng SM67.5 SM77.5 Không sử dụng SM67.6 SM77.6 Chọn kiểu xung 1:PWM / 0:PTO SM67.7 SM77.7 Khai báo 1: Kích / 0: Hủy Để sử dụng hàm tạo xung ta phải làm các bước sau: Trong vòng quét đầu tiên Ghi các giá trị cho byte điều khiển Nạp các gía trị về chu kì (độ rộng) và số xung của dãy vào ô nhớ tương ứng Khai báo sử dụng chế độ ngắt ngắt 19 hoặc 20 Thực hiện lệnh PLS. Xung sẽ được phát ngay sau khi có sườn lên của xung đầu tiên sau khi thực hiện lệnh PLS Khi có tín hiệu ngắt 19 (dùng cho PTO) hoặc ngắt 20 (dùng cho PWM) Nạp lại gía trị mới về chu kì xung PTO (nếu muốn thay đổi) Nạp lại gía trị mới về độ rộng xung PWO (nếu muốn thay đổi) Nạp lại giá trị mới cho byte điều khiển (nếu cần quy định lại chế độ làm việc cho hàm truyền xung) Gán những gía trị mới cho hàm truyền xung bằng lệnh PLS Thực hiện lệnh RETI Cú pháp thực hiện lệnh PLS Dạng lệnh Mô tả chức năng lệnh L A D Lệnh phát xung tại cổng ra Q0.0 hoặc Q0.1 tùy theo cấu trúc được định nghĩa trong byte điều khiển ô nhớ chu kì độ rộng Q0.x(word): 0-1 0:thực hiện PTO 1:Thực hiện PWM STL PLS Bộ đếm tốc độ cao -Bộ đếm tốc độ cao (HSC) được sử dụng để theo dõi và điều khiển các quá trình tốc độ cao mà CPU của PLC không thể kiểm soát được do bị hạn chế về thời gian và vòng quét. -Tần số đếm lớn nhất của mỗi HSC phụ thuộc vào loại PLC. -Mỗi bộ đếm lớn nhất của mỗi HSC phụ thuộc vào loại PLC. -Mỗi bộ đếm tốc độ cao (HSC) có những ngõ vào là xung clock, ngõ vào điều khiển trực tiếp như là rese, start. Đối với những bộ đếm tốc độ cao có hai phase thì cả hai ngõ vào đều có tốc độ lớn nhất. Trong mode 4x cung cấp hai loại tốc độ: Đếm với tốc độ cực đại hoăc gấp 4 lần tốc độ cực đại. Khi HSC chạy với tốc độ cực đại thì không có sự can thiệp nào khác. -Cách hoạt động của HSC cũng giống như các bộ đếm khác của PLC, nghĩa là cũng đếm theo cạnh sườn lên của tìn hiệu đầu vào, số đếm đươc sẽ được ghi vào trong vùng nhớ đặc biệt dạng double word và gọi đó là giá trị hiện hành kí hiệu (CV). Khi giá trị CV bằng với giá trị đặt trước cho HSC thì CPU phát ra một tín hiệu ngắt giá trị định trước kí hiệu là một số nguyên 32 bit nằm trong một ô nhớ đặt biệt. -Khi cho phép ngắt bộ đếmtốc độ cao HSC, thì các ngắt sau được phát. + Ngắt khi CV= PV. + Ngắt khi có tín hiệu báo thay đổi hương đên từ các cổng input. -Mỗi bộ đếm tốc độ cao HSC đều có các mode hoạt động khác nhau. Ta chọn chế độ hoạt động (Mode) cho một bộ đếm bằng lệnh HDEF. Từng Mode hoạt động lại có kiểu hoạt động khác nhau. Kiểu hoạt động của mỗi bộ đươc xác định bằng nội dung của một byte điều khiển trong vùng nhớ đặc biệt, sau đó bộ đếm được kích hoạt bằng lệnh HSC. -Chỉ có thể kích hoạt được bộ đếm sau khi đã khai báo Mode làm việc và kiểu hoạt động cho từng Mode trong byte diều khiển. Sự kết nối dây các ngõ vào cho các bộ đếm tốc độ cao(HSC) HSC Những ngõ vào được sử dụng HSCO I0.0, I0.0 , I0.2 HSC1 I0.6 , I0.7 , I1.0 , I1.5 HSC2 I1.2 , I1.3 , I1.4 , I1.5 HSC3 I0.1 HSC4 I0.3, I0.4 , I0.5 HSC5 I0.4 -Bảng trên trình bày những ngõ vào của CPU 211 , 222 , 224 ,được sử dụng cho những chức năng sau : clock, hướng điều khiển, Reset, Start kết hợp với bộ đếm cao tốc cao HSC. -Có một vài sự trùng lặp ở những ngõ vào của bộ đếm tốc độ cao (HSC) và Edge interrupt được trình bày trong bảng sau : Yếu tố 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 1.0 1.1 1.2 1.3 1.4 1.5 HSC 0 X X X HSC 1 X X X X HSC 2 X X X X HSC 3 X HSC 4 X X X HSC 5 X Ngắt sườn X X X X -Những ngõ vào của bộ đếm tốc độ cao giống nhau không đươc sử dụng cho hai chức năng khác nhau. Những ngõ vào của bộ đếm tốc độ cao không sử dụng cho Mode hiện tại thì có thể sử dụng cho những mục đích khác. -Ví dụ HSCO dùng Mode 2 thì những ngõ vào I0.0 ,I0.1 và I0.2 dùng cho ngắt cạnh sườn hoặc HSC3 . -Nếu một Mode của HSCO đươc dùng mà không sử dụng ngõ vào I0.1 thì ngõ vào này có thể sử dụng cho HSC3 hoặc ngắy cạnh sườn . -Ghi chú : Tất cả những Mode của HSCO luôn sử dụng I0.0 và những mode của HSC4 luôn sử dụng I0.3. Như vậy những ngõ vào này không đươc sử dụng cho việc khác của bộ đếm sử dụng. Nguyên tắc hoạt động của các bộ đếm tốc độ cao Những lệnh của bộ đếm tốc độ cao - Để bộ đếm tốc độ cao hoạt động thì tại chương trình chính phải gán Mode cho chúng bằng cách thực hiện lênh HDEF và lệnh kích hoạt HSC. - Lệnh HDEF dùng để xác định Mode làm việc cho bộ đếm tốc độ cao. Tên của bộ đếm cần sử dụng được chỉ định bởi toán hạng HSC. Mode làm việc được chọn là nội dung của toán hạng Mode. L A D SDEF EN ENO HSC MODE HSC EN ENO N HDEF HSC.MODE HSC N S T L - Lệnh HSC sử dụng để kích hoạt bộ đếm tốc độ cao .Khi được hực hiện thì cấu hình và mode hoạt động của bộ đếm tốc độ cao được chọn dựa vào những bit nhớ đặc biệt của byte điều khiển trong bộ đếm tốc độ cao. Địa chỉ của bộ đếm tốc độ cao Kí hiệu: HC - Địa chỉ HC sử dụng để truy xuất giá trị đếm. Ta phải xác định rõ địa chỉ của bộ đếm tốc độ cao bằng cách thực hiện kiểu nhớ HC và số thứ tự của bộ đếm tốc độ cao ( ví dụ HCO ) để giá trị hiện hành của bộ đếm tốc độ cao. Giá trị hiện hành của bộ đếm tốc độ cao là chỉ độ và có giá trị là 32 bit được trình bày trong bảng sau: MSB HC 2 LSB 31 0 Byte cao Byte thấp Byte 3 Byte 2 Byte 1 Byte 0 Byte điều khiển -Mỗi bộ đềm tốc độ cao chỉ có một byte điều khiển để cho phép bộ đếm tốc độ cao hoạt động hoặc không hoạt động. Trong byte điều khiển gồm những bit sử dụng để: Định hướng đếm, định giá trị hiện hành, giá trị định trước của bộ đếm tốc độ cao được sử dụng. Sự giám sát của byte điều khiển kết hợp với giá trị hiện hành, giá trị định trước được thực hiện bằng cách thực thi lệnh kích hoạt HSC. CÁC BIT ĐIỀU KHIỂN HSC 0 HSC 1 HSC 2 HSC 3 HSC 4 HSC 5 MÔ TẢ SM 37.0 SM 47.0 SM 57.0 SM 137.0 SM 147.0 SM 157.0 0=reset mức cao 1=reset mức thấp SM 37.1 SM 47.1 SM 57.1 SM 137.1 SM 147.1 SM 157.1 Dự trữ SM 37.2 SM 47.2 SM 57.2 SM 137.2 SM 147.2 SM 157.2 0=4x 1=1x SM 37.3 SM 47.3 SM 57.3 SM 137.3 SM 147.3 SM 157.3 1=đếm lên SM 37.4 SM 47.4 SM 57.4 SM 137.4 SM 147.4 SM 157.4 1=cập nhật trực tiếp SM 37.5 SM 47.5 SM 57.5 SM 137.5 SM 147.5 SM 157.5 1=ghi giá trị PV mới SM 37.6 SM 47.6 SM 57.6 SM 137.6 SM 147.6 SM 157.6 1=ghi fia1 trị CV mới SM 37.7 SM 47.7 SM 57.7 SM 137.7 SM 147.7 SM 157.7 1=cho phép HSC Sự thiết lập giá trị hiện hànhvà giá trị định trước -Mỗi bộ đếm tốc độ cao đều có giá trị hiện hành và giá trị định trước chứa trong 32 bit. Cả hai giá trị này đều là số nguyên. Việc nạp giá trị hiện hành và giá trị định trước mới vào bộ đếm tốc độ cao: tại chương trình chính chỉ việc cài đặt cho byte điều khiển cùng với những bit nhớ để giữ giá trị hiện hành và giá trị định trước. Tại chương trình chính có thể thực hiện lệnh kích hoạt HSC để ghi những giá trị mới này vào bộ đếm tốc độ cao. Bảng giá trị CV và PV Giá trị nạp HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 Giá trị CV mới SMD 38 SMD 48 SMD 58 SMD 138 SMD148 SMD 158 Giá trị PV mới SMD 42 SMD 52 SMD 62 SMD 142 SMD 152 SMD 162 Byte trạng thái Một byte trạng thái được hổ trợ đếm tốc độ cao. Byte trạng thái cung cấp những bit nhớ như cho biết hướng đếm, giá trị hiện hành lớn hơn hoặc bằng giá trị định trước. Bảng các bit trạng thái : HSC 0 HSC 1 HSC 2 HSC 3 HSC 4 HSC 5 MÔ TẢ SM 36.0 SM 46.0 SM 56.0 SM 136.0 SM 146.0 SM 156.0 Not use SM 36.1 SM 46.1 SM 56.1 SM 136.1 SM 146.1 SM 156.1 Not use SM 36.2 SM 46.2 SM 56.2 SM 136.2 SM 146.2 SM 156.2 Not use SM 36.3 SM 46.3 SM 56.3 SM 136.3 SM 146.3 SM 156.3 Not use SM 36.4 SM 46.4 SM 56.4 SM 136.4 SM 146.4 SM 156.4 Not use SM 36.5 SM 46.5 SM 56.5 SM 136.5 SM 146.5 SM 156.5 1=đếm xuống 0=đếm lên SM 36.6 SM 46.6 SM 56.6 SM 136.6 SM 146.6 SM 156.6 CV=PV 0=not equal 1=equal SM 36.7 SM 46.7 SM 56.7 SM 136.7 SM 146.7 SM 156.7 0 nếu CV<=PV 1 nếu CV>PV Chọn trạng thái tích cực và Mode x1, x4 Trong S7 – 200 của CPU 224 có 4 bộ đếm tốc độ cao sử dụng 3 bit điều khiển để điều khiển hoạt động của ngõ vào: reset, start và cho mode đếm 1x, 4x. Những bit này được chỉ định trong byte điều khiển tương ứng với từng bộ đếm tốc độ cao được chọn và chỉ được sử dụng khi lệnh HDEF được thực thi. Những bit này được định nghiã trong bảng sau: Bảng chọn mức tich cực cho reset và start HSC0 HSC1 HSC2 HSC4 MÔ TẢ _____ SM 47.0 SM 57.0 SM 147.0 0= reset tích cực cao 1= reset tích cực thấp _____ SM 47.1 SM 57.1 SM 147.1 0= start tích cực cao 1= start tích cực thấp _____ SM 47.2 SM 57.2 SM 147.2 0= tốc độ đếm x 4 1= tốc độ đếm x 1 Ta phải đặt những bit điều khiển cho những trạng thái theo yêu cầu trước khi lệnh HDEF được thực thi. Mặt khác bộ đếm đảm nhiệm cấu hình mặc định cho mode được chọn. Sự thiết lập mặc định cho những ngõ vào reset và start là tích cực mức cao và tốc độ đếm là 4x counting rate. Khi lệnh HDEF vừa thực thi xong thì ta không thể thay đổi những thông số của bộ đếm đã đề cập ở trên, trừ khi ta đặt CPU sang stop. Tìm hiểu chi tiết các giản đồ định thời của bộ đếm tốc độ cao HSC Xung 0 Điều khiển trực tiếp Giá trị hiện hành Counter Mode 0,1,2 1 0 1 0 0 Giá trị đếm 0 3 2 1 1 Pha A 0 1 Pha B 0 4 3 2 Các mode hoạt động của từng bộ đếm tốc độ cao HSC 0 Mode Mô tả I 0.0 I 0.1 I 0.2 0 1 Counter 1 pha up/down điều khiển trực tiếp bên trong. SM 37.3 = 0 đếm xuống SM 37.3 = 1 đếm lên Clock Reset 3 Counter 1 pha up/down điều khiển trực tiếp bên trong. I 0.1 = 0 đếm xuống I 0.1 = 1 đếm lên Clock Dir 4 Reset 6 7 Counter hai pha với xung ngõ vào đếm lên,đếm xuống Clock (up) Clock (down) Reset 9 10 Counter hai pha A/B ¼ Pha A chậm hơn B 90 theo kim đồng hồ Pha A nhanh hơn B 90 theo ngược kim đồng hồ. Clock A Clock B Reset 0 1 2 3 4 5 9 10 11 HSC 1 Các Mode hoạt động của HSC1 Mode Mô tả I 0.6 I 0.7 I 1.0 I 1.1 Counter 1 pha up/down điều khiển trực tiếp bên trong. SM 47.3 = 0 đếm xuống SM 47.3 = 1 đếm lên Clock Reset Start Counter 1 pha up/down điều khiển trực tiếp bên trong. SM I 0.7 = 0 đếm xuống SM I 0.7 = 1 đếm lên Clock Dir Reset Start 6 7 8 Counter hai pha với xung ngõvào đếm lên,đếm xuống Clock (up) Clock (Dn) Reset Start Counter hai pha A/B ¼. Pha A chậm hơn B 90theo kim đồng hồ Pha A nhanh hơn B 90theo ngược chiều kim đồng hồ. Clock Pha A Clock Pha B Reset Start Các Mode hoạt động của HSC 2: 0 1 2 HSC 2 Mode Mô tả I 1.2 I 1.3 I 1.4 I 1.5 Counter 1 pha up/down điều khiển trực tiếp bên trong. SM 57.3 = 0 đếm xuống SM 57.3 = 1 đếm lên Clock Reset Start 3 4 5 9 10 11 Counter 1 pha up/down điều khiển trực tiếp bên trong. SM I 0.7 = 0 đếm xuống SM I 0.7 = 1 đếm lên Clock Dir Reset Start 6 7 8 Counter hai pha với xung ngõvào đếm lên,đếm xuống Clock (up) Clock (Dn) Reset Start Counter hai pha A/B ¼. Pha A chậm hơn B 90theo kim đồng hồ Pha A nhanh hơn B 90theo ngược chiều kim đồng hồ. Clock Pha A Clock Pha B Reset Start 0 1 3 4 HSC 4 Các Mode hoạt động của HSC4: Mode Mô tả I 0.3 I 0.4 I 0.5 Counter 1 pha up/down điều khiển trực tiếp bên trong. SM 147.3 = 0 đếm xuống SM 147.3 = 1 đếm lên Clock Reset Counter 1 pha up/down điều khiển trực tiếp bên trong. SM I 0.4 = 0 đếm xuống SM I 0.4 = 1 đếm lên Clock Dir Reset 6 7 Counter hai pha với xung ngõvào đếm lên,đếm xuống Clock (up) Clock (Dn) Reset 9 10 Counter hai pha A/B ¼. Pha A chậm hơn B 90theo kim đồng hồ Pha A nhanh hơn B 90theo ngược chiều kim đồng hồ. Clock Pha A Clock Pha B Reset Các Mode hoạt động của HSC5: HSC 5 Mode Mô tả I 0.4 0 Counter 1 pha up/down điều khiển trực tiếp bên trong SM 157.3 = 0 đếm xuống SM 157.3 = 1 đếm lên Clock Các Mode hoạt động của HSC 3: HSC 3 Mode Mô tả I 0.1 0 Counter 1 pha up/down điều khiển trực tiếp bên trong SM 137.3 = 0 đếm xuống SM 137.3 = 1 đếm lên Clock Các bước thực hiện việc khai báo sử dụng bộ đếm tốc độ cao -Nạp giá trị điều khiển phù hợp với mode đã chọn cho byte điều khiển. -Nạp giá trị định trước cho SMD, giá trị hiện hành cho SMD. -Xác định mode làm việc cho bộ đếm tốc độ cao bằng lệnh HDEF. -Khai báo sử dụng chế độ ngắt và tín hiệu báo ngắt bằng lệnh ATCH. -Kích hoạt bộ đếm tốc độ cao bằng lệnh HSC. -Ta luôn thực hiện các bước trên tại vòng quét đầu tiên. Điều khiển vòng vi tích phân tỉ lệ (PID) -Lệnh vòng lặp PID ( Proportional, Integral, Derivative Loop) thực hiện việc tính toán vòng lặp hoặc liên quan đến việc ‘ LOOP ‘ dựa trên tín hiệu ngõ vào và cấu hình thông tin trong TABLE . - Toán hạng : Table : VB Loop : 0 đến 7 - Lệnh này tác động đến các bit trong vùng nhớ đặc biệt như: SM1.1. Lệnh lặp PID dùng để thực hiện các tính toán PID. Đầu mỗi logic stack (TOS) phải được bật ON ( power flow) mới cho phép tính toán PID. Lệnh này có 2 toán hạng: Địa chỉ TABLE là địa chỉ bắt đầu của bảng lặp và số LOOP chứa một hằng số từ 0 đến 7. Do đó chỉ có 8 lệnh PID có thể được dùng trong cùng chương trình. Nếu có hơn hai lệnh PID có cùng số LOOP ( ngay cả khi chúng có địa chỉ TABLE khác nhau ) thì việc tính toán PID sẽ đụng chạm đến những lệnh khác, kết quả ngõ ra không thể đoán trước. Bảng vòng lặp chứa tất cả 9 thông số được dùng cho việc điều khiển và giám sát hoạt đông lặp bao gồm cả những giá trị xử lý hiện tại và trước đó: điểm đặt, ngõ ra, độ lợi, thời gian lấy mẫu, thời gian tích phân ( reset), thời gian vi phân ( rate), và tổng tích phân ( bias). Để thực hiện tính toán PID tại tỷ lệ lấy mẫu mong muốn, lệnh PID phải được thực thi từ trình phục vụ ngắt hoặc từ chương trinh chính tại vị trí đươc thực hiên bởi Timer . Thời gian lấy mẫu phải được cung cấp bởi ngõ vào đến lệnh PID và bảng lặp. Thuật toán PID Trong trạng thái hoạt động vững chắc , bộ điều khiển PID hiệu chỉnh giá trị ngõ ra sao cho sai số đạt được bằng 0. Việc tính toán sai số này dựa trên sự sai lệch giữa điểm đặt ( Set poit : giá trị mà ta mong muốn ) và biến xử lý ( Process Variable : điểm làm việc thực sự ). Nguyên tắc của việc điều khiển PID dựa trên đẳng thức thể hiện ở ngõ ra sau đây : M(t) = Kc * e + Kc * 0e dt + M initial + Kc * de/dt Output = số hạng tỷ lệ + số hạng tích phân + số hạng sai lệch - Trong đó: M(t): Kết quả ngõ ra vòng lặp như chức năng thời gian. Kc :Độ lợi vòng lặp. e :Sai số vòng lặp(độ sai lệch giữa điểm đặt và biến xử lý) Minitial :Giá trị ban đầu ở ngõ ra vòng lặp. - Tuy nhiên, trong biểu thức tính toán trong các máy tính số được thực hiện theo từng chu kỳ lấy mẫu. Do vậy, biểu thức trên có thể viết như sau: Mn = Kc * En + Ki * i+ Minitial + Kd * (En - En-1) -Trong đó: Mn :Giá trị tính toán ở ngõ ra của vòng lặp tại thời điểm lấy mẫu n. Kc :Độ lợi vòng lặp. En :Giá trị sai số của vòng lặp tạo thời điểm lấy mẫu n. En-1 : Giá trị sai số của vòng lặp tạo thời điểm lấy mẫu n-1. Ki :Hệ số tỷ lệ của số hạng tích phân Minitial :Giá trị ban đầu ở ngõ ra vòng lặp. Kd :Hệ số tỷ lệ của số hạng sai lệch. - Đơn giản hơn ta có: Mn = MPn + MIn + MDn - Trong đó: Mn :Giá trị tính toán ở ngõ ra của vòng lặp tại thời điểm lấy mẫu n. MPn :Giá trị số hạng tỷ lệ của vòng lặp tại thời điểm lấy mẫu n. MIn :Giá trị số hạng tích phân của vòng lặp tại thời điểm lấy mẫu n. MDn :Giá trị số hạng sai lệch của vòng lặp tại thời điểm lấy mẫu n. + Số hạng tỷ lệ: MPn = Kc * (SPn - PVn) - Trong đó: MPn :Giá trị số hạng tỷ lệ của vòng lặp tại thời điểm lấy mẫu n. Kc :Độ lợi vòng lặp. SPn :Giá trị điểm đặt tại thời điểm lấy mẫu n. PVn :Giá trị biến xử lý tại thời điểm lấy mẫu n. + Số hạng tích phân: MIn = Kc * Ts / Ti * (SPn - PVn) + MX - Trong đó: MIn :Giá trị số hạng tích phân của vòng lặp tại thời điểm lấy mẫu n. Kc :Độ lợi vòng lặp. SPn :Giá trị điểm đặt tại thời điểm lấy mẫu n. PVn :Giá trị biến xử lý tại thời điểm lấy mẫu n. Ts :Thời gian lấy mẫu của vòng lặp. Ti :Chu kỳ tích phân của vòng lặp (thời gian tích phân hay reset) MX :Giá trị số hạng tích phân của vòng lặp tại thời điểm lấy mẫu (n-1) (tổng tích phân hay độ dốc). + Số hạng sai lệch: MDn = Kc * Td/Ts * (SPn - PVn) - (SPn-1 - PVn-1) Nếu SP = const thì ta có SPn = SPn-1. Do vậy: MDn = Kc * Td/Ts * (PVn-1 - PVn) - Trong đó: MDn : Giá trị số hạng sai lệch của vòng lặp tại thời điểm lấy mẫu n. Kc :Độ lợi vòng lặp. SPn :Giá trị điểm đặt tại thời điểm lấy mẫu n. PVn :Giá trị biến xử lý tại thời điểm lấy mẫu n. SPn-1 :Giá trị điểm đặt tại thời điểm lấy mẫu n-1. PVn-1 :Giá trị biến xử lý tại thời điểm lấy mẫu n-1. Ts :Thời gian lấy mẫu của vòng lặp. Td :Chu kỳ sai lệch của vòng lặp (thời gian vi phân hay rate) Lệnh FOR , NEXT - Lệnh FOR thực hiện các lệnh giữa FOR và NEXT. Phải xác định rõ giá trị chứa vòng lặp (INDX), giá trị bắt đầu ( INIT) và giá trị kết thúc (FINAL). - Mỗi một câu lệnh FOR đòi hỏi có câu lệnh NEXT tại vị trí cuối khối lệnh được lặp. Các vòng FOR...NEXT có thể được lồng vào nhau, số vòng lệnh FOR ... NEXT lồng vào nhau không quá 8 lần. - Tại thời điểm bắt đầu thực hiện vòng lập FOR, từ đơn INDX nhận giá trị của INIT. Sau đó mỗi khi kết thúc một vòng lập tức là khi gặp lệnh NEXT thì nội dung của INDX tăng lên 1 và được so sánh với nội dung của FINAL. Nếu nội dung của INDX nhỏ hơn FINAL thì chương trình sẽ thực hiện vòng lập tiếp theo, ngược lại khi nội dung của INDX lớn hơn nội dung của FINAL thì chương trình kết thúc lệnh FOR...NEXT bằng cách thực hiện lệnh tiếp ngay sau câu lênh NEXT. Ví dụ: FOR EN ENO INDX INIT FINAL Net work 10 Net work 20 Bảng toán hạng: INPUT/OUTPUT TOÁN HẠNG LOẠI DATA INDX VW,IW,QW,MW,SW,SMW,LW,T,C,AC, *VD, *AC , *LD INT INIT VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD, *AC, *LD,CONST,AIW INT FINAL VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD, *AC, *LD,CONST,AIW INT Các lệnh dịch chuyển (dời) và quay (rotate) Dời trái và dời phải kiểu byte -Lệnh thực hiện việc dời trái hay dời phải các bit của byte IN với số lần thực hiện là N. Kết quả ghi vào byte OUT. -Lệnh dời sẽ điền 0 vào khi một bit được dời ra ngòai. Nếu số lần dời lớn hơn hay bằng 8 thì giá trị byte IN sẽ được dời tối đa là 8 lần. -Toán hạng : IN,OUT:VB,IB,QB,MB,SMB,LB,AC, *VD,*AC,*LD N:VB,IB,QB,MB,SMB,LB,AC,*VD,*AC, *LD,const L A D SHR_B EN ENO IN OUT N SHL_B EN ENO IN OUT N STL SRB OUT.N SLB OUT.N Dời trái và dời phải kiểu từ - Lệnh thực hiện việc dời trái hay dời phải các bit của từ IN với số lần thực hiện là N. Kết qủa ghi vào từ OUT. - Lệnh dời sẽ điền 0 vào khi một bit được dời ra ngoài. Nếu số lần dời lớn hơn hay bằng 16 thì giá trị byte IN sẽ được dời tối đa là 16 lần. - Toán hạng : IN:VW,IW,QW,MW,SMW.LW,T,C,AIW,AC, *VD,*AC,*LD,const OUT: VW,IW,QW,MW,SMW.LW,AC, *VD,*AC,*LD N:VB,IB,QB,MB,SMB,LB,AC,*VD,*AC,*LD,const Dời trái và dời phải kiểu từ ghép -Lệnh thực hiện việc dời trái hay dời phải các bit của từ kép IN với số lần thực hiện là N.Kết quả ghi vào từ kép OUT. -Lệnh dời sẽ điền 0 vào khi một bit được dời ra ngòai. Nếu số lần dời lớn hơn hay bằng 32 thì giá trị byte IN sẽ được dời tối đa là 32 lần. -Toán hạng : IN:VD,ID,QD,MD,SMD,LD,AC,HC, *VD,*AC,*LD,const. OUT:VD,ID,QD,MD,SMD,SD,LD,AC, *VD,*AC,*LD N:VB,IB,QB,MB,SMB,LB,AC,*VD,*AC, *LD,const L A D SHR_DW ENO IN OUT N SHL_DW EN ENO IN OUT N STL SRD OUT.N SLD OUT.N Quay phải và quay trái kiểu byte -Lệnh thực hiện việc quay trái hay quay phải các bit của byte IN với số lần thực hiện là N.Kết qủa ghi vào byte OUT. -Nếu số lần quay là 0 (N=0) thì việc quay sẽ không được thực thi. -Khi việc quay thực thi, giá trị của bit thấp (bit 0) được ghi vào bit báo tràn(SM1.1) -Việc quay phải hay trái kiểu bit vận hành không dấu. -Toán hạng: IN:VB,IB,QB,MB,SMB,LB,AC,*VD, *AC,*LD OUT:VB,IB,QB,MB,SMB,LB,AC,*VD,*AC,*LD,const N:VB,IB,QB,MB,SMB,LB,AC,*VD,*AC, *LD,const L A D ROR_B EN ENO IN OUT N ROL_B EN ENO IN OUT N STL RRB OUT.N RLB OUT.N Quay phải và quay trái kiểu từ -Lệnh thực hiện việc quay trái hay quay phải các bit của từ IN với số lần thực hiện là N.Kết qủa ghi vào byte OUT. -Nếu số lần quay lớn hơn hay bằng 16 thì có sự vận hành theo modul 16 (modulo-16 operation) trước khi việc quay được thực thi. -Nếu số lần quay là 0 (N=0) thì việc quay sẽ không được thực thi. -Khi việc quay thực thi, giá trị của bit thấp (bit 0)được ghi vào bit báo tràn(SM1.1). -Việc quay phải và quay trái kiểu từ vận hành không dấu. -Toán hạng : IN:VW,T,C,IW,QW,MW,SMW,LW,AIW,SW,*VD,*AC,*LD,const OUT:VW,T,C,IW,QW,MW,SMW,SW,LW,AC,*VD,*AC,*LD N:VB,IB,QB,MB,SMB,LB,AC,SB,*VD,*AC,*LD,const L A D ROR_W EN ENO IN OUT N ROL_W EN ENO IN OUT N STL RRW OUT.N RLW OUT.N Quay phải và quay trái kiểu từ ghép -Lệnh thực hiện việc quay trái hay quay phải các bit của từ kép IN với số lần thực hiện là N. Kết qủa ghi vào từ kép OUT. -Nếu số lần quay lớn hơn hay bằng 32 thì có sự vận hành theo modul 32 (modulo-32 operation) trước khi việc quay được thực thi. -Nếu số lần quay là 0 (N=0) thì việc quay sẽ không được thực thi. -Khi việc quay thực thi, giá trị của bit thấp (bit 0)được ghi vào bit báo tràn(SM1.1) -Việc quay phải hay trái kiểu bit vận hành không dấu. -Toán hạng : IN:VD,ID,QD,MD,SMD,LD,SD,*VD,*AC,*LD,const OUT:VD,ID,QD,MD,SMD,SD,LD,AC,*VD,*AC,*LD N:VB,IB,QB,MB,SMB,LB,AC,SB,*VD,*AC,*LD,const L A D ROR_DW EN ENO IN OUT N ROL_DW EN ENO IN OUT N STL RRD OUT.N RLD OUT.N Thanh ghi dịch chuyển bit(Shift Regester Bit-SHRB) - Thanh ghi dịch chuyển cung cấp một phương pháp dễ dàng trong việc tạo ra dòng hay dữ liệu điều khiển và tuần tự. Ta sử dụng lệnh thanh ghi dịch chuyển bit để dịch chuyển toàn bộ thanh ghi đi 1 bit trong mỗi vòng quét. - Lệnh thanh ghi dịch chuyển bit được định nghĩa bởi bit có trọng số thấp nhất (S_BIT) và chiều dài của bit (N). Địa chỉ của bit có trọng số cao nhất có thể được tính bằng phương trình: MSB.b = {(Byte của S_BIT) + ({N} – 1 + (bit của S_BIT))/8}. {Số dư của phép chia cho 8} Ví dụ: Nếu S_BIT là V33.4, N là MSB.b là: MSB.b = V33 + ({14} – 1 + 4)/8 = V33 + 17/8 = {V33 + 2}. {số dư là 1} = V35.1 Ở việc dời đại lượng dương được chỉ định bởi giá trị dương của chiều dài N thì DATA được dời vào bit có trọng số thấp nhất (đươc chỉ rõ bởi S_BIT) và bit có trọng số cao nhất được đẩy ra bit nhớ tràn (SM1.1) Ở việc dời đại lượng âm được chỉ định bởi giá trị âm của chiều dài N thì DATA được dời vào bit có trọng số cao nhất (được chỉ rõ bởi S_BIT) và bit có trọng số thấp nhất được đẩy ra bit nhớ tràn (SM1.1) L A D Chiều dài tối đa của thanh ghi dịch chuyển bit là 64 bit (âm hoặc dương) - Lệnh thực hiện việc dời giá trị của DATA vào thanh ghi dịch chuyển (Shift Registe), với: S_BIT là bit có trọng số thấp nhất của thanh ghi dịch chuyển. N là độ dài của thanh ghi dịch chuyển và dấu của N chỉ hướng. - Mỗi bit được dời ra sẽ được đặt vào trong bit nhớ tràn (SM1.1) -Toán hạng: DATA.S_BIT:I, Q, M, SM, T, C, V, S, L N:VB, IB, QB, MB, SMB, LB, AC, *VD, *AC, SB, *LD, constant. SHRB EN ENO DATA S_BIT N STL SHRB DATA.S_BIT.N Các lệnh ngắt và xử lý ngắt Thế nào là ngắt và xử lý ngắt? Các chế độ ngắt cho phép thực hiện các quá trình xử lý tốc độ cao phản ứng kịp thời với các sự kiện bên ngoài. Nguyên tắc cơ bản của một chế độ ngắt cũng giống như lệnh gọi một chương trình con nhưng chương trình con được gọi chủ động bằng lệnh còn chương trình xử lý ngắt bị gọi bị động bởi tín hiệu báo ngắt. Khi có tín hiệu báo ngắt hệ thống sẽ gọi chương trình con báo ngắt tương ứng với tín hiệu báo ngắt đó. Chương trình con xử lý ngắt có một nhãn riêng được đánh dấu ở đầu chương trình. Trước khi bị ngắt thì hệ thống sẽ cất giữ nội dung ngăn xếp, nội dung thanh ghi AC và các bit nhớ đặc biệt và tổ chức xếp hàng báo ngắt khi có nhiều tín hiệu báo ngắt. Sau khi ngắt thực hiện xong việc xử lý ngắt thì nội dung ngăn xếp, nội dung thanh ghi AC và các bit nhớ đặc biệt được lưu giữ trước đó được lấy ra để xử lý tiếp. CPU 214 có các tín hiệu báo ngắt sau (xếp theo thứ tự ưu tiên) Hai ngắt truyền thông nối tiếp (nhận và truyền) Tám ngắt theo sườn lên hoặc xuống của các cổng I0.0 đến I0.3 Bảy ngắt bộ đếm tốc độ cao Hai ngắt đầu ra truyền xung là PT00 và PT01 Hai ngắt thời gian Chú ý: Tại một thời điểm chỉ có một chương trình xử lý ngắt được thực hiện. Trong khi thực hiện chương trình xử lý ngắt thì các tín hiệu báo ngắt phải chờ cho đến khi chương trình xử lý ngắt được thực hiện xong. Thứ tự của các bit báo tràn được sắp xếp như sau: Nhóm ưu tiên Ngắt truyền thông Ngắt HSC, PLS, vào ra Ngắt Timer Bit SM 0:không tràn 1: tràn SM4.0 SM4.1 SM4.2 Khi viết một chương trình ngắt phải tuân thủ các quy tắc sau: Càng ngắn càng tốt Chương trình xử lý ngắt phải đặt sau chương trình chính Không được sử dụng các lệnh DISI, ENI, CALL, FOR…NEXT và END trong chương trình xử lý ngắt Khi kết thúc chương trình xử lý ngắt thì phải có lệnh quay về không điều kiện Các tín hiệu báo ngắt của CPU 214 Mô tả ngắt Số hiệu ngắt (kiểu) Tín hiệu ngắt nhận dữ liệu truyền thông 8 Tín hiệu ngắt báo hoàn tất việc gửi dữ liệu truyền thông 9 Ngắt theo sườn lên của I0.0 0 Ngắt theo sườn lên của I0.1 2 Ngắt theo sườn lên của I0.2 4 Ngắt theo sườn lên của I0.3 6 Ngắt theo sườn xuống của I0.0 1 Ngắt theo sườn xuống của I0.1 3 Ngắt theo sườn xuống của I0.2 5 Ngắt theo sườn xuống của I0.3 7 Ngắt theo HSC0 khi giá trị tức thời bằng gía trị đặt trước 12 Ngắt theo HSC1 khi giá trị tức thời bằng gía trị đặt trước 13 Ngắt theo HSC1 khi có tín hiệu báo đổi hướng bên ngoài 14 Ngắt theo HSC1 khi có tín hiệu Reset bên ngoài 15 Ngắt theo HSC2 khi giá trị tức thời bằng gía trị đặt trước 16 Ngắt theo HSC2 khi có tín hiệu báo đổi hướng bên ngoài 17 Ngắt theo HSC2 khi có tín hiệu Reset bên ngoài 18 Ngắt theo PLS0 báo hiệu hoàn tất việc đếm xung 19 Ngắt theo PLS1 báo hiệu hoàn tất việc đếm xung 20 Ngắt theo thời gian 0 10 Ngắt theo thời gian 1 11 Chú ý : Nếu khai báo ngắt kiểu 12 ngắt HSC0 khi gía trị giá trị tức thời bằng gía trị đặt trước( PV=CV) thì hai kiểu ngắt 0 và 1 bị vô hiệu hóa. Cúng tương tự như vậy nếu khai báo sử dụng ngắt kiểu 0 hoặc kiểu 1thì ngắt kiểu 12 bị vô hiệu hóa. Các cú pháp sử dụng lệnh ngắt Dạng lệnh Mô tả chức năng lệnh L A D Khai báo sử dụng một chế độ ngắt với kiểu được xác định bởi toán hạng Event. Chương trình xử lí ngắt tương ứng được xác định bởi Int. sau khi khai báo chế độ ngắt cũng được kích theo INT: CPU 214: 0-127 EVENT: CPU 214: 0-20 STL ATCH INT EVENT L A D Lệnh này dùng để hủy bỏ một chế độ ngắt mà kiểu của nó được xác định bởi toán hạng Event EVENT: CPU 214: 0-20 STL DTCH INT EVENT L A D Lệnh này dùng để khai báo một chương trình xử lí ngắt, nhãn xác định bởi n CPU 214 0-127 STL INT n L A D Lệnh khai báo chế độ toàn cục ngắt hoặc kích hoạt tất cả các chế độ ngắt đã bị hủy bởi lệnh DISI,đặt sau ATCH STL ENI L A D Lệnh hủy bỏ toàn bộ chế độ ngắt đã khai báo sử dụng trước đó, lệnh chỉ có tác dụng với các tín hiệu báo ngắt lên,nhưng các ngắt vẫn nằm trong hàng chờ STL DISI L A D Lệnh kết thúc chương trình xử lý ngắt không điều kiện và bao giờ cũng nằm cuối chương trình xử lý ngắt STL RETI 10. Các hàm biến đổi kiểu dữ liệu Các hàm biến đổi kiểu dữ liệu cho phép thực hiện các phép biến đổi dữ liệu từ dạng này sang dạng khác. Dạng lệnh Mô tả chức năng lệnh L A D Chuyển đổi số nhị phân thập phân 16 bit thành số nguyên 16 bit và kết quả ghi vào OUT Toán hạng :IN:VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Const,*VD, *AC OUT :VW T,C, IW, QW,MW, SMW,SW, AC, *VD,*AC. STL BCD_I OUT L A D Chuyển đổi số nguyên 16 bit IN thành số nhị phân thập phân 16 bit và kết quả ghi vào OUT Toán hạng :IN:VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Const, *VD, *AC OUT:VW, T, C, IW, QW, MW, SMW, SW, AC, *VD, *AC STL I_BCD OUT L A D Chuyển đổi số nguyên 32 bit có dấu IN thành số thực 32 bit và ghi kết quả vào OUT Toán hạng :IN:VD, ID, QD, MD, SMD, SD, AC, HC, Const, *VD, *AC OUT :VD, ID, QD, MD, SMD, SD, AC, *VD, *AC STL DTR IN OUT L A D Thực hiện phép biến đổi một số thực 32 bit thành số nguyên có dấu 32 bit và ghi kết quả vào OUT chỉ có phần nguyên được chuyển Toán hạng :IN :VD, ID, QD, MD, SMD, SD, AC, HC, Const,*VD,*AC OUT:VD, ID, QD, MD, SMD, SD, AC, *VD, *AC STL TRUNC IN OUT L A D Lệnh đặt giá trị logic bằng 1 vào từ đơn OUT có chỉ số bằng số nguyên nằm trong nibble(4 bit) thấp của đầu vào IN. nếu lớn hơn 9999 thì SM1.6 sẽ báo tràn Toán hạng :IN:VB, IB, QB, MB, SMB, SB, AC, *VD, *AC, Const, OUT:VW,T,C, IW, QW,MW,SMW, SW, AC,AQW,*VD,*AC STL DECO IN OUT L A D Lệnh xác định chỉ số của bit thấp nhất trong từ đơn IN có giá trị logic bằng 1 và ghi kết quả vào nibble(4bit) thấp của đầu ra OUT IN :VW, T, C, IW, QW, MW, SMW, SW, AC, AIW, Const, *VD, *AC OUT:VB, IB, QB, MB, SMB, SB, AC, *VD, *AC STL ENCO IN OUT L A D Lệnh tạo giá trị các bit cho thanh ghi 7 nét tương ứng với 4 bit thấp của đầu vào IN kết quả được ghi vào byte đầu ra OUT Toán hạng :LEN:VB,IB,QB, MB, SMB,SB,AC, Const, *VD, *AC IN :VB,IB,QB MB, SMB,SB,*VD,*AC OUT:VB,IB,QB, MB, SMB,SB,*VD, *AC STL SEG IN OUT L A D Lệnh này chuyển một chuỗi ký tự có dấu có chiều dài Len mà kí tự bắt đầu là IN sang số nguyên hệ cơ số 16 và ghi vào vùng nhớ kể từ byte được chỉ định OUT. Nếu mã hóa một kí tự sai SM1.7 bật lên 1 Toán hạng :LEN:VB,IB,QB, MB, SMB,SB,AC, Const, *VD, *AC IN :VB,IB,QB MB, SMB,SB,*VD,*AC OUT:VB,IB,QB, MB, SMB,SB,*VD, *AC STL ATH IN LEN OUT L A D Lệnh này cho phép biến đổi một dãy số viết trong cơ số 16 thành mã ASCII. Số bắt đầu lưu trong IN với chiều dài Len .Độ dài cực đại của dãy số là 255. Chuỗi kí tự đầu ra được ghi vào mảng có byte đầu Out. Toán hạng :LEN:VB,IB,QB, MB, SMB,SB,AC, Const, *VD, *AC IN :VB,IB,QB MB, SMB,SB,*VD,*AC OUT:VB,IB,QB, MB, SMB,SB,*VD, *AC STL HTA IN OUT LEN 11. Các lệnh truyền thông Sử dụng các lệnh truyền thông để trao đổi dữ liệu giữa PLC và máy tính cũng như các thiết bị lập trình hay thiết bị hiển thị. Dạng lệnh Mô tả chức năng L A D Truyền một chuổi byte dữ liệu từ bảng table với chiều dài nằm trong byte đầu của bảng, ra port Toán hạng: TBL IB,MB,VB,SB,QB,*VD PORT: 0 ,1 STL XMT TABLE PORT L A D Nhận một chuổi byte dữ liệu từ vào bảng table ở port Toán hạng: TBL IB,MB,VB,SB,QB,*VD PORT: 0 ,1 STL RCV TABLE PORT CHƯƠNG II CÁC THIẾT BỊ LIÊN QUAN Thiết bị giải mã vị trí Encoder có nhiều loại, tùy theo cấu tạo vật lý mà hiện nay encoder được phân làm 3 loại : Encoder tiếp xúc,từ trường và quang. Encoder tiếp xúc: điểm tiếp xúc của loại này là giữa đĩa và đầu đọc thông qua chổi than nên có nhượt điểm là tạo ra ma sát, hao mòn, bụi bẩn, … giảm độ chính xác. Độ phân giải phụ thuộc vào đường rảnh và độ chính xác nhỏ nhất của một rảnh có thể có trên đĩa. Encoder từ trường: đĩa quay của nó được tráng một lớp vật liệu từ, trong đó những vạch mẫu không được phủ, các vạch này được đọc bằng đầu đọc bằng nam châm, nên tuổi thọ cao hơn encoder tiếp xúc. Encoder quang: thông dụng nhất và có độ chính xác cao nhất. Cấu tạo gồm đĩa segment có phần cho và không cho ánh sáng đi qua, một nguồn sáng cùng với một hệ thống hổ trợ chiếu sáng, bộ phận cảm biến ánh sáng. Độ phân giải thường đạt đến là14 bits. Thông dụng có hai loại encoder số: Dạng tuyệt đối:(absolute encoder): Thiết bị mã hóa loại này cho ngõ ra ở dạng chỉ thị góc, do đó khôngcần bộ đếm để đếm xung. Khi đĩa quay thì bộ cảm biến quang bật lên 1, còn khi ánh sáng bị chặn bởi những phần đục thì cảm biến quang xuống 0. Cảm biến quang tạo thành những xung tuần tự. Khi thiết bị này được kết hợp với các thiết bị khác thì vị trí 0 cuả hệ được xem như là gốc tọa độ. Dạng tương đối(incremental encoder): Loại thiết bị mã hóa này có ngõ ra ở dạng xung, do đó cần phải có bộ đếm để đếm xung ra. Vị trí của trục quay được biết thông qua số xung đếm được. Dạng thiết bị mã hóa này có 1 hoặc 2 kênh ngõ ra: Loại 1 chiều (chỉ có kênh A): chỉ sinh ra xung khi trục quay. Loại 2 chiều (có hai kênh ra A và B): cho biết chiều của trục quay. Ngoài ra, còn có đầu dây trung tính(xung Z) cho mỗi vòng quay, tức khi quay được một vòng thì xung Z lên 1. Khi đĩa quay thuận (cùng chiều kim đồng hồ) thì xung A sớm pha hơn xung B Time 0 Xung A Xung B Xung Z PW ½ PW Độ lệch pha=90°° (T/4T/8) Time 0 Xung B Xung A Xung Z PW ½ PW Khi đĩa quay ngược (ngược chiều kim đồng hồ) thì xung A trễ pha hơn xung B. Transistor 1. Transistor C828 Đây là transistor loại npn: Sơ đồ: Các thông số kỹ thuật: VCBMAX : 30V. VCEMAX : 30V. ICEMAX : 50mA. Hfe : 65. 2. Transistor B688 Đây là transistor loại pnp: Sơ đồ chân: Các thông số kỹ thuật: VCBMAX : 50V. VCEMAX : 50V. ICEMAX : 8A. Hfe : 70. 3. Transistor A671 Đây là transistor loại pnp: Sơ đồ chân: Các thông số kỹ thuật: VCBMAX : 50V. VCEMAX : 50V. ICEMAX : 3A. Hfe : 35. 4. Transistor H1061 Đây là transistor loại npn: Sơ đồ: Các thông số kỹ thuật: VCBMAX : 40V. VCEMAX : 40V. ICEMAX : 4A. Hfe : 35. 5. Transistor D718 Đây là transistor loại npn: Sơ đồ: Các thông số kỹ thuật: VCBMAX : 30V. VCEMAX : 80V. ICEMAX : 7A. Hfe : 60. 6. Transistor B560, D438 Sơ đồ chân: Thông số kỹ thuật: VCBO :100V VCEO :80V ICMAX :0.7A ICBO :1mA 60£ Hfe £ 560 VCE sat :0.8V VBE sat :1.2V 7. Optocoupler 4N35 Sơ đồ chân: Các thông số kỹ thuật: Điện áp cách ly : 3,55KV Điện áp VCEMAX : 30V Điện áp ngược trên Diod: 6V Dòng ICMAX : 100mA VCE bão hoà : 0,3V Điện áp thuận trên Diod: 0,7 ¸1,4V VCBO tối thiểu : 70V PHẦN III THIẾT KẾ HỆ THỐNG CHƯƠNG I THIẾT KẾ MÔ HÌNH HỆ THỐNG Giới thiệu cấu trúc mô hình Mô hình của hệ thống được hình thành dựa trên những mô tả khái quát về một hệ thống chiết chai di động thực sự. Sau đây là mô hình hệ thống chiết chai di động được thiết kế trong luận văn này: (hình mô hình) Hệ thống chiết chai di động gồm có một băng chuyền chuyển đông đều dùng để tải chai vào và một hệ thống valve trên trục, chạy theo và rót đầy chai trong khi chạy. Trong mô hình này, băng chuyền được điều khiển bởi động cơ bước với bước là 1.8°/1 bước, dòng định mức là 0.75 A. Vận tốc có thể thay đổi trong một phạm vi cho phép và được xác định dựa trên mạch kích động cơ bước và tần số kích. Q0 Q1 Q2 Q3 Sơ đồ mạch kích Tần số kích: Ta có mạch tạo xung và mạch kích động cơ bước như sau: Mạch tạo xung: (sẽ được trình bày rõ hơn trong chương III Thiết kế mạch phần cứng) Kích động cơ bước: (sẽ được trình bày rõ hơn trong chương III Thiết kế mạch phần cứng) Trục chuyển động mang theo valve đổ nước vào chai được điều khiển bằng động cơ DC, với mạch đảo chiều động cơ được điều khiển bằng xung điều rộng lấy từ PLC Simatic S7 – 200. Mạch đảo chiều động cơ: (sẽ được trình bày rõ hơn trong chương III Thiết kế mạch phần cứng) Hoạt động của mô hình: Để đơn giản mô hình, thay vì phải có hệ thống valve chiết sản phẩm, ta đặt một đèn led; Và dùng một vật cản được gắn trên băng chuyền làm chai. Khi phát hiện có vật trên băng chuyền (cảm biến quang phát hiện được) đèn led sẽ sáng và chạy theo vật cản một cách đồng bộ trong một thời gian định sẵn để đổ đủ lượng sản phẩm vào chai. Dùng hai công tắc hành trình để hạn chế hành trình của trục quay. Công tắc thứ 1 để định điểm reset cho hệ thống có địa chỉ trên PLC là I0.3. Và công tắc thứ 2 là vị trí chai đã được chiết xong và trục chạy lui về để chuẩn bị cho chu trình kế tiếp được định địa chỉ là I0.2. Xem như hệ thống chứa sản phẩm luôn cung cấp đủ cho hoạt động chiết chai (được biểu hiện qua ngõ vào luôn luôn ON I1.7 ). Động cơ DC với tốc độ 1000 vòng/phút dùng để điều khiển hệ thống valve, động cơ này được gắn với một Encoder (Encoder 1) có tốc độ đếm xung là 600 xung/vòng để hồi tiếp xung từ động cơ về PLC đồng bộ tốc độ với băng chuyền. Động cơ bước điều khiển băng chuyền cũng được gắn với một Encoder (Encoder 2) để đếm số xung từ động cơ và đưa về cho PLC xử lý. Động cơ DC quay một vòng thì trục đi được 4mm, còn động cơ bước quay một vòng thì băng chuyền chuyển động một đoạn bằng 15.7 cm. Như vậy để động cơ bước đi được một vòng thì động cơ DC phải quay 39.25 vòng mới có thể đuổi kịp và đồng bộ tốc độ với động cơ bước. Ta có thể thay đổi tốc độ băng chuyền nhưng chỉ thay đổi trong một phạm vi cho phép vì điều này phụ thuộc vào tốc độ đáp ứng của động cơ và tần số kích xung được làm bằng mạch phần cứng. Nhìn chung băng chuyền có thể đáp ứng được với tốc độ vừa và nhỏ, với tần số kích khoảng 50 Hz trở xuống. Điều này cũng hợp lý đối với thực tế vì băng chuyền tải chai cần phải có độ ổn định cao để giữ cho vật được tải không bị ngã, nên không thể chạy với tốc độ cao được. CHƯƠNG II HỆ THỐNG ĐIỀU KHIỂN VÀ MẠCH GIA CÔNG TÍN HIỆU Hệ thống điều khiển valve Khâu hồi tiếp Bộ HC Chấp hành Đối tượng Pđo Pđặt Khâu hồi tiếp Xung từ Encoder PLC Mạch gia công tín hiệu Xung PWM Xung Encoder Động cơ DC Mạch gia công tín hiệu Mạch gia công tín hiệu xung từ Encoder Encoder chỉ có đĩa mã và LED quay (thu / phát) nên xung tạo ra cố định biên độ £ 5V, muốn đưa xung này vào PLC để đếm xung thì phải qua optron để nâng áp lên 24V vì PLC dùng áp vào 24V DC. Ta có mạch gia công như sau: Để dòng qua led khoảng 5mA: ® Dòng qua optron khoảng 10mA: Chọn: R1 = 470 W R2 = 3,3 k CHƯƠNG III THIẾT KẾ MẠCH PHẦN CỨNG Mạch tạo xung vuông Xung vuông được tạo ra từ IC LM555. Thời gian có xung được xác định bằng thời hằng RC của mạch. Vcc (chân số 8): IC 555 hoạt động an toàn với Vcc từ 5V đến 15V. Khả năng dòng và áp ở ngõ ra tăng rõ rệt theo Vcc. Ra (chân số 3): Dòng và áp ra phụ thuộc vào nguồn Vcc và sự bão hòa của các Transistor ở bên trong IC 555. Ở Vcc=5V mức thấp khoảng 0.25V khi đó dòng nhận là 5 mA, mức cao ra khoảng 3.3V. Ở Vcc=12V, Io=200mA, điện áp tăng lên vài volt. Điện thế điều chỉnh Vc (chân 5): ngõ này không dùng, thường rẽ dòng bởi 1 tụ 0.1mF để làm giảm ảnh hưởng của nhiễu. Nảy (chân 2): IC 555 được nảy khi điện thế ở ngõ nảy trên từ 1/3Vcc xuống dưới mức này. Sự nảy nhạy cảm với mức nên các dạng sóng thay đổi chậm, tín hiệu nảy phải ngắn hơn thời gian của xung ra để IC 555 có thể được nảy lại. Thềm ngưỡng (chân 8): đặt ở điện áp 2/3 Vcc. RESET (chân 4): không dùng Reset, nên nối lên nguồn Vcc để tránh mạch bị reset do nhiễu. Xả: tụ được xả về qua ngõ chân số 7. Mạch tạo xung dạng Astable: Hoạt động: Khi Vo ở mức cao, tụ C sẽ nạp qua R từ ngõ ra khi Vc=2/3Vcc thì bộ so sánh tác động làm V0 xuống mức thấp. Tụ C xả qua R và ngõ ra làm Vc giảm. Khi Vc=1/3Vcc thì bộ so sánh tác động làm V0 lên mức cao. Và tụ C lại nạp qua R quá trình lặp lại liên tục để tạo xung ra. Do tụ C nạp xả với cùng một thời hằng nên độ rộng phần có xung bằng với độ rộng phần không xung. Chu kỳ dao động: T = .R.C ® f = Nhược điểm của mạch này là: Độ ổn định không cao (do nạp xả qua ngõ ra). Để có tần số f = 1 kHz Chọn C = 1mF Þ R = 707 ® dùng biến trở 2k. Dạng xung ra Mạch kích động cơ bước: Ta có sơ đồ mạch kích: Q0 Q1 Q2 Q3 Để tạo ra xung kích như trên, ta cho xung vuông tạo ra từ IC LM555 vào mạch kích hai IC 7474 để dịch xung theo từng bước, đáp ứng nhu cầu cần dùng. Sau đây là sơ đồ mạch kích động cơ bước: Hoạt động: Xung vuông từ IC LM555 được dùng làm xung CK cho hai IC 7474 kích theo kiểu bộ đếm xong xong không đầy đủ: 0000 _1000 _0100 _0010 _0001 _1000 _ ¼ Mạch điều khiển động cơ bước Sơ đồ mạch động lực Mạch nguyên lý. Phân tích và thiết kế Nguyên lý Khi ngõ vào ở mức +5V Q6 dẫn, Q4 tắt. Khi ngõ vào ở mức 0V Q6 tắt, Q4 dẫn. Các transistor công suất không được dẫn đồng thời trong giai đoạn chuyển tiếp Các tụ điện C1, C2 được thêm vào nhằm mục đích tránh hiện tượng trùng dẫn cho các transistor công suất. Trên sơ đồ chỉ là khối điều khiển công suất cho một pha của động cơ bước. Khi điều khiển động cơ bước thì cần 4 khối như trên vì động cơ bước được điều khiển bởi 4 pha. Tính toán Nguồn cung cấp là Vcc= 24V. Ngõ vào được lấy từ mạch kích xung động cơ bước được giới thiệu ở trên. Q1 ở trạng thái bão hòa: Dòng IB cấn thiết để Q1 bão hoà là: 8.80mA £ IB £ 82mA Điện trở cực B cần thiết để Q1 bão hòa là: 8.5kW £ Rb £ 79.5kW Þ chọn Rb = 10kW Phương trình nạp xả tụ: Phương trình nạp: Phương trình xả: Khi Q1 tắt tụ C1 được nạp qua R2=4.7k và R3=10k. t1=14,7.103.10-6=14,7ms. Đạt xác lập ở t = 3.t1 = 44.1ms Khi Q1 dẫn bão hòa, tụ C1 xả qua R3 = 10k xuống mass điện áp ở cực B của Q2 có dạng như sau: Điện áp ở cực B của Q2 Khi Q1 tắt tụ C2 được nạp qua R2=4,7k t2 = 4,7.103.10-6 = 4,7ms Đạt xác lập ở t = 3.t2 = 14.1ms Khi Q1 dẫn bão hòa, tụ C2 xả thẳng xuống mass điện áp ở cực B của Q3 có dạng như sau: Điện áp ở cực B của Q2 Tính toán cho Q2: Q2 dẫn bão hòa khi VB2 > VE2 Khi Q2 tắt, VE2 = VCC – (R5 + R4)ICBO Dòng qua transistor công suất Dòng qua transistor công suất có dạng xung vuông như sau: T TON Dòng qua transistor công suất. Trị trung bình điện áp trên tải: Theo sơ đồ xung kích của động cơ thì . Utb = 1/4.24 = 6V. Dòng trung bình qua transistor công suất: . ÞThoả điều kiện hạn dòng của động cơ (0.75A). Tính toán công suất cho transistor: Công suất tiêu tán trung bình trên transistor: Ptb = R.I2 = (5+4). (0.67)2 = 4.04 (W): khá nhỏ hơn so với công suất cực đại của transistor nên linh kiện được bảo vệ an toàn. Khối mạch kích động cơ bước Ưng với 4 xung kích cho động cơ bước ta có khối mạch điều khiển động cơ bước như sau: Mạch điều khiển động cơ DC Sơ đồ điều khiển Nguyên lý hoạt động Khối này có nhiệm vụ nhận các tín hiệu điều khiển và tín hiệu điều rộng xung từ PLC để lái họat động của động cơ. Khối này được thiết kế theo nguyên lý chopper sử dụng mạch cách ly để đãm bảo an toàn vì mạch này hoạt động ở những cấp điện áp khác nhau . - Tín hiệu điều khiển mạch động lực: là 2 tín hiệu từ khối điều khiển:tín hiệu điều rộng xung lấy từ PLC và tin hiệu đảo chiều quay của động cơ. - Để thực hiện được cách điều khiển này, ta xuất hai xung điều rộng từ PLC với độ rộng khác nhau. Một xung điều khiển động cơ quay thuận và xung còn lại điều khiển động cơ quay ngược. Các tín hiệu này sau khi qua khối xung kích sẽ tác động lên các công tắt bán dẫn. - Ơ đây ta sử dụng điện trở 470k vừa làm điện trở kéo lên nguồn vừa làm điện trở phân cực cho transistor C828. Khi tín hiệu chọn chiều quay được cho phép (mức1 ) thì tín hiệu điều rộng xung được đưa ra và tùy theo tín hiệu chiều rộng xung, transistor sẽ được phân cực thuận cho phép dòng điện qua làm tín hiệu kích các Opto-transistor. Khi tín hiệu chọn chiều quay thuận tích cực mức 1, thì tín hiệu ở mức cao các Opto-transistor U1VÀ U4 được kích sẽ tác động lên các van dẫn (Q9,Q10, ) và(Q3,Q4, ) làm cho động cơ quay theo chiều thuận. Khi tín hiệu chọn chiều quay ngược tích cực mức 1,thì cho phép tín hiệu điều động xung qua. Khi đó các Opto-transistor U2 và U3 được kích sẽ tác động lên các van dẫn (Q5,Q6, ) và(Q7,Q8, ) điều khiển đảo chiều điện áp làm cho động cơ quay theo chiều nghịch. trong cả 2 trường hợp động cơ quay thuận hay nghịch thì biểu thức tính điện áp trung bình cấp cho phần ứng động cơ là : Utt = Với : T: chu kỳ xung điều rộng CHƯƠNG IV THIẾT KẾ PHẦN MỀM Giải thuật Giải thuật điều khiển tổng quát Khởi động băng chuyền Cảm biến I0.3 = 1 N Cảm biến quang = 0 Điều khiển động cơ DC để hệ thống valve chạy theo băng chuyền Đọc xung từ Encoder 1 đếm xung từ hệ thống valve Đọc xung từ Encoder 2 đếm xung từ hệ thống băng chuyền Hiệu chỉnh PID số N Y Y N Cảm biến I0.2 = 1 Trở về điểm khởi dầu Y END Đưa hệ thống valve về điểm khởi đầu Start Giải thuật đọc xung từ Encoder 1 Khởi động HSC 1 Đếm tiến theo sườn lên xung A, B lấy từ Encoder 1 PV = CV Giá trị đặt = giá trị điểm N Nhập giá trị bộ đếm Đếm lùi theo số xung đặt trước PV = CV N Y Y Giải thuật đọc xung từ Encoder 2 gắn với băng chuyền Băng chuyền chuyển động đều, khoảng cách giữa hai chai là như nhau. Ta có giải thuật đọc xung về từ Encoder 2 như sau: Khởi động HSC 2 Đếm tiến theo sườn lên xung A lấy từ encoder 2 CV = PV N Y Reset bộ đếm Giải thuật điều rộng xung PWM Xuất xung chạy thuận cho động cơ DC Khởi động PWM Khởi động xuất xung điều rộng ra ngõ Q0.0 Cảm biến I0.3 = 1 Xuất xung Cảm biến I0.2 = 1 Ngưng xuất xung N Y N Y END Xuất xung chạy về điểm khởi đầu Khởi động PWM Khởi động xuất xung điều rộng ra ngõ Q0.1 Cảm biến I0.2 = 1 Xuất xung Cảm biến I0.3 = 1 Ngưng xuất xung N Y N Y END Hiệu chỉnh PID Vì PLC S7_200 hổ trợ PID nên ta không cần tính toán hàm PID để tìm hàm KP,, KI,, KD mà ta lấy khâu PID để tính toán luôn. Ta có giải thuật như sau: Khởi động PID Nhập thông số ban đầu KP = 1, KI = 1, KD = 1 Phân tích chuyển động Tính toán PID Đưa ra thông số mới Đồng bộ tốc độ END Tính toán PID số Nhập giá trị vào Chuyển từ số nguyên 32 bit sang số thực Lấy giá trị từ 0 ® 1 Đưa vào PID Xuất ra ngõ ra SMW70 END Xuất ra tại giá trị điều rộng xung cho động cơ DC khi chạy thuận. Tốc độ trục = Tốc độ băng chuyền Khâu PID Thu nhập số liệu Tốc độ trục Tốc độ băng chuyền N Đồng bộ tốt thu thập thông số KP, KI, KD Y END Start Đồng bộ tốc độ II. CHƯƠNG TRÌNH ĐIỀU KHIỂN

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

  • docMô hình chiết chai di động.doc