Đề tài FUZZY với PLC S7300

loại thiết bị cho phép thực hiện linh hoạt các thuật toán điều khiển số thông qua 1 ngôn ngữ lập trình, thay cho việc phải thể hiện thuật toán đó bằng mạch số. Cũng như các thiết bị lập trình khác, hệ thống lập trình cơ bản của PLC bao gồm 2 phần: khối xử lý trung tâm (CPU:Central Processing Unit) và hệ thống giao tiếp vào/ra (I/O) như sơ đồ khối

doc128 trang | Chia sẻ: oanh_nt | Lượt xem: 1124 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Đề tài FUZZY với PLC S7300, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 1 GIỚI THIỆU PLC S7_300 1.1. Giới thiệu chung về PLC S7_300 1.1.1 Cấu trúc chung của một PLC OUTPUT PLC là thiết bị điều khiển logic khả trình (Program Logic Control), là loại thiết bị cho phép thực hiện linh hoạt các thuật toán điều khiển số thông qua 1 ngôn ngữ lập trình, thay cho việc phải thể hiện thuật toán đó bằng mạch số. Cũng như các thiết bị lập trình khác, hệ thống lập trình cơ bản của PLC bao gồm 2 phần: khối xử lý trung tâm (CPU:Central Processing Unit) và hệ thống giao tiếp vào/ra (I/O) như sơ đồ khối: INPUT PROCESSING UNIT Hình1.1: Sơ đồ khối của hệ thống điều khiển lập trình Khối điều khiển trung tâm (CPU) gồm 3 phần: bộ xử lý, hệ thống bộ nhớ và hệ thống nguồn cung cấp. Processor Memory Power Supply Hình1.2: Sơ đồ khối tổng quát của CPU 1.1.2 Cấu trúc, chức năng PLC S7_300 Các khối chức năng : ° Khối tín hiệu (SM:singnal module) Khối ngõ vào digital: 24VDC, 120/230VAC Khối ngõ ra digital: 24VDC Khối ngõ vào analog: Áp, dòng, điện trở, thermocouple ° Khối giao tiếp (IM): Khối IM360/IM365 dùng để nối nhiều cấu hình. Chúng điều khiển nhiều thanh ghi của hệ thống. ° Khối giả lập (DM): Khối giả lập DM370 dự phòng các khối tín hiệu chưa được chỉ định. ° Khối chức năng (FM): thể hiện những chức năng đặc biệt sau: Đếm Định vị Điều khiển hồi tiếp ° Xử lý liên lạc ( CP): Nối điểm-điểm Mạng PROFIBUS Ethernet công nghiệp 1.1.3 Module CPU Module CPU là loại module có chứa bộ vi xử lý, hệ điều hành, bộ nhớ, các bộ thời gian, bộ đếm, cổng truyền thông (RS485)… và có thể có 1 vài cổng vào ra số. Các cổng vào ra số có trên module CPU được gọi là cổng vào/ra onboard. PLC S7_300 có nhiều loại module CPU khác nhau. Chúng được đặt tên theo bộ vi xử lý có trong nó như module CPU312, module CPU314, module CPU315… Những module cùng sử dụng 1 loại bộ vi xử lý, nhưng khác nhau về cổng vào/ra onboard cũng như các khối hàm đặc biệt được tích hợp sẵn trong thư viện của hệ điều hành phục vụ việc sử dụng các cổng vào/ra onboard này sẽ được phân biệt với nhau trong tên gọi bằng thêm cụm chữ IFM(Intergrated Function Module). Ví dụ như Module CPU312 IFM, Module CPU314 IFM… Ngoài ra còn có các loại module CPU với 2 cổng truyền thông, trong đó cổng truyền thông thứ hai có chức năng chính là phục vụ việc nối mạng phân tán. Các loại module này phân biệt với các loại module khác bằng cụm từ DP (Distributed Port) như là module CPU315-DP. Trong luận văn sử dụng loại module 314 IFM sẽ được giới thiệu kĩ ở phần sau. 1.1.4 Module mở rộng Các module mở rộng được chia thành 5 loại chính: 1.1.4.1- PS (Power supply): Module nguồn nuôi. Có 3 loại:2A, 5A, 10A. 1.1.4.2- SM (Signal module): Module mở rộng cổng tín hiệu vào/ra, bao gồm: a-DI (Digital input): Module mở rộng các cổng vào số. Số các cổng vào số mở rộng có thể là 8, 16, 32 tuỳ từng loại module. b-DO (Digital output): Module mở rộng các cổng ra số. . Số các cổng ra số mở rộng có thể là 8, 16, 32 tuỳ từng loại module. c-DI/DO (Digital input/ Digital output): Module mở rộng các cổng vào/ra số.. Số các cổng vào/ra số mở rộng có thể là 8 vào/8ra hoặc 16 vào/ 16 ra tuỳ từng loại module. d-AI (Analog input): Module mở rộng các cổng vào tương tự. Số các cổng vào tương tự có thể là 2, 4, 8 tuỳ từng loại module. e-AO (Analog output): Module mở rộng các cổng ra tương tự. Số các cổng ra tương tự có thể là 2, 4 tuỳ từng loại module. f-AI/AO (Analog input/ Analog output): Module mở rộng các cổng vào/ra tương tự. Số các cổng vào/ra tương tự có thể là 4 vào/2 ra hay 4 vào/4 ra tuỳ từng loại module. 1.1.4.3- IM (Interface module): Module ghép nối, nối các module mở rộng alị với nhau thành 1 khối và được quản lý chung bởi 1 module CPU. Thông thường các module mở rộng được gá liền với nhau trên 1 thanh đỡ gọi là rack. Trên mỗi rack có thể gán nhiều nhất là 8 module mở rộng (không kể module CPU, module nguồn nuôi. Một module CPU S7_300 có thể làm việc trực tiếp với nhiều nhất 4 racks và các racks này phải được nối với nhau bằng module IM. 1.1.4.4- FM (Function module): Module có chúc năng điều khiển riêng. Ví dụ như module PID, module điều khiển động cơ bước… 1.1.4.5- CP (Communication module): Module phục vụ truyền thông trong mạng giừa các PLC với nhau hoặc giữa PLC với máy tính. 1.1.5 Ngôn ngữ lập trình PLC S7_300 có 3 ngôn ngữ lập trình cơ bản sau: ° Ngôn ngữ “liệt kê lệnh”, ký hiệu là STL (Statement List). Đây là dạng ngôn ngữ lập trình thông thường của máy tính. Một chương trình được ghép bởi nhiều câu lệnh theo 1 thuật toán nhất định, mỗi lệnh chiếm 1 hàng và đều có cấu trúc chung là “tên lệnh”+”toán hạng”. Ví dụ: ° Ngôn ngữ “hình thang”, ký hiệu là LAD (Ladder Logic). Đây là dạng ngôn ngữ đồ hoạ thích hợp với những người quen thiết kế mạch điều khiển logic. Ví dụ: ° Ngôn ngữ “hình khối”, ký hiệu là FBD (Function Block Diagram). Đây là dạng ngôn ngữ đồ hoạ thích hợp với những người quen thiết kế mạch điều khiển số. Ví dụ: Để thuận tiện trong việc lập trình, trong luận văn này chúng em chọn ngôn ngữ LAD để lập trình. 1.2. Giới thiệu PLC S7_300 CPU314IFM 1.2.1 Cấu trúc bộ nhớ Bộ nhớ gồm 48KB RAM, 48KB ROM, không có khả năng mở rộng và tốc độ xử lý gần 0.3ms trên 1000 lệnh nhị phân, bộ nhớ được chia trên các vùng: + Vùng chứa chương trình ứng dụng: OB (Organisation block):Miền chứa chương trình tổ chức, trong đó: Khối OB1: Khối tổ chức chính, mặc định, thực thi lặp vòng. Nó được bắt đầu khi quá trình khởi động hoàn thành và bắt đầu trở lại khi nó kết thúc. Khối OB10 (Time of day interrupt): được thực hiện khi có tín hiệu ngắt thời gian. Khối OB20 (Time delay interrupt): được thực hiện sau 1 khoảng thời gian đặt trước. Khối OB35 (Cyclic Interrupt): khối ngắt theo chu kì định trước Khối OB40 (Hardware Interrupt): được thực hiện khi tín hiệu ngắt cứng xuất hiện ở ngõ vào I124.0…I124.3 FC (Function): Miền chứa chương trình con được tổ chức thành hàm có biến hình thức để trao đổi dữ liệu với chương trình đã gọi nó, được phân biệt bởi các số nguyên. Ví dụ: FC1, FC7, FC30…ngoài ra còn có các hàm SFC là các hàm đã được tích hợp sẵn trong hệ điều hành. FB (Function Block): tương tự như FC, FB còn phải xây dựng 1khối dữ liệu riêng gọi là DB (Data Block) và cũng có các hàm SFB là các hàm tích hợp sẵn trong hệ điều hành. + Vùng chứa các tham số hệ điều hành và chương trình ứng dụng: - I (Process image input): Miền bộ đệm dữ liệu các ngõ vào số. Trước khi bắt đầu thực hiện chương trình, PLC sẽ đọc tất cả giá trị logic của các cổng vào rồi cất giữ chúng trong vùng I. khi thực hiện chương trình CPU sẽ sử dụng các giá trị trong vùng I mà không đọc trực tiếp từ ngõ vào số. - Q (Process image output): tương tự vùng I, miền Q là bộ đệm dữ liệu cổng ra số. Khi kết thúc chương trình, PLC sẽ chuyển giá trị logic của bộ đệm Q tới các cổng ra số. - M (Memory): Miền các biến cờ. Do vùng nhớ này không mất sau mỗi chu kì quét nên chương trìng ứng dụng sẽ sử dụng vùng nhớ này để lưu giữ các tham số cần thiết. Có thể truy nhập nó theo bit (M), byte (MB), theo từ (MW) hay từ kép (MD). - T (Timer): Miền nhớ phục vụ bộ thời gian bao gồm việc lưu trữ các giá trị đặt trước (PV-Preset Value), các giá trị tức thời (CV-Current Value) cũng như các giá trị logic đầu ra của Timer. - C (Counter): Miền nhớ phục vụ bộ đếm bao gồm việc lưu giữ các giá trị đặt trước (PV-Preset Value), các giá trị tức thời (CV-Current Value) cũng như các giá trị logic đầu ra của Counter. - PI: Miền địa chỉ cổng vào của các module tương tự (I/O External input)ï. Các giá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng byte (PIB), từng từ (PIW) hoặc theo từng từ kép (PID). - PQ: Miền địa chỉ cổng ra của các module tương tự (I/O External output)ï. Các giá trị tương tự tại cổng vào của module tương tự sẽ được module đọc và chuyển tự động theo những địa chỉ. Chương trình ứng dụng có thể truy cập miền nhớ PI theo từng byte (PQB), từng từ (PQW) hoặc theo từng từ kép (PQD). + Vùng chứa các khối dữ liệu, được chia thành 2 loại: - DB (Data block): Miền chứa các dữ liệu được tổ chúc thành khối. Kích thước hay số lượng khối do người sử dụng qui định. Có thể truy nhập miền này theo từng bit (DBX), byte( DBB), từng từ (DBW), từ kép (DBD). - L (Local data block): Miền dữ liệu địa phương, được các khối chương trình OB, FC, FB tổ chức và sử dụngcho các biến nháp tức thời và trao đổi dữ liệu của biến hình thức với những khối đã gọi nó. Toàn bộ vùng nhớ sẽ bị xoá sau khi khối thực hiện xong. Có thể truy nhập theo từng bit (L), byte (LB), từ (LW), hoặc từ kép (LD). 1.2.2 Các ngõ vào ra + 20 ngõ vào số được định địa chỉ từ I124.0 đến I126.3 trong đó: Các ngõ vào từ I124.0 đến I124.3 là các ngõ vào đặc biệt có thể được dùng làm bộ đếm tốc độ cao (high speed counter) đến 10Khz hoặc ngắt ngoài. + Các ngõ ra số từ Q124.0 đến Q125.7 có mức điện áp là 24VDC và dòng tối đa là 0.5A (16 ngõ ra số) + Có 4 ngõ vào Analog có địa chỉ từ PIW128 đến PIW134 và 1ngõ ra tương tự có địa chỉ là PQW128 với tín hiệu dòng 20mA hoặc áp 10V có độ phân giải 11 bit và 1 bit dấu. Các ngõ vào tương tự có đặc điểm là chỉ được truy cập bằng từ (PIW) Hình1.3 :Cấu tạo của PLC S7_300 CPU314IFM 1.2.3 Tập lệnh (sử dụng dạng LAD) 1.2.3.1 Các lệnh cơ bản 1.2.3.1.1 Nhóm lệnh logic tiếp điểm a. Lệnh GÁN Ví dụ: Khi ngõ vào I0.0 lên mức 1 thì ngõ ra Q0.0 ON b. Lệnh AND Ví dụ: Khi I0.0 và I0.1 đồng thời lên mức 1 thì ngõ ra Q0.0 ON c. Lệnh OR Ví dụ: Khi 1 trong 2 ngõ vào I0.0 hoặc I0.1 lên mức 1 thì ngõ ra Q0.0 ON d. Lệnh AND NOT Ví dụ: Khi I0.0 lên mức 1 và I0.1 ở mức 0 thì Q0.0 ON e. Lệnh OR NOT Ví dụ: Khi I0.0 mức 1 hay I0.1 mức 0 thì Q0.0 ON f. Lệnh GÁN có điều kiện ° Lệnh gán giá trị 1 Ví dụ: ° Lệnh gán giá trị 0 Ví dụ: 1.2.3.2. Nhóm lệnh so sánh với số nguyên và số thực * Với số nguyên a. So sánh bằng Ví dụ: b. So sánh lớn hơn Ví dụ: c. So sánh lớn hơn hoặc bằng Ví dụ: d. So sánh bé hơn Ví dụ: Số nguyên 16 bits Số nguyên 32 bits e. So sánh bé hơn hoặc bằng Ví dụ: * Với số thực a- So sánh bằng b- So sánh khác Ví dụ: c- So sánh lớn hơn d- So sánh lớn hơn hoặc bằng Ví dụ: e- So sánh lớn hơn f- So sánh bé hơn hoặc bằng Ví dụ: 1.2.3.3. Các lệnh toán học * Với số nguyên a. Lệnh cộng số nguyên Ví dụ: Số nguyên 16 bits Số nguyên 32 bits b- Lệnh trừ số nguyên Ví dụ: Số nguyên 16 bits Số nguyên 32 bits c- Lệnh nhân số nguyên Ví dụ: Số nguyên 16 bits Số nguyên 32 bits d- Lệnh chia số nguyên Ví dụ: Số nguyên 16 bits Số nguyên 32 bits * Với số thực a- Lệnh cộng số thực b- Lệnh trừ số thực Ví dụ: c- Lệnh nhân số thực d- Lệnh chia số thực Ví dụ: 1.2.3.4 . Lệnh đổi kiểu dữ liệu Các lệnh chuyển: a-Số BCDsố nguyên 16 bits b- Số BCDsố nguyên 32 bits Ví dụ: c-Số nguyên 16 bitsBCD d- Số nguyên32 bitsBCD Ví dụ: e- Số nguyên16 bitssố nguyên32bits Ví dụ: f- Số nguyên 32bitssố thực Ví dụ: g- Lệnh làm tròn số (số thựcsố nguyên 32 bits) Ví dụ: 1.2.3.5 . Bộ thời gian (Timer) Bộ thời gian là bộ tạo thời gian trễ t mong muốn giữa tín hiệu logic đầu vào u(t) và tín hiệu logic đầu ra y(t). S7_300 có 5 loại Timer khác nhau. Thời gian trễ t mong muốn được khai báo với Timer bằng 1 giá trị 16 bits trong đó 2 bits cao nhất không sử dụng, 2bits cao kế tiếp là độ phân giải của Timer, 12 bits thấp là 1 số nguyên BCD trong khoảng 0999 được gọi là PV(Preset Value). Thời gian trễ t chính là tích: t=Độ phân giải*PV 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Không sử dụng Giá trị PV dưới dạng mã BCD Độ phân giải 0 0 10ms 0 1 100ms 1 0 1s 1 1 10s Thời gian có thể được khai báo dưới dạng bằng kiểu S5T Ví dụ: S5T#3s Trong luận văn sử dụng loại Timer SD là loại Timer trễ theo sườn lên không có nhớ (On Delay Timer):Ngõ ra lên mức 1 khi ngõ vào EN=1 và giá trị CV (Current Value)=0. Ví dụ: Khi ngõ vào I0.0 lên mức 1 thì sau 2s T1 sẽ ON 1.2.3.6 Bộ đếm (Counter) Counter là bộ đếm có chức năng đếm sườn xung của tín hiệu đầu vào. Có tối đa 256 Counter được kí hiệu từ C0C255 Ví dụ: Loại Counter đếm lên và đếm xuống CU : tín hiệu đếm lên (BOOL) CD : tín hiệu đếm (BOOL) S : tín hiệu đặt (BOOL), khi có sườn lên thì giá trị đặt được nạp cho CV PV : giá trị đặt (WORD) R : tín hiệu xoá (BOOL), khi có sườn lên thì giá trị CV được xoá về 0. Q : ngõ ra CV : giá trị hiện tại của bộ đếm dạng Integer CV_BCD : giá trị hiện tại của bộ đếm dạng BCD Loại Counter đếm lên Giống loại Counter trên nhưng không có chân kích đếm xuống. 1.3. Giải pháp mạng Mạng công nghiệp là hệ thống đo lường và điều khiển hiện đại bao gồm máy tính, PLC, vi xử lý ghép nối với cảm biến và chấp hành, thông thường các thiết bị này không tập trung mà phân tán, việc trao đổi thông tin được thực hiện dưới dạng số và truyền nối tiếp. Mạng công nghiệp thường gồm 7 lớp: Lớp vật lý, lớp liên kết dữ liệu, lớp mạng, lớp vận chuyển, lớp phiên, lớp trình và lớp ứng dụng. Tuy nhiên có 1 số mạng người ta chỉ thiết kế trên hai hoặc ba lớp cơ bản, tuỳ vào mỗi hãng mà có các mạng khác nhau. Sau đây là 1 số mạng công nghiệp đã được sử dụng rộng rãi: - Mạng Ethernet - Foundation FieldBus, MPI, Profibus - Can - DiviceNet - ModBus - SDS (Smart distributed System) - InterBus-S - AS-Interface (Actuaator Sensor Interface) - Combobus-S, Combobus-D Trong luận văn này chỉ giới thiệu một số mạng công nghiệp đang được sử dụng và đi sâu vào tìm hiểu sự hỗ trợ của PLC S7_300 vào kết nối mạng và giao tiếp với máy tính. Hiện nay, để giao tiếp giữa PLC với máy tính, đơn giản nhất là sử dụng phần mềm WinCC được cài đặt trên máy tính cùng với cáp chuyển đổi PPI hoặc MPI (Nếu muốn kết nối nhiều PLC) chuyển đổi tín hiệu RS485 sang RS232 truyền sang máy tính vào cổng Com RS232. WinCC là phần mềm tương đối mạnh bao gồm các thư viện được viết sẵn tuy nhiên WinCC chưa phải là 1 ngôn ngữ lập trình hướng đối tượng hoàn chỉnh như C++, Delphi hay Visual Basic mà là phần mềm đóng gói các thao tác, ứng dụng, hoạt động thông dụng trong công nghiệp dựa trên ngôn ngữ lập trình C. Vì thế sẽ đỡ mất công sức rất nhiều để lập trình trên PLC và trên máy tính khi sử dụng phần mềm WinCC và ngược lại, nếu dùng các ngôn ngữ lập trình như C++, Delphi hay Visual Basic, khi đó ta phải lập trình mạng cho hệ thống và phải dựa vào các hàm lập sẵn cho Module truyền thông của PLC S7_300. Không phải mọi CPU đều có Module truyền thông CP (Communication Processor), CP có ưu điểm là có sự hỗ trợ mạnhvề hàm thư viện và tính năng vượt trội như tốc độ, số Byte dữ liệu và sự tương thích cao. Tuy nhiên hầu hết các CPU đều có ít nhất 1 cổng MPI là cổng COM RS485 dùng để đổ chương trình vào ROM của PLC, giao tiếp và nối mạng. Một số hàm được lập trình sẵn để phục vụ cho cổng COM: - SFC60”GD_SND” (global data send): gởi dữ liệu dưới dạng gói GD, gói GD phải đươc tạo trước bằng phần mềm STEP7 (sẽ được trình bày kĩ ở trong chương truyền thông bằng MPI). - SFC61”GD_RCV” (global data receive): nhận dữ liệu dưới dạng gói GD. - SFC65”X_SEND”: gởi dữ liệu đến đối tác truyền thông khác. - SFC66”X_RCV” : nhận dữ liệu từ đối tác truyền thông khác. Chương 2 : THƯ VIỆN HÀM S7 300 THÔNG DỤNG 2.1. Bộ đếm tốc độ cao 2.2. Hàm chuyển đổi SCALE FC105 Để việc chuyển đổi thuận tiện, ta có thể sử dụng các hàm thư viện. Hàm thư viện FC105 (Thư viện Standard, mục TI-S7 converting blocks) có công dụng chuyển đổi dữ liệu đầu vào PIW của module Analog dạng INT sang dạng đại lượng cần đo. Nó là hàm tuyến tính: OUT= Trong đó: OUT: giá trị đại lượng đo, dạng số thực. IN : số đo từ PIW (ngõ vào Analog), dạng số nguyên K2 : giá trị số nguyên giới hạn trên ở đầu vào PIW (27648) K1 : giá trị số nguyên giới hạn dưới ở đầu vào PIW với đầu vào Bipolar : -27648 Với đầu vào Unipolar: 0 HI_LIM : giới hạn trên đại lượng đo. LO_LIM: giới hạn dưới đại lượng đo. Biến đổi này có thể minh họa qua đồ thị OUT HI_LIM K1 K2 IN LO_LIM Hình :Đồ thị biến đổi FC105 Ví dụ: Nếu đầu vào PIW128 của Module Analog có thang đo 010V Ta gọi hàm FC105, và gán các tham số tương ứng để được đầu ra là số thực tính theo đơn vị Volt, đưa đến MD0 Hàm FC105 dạng LAD: Nếu giá trị ở đầu vào PIW128 là 9123, ta có đầu ra là 3,3(v) 2.3. Hàm SFC40 (EN_INT) Hàm có tác dụng gỡ bỏ mặt nạ che: Của 1 tín hiệu ngắt, Của 1 nhóm các tín hiệu ngắt hoặc Của tất cả các tín hiệu ngắt và tín hiệu báo lỗi không đồng bộ. Khi 1 tín hiệu ngắt hay báo lỗi không đồng bộ được gỡ bỏ mặt nạ che, hệ thống sẽ gọi khối OB tương ứng chứa chương trình xử lý mỗi khi xuất hiện tín hiệu ngắt, báo lỗi này. Hàm SFC40 có các tham biến hình thức vào ra như sau: Loại biến Tên biến Kiểu dữ liệu Ý nghĩa IN MODE Byte Xác định loại tín hiệu ngắt, báo lỗi được bỏ mặt nạ che: B#16#0:Bỏ mặt nạ che cho tất cả các tín hiệu ngắt và tín hiệu báo lỗi không đồng bộ. B#16#1:Bỏ mặt nạ che cho các tín hiệu ngắt, báo lỗi thuộc 1 nhóm nhất định. Nhóm các tín hiệu này phải được chỉ thị bởi tên khối OB đầu tiên của nhóm cho biến OB_NR. B#16#2: Bỏ mặt nạ che cho 1 tín hiệu ngắt. Tín hiệu ngắt được bỏ mặt nạ phải được chỉ thị bởi tên khối OB tương ứng cho biến OB_NR. IN OB_NR Int Tên khối OB của tín hiệu ngắt, báo lỗi được bỏ mặt nạ che. OUT RET_VAL Int Giá trị trả về của hàm W#16#0000:Hàm làm việc bình thường W#16#8090:Dữ kiệu cho OB_NR bị sai. Ví dụ: dạng LAD của hàm SFC40 2.4 Hàm SFC0 : thiết lập đồng hồ . Với hàm này ta có thể thiết lập thời gian (ngày, giờ, phút và giây cho đồng hồ của CPU). Khi ta gọi hàm SFC0 là lúc khởi động cho đồng hồ . Đồng hồ sau đó sẽchạy theo ngày giờ đã thiết lập Ngõ vào PDT nhập ngày giờ muốn thiết lập (kiểu dữ liệu DT , chẳng hạn nếu bạn muốn thiết lập ngày giờ là Ngày 15 tháng 1 năm 1995 lúc 10 giờ 30 phút 30 giây thì ta nhập DT#1995-01-15-10:30:30 ). Chân RET_VAL trả về mã của lỗi nếu có lỗi xảy ra trong suốt quá trình thực hiện lệnh. 2.5. Hàm SFC1 Read_clock Với hàm này ta có thể đọc ngày hiện tại trong đồng hồ của CPU 2.6. Hàm SFC20 BLKMOV Với hàm này ta có thể copy nội dung từ vùng nhớ này đến vùng nhớ khác . Phạm vi sử dụng :có thể sao chép tất cả các kiểu dữ liệu ngoại trừ Các khối loại : FB , SFB , FC , SFC , OB . Counters Timerd Các vùng nhớ I/O ngoại vi . Các tham số của hàm : SCR BLK : Vùng nhớ nguồn (không cho phép dữ liệu kiểu chuổi ). RET_VAL : Mã của lỗi sẽ được trả về ở đầu ra này . DST BLK : Vùng nhớ đích ( không cho phép dữ liẹu kiểu chuổi). FChú ý : Vùng nhớ nguồn và đích không được trùng lắp . Nếu vùng dữ liệu nguồn lớn hơn vùng dữ liệu đích thì hàm chỉ sao chép những dữ liệu từ vùng nguồn tương ứng với khả nănglưu trữ của vùng đích . Ngược lại nếu vùng dữ liệu đích lớn hơn vùng dữ liệu nguồn thì chỉ vùng dữ liệu đích tương ứng với vùng dữ liệu nguồn được sao chép dữ liệu . 2.7. Hàm SFC 21 FILL Với hàm này ta có thể khởi tạo một vùng nhớ (vùng nguồn ) với nội dung của vùng nhớ khác . Hàm SFC21 sẽ chép nội dung vào vùng đích cho đến khi hoàn toàn đầy đủ BVAL : Giá trị ban đầu muốn điền vào vùng đích . BLK : khối dữ liệu đích muốn điền vào . F Chú ý : Vùng nguồn và vùng đích không được trùng lắp .Nếu vùng đích không phải là bội của nguồn vào về chiều dài của bộ nhớ thì dữ liệu vẫn cứ ghi vào cho đến byte cuối cùng của vùng nhó đích . Hàm này sẽ không hoạt động nếu con trỏ đến vùng nguồn và vùng đích là liểu Bool. 2.8.Hàm SFC22 CREAT DB Với hàm SFC22 (create data block) ta có thể khối dữ liệu mà không chứa giá ban đầu nào. Không chỉ thế chiều dài của khối dữ liệu ta có thể chủ động lựa chọn và phải đặt số hiệu cho khối dữ liệu đã tạo trong tầm ấn định trước Đặt tham số cho hàm SFC22 : LOW_LIMIT : Giá trị giới hạn dưới là số nhỏ nhất trong tầm số mà bạn có thể gán cho khối . UP_LIMIT : Giá trị giới hạn trên là số cao nhất trong tầm mà bạn có thể gán cho khối . COUNT : Giá trị đếm xác định số byte lưu trữ trong toàn khối .(kiểu W : MW2) Số khối dữ liệu là số của các khối dữ liệu được tạo ra. 2.9. Hàm SFC24 TEST DB Với hàm SFC24 (test data block ) ta có được những thông tin về khối dữ liệu tồn tại trong vùng nhớ làm việc nào đó của CPU. Hàm SFC24 truy ra số các byte dữ liệu trong khối DB chỉ đọc được. Các tham số của hàm : DB_number : số của DB được kiểm tra. Số byte dữ liệu mà DB được chọn chứa . Thông tin về việc bảo vệ của DB( 1 nghĩa là chỉ đọc , không thể sửa chữa). 2.10. Hàm SFC46 Với hàm SFC46 ta có thể chuyển CPU sang chế độ stop. Hàm STP không có thông số . 2.11. Hàm SFC47 Với hàm SFC47 “WAIT” , ta có thể lập trình thời gian trễ hay thời gian chờ trong chương trình của người sử dụng. Bạn có thể lập trình trễ đến 32767 mili giây.Thời gian trễ nhỏ nhất có thễ phụ thuộc vào từng loại CPU đặc biệt với cùng một hàm SFC47. F Chú ý : Đối với S7-300 , ngoại trừ CPU 318 , thời gian trễ với hàm SFC47 là thời gian nhỏ nhất . Thông số của hàm : đầu vào WT chứa thời gian trễ ms.(ví dụ nếu MW20=2000 thì khi En từ 0 lên 1 thì 2mili giây sau ENO sẽ lên 1. 2.12. Hàm SFC60 GD_SND Với hàm SFC60(global data send) dữ liệu của vòng GD được tập hợp và gửi đi trên con đường đặc biệt. Gói vòng GD phải được nhận diện bởi STEP 7. Hàm SFC60 có thể được gọi ở bất kỳ điểm nào trong chương trình của người sử dụng. Dữ liệu sau đó được tập hợp và gửi đi trong lớp ưu tiên cao hơn.Khi chương trình trở về thì hàm bị ngắt , điều này sẽ cắt ngay lập tức và dữ liệu cái mà đã được tập hợp xong bị bỏ. Thủ tục này có nghĩa là trong suốt quá trình xử lý của lớp ưu tiên cao hơn, dữ liệu đúng được truyền. Gói vòng GD chỉ đúng với các loại dữ liệu sau : Loại dữ liệu đơn giản : Bit, byte, word và double word . Một mảng những byte, word và double word dài đến chiều dài nhất định được xác định theo mỗi CPU. Gói vòng GD trên CPU gởi đi dữ liệu có cấu trúc không được tự động xác nhận là dữ liệu tập hợp là hoàn toàn đúng. Cho ví dụ, trường hợp khi dãy chứa nhửng byte hay mảng những byte mà có chiều daì lớn hơn chiều dài tối đa cho phép của CPU.Tuy nhiên nếu bạn đòi hỏi đúng cho toàn bộ gói vòng GD, bạn phải thực hiện những thủ tục dưới đây. Disable hoặc làm trễ những khối ngắt ưu tiên

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

  • docFUZZY VOI S7300.doc
Tài liệu liên quan