5IEC61131-3編程標準_第1頁
5IEC61131-3編程標準_第2頁
5IEC61131-3編程標準_第3頁
5IEC61131-3編程標準_第4頁
5IEC61131-3編程標準_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、自動化新技術IEC61131-3編程標準編程標準 2020/12/15 1IEC61131-3編程標準編程標準介紹及特點介紹及特點IEC(International Electrotechnical Commission)61131-3是是 IEC 61131國際標準的第三部分國際標準的第三部分,是第一個為工業(yè)自動化控制系統(tǒng)的軟件設計提是第一個為工業(yè)自動化控制系統(tǒng)的軟件設計提供標準化編程語言的國際標準。供標準化編程語言的國際標準。 國際上承認的標準國際上承認的標準 逐步的在不遠的將來所有供應商將采用它逐步的在不遠的將來所有供應商將采用它 統(tǒng)一的結構統(tǒng)一的結構, 語言和操作處理方式將來自所有供應

2、商語言和操作處理方式將來自所有供應商 它節(jié)省你的時間它節(jié)省你的時間 統(tǒng)一的軟件模式和數(shù)據(jù)類型概念統(tǒng)一的軟件模式和數(shù)據(jù)類型概念 對來自不同的對來自不同的PLC類型你只需學習一次類型你只需學習一次 減少了誤解和錯誤減少了誤解和錯誤 標準的函數(shù)和功能塊標準的函數(shù)和功能塊 測試軟件的可重復使用性測試軟件的可重復使用性 2020/12/15 2IEC61131-3編程標準編程標準介紹及特點介紹及特點 支持安全和高質(zhì)量編程設計支持安全和高質(zhì)量編程設計 輕松和舒適的結構輕松和舒適的結構 數(shù)據(jù)類型避免了編程錯誤數(shù)據(jù)類型避免了編程錯誤 對每個問題提供了最佳編程語言對每個問題提供了最佳編程語言 一致的一致的 6

3、種編程語言規(guī)范種編程語言規(guī)范 文本和圖形語言文本和圖形語言 高級語言的可用性高級語言的可用性 不同語言混合編程不同語言混合編程 2020/12/15 3IEC61131-3編程標準編程標準介紹及特點介紹及特點 軟件軟件-, 通訊通訊- 和和 編程編程-模式模式 6 種內(nèi)部連接編程語言的定義種內(nèi)部連接編程語言的定義 四四種文本和兩種圖形語言的語法和語句種文本和兩種圖形語言的語法和語句: 指令表指令表 (IL), 結構化文本結構化文本 (ST), 梯形圖梯形圖 (LD) 和功能塊圖和功能塊圖(FBD) 順序功能圖順序功能圖 (SFC) -為組建程序為組建程序結構結構 連續(xù)功能圖(連續(xù)功能圖(CFC

4、) 2020/12/15 4IEC61131-3編程標準編程標準主要特性主要特性良好的結構良好的結構 從上至下或從底向上的編程從上至下或從底向上的編程 以程序組織單元為單位以程序組織單元為單位 (POUs) Program Organization Unit 逐級構建程序逐級構建程序強大的數(shù)據(jù)類型測定強大的數(shù)據(jù)類型測定 編譯器探測不同數(shù)據(jù)類型的分配編譯器探測不同數(shù)據(jù)類型的分配 減少編程錯誤減少編程錯誤 2020/12/15 5IEC61131-3編程標準編程標準主要特性主要特性全執(zhí)行控制全執(zhí)行控制不同的任務具有不同的執(zhí)行循環(huán)時間及不同的任務優(yōu)先級不同的任務具有不同的執(zhí)行循環(huán)時間及不同的任務優(yōu)先

5、級復雜的流程控制復雜的流程控制 功能流程圖功能流程圖 具有步驟具有步驟, 動作和轉(zhuǎn)移的流序動作和轉(zhuǎn)移的流序 可選分枝和同步分枝流程可選分枝和同步分枝流程 2020/12/15 6IEC61131-3編程標準編程標準主要特性主要特性數(shù)據(jù)結構數(shù)據(jù)結構靈活的語言選擇靈活的語言選擇 兩種文本語言(兩種文本語言(IL,ST) 三種圖形語言三種圖形語言 (FBD,LD,SFC) 針對問題選擇適當?shù)恼Z言針對問題選擇適當?shù)恼Z言 用戶定義數(shù)據(jù)元素用戶定義數(shù)據(jù)元素 包含不同的基本的或用戶定義的數(shù)據(jù)元素包含不同的基本的或用戶定義的數(shù)據(jù)元素 通過自己的通過自己的POU傳遞數(shù)據(jù)結構傳遞數(shù)據(jù)結構 獨立于供應商獨立于供應商

6、 服從服從 IEC 61131-3標準標準 基本層鑒定基本層鑒定 (PLCopen) 輸入輸入/輸出接口輸出接口 2020/12/15 7IEC61131-3編程標準編程標準軟件模型軟件模型 2020/12/15 8IEC61131-3編程標準編程標準軟件模型說明軟件模型說明配置配置 Configuration 最高層,最高層,描述了整個控制系統(tǒng)的架構。描述了整個控制系統(tǒng)的架構。 一個配置可被比作一個可編程控制器系統(tǒng)。一個配置可被比作一個可編程控制器系統(tǒng)。在一個配置里可以定義一個或幾個資源。在一個配置里可以定義一個或幾個資源。 在在TwinCAT 中中 一個或多個一個或多個PLC資源資源 Re

7、sources 一個配置有一個或多個資源一個配置有一個或多個資源 “實質(zhì)實質(zhì)” PLC: 自己的全局變量自己的全局變量, POU, 任務等任務等. 在在 TwinCAT: 就是一個就是一個 PLC 運行核運行核 (Runtime)任務任務 Task 對一個相關程序的周期的執(zhí)行對一個相關程序的周期的執(zhí)行,實施控制單元實施控制單元 一個資源有一個或多個任務一個資源有一個或多個任務 有優(yōu)先級時序排列(有優(yōu)先級時序排列(03,共四個級別),共四個級別) 優(yōu)先權和循環(huán)時間優(yōu)先權和循環(huán)時間 任務調(diào)用一個或多個程序任務調(diào)用一個或多個程序 任務決定了所關聯(lián)程序的時間調(diào)任務決定了所關聯(lián)程序的時間調(diào)度。度。 20

8、20/12/15 9IEC61131-3編程標準編程標準軟件模型說明軟件模型說明程序程序 Program程序,是根據(jù)控制器過程的需要,包含了函數(shù)和功能塊的一個邏輯組合的程序,是根據(jù)控制器過程的需要,包含了函數(shù)和功能塊的一個邏輯組合的POU。任務調(diào)用程序任務調(diào)用程序 程序調(diào)用功能塊和函數(shù)程序調(diào)用功能塊和函數(shù)TwinCAT: 程序調(diào)用其它程序程序調(diào)用其它程序功能塊功能塊 FBD 程序調(diào)用功能塊程序調(diào)用功能塊 功能塊可調(diào)用功能塊或函數(shù)功能塊可調(diào)用功能塊或函數(shù) FB 有輸入有輸入, 輸出變量輸出變量 FB 有運算法則有運算法則:每次每次FB被執(zhí)行被執(zhí)行,就是運行一段程序編碼就是運行一段程序編碼函數(shù)函數(shù)

9、Function 程序或功能塊可調(diào)用函數(shù)程序或功能塊可調(diào)用函數(shù) 函數(shù)有輸入變量函數(shù)有輸入變量, 和一個輸出變量和一個輸出變量 函數(shù)有運算法則函數(shù)有運算法則:每次函數(shù)被執(zhí)行每次函數(shù)被執(zhí)行,就是運行一段程序編碼就是運行一段程序編碼 函數(shù)可以調(diào)用另外的函數(shù),但不能調(diào)用功能函數(shù)可以調(diào)用另外的函數(shù),但不能調(diào)用功能塊塊 2020/12/15 10IEC61131-3編程標準編程標準軟件模型說明軟件模型說明功能塊功能塊FB與函數(shù)的區(qū)別與函數(shù)的區(qū)別FB: 例程例程, 全部數(shù)據(jù)分配內(nèi)存地址全部數(shù)據(jù)分配內(nèi)存地址 函數(shù)函數(shù): 沒有指定的內(nèi)存分配地址沒有指定的內(nèi)存分配地址 FB: 多個輸出變量或沒有輸出變量多個輸出變

10、量或沒有輸出變量函數(shù)函數(shù): 一個輸出變量一個輸出變量FB:可調(diào)用功能塊或函數(shù):可調(diào)用功能塊或函數(shù)函數(shù)函數(shù):可調(diào)用函數(shù),但不能調(diào)用功能塊可調(diào)用函數(shù),但不能調(diào)用功能塊 2020/12/15 11IEC61131-3編程標準編程標準變量說明變量說明全局變量與局部變量全局變量與局部變量 局部變量局部變量 變量在一個變量在一個POU (程序程序, 功能塊或函數(shù)功能塊或函數(shù))中定義說明中定義說明. 只能在這個只能在這個POU中訪問中訪問全局變量全局變量 變量在一個資源變量在一個資源(PLC 運行核運行核-runtime)中定義說明中定義說明 每個每個POU都可訪問都可訪問 2020/12/15 12IEC

11、61131-3編程標準編程標準變量說明變量說明直接描述的變量直接描述的變量 具有具有固定地址的變量固定地址的變量 地址:輸入地址:輸入 (I), 輸出輸出 (Q) , 標記標記 (M) 類型:位類型:位 (X), 字節(jié)字節(jié) (B), 字字 (W) , 雙字雙字 (D) 例如例如: %IW12, %QX1.1, %MB5變量的定義變量的定義 2020/12/15 13IEC61131-3編程標準編程標準變量說明變量說明變量命名規(guī)則變量命名規(guī)則 字母不分大小寫字母不分大小寫 (abc = Abc = ABC)第一個字符不能是數(shù)字第一個字符不能是數(shù)字 不能連續(xù)使用多于一個的下劃線不能連續(xù)使用多于一個

12、的下劃線 (_) 允許的允許的: ab_c, AB_de, _AbC 不允許的不允許的: 1abc, _abc, a_bc 頭頭 32 個字符有意義個字符有意義特殊字特殊字( 如如 FUNCTION) 被保留被保留語法術語關鍵字總是大寫字母語法術語關鍵字總是大寫字母 不能使用語法術語關鍵字作標識符不能使用語法術語關鍵字作標識符 2020/12/15 14IEC61131-3編程標準編程標準變量說明變量說明注釋注釋 注釋語用注釋語用 (* 和和 *) 框住框住 可將注釋語放在任何地方可將注釋語放在任何地方, 但不能插在語句中但不能插在語句中 注釋語允許幾行表示注釋語允許幾行表示 注釋語不允許嵌套

13、注釋語不允許嵌套 2020/12/15 15IEC61131-3編程標準編程標準數(shù)據(jù)類型數(shù)據(jù)類型基本數(shù)據(jù)類型基本數(shù)據(jù)類型 數(shù)據(jù)類型有數(shù)據(jù)類型有布爾值,布爾值,整數(shù)整數(shù), 浮點數(shù)浮點數(shù), 位和位組位和位組, 時間和日期值和字符串時間和日期值和字符串BOOL值值 布爾值變量取值布爾值變量取值TRUE或或FALSE,占用,占用8位內(nèi)存空間位內(nèi)存空間浮點數(shù)據(jù)類型浮點數(shù)據(jù)類型REAL 和和 LREAL 被稱為浮點數(shù)類型。用于有理數(shù)表示。被稱為浮點數(shù)類型。用于有理數(shù)表示。REAL 占用占用32位內(nèi)存空間,位內(nèi)存空間,LREAL 占用占用64位。位。 數(shù)值可以用二進制、八進制、十進制和十六進制數(shù)表示。示例:

14、數(shù)值可以用二進制、八進制、十進制和十六進制數(shù)表示。示例: 14 (十進制數(shù)十進制數(shù)) 2#1001_0011 (二進制數(shù)二進制數(shù)) 8#67 (八進制數(shù)八進制數(shù)) 16#A (十六進制數(shù)十六進制數(shù))基本數(shù)據(jù)類型基本數(shù)據(jù)類型 2020/12/15 16IEC61131-3編程標準編程標準數(shù)據(jù)類型數(shù)據(jù)類型整形數(shù)據(jù)類型整形數(shù)據(jù)類型當用大類型轉(zhuǎn)換為小類型時,將導致丟失信息。當用大類型轉(zhuǎn)換為小類型時,將導致丟失信息。 2020/12/15 17IEC61131-3編程標準編程標準數(shù)據(jù)類型數(shù)據(jù)類型時間數(shù)據(jù)類型時間數(shù)據(jù)類型占用占用32位內(nèi)存位內(nèi)存 允許溢出允許溢出 (例如例如 25 小時小時) 使用使用d

15、表示天表示天, h 表示小時表示小時, m 表示分表示分, s 表示秒和表示秒和 ms 表示毫秒表示毫秒 在文字前加在文字前加 TIME#, t# 或或 T# 可使用下劃線可使用下劃線 (_) 作單元分隔作單元分隔 T#2d_26h_4m_12s_123ms日期和時間類型日期和時間類型DATE 日期日期32 用用 TIME_OF_DAY# 或或 TOD# 表示一天中的時間表示一天中的時間 用用 DATE_AND_TIME# 或或 DT# 表示日期和時間表示日期和時間 用用 DATE# 或或 D# 表示日期表示日期 日期日期: D#1998-12-07表示表示 7th July 1998 一天中

16、的時間一天中的時間:TOD#12:00:00.123日期和時間日期和時間: DT#1998-12-07-12:00:00.123 2020/12/15 18IEC61131-3編程標準編程標準數(shù)據(jù)類型數(shù)據(jù)類型字符串數(shù)據(jù)類型字符串數(shù)據(jù)類型STRING 字符串字符串 取決于字符長度(取決于字符長度(N+1)Byte如果大小不聲明的話缺省值為如果大小不聲明的話缺省值為80個字符個字符用用 引括字符引括字符 用用 $ 插到特殊字符前插到特殊字符前 (換行換行$L , 制表制表$T等等)字符串表示字符串表示:this is a line feed character $L空字符串空字符串: 2020/1

17、2/15 19IEC61131-3編程標準編程標準數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換 2020/12/15 20IEC61131-3編程標準編程標準用戶自定義數(shù)據(jù)類型用戶自定義數(shù)據(jù)類型數(shù)組數(shù)組 數(shù)組例子:數(shù)組例子: test AT %I* : ARRAY1.10 OF BOOL;支持一維、二維和三維數(shù)組的成員數(shù)據(jù)類型。數(shù)組可在支持一維、二維和三維數(shù)組的成員數(shù)據(jù)類型。數(shù)組可在POU的聲明部分和全局變量的聲明部分和全局變量表中定義。表中定義。數(shù)組初始化示例:數(shù)組初始化示例: arr1 : ARRAY 1.5 OF INT := 1,2,3,4,5;arr2 : ARRAY 1.2,3.4 O

18、F INT := 1,3(7); (* 等同等同 1,7,7,7 *) arr3 : ARRAY 1.2,2.3,3.4 OF INT := 2(0),4(4),2,3; (* 等同等同0,0,4,4,4,4,2,3 *) 指針指針當程序運行時,變量或功能塊地址保存在指針中。指針聲明為如下句法形式:當程序運行時,變量或功能塊地址保存在指針中。指針聲明為如下句法形式: : POINTER TO ; 指針可指向任何數(shù)據(jù)類型、功能塊和用戶定義的數(shù)據(jù)類型。對地址操作的指針可指向任何數(shù)據(jù)類型、功能塊和用戶定義的數(shù)據(jù)類型。對地址操作的 ADR 功能,功能,可將變量或功能塊的地址指向指針??蓪⒆兞炕蚬δ軌K的

19、地址指向指針。指針后加內(nèi)容操作符指針后加內(nèi)容操作符”可取出指針中的數(shù)據(jù)??扇〕鲋羔樦械臄?shù)據(jù)。 2020/12/15 21IEC61131-3編程標準編程標準用戶自定義數(shù)據(jù)類型用戶自定義數(shù)據(jù)類型枚舉枚舉句法:句法: TYPE :( , .,);END_TYPE 牧舉變量可以取牧舉值中的任何一個值。缺省情況下,第一個牧舉值為零,其后依次遞增。牧舉變量可以取牧舉值中的任何一個值。缺省情況下,第一個牧舉值為零,其后依次遞增。結構結構結構聲明的句法如下:結構聲明的句法如下: TYPE : STRUCT . . END_STRUCT END_TYPE 2020/12/15 22IEC61131-3編程標準

20、編程標準用戶自定義數(shù)據(jù)類型用戶自定義數(shù)據(jù)類型參考參考可以使用用戶定義的參考數(shù)據(jù)類型,創(chuàng)建已經(jīng)更名的變量、常數(shù)或功能塊??梢允褂糜脩舳x的參考數(shù)據(jù)類型,創(chuàng)建已經(jīng)更名的變量、常數(shù)或功能塊。句法:句法: TYPE : ; END_TYPE示例:示例: TYPE message:STRING50; END_TYPE; 2020/12/15 23IEC61131-3編程標準編程標準編程語言編程語言編程語言編程語言 6 種內(nèi)部編程語言種內(nèi)部編程語言 四四種文本和兩種圖形語言的語法和語句種文本和兩種圖形語言的語法和語句: 指令表指令表 (IL), 結構化文本結構化文本 (ST), 梯形圖梯形圖 (LD) 和

21、功能塊圖和功能塊圖(FBD) 順序功能圖順序功能圖 (SFC) -為組建程序為組建程序結構結構 連續(xù)功能圖(連續(xù)功能圖(CFC) 2020/12/15 24IEC61131-3編程標準編程標準編程語言編程語言IL指令表指令表 低級語言(類似匯編程序)低級語言(類似匯編程序) 面向累加器的面向累加器的 每行只允許一個操縱每行只允許一個操縱, 如存儲一個值到累加寄存器如存儲一個值到累加寄存器 用跳轉(zhuǎn)和標號控制流程用跳轉(zhuǎn)和標號控制流程指令表指令表(IL)由一系列指令組成。每條指令都由一個新行開始,包含一個操作符由一系列指令組成。每條指令都由一個新行開始,包含一個操作符以及和操作符類型相關的一個或多個

22、操作數(shù),并用逗號分開。在指令前可以以及和操作符類型相關的一個或多個操作數(shù),并用逗號分開。在指令前可以有標號,后接一個冒號。有標號,后接一個冒號。注解必須在一行的最后,指令之間可以插入空行。注解必須在一行的最后,指令之間可以插入空行。 2020/12/15 25IEC61131-3編程標準編程標準編程語言編程語言IL指令表指令列表指令表指令列表 2020/12/15 26IEC61131-3編程標準編程標準編程語言編程語言IL指令表修飾符指令表修飾符 2020/12/15 27IEC61131-3編程標準編程標準編程語言編程語言結構化文本結構化文本ST語言語言ST 語言的優(yōu)點語言的優(yōu)點 (與與

23、IL 語言相比較語言相比較): 高級語言高級語言 (類似類似 PASCAL) 復雜公式復雜公式 (賦值命令賦值命令) 具有條件和反復陳述的流控具有條件和反復陳述的流控 用制表符和注釋使得編碼易讀用制表符和注釋使得編碼易讀ST語言缺點:語言缺點:由于它借助于編譯程序自動地執(zhí)行程序,因此用戶不能直接影響其翻譯成機器碼。由于它借助于編譯程序自動地執(zhí)行程序,因此用戶不能直接影響其翻譯成機器碼。 高度抽象導致效率降低高度抽象導致效率降低(通常,編譯程序的時間更長且執(zhí)行速度更慢通常,編譯程序的時間更長且執(zhí)行速度更慢) ST 語言不包括跳轉(zhuǎn)指令語言不包括跳轉(zhuǎn)指令 (GOTO) 2020/12/15 28IE

24、C61131-3編程標準編程標準編程語言編程語言ST語言命令表語言命令表 2020/12/15 29IEC61131-3編程標準編程標準編程語言編程語言ST語言命令表語言命令表 2020/12/15 30IEC61131-3編程標準編程標準編程語言編程語言功能塊功能塊FBD 圖形表示圖形表示 FB, 函數(shù)和程序以及它們的相互關聯(lián)圖函數(shù)和程序以及它們的相互關聯(lián)圖 全圖形式全圖形式 塊圖塊圖 “線連線連“ 在一起在一起 允許跳轉(zhuǎn)和返回允許跳轉(zhuǎn)和返回 2020/12/15 31IEC61131-3編程標準編程標準編程語言編程語言梯形圖梯形圖LD 繼電器梯形圖繼電器梯形圖, 利于復雜的利于復雜的 AND 和和 OR 邏輯網(wǎng)圖邏輯網(wǎng)圖 左端垂直電源線連帶觸點

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論