Phần mềm STEP7

35 1.4K 0
Phần mềm STEP7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phần mềm STEP7

Ch¬ng 4: PhÇn mÒm STEP7 Ch¬ng 4 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”. 25 25 Ch¬ng 4: PhÇn mÒm STEP7 - 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 26 26 >=1 & & = Q4.1 Ch¬ng 4: PhÇn mÒm STEP7 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 27 27 Ch¬ng 4: PhÇn mÒm STEP7 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 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 A( Không có hạng toán 28 28 Ch¬ng 4: PhÇn mÒm STEP7 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 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 dấu ngoặc sau nó và ghi lại kết quả vào RLO ON( Không có toán hạng 29 29 Ch¬ng 4: PhÇn mÒm STEP7 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 dấu ngoặc sau nó có giá trị 0 . XN( Không có toán hạng 14 Lệnh có tác dụng ghi 1 vào RLO SET Không có toán hạng 30 30 Ch¬ng 4: PhÇn mÒm STEP7 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. 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à L <TH> Là dữ liệu (số hoặc nhị phân ) hoặc địa 31 31 Ch¬ng 4: PhÇn mÒm STEP7 toán hạng vào thanh ghi ACCU1 và chuyển nội dung cũ của ACCU1 vào ACCU2 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 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. TAK Không có toán hạng. 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 CAD Không có toán 32 32 Ch¬ng 4: PhÇn mÒm STEP7 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 . 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 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 . AW {<dữ liệu hằng>} Có thể có hoặc không. 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 AD{<dữ liệu hằng Có thể có hoặc 33 33 Ch¬ng 4: PhÇn mÒm STEP7 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 . >} 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 ACCU1, ACCU2 không bị thay đổi . OW {<dữ liệu hằng >} Có thể có hoặc không. 4 - Nếu không có toán hạng , lệnh thực hiện phép tính v giữa tất cả 32 bits của hai thanh ghi ACCU1, 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 hiện phép tính v giữa 32 bits của thanh ghi ACCU1 với toán hạng . Kết quả được ghi lại vào ACCU1 .Nội dung của OD {<dữ liệu hằng >} Có thể có hoặc không. 34 34 [...]... Kiều DT đợc định dạng trong 8 BYTE cụ thể sau: BYTE 1: năm 57 Chơng 4: Phần mềm STEP7 58 BYTE 2: tháng BYTE 3: ngày BYTE 4: giờ BYTE 5: phút BYTE 6: giây BYTE 7,8: milli giây và thứ Kiểu DATE_AND_TIME không đợc trực tiếp nhập vào mà thông qua hàm chức năng kết hợp kiều DATE và kiểu TIME_OF_DAY bằng hàm FC3 D_TOD_DT 58 Chơng 4: Phần mềm STEP7 59 Hàm chức năng FC3 chỉ có 3 tham số nh sau: Tên Loại Kiểu IN1... từ OB1 FC10 OB1 Call FC10 Trả tham trị về OB1 Xoá FC10 và Locall block trong Work memory 51 BE Chơng 4: Phần mềm STEP7 52 Thực hiện gọi khối FC10 Nh vậy, khi thực hiện lệnh gọi một khối con, hệ điều hành sẽ: - Chuyển khối con đợc gọi là vùng Load memory và vùng Worrk memory Cấp phát cho khối con một phần bộ nhớ trong Worrk memory để làm local block Cấu trúc local block đợc quy định khi soạn thảo các... khoảng thời gian cố định Mặc định khoảng thời gian này sẽ là 100ms, song ta có thể thay đổi nó trong bảng tham số của modul CPU nhờ phần mềm Step 7 Thay đổi thời gian chu kì ngắt ta cũng có thể thay đổi đợc trong khoảng 1ms đến 60000ms Ta thay đổi thời gian chu kỳ bằng phần mềm Step 7 nh sau: Nháy đúp chuột trái vào Hardware trong một trạm S7-300 sau đó ta nháy đúp chuột trái vào CPU X (X là tên CPU ví... và dùng với những nhiệm vụ xác định Có 88 hàm SFC trong th viện của phần mềm STEP 7 đợc sử dụng cho các loại S7-300 ta chỉ nghiên cứu 2 hàm sau *Hàm SFC 0 SET_CLK SFC 0 có nhiệm vụ đặt thời gian cho CPU tại biến PDT Đồng hồ hệ thống CPU sẽ bắt đàu chạy từ thời điểm đó Việc đặt thời gian ngoài của SFC0 ta còn có thể tiến hành bằng phần mềm Step 7 ( ta vào PLC trên thanh công cụ, chọn mục Set time of Day... cho Kết quả đợc cất vào ACCU1 Lệnh thực hiện việc lấy phần nguyên của số thực dấu phẩy động trong Kết quả đợc 4 TRUNC cất vào ACCU1 Nội dung của ACCU2 không bị thay đổi 2.3.12 Các lệnh điều khiển chơng trình A Nhóm lệnh kết thúc chơng trình 45 Toán hạng Không có toán hạng Không có toán hạng Không có toán hạng Không có toán hạng Chơng 4: Phần mềm STEP7 STT 1 2 46 Lệnh chuyển đổi Cú pháp Lệnh thực hiện... ghi ACCU1 v ACCU2 Nu s nguyờn trong ACCU2 ln hn s nguyờn trong ACCU1 thỡ RLO = 1 ngc li RLO = 0 Khụng cú toỏn hng Lnh thc hin hai s nguyờn 32 bits trong hai =D thanh ghi ACCU1 v ACCU2 ... thanh ghi ACCU1 v ACCU2 Nu s thc trong ACCU2 ln hn s thc trong ACCU1 thỡ bits trng thỏi RLO =1 ngc li RLO = 0 Khụng cú toỏn hng Lnh thc hin so sỏnh hai s thc 32 bits trong =R hai thanh ghi ACCU1 v ACCU2... phép nhân hai số nguyên 16 bits trong từ thấp của ACCU1, ACCU2 Kết quả là một số nguyên 32 bits sẽ đợc 41 Cú pháp Toán hạng +I Không có toán hạng -I Không có toán hạng *I Không có toán hạng Chơng 4: Phần mềm STEP7 4 42 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 -32768 32767, OV = 0, ngợc lại OV = OS = 1 Lệnh thực hiện phép chia hai số nguyên 16 /I bits... trong -R 2 ACCU2 cho số thực trong ACCU1 Kết quả đợc ghi lại vào ACCU1 3 Lệnh thực hiện phép nhân hai số thực *R 42 Không có toán hạng Toán hạng Không có toán hạng Không có toán hạng Không có Chơng 4: Phần mềm STEP7 4 5 6 7 8 9 10 11 12 13 14 43 trong ACCU1 và ACCU2 Kết quả đợc ghi lại vào ACCU1 Lệnh thực hiện phép chia số thực trong ACCU2 cho số thực trong ACCU1 Kết quả đợc ghi lại vào ACCU1 Lệnh xác định... Không toán hạng Không toán hạng Không toán hạng COS TAN ASIN có có có có ACOS Không có toán hạng ATAN Không có toán hạng SQR Không có toán hạng SQRT Không có toán hạng NERG Không có toán hạng Chơng 4: Phần mềm STEP7 44 STT Lệnh 1 Lệnh tính RLO ^ CCO ^ CC1 Kết quả đợc ghi lại vào RLO 2 Cú pháp A 0 A 0 3 Lệnh tính RLO ^ [(CCO ^ CC1)v(CCO^CC1)] . Ch¬ng 4: PhÇn mÒm STEP7 Ch¬ng 4 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. 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

Ngày đăng: 08/01/2014, 22:26

Mục lục

    Hỡnh 8 : Cỏc kiu ngụn ng lp trỡnh trong STEP7

    FC (fist check) : FC=0 khi dóy lnh logic tip im va c kt thỳc

    D. Chuyển đổi số nguyên 32 bits thành số thực

    FR <tên Timer>

    Quy trình thực hiện chương trình điều khiển tuyến tính

    Cấu trúc một chương trình cấu trúc

    Thực hiện gọi khối FC10

    Thực hiện gọi khối DB1 kèm cùng với DB2 từ OB1

Tài liệu cùng người dùng

Tài liệu liên quan