Nghiên cứu và thực hiện bộ điều khiển PID trên PLC S7-300

LỜI MỞ ĐẦU Nước ta đang trong công cuộc công nghiệp hóa, hiện đại hóa để từng bước bắt kịp sự phát triển cùng các nước trong khu vực cũng như các nước trên thế giới về mọi mặt kinh tế, kỹ thuật và xã hội. Công nghiệp sản xuất hàng hóa đóng vai trò quan trọng trong việc phát triển các mặt kể trên. Việc tự động hóa là sự lựa chọn đúng đắn trong mọi lĩnh vực nhằm tạo ra sản phẩm hàng loạt, có chất lượng cao, tăng khả năng cạnh tranh mạnh mẽ trên thị trường. Cùng với các ngành sản xuất khác thì ngành công nghiệp nặng đóng vai trò quan trọng nhất trong việc đưa nước ta có trở thành một nước công nghiệp tiến bộ hay không. Và ngành gia công kim loại chính xác cũng góp một phần nhỏ bé của mình vào xu hướng trung đó. Nhưng hiện nay trang thiết bị máy móc phục vụ trong công nghiệp ở nước ta đa số còn lạc hậu song do vốn đầu tư còn hạn hẹp. Nên việc cải tiến không thể tiến hành thay thế một cách đồng loại mà chúng ta phải kết hợp trên những nền tảng vốn có và thay thế một số trang thiết bị sao cho vốn đầu tư là nhỏ nhất, nhưng dây truyền vẫn không lạc hậu mà vẫn phù hợp với xu thế hiện nay. Vì vậy nghiên cứu và đưa PLC S7-300 vào sử dụng là một giải pháp cải tiến đúng đắn cho điều khiển ngành công nghiệp Việt Nam hiện nay. Việc nghiên cứu và thực hiện bộ điều khiển PID trênPLC S7-300 là nội dung đồ án tốt nghiệp mà em trình bày. Đồ án của em gồm 3 chương như sau: CHƯƠNG I: TỔNG QUAN VỀ PLC S7-300 CHƯƠNG II : TẬP LỆNH LADER CỦA PLC S7-300 Ch­ương 3: bộ biến đổi PID trên S7-300 1 CHƯƠNG I: TỔNG QUAN VỀ PLC S7-300 Trạm tích cực còn gọi là trạm chủ có chức năng kiểm soát việc giao tiếp với các trạm tớ nó quản lý hoặc có thể giao tiếp với các trạm tích cực khác trong mạng. Hay nói cách khác các trạm chủ có khả năng kiểm soát truyền thông trên bus. Một trạm chủ có thể gửi thông tin khi nó giữ quyền truy nhập bus. Các trạm chủ là các thiết bị điều khiển được tích hợp một cách tổng thể dưới tên là SIMATIC. Đó là các SIMATIC S7, SIMATIC M7, SIMATIC C7, SIMATIC S5 . 1.1. cÊu tróc c¬ b¶n cña mét tr¹m Simatic s7-300. SIMATIC S7 - 300 là hệ PLC mini, ứng dụng phần lớn trong điều kiện môi trường làm việc khắc nghiệt như độ rung lắc mạnh, nhiệt độ, độ ẩm cao hoặc trong môi trường bụi bẩn, ví dụ như: Quản lý và điều khiển hệ thống đèn tín hiệu giao thông. Hệ thống xử lý nước thải. Bảo quản hàng đông lạnh. Các ngành đường sắt. Ngành hoá chất . Để tăng tính mềm dẻo trong ứng dụng thực tế, các bộ điều khiển PLC được thiết kế không bị cứng hoá về cấu hình, chúng được chia nhỏ thành các module. Số lượng các module được sử dụng nhiều hay ít tùy thuộc vào từng bài toán điều khiển cụ thể, tuy nhiên bao giờ cũng phải có một module chính, đó là module CPU. Các module còn lại là những module truyền ,nhận tín hiệu với đối tượng điều khiển, các module chuyên dụng như PID, điều khiển động cơ .được gọi là các module mở rộng. Các module được gá trên các thanh rack.

pdf83 trang | Chia sẻ: lvcdongnoi | Ngày: 17/06/2013 | Lượt xem: 7203 | Lượt tải: 21download
Bạn đang xem nội dung tài liệu Nghiên cứu và thực hiện bộ điều khiển PID trên PLC S7-300, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ủa hàm là "1". Các RLO được nối nối tiếp bởi Logic AND còn nối song song thì được nối bởi logic OR  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả X X X 0 _ 0 X X 1 27 2.2.3. CMP ? D Lệnh so sánh hai số nguyên Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả box input BOOL I, Q, M, L, D Kết quả của các hoạt động logic trước box output BOOL I, Q, M, L, D Kết quả so sánh, chỉ tiếp tục nếu RLO tại đầu vào = 1 IN1 INT I, Q, M, L, D Giá trị đầu tiên để so sánh IN2 INT I, Q, M, L, D Giá trị thứ hai để so sánh Mô tả CMP? D (So sánh hai số nguyên) có thể được sử dụng như một liên lạc bình thường. Nó có thể được đặt ở bất kỳ vị trí mà một số liên lạc bình thường có thể được đặt. IN1 và IN2 được so sánh theo kiểu so sánh bạn chọn. Nếu so sánh là đúng, các RLO của hàm là "1". Các RLO được nối nối tiếp bởi Logic AND còn nối song song thì được nối bởi logic OR D IN2 IN1 CMP D IN2 IN1 CMP D IN2 IN1 CMP D IN2 IN1 CMP D IN2 IN1 CMP D IN2 IN1 CMP 28 Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả X X X 0 _ 0 X X 1 2.2.4. CMP ? R Lệnh so sánh giá trị thực Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả box input BOOL I, Q, M, L, D Kết quả của các hoạt động logic trước box output BOOL I, Q, M, L, D Kết quả so sánh, chỉ tiếp tục nếu RLO tại đầu vào = 1 IN1 INT I, Q, M, L, D Giá trị đầu tiên để so sánh IN2 INT I, Q, M, L, D Giá trị thứ hai để so sánh Mô tả CMP? I (So sánh số thực) có thể được sử dụng như một liên lạc bình thường. Nó có thể được đặt ở bất kỳ vị trí mà một số liên lạc bình thường có R IN2 IN1 CMP R IN2 IN1 CMP R IN2 IN1 CMP R IN2 IN1 CMP R IN2 IN1 CMP R IN2 IN1 CMP 29 thể được đặt. IN1 và IN2 được so sánh theo kiểu so sánh bạn chọn. Nếu so sánh là đúng, các RLO của hàm là "1". Các RLO được nối nối tiếp bởi Logic AND còn nối song song thì được nối bởi logic OR Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả X X X 0 _ 0 X X 1 2.3. H•íng dÉn chuyÓn ®æi Mô tả Các hướng dẫn chuyển đổi đọc nội dung của các tham số IN và chuyển đổi hoặc thay đổi các ký hiệu. Kết quả có thể được truy vấn tại tham số OUT. Các hướng dẫn chuyển đổi sau đây có sẵn: • BCD_I BCD tới số nguyên • I_BCD số nguyên tới BCD • BCD_DI BCD tới hai số nguyên • I_DINT số nguyên tới hai số nguyên • DI_BCD hai số nguyên tới BCD • DI_REAL hai số nguyên tới dấu phẩy động Nhóm lệnh chuyển đổi 2.3.1. lệnh BCD_I Kí hiệu EN IN OUT ENO BCD_I 30 Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Enable input ENO BOOL I, Q, M, L, D Enable output IN WORD I, Q, M, L, D BCD number OUT INT I, Q, M, L, D Integer value of BCD number Mô tả Chuyển ổi từ số định dạng dưới dạng BCD ( chứa 3 Digit) sang số nguyên 16 Bit, Số BCD có tầm (+/- 999) chứa trong 12Bit. Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả 1 _ _ _ _ 0 1 1 1 2.3.2. Lệnh I_BCD Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Enable input ENO BOOL I, Q, M, L, D Enable output IN WORD I, Q, M, L, D Integer number OUT INT I, Q, M, L, D BCD value of integer number Mô tả Chuyển đổi từ số nguyên sang số được định dạng dưới dạng BCD ( chứa 3 Digit), do số BCD tối đa 999 nên số nguyên phải tối đa 999 EN IN OUT ENO I_BCD 31 Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả 1 _ _ _ _ 0 1 1 1 2.3.3. Lệnh I_DINT Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Enable input ENO BOOL I, Q, M, L, D Enable output IN WORD I, Q, M, L, D Integer value to convert OUT INT I, Q, M, L, D Double integer result Mô tả Chuyển đổi số nguyên từ 16Bit sang số nguyên 32 Bit ể thực hiện cho các phép toán trên số 32 Bit. Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết 1 _ _ _ _ 0 1 1 1 2.3.4. Lệnh BCD_DI Kí hiệu EN IN OUT ENO I_DINT EN IN OUT ENO BCD_DI 32 Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Enable input ENO BOOL I, Q, M, L, D Enable output IN WORD I, Q, M, L, D BCD number OUT INT I, Q, M, L, D Double integer value of BCD number Mô tả Chuyển đổi từ số định dạng dưới dạng BCD ( chứa 7 Digit)sang số nguyên 32 Bit Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả 1 _ _ _ _ 0 1 1 1 2.3.5. Lệnh DI_BCD Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Enable input ENO BOOL I, Q, M, L, D Enable output IN WORD I, Q, M, L, D Double integer number OUT INT I, Q, M, L, D BCD value of a double integer number EN IN OUT ENO DI_BCD 33 Mô tả Chuyển đổi từ số nguyên 32 Bit sang số được định dạng dưới dạng BCD ( chứa 7 Digit), do số BCD tối đa 9999999 nên số nguyên phải tối đa 9999999 Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết 1 _ _ _ _ 0 1 1 1 2.3.6. Lệnh DI_REAL Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Enable input ENO BOOL I, Q, M, L, D Enable output IN WORD I, Q, M, L, D Double integer value to convert OUT INT I, Q, M, L, D Floating-point number result Mô tả Chuyển ổi từ số nguyên 32 Bit sang số thực ể phục vụ cho các phép toán trên số thực. Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả 1 _ _ _ _ 0 1 1 1 EN IN OUT ENO DI_REAL 34 2.3.7. Lệnh INV_I Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Enable input ENO BOOL I, Q, M, L, D Enable output IN WORD I, Q, M, L, D Integer input value OUT INT I, Q, M, L, D Ones compelement of the integer Mô tả đảo tất cả các Bit của số nguyên 16 Bit Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết 1 _ _ _ _ 0 1 1 1 3.8. Lệnh INV_ID Kí hiệu EN IN OUT ENO INV_I EN IN OUT ENO INV_ID 35 Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Enable input ENO BOOL I, Q, M, L, D Enable output IN WORD I, Q, M, L, D Double integer input value OUT INT I, Q, M, L, D Ones compelement of the Double integer IN Mô tả đảo tất cả các Bit của số nguyên 32 Bit Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả 1 _ _ _ _ 0 1 1 1 2.4. COUNTER 2.4.1. Hướng dẫn tổng quan. Bộ nhớ trong: Có một khu vực dành riêng cho Counter trong bộ nhớ của CPU. Vùng bộ nhớ này dự trữ một từ 16-bit cho mỗi địa chỉ truy cập. Các thiết lập logic ladder hướng dẫn hỗ trợ 256 counters. Các counters truy cập là các chức năng duy nhất mà có thể truy cập vào vùng bộ nhớ truy cập. Giá trị đếm: Bits 0 đến 9 của từ truy cập có chứa giá trị số trong mã nhị phân. Giá trị tính được chuyển đến từ truy cập khi truy cập được thiết lập. Phạm vi giá trị số là 0-999. Bạn có thể thay đổi giá trị số nằm trong phạm vi này bằng cách sử dụng theo hướng dẫn truy cập: 36 • S_CUD bộ đếm tiến lùi • S_CD bộ đếm tiến • S_CU bộ đếm lùi •---( SC ) bộ nhớ đếm •---( CU ) cuộn đếm tiến •---( CD ) cuộn đếm lùi Cấu hình bit counter Bạn cung cấp một truy cập với một giá trị định sẵn bằng cách nhập một số 0-999, ví dụ như 127, định dạng sau: C # 127. C # là viết tắt của định dạng mã nhị phân thập phân (dạng BCD: mỗi bộ bốn bit có chứa mã nhị phân cho một giá trị thập phân). Bits 0 đến 11 của chứa truy cập các giá trị tính trong định dạng mã nhị phân thập phân. Những con số sau đây cho thấy nội dung của các truy cập sau khi bạn đã tải các giá trị tính 127, và nội dung của các counter sau khi truy cập đã được thiết lập. 37 2.4.2. Bộ S_CUD Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả C no COUNTER C Lượt truy cập, phạm vi truy cập phụ thuộc vào CPU CU BOOL I, Q, M, L, D Đếm lên CD BOOL I, Q, M, L, D Đếm xuống S BOOL I, Q, M, L, D Thiết lập nhớ đầu vào của counter PV WORD I, Q, M, L, D và constant Nhập giá trị truy cập như C # trong khoảng 0-999 PV WORD I, Q, M, L, D Tới giá trị thiết lập couter R BOOL I, Q, M, L, D Reset đầu vào CV WORD I, Q, M, L, D Truy cập hiện tại giá trị, số thập lục phân CV_BCD WORD I, Q, M, L, D Truy cập hiện tại giá trị, mã BCD Q BOOL I, Q, M, L, D Trạng thái của các truy cập  Mô tả Sô sườn xung đếm được , được ghi vào thanh ghi 2 byte của bộ đếm, gọi là thanh ghi C-Word. Nội dung của thanh ghi C-Word được gọi là giá trị đếm tức thời của bộ đếm và kí hiệu bằng CV và CV_BCD. Bộ đếm báo trạng thái của C-Word ra ngoài C-bit qua chân Q của nó. Nếu CV0, C-bit có giá trị 38 “1”. Ngược lại khi CV= “0”, bit nhận giá trị 0. CV luôn là giá trị không âm. Bộ đếm sẽ không đếm lùi khi CV=0. Đối với Counter, giá trị đặt trước PV chỉ được chuyển vào C-Word tại thời điểm xuất hiện sườn lên của tín hiệu đặ tới chân S. Bộ đếm sẽ được xóa tức thời bằng tín hiệu xóa R(Reset). Khi bộ đếm được xóa cả C-Word và C-bit đều nhận giá trị 0.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.4.3. Bộ S_CU Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả C no COUNTER C Lượt truy cập, phạm vi truy cập phụ thuộc vào CPU CU BOOL I, Q, M, L, D Đếm lên S BOOL I, Q, M, L, D Thiết lập nhớ đầu vào của counter PV WORD I, Q, M, L, D và constant Nhập giá trị truy cập như C # trong khoảng 0-999 PV WORD I, Q, M, L, D Tới giá trị thiết lập couter R BOOL I, Q, M, L, D Reset đầu vào CV WORD I, Q, M, L, D Truy cập hiện tại giá trị, số thập lục phân CV_BCD WORD I, Q, M, L, D Truy cập hiện tại giá trị, mã BCD Q BOOL I, Q, M, L, D Trạng thái của các truy cập 39  Mô tả S_CU (Up Counter) là cài sẵn với giá trị tại PV đầu vào nếu có một cạnh tích cực ở đầu vào S. Truy cập được thiết lập lại nếu có giá trị"1" tại R đầu vào và giá trị số sau đó được thiết lập về. Số lượt truy cập là tăng thêm một khi thay đổi tín hiệu tại CU đầu vào từ "0" đến "1" và giá trị của các truy cập ít hơn "999". Nếu truy cập được thiết lập và nếu RLO = 1 tại đầu vào CU, việc Counter sẽ tính phù hợp trong chu kỳ quét tiếp theo. Tín hiệu tại đầu ra Q là "1" nếu đếm số lớn hơn số không và "0" nếu không thì Q=0  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.4.4. Bộ S_CD  Kí hiệu 40 Tham số Kiểu dữ liệu Vùng nhớ Mô tả C no COUNTER C Lượt truy cập, phạm vi truy cập phụ thuộc vào CPU CD BOOL I, Q, M, L, D Đếm lùi S BOOL I, Q, M, L, D Thiết lập nhớ đầu vào của counter PV WORD I, Q, M, L, D và constant Nhập giá trị truy cập như C # trong khoảng 0-999 PV WORD I, Q, M, L, D Tới giá trị thiết lập couter R BOOL I, Q, M, L, D Reset đầu vào CV WORD I, Q, M, L, D Truy cập hiện tại giá trị, số thập lục phân CV_BCD WORD I, Q, M, L, D Truy cập hiện tại giá trị, mã BCD Q BOOL I, Q, M, L, D Trạng thái của các truy cập  Mô tả S_CU (Up COUNTER) là cài sẵn với giá trị tại PV đầu vào nếu có một cạnh tích cực ở đầu vào S.truy cập được thiết lập lại nếu có một "1" tại R đầu vào và giá trị số sau đó được thiết lập về. Số lượt truy cập là tăng thêm một khi nhà nước thay đổi tín hiệu tại CU đầu vào từ "0" đến "1" và giá trị của các truy cập ít hơn "999". Nếu truy cập được thiết lập và nếu RLO = 1 tại đầu vào CU, việc truy cập sẽ tính phù hợp trong chu kỳ quét tiếp theo. Tín hiệu tại đầu ra Q là "1" nếu đếm số lớn hơn số không và "0" nếu không thì Q=0 41  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.4.5. ---( SC ) nhớ giá trị Counter  Kí hiệu ---( SC ) Tham số Kiều dữ liệu Vùng nhớ Mô tả COUNTER C Số lượng truy cập sẽ được cài sẵn WORD I, Q, M, L, D or constant Giá trị xác lập cho BCD(0 đến 999)  Mô tả --- (SC) (nhớ giá trị counter) chỉ thực hiện nếu có giá trị tích cực trong RLO. Vào thời điểm đó, giá trị định sẵn chuyển vào truy cập được chỉ định.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả 0 _ _ _ _ 0 X _ 0 2.4.6. ---( CU ) bộ đếm lên  kí hiệu ---( CU ) Tham số Kiểu dữ liệu Vùng nhớ Mô tả COUNTER C Lượt truy cập mã số; phạm vi phụ thuộc vào CPU  Mô tả --- (CU) (Up Counter Coil) Cứ mỗi xung cạnh lên trong RLO, bộ đếm COUNTER sẽ tăng 1 đơn vị. Khi giá trị tăng đến 999 thì tín hiệu kích tăng không còn tác dụng. 42  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ 0 _ _ 0 2.4.7. ---( CD ) bộ đếm xuống  Kí hiệu ---( CD ) Tham số Kiểu dữ liệu Vùng nhớ Mô tả COUNTER C Lượt truy cập mã số; phạm vi phụ thuộc vào CPU  Mô tả --- (CD) (Down Counter Coil) Cứ mỗi xung cạnh lên trong RLO, bộ đếm Counter sẽ giảm 1 đơn vị. Khi giá trị giảm đến 0 thì tín hiệu kích giảm không còn tác dụng, đồng thời lúc đó ---( CD ) sẽ OFF. Nếu bộ đếm khác 0, ---( CD ) sẽ ON.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ 0 _ _ 0 2.5. khèi d÷ liÖu 2.5.1. ---(OPN) Lệnh mở khối dữ liệu :DB hay DI  Kí hiệu or ---(OPN) Biến số Kiểu dữ liệu Bộ nhớ Mô tả BLOCK_DB DB, DI Số DB / DI; phạm vi phụ thuộc vào CPU 43 --- (OPN) (Open a Data Block) sẽ mở ra một khối dữ liệu được chia sẻ (DB) hoặc dữ liệu Ví dụ một khối (DI). Các --- (OPN) chức năng là một cuộc gọi vô điều kiện của một khối dữ liệu. Số lượng các khối dữ liệu được chuyển vào DB hoặc đăng ký DI. Các DB DI lệnh tiếp theo và truy cập vào các khối tương ứng, tuỳ theo nội dung đăng ký.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ _ _ _ _ 2.6. nhãm lÖnh nh¶y 2.6.1. ---(JMP)--- Lệnh nhảy vô điều kiện Kí hiệu ---( JMP )  Mô tả Nhảy nếu RLO=1,Nếu RLO=1 chương trình sẽ nhảy đến nhãn nhảy  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ _ _ _ _ 2.6.2. ---(JMP)--- Lệnh Nhảy có điều kiện  Kí hiệu ---( JMP )  Mô tả --- (JMP) (nhảy trong vòng cấm khi 1) chức năng như một bước nhảy có điều kiện khi RLO của các hoạt động logic trước đây là "1". Một điểm đến (nhãn) cũng phải tồn tại cho mỗi --- (JMP). Tất cả các hướng dẫn giữa các hướng dẫn nhảy và nhãn không được thực thi. 44 Nếu một bước nhảy có điều kiện là không được thực hiện, những thay đổi RLO tới "1" sau khi hướng dẫn nhảy  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ 0 1 1 0 2.6.3. ---( JMPN ) Lệnh Jump-If-Not  Kí hiệu ---( JMPN )  Mô tả Nhảy nếu RLO=0,Nếu RLO=0 chương trình sẽ nhảy đến nhãn nhảy  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ 0 1 1 0 2.6.5. LABEL Lệnh nhãn  Kí hiệu  Mô tả LABEL là nhận diện cho đích đến của một chỉ dẫn nhảy.Các ký tự đầu tiên phải là chữ cái, các ký tự khác có thể là chữ cái hoặc số. Một nhãn nhảy (LABEL) phải tồn tại cho mỗi --- (JMP) hoặc --- (JMPN). 2.7. lÖnh Time 2.7.1. Lệnh S_PULSE  Kí hiệu R TV BCD BI Q S_PULSE S T no. 45 Tham số Kiểu dữ liệu Vùng nhớ Mô tả T no. TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S BOOL I, Q, M, L, D Bắt đầu đầu vào TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn R BOOL I, Q, M, L, D Thiết lập lại đầu vào BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng số nguyên BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng BCD Q BOOL I, Q, M, L, D Trạng thái của Timer  Mô tả Nếu tín hiệu ở đầu vào S là “1” Timer được kích hoạt chạy, khi tín hiệu đầu vào S là “0” hoặc chạy đủ thời gian đặt ở TV thì Timer dừng hoặc tín hiệu ở đầu vào R là “1” thì Timer cũng dừng. Timer chỉ có tín hiệu chạy lại khi có tín hiệu ở đầu vào S( tức là đầu vào S chuyển trạng thái từ 0 lên 1). Tín hiệu ra của Q là “1” khi mà Timer đang chạy Ngược lại Timer ngừng chạy thì Q có tín hiệu ra là “0” Đầu ra BI lưu giá trị đếm của Timer theo dạng Integer Đầu ra BCD lưu giá trị đếm của Timer theo dạng BCD Chức năng Timer này là tạo xung có thời gian được đặt sẵn  Sơ đồ thời gian Đặc điểm của mạch xung hẹn giờ 46  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.7.2 . Lệnh S_PEXT  Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả T no. TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S BOOL I, Q, M, L, D Bắt đầu đầu vào TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn R BOOL I, Q, M, L, D Thiết lập lại đầu vào BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng số nguyên BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng BCD Q BOOL I, Q, M, L, D Trạng thái của Timer R TV BCD BI Q S_PEXT S T no. 47  Mô tả Timer kích có nhớ, khi có tín hiệu cạnh lên ở đầu vào S Timer chạy. nếu thời gian đặt tại TV đủ thì Timer dừng lại. Trong quá trình chạy nếu có tín hiệu mới từ đầu vào S thì Timer lại được tính lại từ đầu Trong quá trình chạy mà có tín hiệu ở đầu vào R thì Timer dùng lại Đầu ra Q=1 khi Timer đang chạy ngược lại Q=0 khi Timer không chạy Đầu ra BI lưu giá trị hiện thời của Timer theo dạng Integer Đầu ra BCD lưu giá trị hiện thời của Timet theo dạng BCD  Sơ đồ thời gian Đặc điểm của mạch xung hẹn giờ  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.7.3 . Lệnh S_ODT  Kí hiệu R TV BCD BI Q S_ODT S T no. 48 Tham số Kiểu dữ liệu Vùng nhớ Mô tả T no. TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S BOOL I, Q, M, L, D Bắt đầu đầu vào TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn R BOOL I, Q, M, L, D Thiết lập lại đầu vào BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng số nguyên BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng BCD Q BOOL I, Q, M, L, D Trạng thái của Timer  Mô tả Nếu tín hiệu vào S là “1” thì Timer bắt đầu chạy khi đủ thời gian thì ngưng khi đó ngõ ra Q sẽ có tín hiệu ra là “1”. Nếu tín hiệu đầu vào của S vẫn giữ trạng thái tín hiệu là “1”, khi có tín hiệu Reset (tín hiệu đầu vào của R=1) thì tất cả phải được Reset về 0 Các ô nhớ BI lưu giá trị hiện thời của Timer theo dạng Integer, BCD lưu giá trị hiện thời của Timer theo dạng BCD  Sơ đồ thời gian Đặc điểm của mạch xung hẹn giờ 49  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết _ _ _ _ _ X X X 1 2.7.4. Lệnh S_ODTS  Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả T no. TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S BOOL I, Q, M, L, D Bắt đầu đầu vào TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn R BOOL I, Q, M, L, D Thiết lập lại đầu vào BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng số nguyên BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng BCD Q BOOL I, Q, M, L, D Trạng thái của Timer  Mô tả Timer kích có nhớ, khi có tín hiệu xung cạnh lên ở đầu vào S thì Timer bắt đầu chạy, ngõ ra của Q=1 khi Timer đang chạy ngược lại Timer dừng thì tín hiệu ra của Q là “0”. Timer chỉ tắt khi có tín hiệu Reset và đã đếm hết thời gian Trong qua trình Timer chạy nếu có sự chuyển đổi tín hiệu từ đầu vào S thêm 1 lần nữa thì Timer sẽ nhớ và tiếp tục chạy khi hết thời gian lần trước. Các ô nhớ BI lưu giá trị hiện thời của Timer theo dạng Integer, BCD lưu giá trị hiện thời của Timer theo dạng BCD R TV BCD BI Q S_ODTS S T no. 50  Sơ đồ thời gian Đặc điểm của mạch xung hẹn giờ  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết _ _ _ _ _ X X X 1 2.7.5. Lệnh S_OFFDT  Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả T no. TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S BOOL I, Q, M, L, D Bắt đầu đầu vào TV S5TIME I, Q, M, L, D Giá trị thời gian định sẵn R BOOL I, Q, M, L, D Thiết lập lại đầu vào BI WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng số nguyên BCD WORD I, Q, M, L, D giá trị thời gian còn lại, định dạng BCD Q BOOL I, Q, M, L, D Trạng thái của Timer R TV BCD BI Q S_OFFDT S T no. 51  Mô tả S_OFFDT đầu ra Q =1 khi có tín hiệu tích cực của chân đầu vào S và Timer chạy khi bắt dầu sườn xuống của đầu vào S. Q=0 khi đủ thời gian và đầu vào S vẫn =0. Khi có tín hiệu Reset I0.1 thì tất cả tín hiệu đều = “0” Các ô nhớ BI lưu giá trị hiện thời của Timer theo dạng Integer, BCD lưu giá trị hiện thời của Timer theo dạng BCD  Sơ đồ thời gian Đặc điểm của mạch xung hẹn giờ  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.7.6 . Xung ---( SP )  Kí hiệu ---( SP ) 52 Tham số Kiểu dữ liệu Vùng nhớ Mô tả TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S5TIME I, Q, M, L, D Giá trị thời gian định sẵn  Mô tả --- (SP) (Pulse Timer Coil) bắt đầu đếm thời gian quy định với <time value> khi có tín hiệu cạnh tích cực của RLO. Ngõ ra của Tno sẽ On ngay lập tức. Khi hết thời gian cài đặt () mà tín hiệu vào của RLO vẫn là 1 thì Tno vẫn On. Trong trường hợp chua đủ mà tín hiệu của RLO là “0” thì Time sẽ được Reset và ngõ ra của Tno sẽ OFF.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.7.7 . Xung ---( SE )  Kí hiệu ---( SE ) Tham số Kiểu dữ liệu Vùng nhớ Mô tả TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S5TIME I, Q, M, L, D Giá trị thời gian định sẵn  Mô tả ---( SE ) (Extended Pulse Timer Coil) bắt đầu đếm thời gian quy định với khi có tín hiệu cạnh tích cực của RLO. Ngõ ra của Tno sẽ On ngay lập tức và Tno vẫn tiếp tục chạy cho đến khi thời gian đã được định trước ngay cả khi có sự thay đổi của RLO tới “0”trước khi bộ đếm thời gian hết hạn. 53 Các tín hiệu ra của Tno là “1” khi mà Tno đang chạy. Time sẽ được khởi động lại khi có sự thay đổi RLO từ “0” đến “1” trong khi hẹn giờ đang chạy.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.7.8 . Xung ---( SD ) Kí hiệu ---( SD ) Tham số Kiểu dữ liệu Vùng nhớ Mô tả TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S5TIME I, Q, M, L, D Giá trị thời gian định sẵn  Mô tả ---( SD ) (On Delay Timer Coil) bắt đầu đếm thời gian quy định với <time value> khi có tín hiệu cạnh tích cực của RLO. Khi thời gian cài đặt <time value> đủ mà không có báo lỗi thì bit đầu ra của Tno tác động là “1”. Khi những thay đổi RLO từ "1" thành "0" trong khi bộ đếm thời gian đang chạy, hẹn giờ đã được đặt lại. Trong trường hợp này đầu ra của Tno luôn cho kết quả là “0”  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 54 2.7.9. Xung ---( SS )  Kí hiệu ---( SS ) Tham số Kiểu dữ liệu Vùng nhớ Mô tả TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S5TIME I, Q, M, L, D Giá trị thời gian định sẵn  Mô tả ---( SS ) (Retentive On-Delay Timer Coil) bắt đầu đếm thời gian quy định với khi có tín hiệu cạnh tích cực của RLO. Tín hiệu của Time là “1” nếu giá trị thời gian đặt đã trôi qua. Khi có tín hiệu vào của Reset thì giá trị hiện tại của Time cũng như tín hiệu đầu ra của Ton được Reset về “0” Việc khởi động lại bộ đếm thời gian với giá trị thời gian quy định nếu những thay đổi RLO từ "0" đến "1" trong khi hẹn giờ đang chạy.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.7.10. Xung ---( SF ) Kí hiệu ---( SF ) Tham số Kiểu dữ liệu Vùng nhớ Mô tả TIMER T Mã số timer:phạm vi phụ thuộc vào CPU S5TIME I, Q, M, L, D Giá trị thời gian định sẵn  55  Mô tả --- (SF) (Off-Delay Timer cuộn) bắt đầu đếm thời gian quy định nếu có một cạnh tiêu cực về tình RLO. hẹn giờ này là "1" khi RLO là "1" hoặc miễn là hẹn giờ đang chạy trong khoảng . Time thiết lập lại khi RLO đi từ "0" đến "1" trong khi Time đang chạy. Time luôn luôn khởi động lại khi có thay đổi RLO từ "1" thành "0".  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả _ _ _ _ _ X X X 1 2.8. c¸c phÐp tÝnh trªn word 2.8.1. Lệnh WAND_W  Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động logic IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động logic OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic  Mô tả Lệnh WAND_W thực hiện việc giao 2 Word, kết quả được cất vào ô Word  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả 1 X 0 0 _ X 1 1 1 IN2 IN1 OUT ENO WAND_ W EN 56 2.8.2 Lệnh WOR_W  Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động logic IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động logic OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic  Mô tả Lệnh WOR_W: lệnh thực hiện việc hợp 2 Word, kết quả được cất vào ô Word  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết 1 X 0 0 _ X 1 1 1 2.8.3. Lệnh WAND_DW  Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động logic IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động logic OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic IN2 IN1 OUT ENO WOR_W EN IN2 IN1 OUT ENO WAND_DW EN 57  Mô tả Lệnh WAND_DW : lệnh thực hiện việc giao 2 Double Word, kết quả được cất vào ô Double Word.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết 1 X 0 0 _ X 1 1 1 2.8.4. Lệnh WOR_DW Kí hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động logic IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động logic OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic  Mô tả Lệnh WOR_DW : lệnh thực hiện việc hợp 2 Double Word, kết quả được cất vào ô Double Word.  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Kết quả 1 X 0 0 _ X 1 1 1 2.8.5. Lệnh WXOR_W Kí hiệu IN2 IN1 OUT ENO WOR_DW EN IN 2 IN1 OUT ENO WXOR_W EN 58 I 2 IN1 OUT ENO WOR_DW EN Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động logic IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động logic OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic  Mô tả Lệnh WXOR_W : Lệnh thực hiện việc Xor Word, kết quả được cất vào ô Word  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết 1 X 0 0 _ X 1 1 1 2.8.6. Lệnh WXOR_DW Kí hiệu  ký hiệu Tham số Kiểu dữ liệu Vùng nhớ Mô tả EN BOOL I, Q, M, L, D Kích hoạt tính năng đầu vào ENO BOOL I, Q, M, L, D Kích hoạt tính năng đầu ra IN1 WORD I, Q, M, L, D Giá trị đầu tiên cho hoạt động logic IN2 WORD I, Q, M, L, D giá trị thứ hai cho hoạt động logic OUT WORD I, Q, M, L, D Kết quả từ hoạt động logic 59  Mô tả Lệnh WXOR_DW : lệnh được thực hiện việc Xor 2 Double Word, kết quả được cất vào ô Double Word  Trạng thái BR CC1 CC0 OV OS OR STA RLO /FC Viết 1 X 0 0 _ X 1 1 1 60 Ch•¬ng 3. bé biÕn ®æi PID trªn S7-300 3.1. nh÷ng module pid mÒm cã trong step7 Phấn mềm Step7 cung cấp các module mềm PID để điều khiển các đối tượng có mô hình liên tục như lò, động cơ, mức… Đầu ra của đối tượng được đưa vào đầu vào của bộ điều khiển qua các cổng vào tương tự của các module vào tương tự của Simatic S7-300/400. Tín hiệu ra của bộ điều khiển có nhiều dạng và được đưa đến các cơ cấu chấp hành qua những module vào ra khác nhau như: Qua cổng ra tương tự của module ra tương tự (AO), Qua các cổng ra số của module ra số (DO), hoặc Qua các cổng phát xung ra tốc độ cao. Mỗi module mềm PID đều có một khối dữ liệu riêng (DB) để lưu giữ các dữ liệu phục vụ cho chu trình tính toán thực hiện luật điều khiển. Các khối hàm FB của module mềm PID đều cập nhật được những khối dữ liệu này ở mọi thời điểm. Module mềm FB PULSEGEN được sử dụng kết hợp với module FB CONT_C nhằm tạo ra bộ điều khiển có tín hiệu dạng xung tốc độ cao thích ứng với những cơ cấu chấp hành tỷ lệ. Một bộ điều khiển PID mềm được hoàn thiện thông qua khôi hàm FB nhiều chức năng tạo ra tính linh hoạt cao trong thiết kế. Người sử dụng có thể chọn chức năng này hoặc loại bỏ các chức năng không cần cho hệ thống. Các chức năng cơ bản khác như xử lý tín hiệu chủ đạo, tín hiệu quá trình và tính toán các biến khác cùng với bộ điều khiển theo thuật điều khiển PID cũng được tich hợp sẵn trong một module điều khiển mềm. Những module mềm không toàn năng tới mức có thể ứng dụng được vào mọi bài toán điều khiển. Đặc tính điều khiển và tốc độ xử lý của module PID mềm phụ thuộc vòa loại CPU được chọn để giải quyết bài toán điều 61 khiển. Do khi xử lý một mạch vòng điều khiển người ta phải thực hiện công việc trích mẫu tín hiệu đầu vào cho mạch vòng điều khiển đó (liên quan đến tín hiệu báo ngắt cho chu kì thời gian OB30÷OB38), nên cần phải có sự tương thích giữa số mạch vòng điều khiển PID và khả năng cũng như tốc độ tính toán của CPU. Nếu bài toán điều khiển yêu cầu tần suất cập nhật càng cao thì số vòng điều khiển phải càng giảm. Chỉ ở những bài toán có số vòng điều khiển ít người ta mới có thể sử dụng các module mềm có tần suất truy nhập cao. Tất cả các module PID mếm đều cung cấp nhiều giải pháp lựa chọn luật điều khiển trong khi thiết kế để bộ điều khiển phù hợp với đối tượng như: luật điều khiển tỷ lệ P, luật điều khiển tỷ lệ-vi phân PD, luật điều khiển tỷ lệ-tích phân PI… Chất lượng của hệ thống hoàn toàn phụ thuộc vào các tham số của bộ điều khiển. Do đó, điều kiện bắt buộc đảm bảo thành công trong thiết kế là ngưòi sử dụng phải có mô hình đối tượng chính xác. Đó cũng chính là nhược điểm cơ bản của phương pháp điều khiển kinh điển. Phụ thuộc vào cơ cấu chấp hành, người sử dụng có thể chọn được module mềm PID tương thích. Ba module PID được tích hợp trong phần mềm Step7 phù hợp với ba kiểu cơ cấu chấp hành nêu trên đó là: 1) Điều khiển liên tục với module mềm FB41 (tên hình thức CONT_C) 2) Điều khiển bước với module mềm FB42 (tên hình thức CONT_S) 3) Điều khiển kiểu phát xung với khối hàm hỗ trợ FB43 (tên hình thức PULSEGEN). Với đối tượng trong đề tài này, module mềm FB41 cần được tìm hiểu để giải quyết bài toán. 3.2. ®iÒu khiÓn liªn tôc víi fb41 “ cont_c” 3.2.1. Giới thiệu chung về FB41 FB41 “CONT_C” được sử dung để điều khiển các quá trình kĩ thuật với các biến đầu vào và đầu ra tương tự trên cơ sở thiết bị khả trình Simatic. Trong khi thiết lập tham số, có thể tích cực hoặc không tích cực một số thành 62 phần chức năng của bộ điều khiển PID cho phù hợp với đối tượng. Có thể sử dụng module mềm PID như một bộ điều khiển với tín hiệu chủ đạo đặt cứng (fĩed setpoint) hoặc thiết kế một hệ thống điều khiển nhiều mạch vòng theo kiểu điều khiển cascade. Những chức năng điều khiển được thiết kế trên cơ sở của thuật điều khiển PID của bộ điều khiển mẫu với tín hiệu tương tự.  Cấu trúc modul mềm PID FB41 “CONT_C”. Sơ đồ cấu trúc của module mềm FB41 “CONT_C” được minh họa như sau: CRP-IN % PV-NORM DEADBAND INT DIF SP-INT PV_INT PV_PER PVPER_ON GAIN ER PV P-SEL I-SEL PV-FAC PV-OFF % CRP_OUT D-SEL LMN-P LMN-I LMN-D MAIL_ON MAN LMNLIMIT LMN_NORM LMN_HLM LMN_LLM LMN_FAC LMN_OFF LMN LMN_PER DISV 01 0 1 11 10 0.0 0.0 0.0 TD,TM,LAG QLMN-HLM QLMN-LLM TI, I-ITL-ON I-ITLVAL 0 0 Hình 3.1: Sơ đồ cấu trúc modul mềm FB41 Module mềm PID bao gồm tín hiệu chủ đạo SP-INT, tín hiệu ra của đối tượng PV-PER, tín hiệu giả để mô phỏng tín hiệu ra của đối tượng PV-IN, các biến trung gian trong quá trình thực hiện luật và thuật điều khiển PID như PVPER-ON, P-SEL, I-SEL, D-SEL,MAN-ON… 63 Tín hiệu chủ đạo SP-INT: được nhập dưới dạng dấu phảy động Tín hiệu ra của đối tượng PV-PER: Thông qua hàm nội của FB41 có tên CRP-IN, tín hiệu ra của đối tượng có thể dược nhập dưới dạng số nguyên có dấu hoặc số thực dấu phảy động. Chức năng của CRP-IN là chuyển đổi kiểu biểu diễn của PV-PER từ dạng số nguyên sang số thực dấu phảy động có giá trị nằm trong khoảng -100 đến 100% theo công thức: Tín hiệu ra của CRP-IN = PV-PER 27648 100 Chuẩn hóa: Chức năng của hàm chuẩn hóa PV-NORM tín hiệu ra của đối tượng là chuẩn hóa tín hiệu ra của hàm CRP-IN theo công thức: Tín hiệu ra của PV-NORM = (Tín hiệu ra của CRP-IN) PV-FAC-OFF Hai tham trị khống chế dải giá trị cho phép của PV-NORM là PV-FAC và PV-OFF. Mặc định PV-FAC của hàm PV-NORM có giá trị bằng 1 và PV- OFF có giá trị 0. Lọc nhiễu tác động trong lân cận điểm làm việc: Tín hiệu sai lệch giữa tín hiệu chủ đạo và tín hiệu ra của đối tượng. Nó dược tọa ngay ra trong FB41 là dầu vào của khối DEADBAND có tác dụng lọc những dao động nhỏ xung quanh giá trị xác lập. Nếu không muốn sử dụng DEADBAND hoặc với đối tượng mà có thể bỏ qua sự ảnh hưởng của nhiễu trong lân cận điểm làm việc ta chọn DEAD-W=0.  Chọn luật điều khiển trên module FB41 “CONT_C” Thuật PID được thiết kế theo kiểu song song của ba thuật điều khiển đơn lẻ tỷ lệ (P), tích phân (I), vi phân (D) theo sơ đồ cấu trúc sau: INT DIF I-SEL D-SEL 1 10 0.0 0.0 0.0 TD,TM,LAG TI, I-ITL-ON I-ITLVAL 0 0P-SEL GAIN Hình 3.2:Thuật điều khiển PID 64 Chính vì cấu trúc song song như vậy nên ta có thể thông qua các tham trị P-SEL, I-SEL hay D-SEL mà tích hợp được các thuật điều khiển khác nhau từ bộ điều khiển mẫu này như thuật điều khiển P,PI, PD, PID.  Khai báo tham số và các biến của Modul mềm PID Chúng ta có thể khai báo tham số và các biến cho bộ điều khiển trong khối dữ liệu cơ sở thông qua các bước sau: START→ SIMATIC→ STEP7→PID PARAMETTER ASIGNMENT Trên thanh công cụ trong cửa sổ của màn hình soạn thảo có biểu tượng của các hàm thư viện có trong Step7. Kích chuột vào biểu tượng này ta nhận được bảng danh mục các khối hàm thư viện ngay trong cửa sổ màn hình soạn thảo.  Đặt giá trị cho khối FB41 Phần mềm cho phép chọn chế độ tự động (automatic mode) hoặc chế độ bằng tay. Ở chế độ bằng tay các giá trị của các biến được chọn bằng tay. Bộ tích phân (INT) tự thiết lập chế độ LNM-LNM-P-DISV và bộ vi phân (DIF) tự động về 0. Điều đó đảm bảo việc chuyển chế độ từ thiết lập giá trị bằng tay về chế độ tự động không gây một biến đổi đột ngột nào đối với các biến đã được thiết lập giá trị bằng tay. Cũng có thể giới hạn cho cho các giá trị được thiết lập bằng tay nhờ hàm LMNLIMIT.Một bít cờ sẽ có giá trị bằng 1 khi biến vào coa giá trị vượt quá giới hạn đã chọn. Hàm LMN-NORM sẽ chuẩn hóa tín hiệu ra của hàm LMNLIMIT theo công thức: LMN = (Tín hiệu ra của LMNLIMIT) * LMN-FAC + LMN-OFF Mặc định LMN-FAC có giá trị bằng 1, còn LMN-OFF có giá trị bằng 0. Các giá trị đặt bằng tay có thể theo một cách biểu diễn riêng. Hàm CRP- OUT có chức năng biến đổi từ kiểu biểu diễn số thực dấu phảy động sang kiểu biểu diễn riêng theo công thức: LMN-PER = LMN * 100 27648 Ngoài ra nhiễu có thể được lọc trước bằng cách đưa qua đầu vào DISV. 65 3.2.2. Khai báo tham biến hình thức đầu vào và đầu ra  khối FB41 “CONT_C” có 26 tham biến hình thức đầu vào như sau: Tên biến Kiểu dữ liệu Phạm vi giới hạn Giá trị mặc định Mô tả chức năng COM- RST BOOL FALSE COMPLETE RESTART Khối chức năng khởi tạo lại hệ thống hoàn toàn khi đầu vào “complete restart” được thiết lập giá trị logic true MAN- ON BOOL TRUE MANUAL VALUE ON Khi đầu vào “manual value on” có giá trị logic TRUE mạch vòng điều khiển sẽ bị ngắt, các fía trị sẽ được thiết lập bằng tay PVPE R-ON BOOL FALSE PROCESS VARIABLE PERIPHERAL ON Khi đọc biến quá trình từ các cổng vào/ra đầu vào PV-PER phải được nối với các cổng vào/ra và đầu vào “process variable peripheral on” có giá trị logic TRUE P-SEL BOOL TRUE PROPORTIONAL ACTION ON Hoạt động của bộ điều khiển PID có thể tích cực hoặc không tích cực từng phần riêng trong thuật điều khiển PID. Thuật điều khiển tỷ lệ khi giá trị logic TRUE được thiết lập tại cổng vào “proportional action on”. 66 I-SEL BOOL TRUE INTERGRAL ACTION ON Hoạt động của bộ điều khiển PID có thể tích cực hoặc không tích cực từng phần riêng trong thuật điều khiển PID. Thuật điều khiển tích phân được kích hoạt khi giá trị logic TRUE được thiết lập tại cổng vào “intergral action on” INT- HOLD BOOL FALSE INTERGRAL ACTION HOLD Đầu ra của bộ điều khiển tích phân có thể bị “đông lạnh” (không được sử dụng) khi thiết lập giá trị logic TRUE cho đầu vào “intergral action hold”. I-ITL- ON BOOL FALSE INITIALIZATION OFTHE INTERGRAL ACTION Đầu ra của bộ điều khiển tích phân có thể được nối vào cổng I-ITL- VAL nếu như cổng vào “initialization” of the intergral action on” có giá trị logic TRUE. D- SEL BOOL FALSE DERIVATE ACTION ON Hoạt động của bộ điều khiển PID có thể tích cực hoặc không tích cực từng phần riêng trog htuật điều khiển PID. Thuật điều khiển vi phân được kích hoạt khi giá trị logic TRUE được thiết lập tại cổng vào “derivate action on” 67 CYCLE TIME ≥ 1ms T#1s SAMPLING TIME Thời gian lấy mẫu là khoảng thời gian không đổi giữa các lần khối được cập nhật SP- INT REAL -100…100% Hoặc giá trị vật lý 0.0 INTERNAL SETPOINT Đầu vào “internal setpoint” được sử dụng để thiết lập tín hiệu chủ đạo (tín hiệu mẫu). PV-IN REAL -100…100% Hoặc giá trị vật lý 0.0 PROCESS VARIBLE IN Giá trị khởi tạo có thể đặt ở đầu vào “process variable on” hoặc từ biến quá trình được biểu diễn dưới dang số thực dấu phảy động. PV- PER WORD W#16#00 00 PROCESS VARIABLE PERIPHERAL Biến quá trình được nối với CPU thông qua cổng vào tương tự . MAN REAL -100…100% Hoặc giá trị vật lý 0.0 MANUAL VALUE Cổng vào “manual value” được sử dụng đẻ đặt giá trị bằng các hàm gia diện. GAIN REAL 2.0 PROPOTIONAL GAIN Đầu vào “propotional gain” được sử dụng đẻ thiết lập hệ số tỷ lệ cho bộ điều khiển theo luật tỷ lệ TI TIME ≥ CYCLE T#20s RESET TIME Cổng Vào “reset time” được sử dụng để thiết lập hằng số thời gian tích phân cho bộ điều khiển tích phân. 68 TD TIME ≥ CYCLE T#10s DERIVATE TIME Cổng vào “derivate time”sử dụng để thiết lập hằng số thời gian vi phân cho bộ điều khiển vi phân. TM- LAG TIME ≥ CYCLE T#2s TIME LAG OF DERIVATE ACTION Thời gian tích cực của luật điều khiển vi phân được chọn thông qua cổng vào “time lag of derivate action”. DEA B-W REAL >=0.0% hoặc giá trị vật lý 0.0 DEAD BAND WIDTH Một vùng kém nhạy được sử dụng để xủ lý tín hiệu sai lệch. Độ rộng của vùng kém nhạy được đặt thông qua cổng vào “dead band width”. LMN- HLM REAL LMN-LLM … 100% hoặc giá trị vật lý 100.0 MANIPULATED VALUE HIGH LIMIT Giá trị hạn chế trên được thiết lập bằng tay qua cổng vào “manipulated value high limit”. LMN- LLN REAL -100%... LMN-LLM hoặc giá trị vật lý 0.0 MANIPULATED VALUE LOW LIMIT Giá trị hạn chế dưới được thiết lập bằng tay qua cổng vào “manipulated value low limit”. PV- FAC REAL 1.0 PROCESS VARIALE FACTOR Biến quá trình được nhân với một hệ số cho phù hợp với phạm vi qui định của biến này. Hệ số được chọn thông qua cổng vào “process variable factor”. 69 LMN- FAC REAL 1.0 MANIPULATED VALUE FACTOR Giá trị giới hạn được nhân với một hệ số cho phù hợp với phạm vi qui định của biến quá trình. Hệ số này được đặt qua cổng vào “manipulated value factor”. LMN- OFF REAL 0.0 MANIPULATED VALUE OFFSET Giá trị giới hạn được nhân với một hệ số cho phù hợp với phạm vi qui định của biến quá trình. Hệ số này được đặt qua cổng vào “manipulated value offset”. I- ITLV AL REAL -100…100% Hoặc giá trị vật lý 0.0 INITIALIZATION VALUE OF THE INTERGRAL ACTION Giá trị đầu ra của bộ điều khiển tích phân có được thiết lập thông qua cổng vào “initialization value of the intergral action”. DISV REAL -100…100% Hoặc giá trị vật lý 0.0 DISTURBANCE VARIABLE Khi điều khiển hệ thống bằng phương pháp feedforward thì một giá trị bù nhiễu được đặt thông qua cổng vào “disturbance variable”. PV- OF REAL 1.0 PROCESS VARIALE OFFSET Biến quá trình được cộng với một lượng bù cho phù hợp với phạm vi qui định của biến này. Giá trị bù được chọn thông qua cổng vào “process variable 70  Khai báo tham biến hình thức đầu ra: Tên biến Kiểu dữ liệu Mặc định Mô tả LMN REAL 0.0 MANIPULATED VALUE Giá trị ra được thiết lập bằng tay thông qua cổng ra “manipulated value”. LMN-PER WORD W#16# 0000 MANIPULATED VALUE PERIPHERAL Giá trị đầu ra thiết lập bằng tay theo kiểu biểu diễn phù hợp với các cổng vào/ra tương tự được chọn qua cổng “manipulated value peripheral”. QLMN- HLM BOOL FALSE HIGH LIMIT OF MANIPULATED VALUE RÊACHED Cổng ra “high limit of manipulated value reached” thông báo giá trị biến qua trình vượt quá giá trị giới hạn trên. QLMN- LLM BOOL FALSE LOW LIMIT OF MANIPULATED VALUE RÊACHED Cổng ra “low limit of manipulated value reached” thông báo giá trị biến qua trình nhỏ hơn quá giá trị giới hạn dưới. LMN-P REAL 0.0 PROPOTIONAL COMPONENT Tín hiệu ra của bộ điều khiển tỷ lệ được xuất qua cổng ra của “propotional component” 71 LMN-I REAL 0.0 INTEGRAL COMPONENT Tín hiệu ra của bộ điều khiển vi phân được xuất qua cổng ra “integral component”. LMN-D REAL 0.0 DERIVATIVE COMPONENT Tín hiệu ra của bộ điều khiển vi phân được xuất qua cổng ra “derivative component”. PV REAL 0.0 PROCESS VALUE Tín hiệu quá trình được xuất qua cổng ra “process value”. ER REAL 0.0 ERROR SIGNAL Tín hiệu sai lêch được xuất qua cổng ra “error signal”. 3.3. §iÒu khiÓn b­íc víi fb42 “ cont_s” 3.3.1. Mô tả chung FB42 “CONT_S” là module mềm được tích hợp sẵn trong phần mềm STEP7. FB42 “CONT_S” được sử dụng trên cơ sở Simatic S7-300/400 để điều khiển các đối tượng kỹ thuật với đầu ra của bộ điều khiển là tín hiệu số. Tín hiệu ra số hoàn toàn thích hợp đối với các cơ cấu chấp hành kiểu tích phân. Trong khi thiết lập tham số, người thiết kế có thể tích cực hoặc không tích cực bộ điều khiển PI bước cho phù howpk với yêu cầu của bài toán điều khiển đặt ra. Có thể sử dụng module mềm FB42 “CONT_s” như một bộ điều khiển theo luật PI với tín hiệu chủ đạo đặt trước hoặc có thể sử dụng trong mạch vòng điều khiển phụ trong hệ thống thiết kế dựa trên nguyên tắc điều khiển cascade. Chức năng của bộ điều khiển này hoàn toàn tuân theo thuật 72 điều khiển PI với tín hiệu quá trình là tín hiệu tương tự và tín hiệu ra của bộ điều khiển là tín hiệu số. Một phần trong các chức năng của module mềm này là đóng vai trò của một bộ điều khiển PI có các giá trị và tín hiệu đầu ra số đặt bằng tay. Làm việc ở chế độ này bộ điều khiển bước không cần đến tín hiệu hồi tiếp. Hình 3.3: Sơ đồ cấu trúc nguyên lý của module mềm FB42 “CONT_S” Tín hiệu chủ đạo: được biểu diễn kiểu số thực dấu phẩy động và được thiết lập từ cổng vào SP_INT. Tín hiệu ra của đối tượng: Tín hiệu ra của đối tượng được đưa thẳng từ cổng vào tương tự theo kiểu số nguyên hoặc được truyền sau khi đã biến đổi sang kiểu số thực dấu phẩy động. Hàm CRP_IN có chức năng biến đổi giá 73 trị truyền từ cổng vào tương tự sang kiểu số thực dấu phẩy động trong khoảng từ -100.0% đến 100.0% theo công thức: Tín hiệu ra của CRP_IN= PV_PER* 0.27648 0.100 Chuẩn hóa: Chức năng của hàm PV_NORm là chuẩn hóa tín hiệu lấy từ đầu ra của hàm CRP_IN theo công thức: Tín hiệu ra của PV_NORM=(Tín hiệu ra của CRP_IN)*PV+PV_OFF Mặc định PV_FAC có giá trị bằng 1 và PV_OF có giá trị bằng 0. Lọc nhiễu có tác động trong lân cận điểm làm việc: Tín hiệu sai lệch là hiệu giữa tín hiệu chủ đạo và tín hiệu ra của đối tượn. Giống như FB41, trong FB42 cũng có khối DEADBAND được thiết kế ngay sau tín hiệu sai lệch và trước phần điều khiển theo luật để lọc những dao động nhỏ quanh giá trị xác lập bằng cách tạo ra ở đó một vùn kém nhạy. Nếu giá trị DEADB_W=0 thì vùng kém nhạy không tồn tại. 3.3.2. Thuật điều khiển PI bước Khối hàm FB42 của module mềm PID làm việc không cần phải có tín hiệu hồi tiếp. Chức năng của luật I trong thuật điều khiển PI và tín hiệu sai lệch được tính trong một bộ tích phân INT, sau đó so sánh với tín hiệu ra của bộ điều khiển theo luật tỷ lệ như một giá trị hồi tiếp. Hiệu của phép so sánh này được đưa vào một role ba vị trí có trễ Three_ST và đầu ra của role này điều khiển bộ phát xung ra PULSEOUT để điều khiển cơ cấu chấp hành. Có thể giảm tần số đóng cắt của bộ điều khiển bằng cách tạo ra vùng trễ khi chuyển vị trí role. Sơ đồ thuật toán biểu diễn trong hình 6.4?? Ngoài ra, để giảm ảnh hưởng của nhiễu trong trường hợp điều khiển không hồi tiếp, có thể lọc nhiễu cho hệ bằng cách đưa tín hiệu vào đầu vào DISV của bộ lọc nhiễu. 3.3.3. Khởi động và thong báo lỗi Hệ thống được khởi tạo lại hoàn toàn khi cổng vào COM_RST có giá trị logic bằng 1. Tất cả các cổng ra nhận giá trị mặc định. 74 Khối hàm FB42 này không có khả năng tự kiểm tra lỗi bên trong. Nó không sử dụng cổng ra báo kiểu lỗi RET_VAL. 3.3.4. Tham biến hình thức đầu vào Tất cả các tham số hình thức đầu vào của FB42 “CON_S” gồm: Tham số Kiểu dữ liệu Phạm vi làm việc Mặc định Mô tả COM_RST BOOL FALSE COMPLETE RESTART Modle mềm được khởi tạo lại hoàn toàn khi ở cổng vào complete restart có giá trị logic bằng 1. LMNR_HS BOOL FALSE HIGH LIMT OF POSITION FEEDBACK SIGNAL Tín hiệu “actuator at upper limit stop” được nối đến cổng vào “ high limit ò position feedback” Cổng ra cơ cấu chấp hành sẽ bị cấm khi LMNR_HS =TRUE LMNR_LS BOOL FALSE LOW LIMT OF POSITION FEEDBACK SIGNAL Tín hiệu “actuator at upper limit stop” được nối đến cổng vào “low limit of position feedback” Cổng ra cơ cấu chấp hành sẽ bị cấm khi LMNR_LS =TRUE LMNR_O N BOOL FALSE MANUAL ACTUATING SIGNALS ON Xử lý tín hiệu chấp hành được chuyển sang chế độ bằng tay qua cổng vào “ manual actuating signal on” 75 LMNUP BOOL FALSE ACTUATING SIGNALS UP Tín hiệu ra QLMNUP được thiết lập qua cổng vào “actuating signal up” với các tín hiệu chấp hành bằng tay. LMNDN BOOL FALSE ACTUATING SIGNALS DOWN Tín hiệu ra QLMNDN được thiết lập qua cổng vào “actuating signal up” với các tín hiệu chấp hành bằng tay. PVPER_O N BOOL FALSE PROCESS VARIABLE PERIPHERAL ON Muốn đọc các tín hiệu quá trình từ các cổng vào “process variable on” phải có giá trị logic1(cho phép đọc) CYCLE TIME >= 1ms SAMPLING TIME Khoảng thời gian giữ các lần gọi khối phải cố định. Thời gian trích mẫu (sampling time) được thiết lập qua cổng vào “ sampling time” 3.4. khèi hµm t¹o xung fb43 “pulsegen” Khối hàm FB43 “PULSEGEN” có tác dụng hỗ trợ việc thiết kế một bộ điều khiển PID hai hoặc ba vị trí với bộ tạo xung theo nguyên tắc điều biên hình 3.4: Nguyên lý điều biên của FB43 PULSEGEN 76 Nó được biến đổi tín hiệu đầu vào IVN dạng số thực ( thường là đầu ra LMN của module mềm PID) thành một dãy xung có chu kỳ cố định và độ rộng tương ứng với độ lớn của tín hiệu đầu vào. Khối hàm FB43 “PULSEGEN” thường được sử dụng cùng với FB41 “CONT_C” để có được một bộ điều khiển PID với tín hiệu dạng xung Hình3.5: bộ điều khiển PID với đầu ra dạng xung 3.5. khëi t¹o module mÒm PID trªn s7-300  Khởi tạo New Project kích đúp vào vào biểu tượng SIMATIC S7-300 ta có màn hình chính của Step7. Ta chọn Flie=> New  Xây dựng cấu hình phần cứng cho trạm PLC 77 Trước hệt ta khai báo cấu hình cứng cho trạm PLC với S7-300 bằng cách vào insert=> Station => Simatic 300 station. Project chuyển sang dạng không rỗng với thư mục con trong nó có tên mặc định là Simatic 300(1). Ta có thể thay đổi được tên này. Thư mục Simatic 300(1) chứa tệp tin về cấu hình cứng của trạm. 78 Để tạo màn hình khai báo phần cứng, ta nháy chuột vào biểu tượng Hardware trong hộp thoại hiện ra ta khai báo thanh ray( rack) và các module có trên thanh rack đó. Sau khi khai báo xong cấu hình phần cứng cho một trạm PLC và quay trở về cửa sổ chính của Step7 ta thấy trong thư mục Simatic 300(1) bây giờ có thêm thư mục con CPU314 79 Trong thư mục CPU314 ta có các thư mục con như sau: Source files, Blocks, Symbols  Xây dựng chương trình FB41 và FB42 trên khối OB1 Kích vào Blocks => OB1 ta có màn hình như sau: 80 Khối OB1 được với khởi tạo Libraries=> Standard Library => PID Control Blocks=> FB41 CONT_C ta được màn hình như sau: Sau khi đã xây dựng được khối FB41 dưới dạng LAD ta vào View=> STL hay dung tổ hợp phím nóng Ctrl+2, chương trình sẽ tự động chuyển từ dạng LAD sang STL 81 Khi xây dựng xong hai khối FB41 và FB42 ta quay trở về màn hình chính của Step7-300 ta có các khối đã được xây dựng như sau: 82 KẾT LUẬN Sau 12 tuần đi sâu nghiên cứu tìm tòi đồ án tốt nghiệp, dưới sự phân công của các thầy cô trong bộ Điện tự động khoa Điện – Điện tử, được sự chỉ bảo nhiệt tình của thầy Ths. Đặng Hồng Hải cùng với sự cố gắng, nỗ lực hết sức của bản thân em, bản đồ án tôt nghiệp đã hoàn chỉnh. Đồ án đã đạt được kết quả như sau: - Nghiên cứu thành công bộ PID trên PLC S7 – 300. - Sử dụng được phần mềm S7-300 thành thạo Tuy nhiên do thời gian gấp rút nên đồ án không tránh khỏi những hạn chế: Nghiên cứu phần mềm còn thiếu sót, tuy nhiên đó cũng là sự thành công của bản thân em. Em xin chân thành cảm ơn! Hải Phòng, ngày 11 tháng 7 năm 2010 Sinh viên Nguyễn Trọng Ngọc 83 TÀI LIỆU THAM KHẢO [1] SIEMENS, SIMATIC (2006), S7 – 300/400 and M7 – 300/400 Programmable controller hardware and Intallation. [2] SIEMENS, SIMATIC (2006), Softwarefor S7-300 and S7-400 PID Control [3] SIEMENS, SIMATIC (2006), Ladder Logic (LAD) for S7-300 and S7- 400 Programming [3] Nguyễn Doãn Phước, Phan Xuân Minh, Vũ Văn Hà (2002), Tự động hóa với Simatic S7 – 300, NXB Khoa học và Kỹ thuật. [4] Nguyễn Văn Hòa (2001), cơ sở lý thuyết điều khiển tự động, NXB Khoa học và kỹ thuật

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

  • pdf35.NguyenTrongNgoc_DC1001.pdf