Lập trình đến S7 và những PLC khác của hãng sản xuất Siemens dựa vào 3 phương pháp cơ bản: - cách thức hình thang (Ladder logic - LAD). - phương pháp khối hàm (Function Block Diagram - FBD). - cách thức liệt kê câu lệnh (Statement menu - STL).

Bạn đang xem: Ngôn ngữ lập trình plc s7-200


1. CÁC LOẠI NGÔN NGỮ LẬP TRÌNH PLCLập trình cho S7 và các PLC khác của hãng sản xuất Siemens dựa vào 3 cách thức cơ bản:- phương pháp hình thang (Ladder xúc tích - LAD).- phương pháp khối hàm (Function Block Diagram - FBD).- phương thức liệt kê câu lệnh (Statement danh mục - STL).Trong nội dung bài viết này shop chúng tôi sẽ ra mắt các thành phần cơ bản của ba phương pháp và cách sử dụng chúng trong lập trình.Nếu công tác được viết theo ngôn từ LAD (hoặc FBD) thì hoàn toàn có thể chưyển sang ngữ điệu STL tuyệt FBD (hoặc LAD) tương ứng. Mà lại không phải bất kể chương trình viết theo STL nào thì cũng chuyển sang ngôn ngữ LAD giỏi FBD được. Cỗ tập lênh STL được trình bày trong giáo án này đều phải có một chức năng như những tiếp điểm, cuộn dây, các hộp (trong LAD) hay IC số trong FBD.Những lệnh này phải phối kết hợp được trạng thái các tiếp điểm để đưa ra quyết định về quý hiếm trạng thái áp ra output hoặc quý hiếm logic cho phép hoặc không có thể chấp nhận được thực tác dụng của một (hay nhiều) cuộn dây hoặc hộp. Trong lập trình sẵn lôgic thường hay được dùng hai ngôn từ LAD và STL bởi nó gần cận hơn so với chuyên ngành điện. Sau đây là những định nghĩa rất cần được nắm khi hợp tác vào xây đắp một chương trình:Ngôn ngữ bảng lệnh là gì (STL)Ngôn ngữ liệt kê lệnh, ký kết hiệu là STL (Statement List). Đây là ngôn ngữ lập trình thông thường của sản phẩm tính. Một lịch trình được ghép vì nhiều lệnh theo một thuật toán độc nhất vô nhị định, mỗi lệnh chiếm một sản phẩm và đông đảo có kết cấu chung là: "tên lệnh" + "toán hạng". Một số trong những lệnh quan trọng thì rất có thể chỉ có tên lệnh nhưng không yêu cầu toán hạng.

Xem thêm: Giải Bài Tập Tiếng Anh Lớp 8 Lưu Hoằng Trí Lớp 8, Đáp Án Tiếng Anh Lưu Hoằng Trí Lớp 8


*
Statement danh mục - STL

Ngôn ngữ sơ đồ gia dụng thang là gì (LAD)Ngôn ngữ hình thang, ký hiệu là LAD (Ladder Logic) cùng với loại ngôn ngữ này cực kỳ thích phù hợp với người quen xây dựng mạch điều khiển logic. Chương trình được viết dưới dạng liên kết giữa những công tắc:Ví dụ:
*
Ladder logic - LAD

2. CHU TRÌNH LÀM VIỆC, LẬP TRÌNH VÀ CẤU TRÚC CHƯƠNG TRÌNHCác cách thức lập trình2.1 Lập trình tuyến tínhPhần bộ lưu trữ của CPU giành cho chương trình ứng dụng mang tên gọi là xúc tích Block. Như vậy súc tích block là tên gọi chung nhằm gọi toàn bộ các khối bao gồm những khối chương trình tổ chức triển khai OB, khối lịch trình FC, khối hàm FB.Trong các loại khối lịch trình đó thì chỉ gồm khối nhất khối OB1 được thực hiện trực tiếp theo vòng quét. Nó được hệ quản lý và điều hành gọi theo chu kỳ luân hồi lặp với khảng thời gian không biện pháp đều nhau mà phụ thuộc vào vào độ nhiều năm của chương trình. Những loại khối công tác khác không thâm nhập vào vòng quét.Với tổ chức chương trình vì vậy thì phần công tác trong khối OB1 có đầy đủ điều khiếu nại của một công tác điều khiển thời hạn thực và toàn thể chương trình vận dụng có thể chỉ việc viết vào OB1 là đủ như hình mẫu vẽ sau.Cách tổ chức triển khai chương trình với chỉ một khối OB1 duy nhất vì thế được call là lập trình tuyến tính.OB1 triển khai theo vòng quétOB10 Ngắt ở thời gian định trướcOB82 Modulechuẩn đoán lỗiKhối OB1 được hệ thống gọi chuyển phiên vòng liên tục theo vòng quét.Các khối OB khác không gia nhập vào vòng quét được gọi bằng những bộc lộ báo ngắt. S7-300 có rất nhiều tín hiệu báo ngắt như bộc lộ báo ngắt khi gồm sự cầm cố nguồn nuôi, có sự nỗ lực chập mạch ở các modul mở rộng, tín hiệu báo ngắt theo chu kỳ thời gian, cùng mỗi loại biểu đạt báo ngắt vì thế cũng chỉ có công dụng gọi một khối OB độc nhất vô nhị định. Ví dụ tín hiệu báo ngắt sự nỗ lực nguồn nuôi chỉ hotline khối OB81, tín hiệu báo ngắt truyền thông media chỉ call khối OB87.Mỗi khi mở ra tín hiệu báo ngắt hệ thống sẽ dừng công việc đang thực hiện lại, ví dụ như tạm ngừng việc thực hiện chương trình trong OB1, và gửi sang thực hiện chương trình giải pháp xử lý ngắt tong những khối OB tương ứng. Ví dụ lúc đang tiến hành chương trình vào khối OB1 mà mở ra ngắt báo sự núm truyền thông, khối hệ thống sẽ tạm ngưng việc thực hiện chương trình vào OB1 lại để gọi chương trình vào khối truyền thông media OB87. Chỉ sau khi đang thực hiện xong chương trình vào khối OB87 thì khối hệ thống mới trở lại thực hiện thường xuyên phần chương trình còn lại trong OB1.2.2 lập trình cấu trúcVới mẫu mã lập trình có cấu trúc thì khác vì cục bộ chương trình điều khiển được chia nhỏ thành các khối FC với FB mang một nhiệm vụ rõ ràng riêng và được cai quản chung vì những khối OB. Loại lập trình này rất cân xứng cho những việc phức tạp, nhiều trọng trách và lại rất tiện lợi cho việc thay thế sau này.OB1 FB FB FB FC SFB SFC DB DB DB DBKhối OB (Organization Block): Khối tổ chức triển khai và cai quản chương trình điều khiển. Có khá nhiều loại khối OB cùng với những công dụng khác nhau ,chúng được tách biệt với nhau bằng một số trong những nguyên đi sau đội kí từ OB.Ví dụ: OB10, OB85, ...Khối FC (Program Block): Khối công tác với những công dụng riêng y như 1 chương trình bé hoặc một hàm ( lịch trình con có biến hình thức). Một chương trình vận dụng có thể có không ít khối FC và các khối FC này được phân biệt với nhau bằng một trong những nguyên sau đội kí từ bỏ FC.Ví dụ: FC1,FC2….Khối FB (Function Block): Là các loại khối FC đặc biệt có tác dụng trao đổi một lạng dữ liệu phệ với những khối lịch trình khác .Các tài liệu này phhải được tổ chức triển khai thành khối dữ liệu riêng mang tên gọi là Data block.Một chương trình áp dụng có thể có rất nhiều khối FB và các khối Fb này được tách biệt với nhau bằng một số trong những nguyên sau đội kí từ FB. Chẳng hạn như FB1,FB2…Khối DB (Data Block): Khối chứa những dữ liệu cần thiết để triển khai chương trình. Những tham số của khối do người tiêu dùng tự đặt .Một chương trình vận dụng có thể có không ít khối DB và các khối DB này được minh bạch với nhau bằng một số nguyên sau nhóm kí trường đoản cú DB. Ví dụ: DB1,DB2,...Chương trình trong những khối được link với nhau bằng các lệnh gọi khối, đưa khối. Xem hồ hết phần chương trình trong những khối như là những chương trình con thì S7_300 được cho phép gọi chương trình con lồng nhau ,tức là chương trình con này hotline một chương trình con khác và xuất phát từ một chương trình bé được điện thoại tư vấn lại gọi tới một chương trình bé thứ 3,… Số những lệnh gọi lồng nhau nhờ vào vào từng chủng một số loại module CPU nhưng mà ta vẫn sử dụng. Ví dụ đối với module CPU 314 thì số lệnh call lồng nhau những nhất bao gồm thể cho phép là 8.Nếu số lần gọi khối lồng nhau mà vượt quá con số giới hạn chất nhận được ,PLC đã tự chuyển qua chế độ Stop với đặt cờ báo lỗi.2.3. Các khối OB đặc biệtTrong lúc khối OB được tiến hành đều đặn sinh hoạt từng vòng quét trong giai đoạn tiến hành chương trình thì các khối OB không giống chỉ được triển khai khi xuất hiện thêm tín hiệu báo ngắt khớp ứng ,nói giải pháp khác lịch trình viết cho các khối OB này đó là chương trình xử lí biểu lộ ngắt (event).Chúng bao gồm:OB10 ( Time of Day Interrupt):Chương trình trong khối đã được tiến hành khi cực hiếm của đồng hồ đeo tay thời gian thực phía trong một khoảng thời hạn đã được quy định. OB10 rất có thể gọi một đợt ,nhiều lần bí quyết đều nhau từng phút, từng giơ,từng ngày ….Việc biện pháp khoảng thời hạn hay số lần call OB10 được tiến hành nhờ chương trình hệ thống SFC28 hoặc trong bảng tham số của module CPU nhờ ứng dụng Step 7.OB20 ( Time Day Interrupt): lịch trình trong khối đang được tiến hành sau một khoảng thời gian trễ đặt trước kể từ lúc gọi chương trình hệ thống SFC32 nhằm đặt thời gian trễ.OB35 (Cyclic Interrupt): chương trình trong OB35 đã được tiến hành cách những nhau 1 khoảng thời hạn cố định.Mặc định khoảng thời gian này vẫn là 100ms,xong ta bao gồm thể biến đổi nó trong bảng thông số của module CPU ,nhờ ứng dụng Step7.OB40 (Hardware Interrupt) : lịch trình trong OB vẫn được tiến hành khi xuất hiện 1 biểu thị báo ngắt từ ngoại vi đưa vào module CPU trải qua các cổng vào ra số onboard sệt biệt,hoặc trải qua các module SM,CP,FM OB80 (Cycle Time Fault): công tác trong khối OB80 đang được triển khai khi thời gian vòng quét(Scan time) vượt quá khoảng thời gian cực đại đã được luật hoặc khi tất cả một dấu hiệu ngắt gọi một khối OB nào đó mà khối OB này chưa dứt ở lần gọi trước.Mặc định thời hạn Scan time cực đại là 150ms ,nhưng bao gồm thể biến đổi nó thông qua bảng thông số của module CPU nhờ ứng dụng Step 7.OB81 (Power Supply fault): CPU sẽ điện thoại tư vấn chương trình vào khối OB81 lúc phát hiện nay thấy gồm lỗi về mối cung cấp nuôi.OB82( Diagnostic Interrupt):Chương trình trong OB82 được call khi CPU phát hiện tại sự chũm từ những Modul vào raOB85( Not Load fault):Chương trình vào OB82 được hotline khi CPU phát hiện nay thấy chương trình áp dụng có sử dụng chế độ ngắt nhưng chương trình sử lí biểu đạt ngắt lại không có trong khối OB tương ứng.OB87 ( Communication fault):Khối OB87 sẽ được gọi lúc CPU phát hiện nay thấy lỗi trong media ví dụ như không có tín hiệu vấn đáp từ các đối tác.OB100 ( Start Up Information):Khối OB100 vẫn được thực hiện 1 lần lúc CPU đưa trạng thái Stop sang Run.OB121 ( Synchronous error):Khối OB121 sẽ tiến hành gọi khi CPU phát hiện tại thấy lỗi xúc tích trong công tác như thay đổi sai kiểu tài liệu hoặc lỗi truy tìm nhập khối DB ,FC,FB không có trong bộ lưu trữ CPU.OB122 ( Synchronous error):Khối OB122 sẽ được gọi khi CPU phát hiện thấy lỗi truy cập module trong chương trình,ví dụ chương trình tất cả lệnh tầm nã nhập module vào ra không ngừng mở rộng nhưng lại không tìm kiếm thấy module này.SFB: System Function block
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *