Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
303,71 KB
Nội dung
Phần mềm STEP7 25 25 Phần mềm STEP7 2.1 Chức năng của phần mềm STEP 7 - Khai báo cấu hình cứng cho một trạm PLC thuộc họ Simatic S7 – 300/400 - Xây dựng cấu hình mạng gồm nhiều trạm PLC S7 – 300/400 cũng như thủ tục truyền thống giữa chúng . - Soạn thảo và cài đặt chưong trình điều khiển cho một hoặc nhiều trạm. - Quan sát việc thực hiện trưong trình điều khiển trong một trạm PLC và gỡ rối chưong trình . Ngoài ra Step 7 còn có cả một thư viện đầy đủ với các hàm chuẩn hưu ích , phần trợ giúp online rất mạnh có khả năng trả lời mọi câu hỏi của người sử dụng về cách sử dụng Step 7 , về cú pháp lệnh trong lập trình về xây dựng cấu hình cứng của một trạm , của một mạng gồm nhiều trạm PLC … 2.2 Các bước thực hiện để viết một chương trình điều khiển. Khai báo phần cứng . Bước 1 : vào Simatic manager / file / new (và một Project mới ) hoặc vào file / open (Với trường hợp một Project có sẵn ). Bước 2 : Vào Insert / Station / Simatic 300 – Hardware. Bước 3 : Kích đúp vào Hardware – Simatic 300 (1 ). +Rack – Rail +Chọn nguồn – PS thích hợp +Chọn CPU +Chọn SM : DI ; DO ; DI/DO ; AI ; AO ; AI/ AO . Trường hợp không muốn khai báo cấu hình cứng mà đi ngay vào chương trình ứng dụng , ta chọn : Insert / Program / S7 Program. 2.3 Hệ lệnh của phần mềm step7 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 một thuật toán nhất định , mỗt lệnh chiếm một hàng và đều có cấu trúc chung “PLC S7-300 có ngôn ngữ lập trình cơ bản sau: - tên lệnh” + “toán hạng”. Phần mềm STEP7 26 26 - 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. - Ngôn ngữ “hình khối” , ký hiệu là FBD ( Funtion Block Diagram) . Đây cũng là kiểu ngôn ngữ đồ hoạ dành cho người có thói quen thiết kế mạch điều khiển số . + Ladder Diagram LAD + Statement List STL A I 0.0 A I 0.1 O A I 0.2 A I 0.3 = Q 4.1 + Function Block Diagram I0.0 I0.1 I0.2 I0.3 >=1 & & = Q4.1 Phần mềm STEP7 27 27 Hình 8 : Các kiểu ngôn ngữ lập trình trong STEP7 Một chương trình viết trên LAD hoặc FBD có thể chuyển sang sạng STL nhưng ngược lại thì không . Trong STL có nhiều lệnh không có trong LAD hay FBD . Phần sau sẽ giới thiệu các lệnh cơ bản của ngôn ngữ STL. 2.3.1 Nhóm lệnh Lôgic tiếp điểm Toán hạng kiểu BOOL độ dài là một bit và có hai trạng thái là 0 và 1 . Khi thực hiện lệnh , CPU sẽ ghi nhận lại trạng thái của phép tính trung gian cũng như kết quả của một thanh ghi đặc biệt 16 bits , được gọi là thanh ghi trạng thái ( status word) . Mặc dù thanh ghi trạng thái này có độ dài 16 bits nhưng chỉ sử dụng 9 bits với cấu trúc như sau : BR CC1 CC0 OV OS OR STA RLO FC FC (fist check) : FC=0 khi dãy lệnh logic tiếp điểm vừa được kết thúc RLO ( refult of logic operation) : kết quả tức thời của phép tính logic vừa được thực hiện STA ( status bit) : bít trạng thái này luôn có giá trị logic của tiếp điểm được chỉ định trong lệnh. OR : Ghi lại giá trị của phép tính logic ^ cuối cùng được thực hiện để phụ giúp cho việc sử dụng phép tính ^ sau đó . OS : (Stored overfow bit) : ghi lại giá trị bits bị tràn ra ngoài mảng ô nhớ . OV ( overflow bit) : bit báo kết quả phép tính b ị tràn ra ngoài mảng ô nhớ. CC0 và CC1 ( Condition code ) : hai bits báo trạng thái của kết quả phép tính với số nguyên , số thực , phép dịch chuyển hoặc phép tính logic trong ACCU . BR ( Binary result bit) : Bit trạng thái TT Lệnh thực hiện Cú Pháp Toàn hạng (TH) 1 Lệnh bán giá trị logic của RLO tới ô nhớ có địa chỉ được chỉ thị trong toán hạng . = <TH> Là địa chỉ bit I, Q , M , L , D Phần mềm STEP7 28 28 2 Nếu FC =0 : Gán giá trị logic của toán hạng vào RLO , sau đó dựng FC=1 : RLO = <RLO> ^ <TH> A <TH> Là dữ liệu kiểu blood hoặc địa chỉ bit I,Q,M,L , D, T, C 3 Nếu FC =0 : lệnh sẽ gán giá trị logic nghịch đảo toán hạng vào RLO . Nếu FC = 1 : Lệnh sẽ thực hiện phép tính ^ giữa RLO với giá trị nghịch đảo của toán hạng và ghi lại kết quả vào RLO. AN <TH> Là dữ liệu kiểu blood hoặc địa chỉ bit I,Q,M,L , D, T, C 4 Nếu FC= 0 : lệnh sẽ gán giá logic của toán hạng vào RLO. Nếu FC =1 : lệnh sẽ thực hiện phép tính v giữa RLO với toán hạng và ghi lại kết quả vào RLO. N <TH> Là dữ liệu kiểu blood hoặc địa chỉ bit I,Q,M,L , D, T, C 5 Nếu FC =0 : lệnh sẽ gán giá trị logic nghịch đảo toán hạng vào RLO . Nếu FC =1 : lệnh sẽ thực hiện phép tính v giữa RLO với toán hạng và ghi lại kết quả vào RLO. ON <TH> Là dữ liệu kiểu blood hoặc địa chỉ bit I,Q,M,L , D, T, C Phần mềm STEP7 29 29 6 Nếu FC =0 : lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO. Nếu FC = 1 : Lệnh sẽ thực hiện phép tính ^ giữa RLO với giá trị logic của biểu thức trong dấu ngoặc sau nó và ghi lại kết quả vào RLO A( Không có hạng toán 7 Nếu FC =0 : lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO. Nếu FC=1 : Lệnh sẽ thực hiện phép tính ^ giữa RLO với giá trị nghịch đảo logic của biểu thức sau dấu ngoặc và ghi lại kết quả vào RLO. AN( Không có toán hạng 8 Nếu FC =0 : lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO. Nếu FC = 1 : Lệnh sẽ thực hiện phép tính v giữa RLO với giá trị logic của biểu thức trong dấu ngoặc sau nó và ghi lại kết quả vào RLO O( Không có toán hạng 9 Nếu FC= 0 : lệnh sẽ gán giá trị logic nghịch đảo của biểu thức sau nó vào RLO Nếu FC = 1 : Lệnh sẽ thực hiện phép tính v giữa RLO với giá trị nghịch đảo của biểu thức trong ON( Không có toán hạng Phần mềm STEP7 30 30 dấu ngoặc sau nó và ghi lại kết quả vào RLO 10 Nếu FC= 0 : lệnh sẽ gán giá logic của toán hạng vào RLO. Nếu FC=1 : Lệnh sẽ kiểm tra xem nội dung của RLO và giá trị logic của toán hạng có khác nhau không . Trong trường hợp khác nhau thì ghi 1 vào RLO , ngược lại thì ghi 0 . X <TH> Là dữ liệu kiểu blood hoặc địa chỉ bit I,Q,M,L , D, T, C 11 Nếu FC =0 : : lệnh sẽ gán giá trị nghịch đảo toán hạng vào RLO . Nếu FC=1 : Lệnh sẽ kiểm tra xem nội dung của RLO và giá trị logic của toán hạng có giống nhau không . Trong trường hợp giống nhau thì ghi 1 vào RLO , ngược lại thì ghi 0 . XN < TH> Là dữ liệu kiểu blood hoặc địa chỉ bit I,Q,M,L , D, T, C 12 Nếu FC =0 : lệnh sẽ gán giá trị logic của biểu thức trong dấu ngoặc sau nó vào RLO. Nếu FC =1 : lệnh sẽ đảo nội dung của RLO khi biểu thức dấu ngoặc sau nó có giá trị 1 . X( Không có toán hạng 13 Nếu FC= 0 : lệnh sẽ gán giá trị logic nghịch đảo của biểu thức trong dấu ngoặc sau nó vào RLO Nếu FC =1 : lệnh sẽ đảo nội dung của RLO khi biểu thức XN( Không có toán hạng Phần mềm STEP7 31 31 dấu ngoặc sau nó có giá trị 0 . 14 Lệnh có tác dụng ghi 1 vào RLO SET Không có toán hạng 15 Lệnh có tác dụng ghi 0 vào RLO CLR Không có toán hạng 16 Lệnh có tác dụng đảo nội dung của RLO NOT Không có toán hạng 17 Nếu RLO =1 : Lệnh sẽ ghi giá trị 1 vào ô nhớ có địa chỉ cho trong toán hạng. S<TH> Là địa chỉ bit I, Q , M , L , D . 18 Nếu RLO =1 : Lệnh sẽ ghi giá trị 0vào ô nhớ có địa chỉ cho trong toán hạng. R<TH> Là địa chỉ bit I, Q , M , L , D . 19 Nếu RLO chuyển trạng thái từ 0 đến 1 thì giá trị logic 1 được duy trì trong toán hạng trong thời gian một vòng quét . Sau này thì FC=0. FP<TH> Là địa chỉ bit I, Q , M , L , D . 20 Nếu RLO chuyển trạng thái từ 1 xuống 0 thì giá trị logic 1 được duy trì trong toán hạng trong thời gian là một vòng quét . Sau lệnh này FC=0. FN<TH> Là địa chỉ bit I, Q , M , L , D . 21 Lệnh chuyển nội dung của RLO vào bit trạng thái BR SAVE Không có toán hạng. Phần mềm STEP7 32 32 2.3.2 Lệnh đọc , ghi và đảo vị trí bytes trong hai thanh ghi ACCU1 và ACCU2. TT Lệnh Cú Pháp Toán hạng (TH) 1 Lệnh chuyển dữ liệu hoặc nội dung của ô nhớ có địa chỉ là toán hạng vào thanh ghi ACCU1 và chuyển nội dung cũ của ACCU1 vào ACCU2 L <TH> Là dữ liệu (số hoặc nhị phân ) hoặc địa chỉ. 2 Lệnh chuyển nội dung của ACCU1 vào ô nhớ có địa chỉ là toán hạng . Lệnh không thay đổi nội dung của ACCU2. T <TH> Phải luôn là biến . 3 Lệnh chuyển đổi nội dung của thanh ghi trạng thái vào từ thấp của ACCU1 . Lệnh không làm thay đổi thanh ghi trạng thái . L STW STW 4 Lệnh chuyển 9 bitscuar từ thấp của ACCU1 . Nội dung của ACCU2 và thanh ghi trạng thái không bị thay đổi. T STW STW 5 Chuyển nội dung của ACCU2 vào ACCU1 . Nội dung của ACCU2 và thanh ghi trạng thái không bị thay đổi . POP Không có toán hạng. 6 Chuyển nội dung của ACCU1 vào ACCU2 . Nội dung của ACCU1 và thanh ghi trạng thái không bị thay đổi . PUSH Không có toán hạng . 7 Nội dung của ACCU1 được ghi vào ACCU2 và ngược lại nội TAK Không có toán hạng. Phần mềm STEP7 33 33 dung của ACCU2 được ghi vào ACCU1 . Lệnh không làm nội dung của thanh ghi trạng thái thay đổi. 8 Lệnh có tác dụng làm thay đổi hai byte của từ thấp trong thanh ghi ACCU1 . Lệnh không làm thay đổi thanh ghi trạng thái. CAW Không có toán hạng. 9 Lệnh có tác dụng đảo nội dung của tất cả 4 byte trong thanh ghi ACCU1 , Lệnh không làm thay đổi thanh ghi trạng thái . CAD Không có toán hạng. 10 Lệnh có tác dụng đảo nội dung tất cả các bits trong từ thấp của thanh ghi ACCU1 . Nội dung của từ cao trong thanh ghi ACUU1 và của ACCU2 , thanh ghi trạng thái không bị thay đổi INVI Không có toán hạng. 11 Lệnh có tác dụng đổi nội dung tất cả các bits trong ACCU1 .Nội dung của ACCU2 và của thanh ghi trạng thái không bị thay đổi . INVD Không có toán hạng 2.3.3 Các lệnh lôgic thực hiện trên thanh ghi ACCU TT Lệnh thực hiện phép tính Cú pháp Toán hạng (TH) 1 - Nếu không có toán hạng , lệnh thực hiện phép tính ^ giữa các bits thuộc từ thấp của hai thanh ghi ACCU1, ACCU2 . Kết quả được ghi lại vào từ thấp của ACCU1 . Nội AW {<dữ liệu hằng>} Có thể có hoặc không. Phần mềm STEP7 34 34 dung của từ cao trong ACCU1 , ACCU2 không bị thay đổi . - Nếu có toán hạng thì phải là một dữ liệu hằng có kích thước 16 bits . Khi có lệnh thực hiện phép tính ^ giữa dữ liệu với từ thấp của ACCU1 . Nội dung của từ cao trong ACCU1 và ACCU2 không bị thay đổi . 2 - Nếu không có toán hạng , lệnh thực hiện phép tính ^ giữa các bits của hai thanh ghi ACCU1 và ACCU2 . kết quả được ghi lại vào ACCU1. Nội dung của ACCU2 không bị thay đổi. - Nếu có toán hạng thì toán hạng phải là một dữ liệu hằng có kích thước 32 bits . Khi đó lệnh thực phép tính ^ giữa dữ liệu với thanh ghi ACCU1 . Kết quả được ghi lại vào thanh ghi ACCU1 . Nội dung của thang ghi ACCU2 không bị thay đổi . AD{<dữ liệu h ằng >} Có thể có hoặc không. 3 - Nếu không có toán hạng , lệnh thực hiện phép tính v giữa các bits thuộc từ thấp của hai thanh ghi ACCU1, ACCU2 . Kết quả được ghi lại vào từ thấp của ACCU1 . Nội dung của từ cao trong ACCU1 ,ACCU2 không bị thay đổi . - Nếu có toán hạng thì toán hạng phải là một dữ liệu hằng có kích thước 16 bits . khi đó lệnh thực hiện phép tính v giữa toán hạng và từ thấp của ACCU1 . Kết quả được ghi l ại vào ACCU1. Nội dung của từ cao trong OW {<dữ liệu hằng >} Có thể có hoặc không. . Phần mềm STEP7 25 25 Phần mềm STEP7 2.1 Chức năng của phần mềm STEP 7 - Khai báo cấu hình cứng cho một trạm PLC thuộc họ Simatic S7 – 300/400 - Xây dựng cấu. I0.2 I0.3 >=1 & & = Q4.1 Phần mềm STEP7 27 27 Hình 8 : Các kiểu ngôn ngữ lập trình trong STEP7 Một chương trình viết trên LAD hoặc FBD có thể chuyển sang. *I Không có toán hạng Phần mềm STEP7 43 43 sẽ được ghi lại vào ACCU1. Nội dung của thanh ghi ACCU2 không bị thay đổi. Nếu kết quả nằm trong khoảng -3 276 8 – 3 276 7, OV = 0, ngược lại OV