




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、tWinCAT PLC 編 程 手 冊2.7 版 本IEC 61131-3 PLC 編程語言德國倍福電氣北京代表處 TOC o 1-3 1.TWinCAT PLC 概 述 PAGEREF _Toc58142883 h 32.TWinCAT PLC 要 點 PAGEREF _Toc58142884 h 52.1. 程 序 的 組 成 部 分 PAGEREF _Toc58142885 h 52.3.調試,在線功能 PAGEREF _Toc58142886 h 172.4.標準 PAGEREF _Toc58142887 h 183.讓我們寫一段小程序 PAGEREF _Toc58142888 h 1
2、94.TWinCAT PLC 的詳細組成局部 PAGEREF _Toc58142889 h 304.1.操作工程 PAGEREF _Toc58142890 h 304.2.操作目標 PAGEREF _Toc58142891 h 424.3.常用編輯命令 PAGEREF _Toc58142892 h 454.4.常用在線命令 PAGEREF _Toc58142893 h 464.5.關于視圖 PAGEREF _Toc58142894 h 534.6.編排窗口 PAGEREF _Toc58142895 h 544.7.求助信息 ! PAGEREF _Toc58142896 h 555.TWinCA
3、T PLC編輯器 PAGEREF _Toc58142897 h 575.1.說明語句編輯器 PAGEREF _Toc58142898 h 575.2.文本編輯器常用功能 PAGEREF _Toc58142899 h 605.3.指令表編輯器 PAGEREF _Toc58142900 h 645.4.結構化文本編輯器 PAGEREF _Toc58142901 h 665.5.圖形編輯器 PAGEREF _Toc58142902 h 765.6.功能塊圖編輯器 PAGEREF _Toc58142903 h 775.7. 梯形圖編輯器 PAGEREF _Toc58142904 h 815.8. 用L
4、D編寫的一個POU: PAGEREF _Toc58142905 h 815.9. 順序功能流程圖編輯器 PAGEREF _Toc58142906 h 855.10. 用SFC編寫的一個POU: PAGEREF _Toc58142907 h 855.11. PLC組態 PAGEREF _Toc58142908 h 915.12. 全局變量 PAGEREF _Toc58142909 h 915.13. 庫管理器 PAGEREF _Toc58142910 h 935.14. 變量觀測窗口 PAGEREF _Toc58142911 h 945.15. 采樣跟綜 PAGEREF _Toc58142912
5、 h 955.16. 任務編輯器 PAGEREF _Toc58142913 h 996.可視化 PAGEREF _Toc58142914 h 1017. DDE接口 PAGEREF _Toc58142915 h 1048.附錄 PAGEREF _Toc58142916 h 105A.鍵盤操作 PAGEREF _Toc58142917 h 105B.IEC運算 PAGEREF _Toc58142918 h 105B.1.算術運算 PAGEREF _Toc58142919 h 105B.2.位串運算 PAGEREF _Toc58142920 h 107B.3.選擇函數 PAGEREF _Toc58
6、142921 h 108B.4.比擬函數 PAGEREF _Toc58142922 h 110B.5.地址函數 PAGEREF _Toc58142923 h 113B.6.調用操作符CAL PAGEREF _Toc58142924 h 113C.標準的庫函數 PAGEREF _Toc58142925 h 113C.1.類型轉換函數 PAGEREF _Toc58142926 h 113C.2.數值函數 PAGEREF _Toc58142927 h 114C.3.位移函數 PAGEREF _Toc58142928 h 116C.4.字符串功能 PAGEREF _Toc58142929 h 117C
7、.5.雙穩態功能塊 PAGEREF _Toc58142930 h 120C.6.邊沿檢測 PAGEREF _Toc58142931 h 121C.7.計數器 PAGEREF _Toc58142932 h 122C.8.計時器 PAGEREF _Toc58142933 h 123D.TWinCAT PLC中的操作數 PAGEREF _Toc58142934 h 126E. 錯誤信息參考 PAGEREF _Toc58142935 h 1301.TWinCAT PLC 概 述TWinCAT PLC是什么?TWinCAT PLC 是 一 個 完 整 的 用 于 邏 輯 控 制 器 的 開 發 系 統。
8、TWinCAT PLC 具 有 功 能 強 的 語 言 結 構, 符 合IEC 國 際 標 準。這 些 使 你 易 于 進 行 程 序 的 開 發。 就 像Visual C+ 一 樣,具有高 級 語 言 編 程 系 統的開發 環 境 ,可為編 輯器 的 操 作 和 調 試 功 能設 置 模式。程序的結構是什么? 所 有 的 項 目 數 據 存 在 一 個 有 項 目 名 稱 的 文 件 中。 一 個 新 項 目 的 第 一 個POU, 系 統 會 自 動 地 給 定 名 稱MAIN, 這 是 程 序 的 起 點。 在 C 程 序 中, 這 是 一 個 主 函數。 從 這 里 開 始, 你 可
9、以 調 用 其 它 的POUs 程 序, 功 能 塊 和 函數。TWinCAT PLC 區 分 一 個 項 目 中 的 三 種 不 同 目 標 :POUs, 結 構 和 可 視 化 元 素。 利 用 這 些 目 標, 你 可 以 創 建 你 的 項 目。 在 目 標 表 中, 你 可 以 看 到 你 的 項 目 目 標 。 怎樣寫程序?首 先, 當 你 開 始 開 發 一 個 新 程 序 時, 你 必 須 對 你 的 硬 件 系 統 進 行 組 態。 這 對 于 檢 查 使 用 的 地 址 是 否 正 確 是 必 要 的。現在 你 可 以 對 你 的 問 題 組 態 必 要 的POUs。 然
10、后, 你 開 始 用 你 選 擇 的 語 言 對 你 的POUs 進 行 編 程。在 編 輯 完 項 目 的 所 有 目 標 后, 編 譯 你 寫 的 程 序 并 去 掉 語 法 錯 誤。怎樣測試程序 ?當 修 正 了 程 序 中 的 所 有 語 法 錯 誤 后, 你 可 以 轉 換 到 仿真模 式, 登 錄 到 仿真控 制 器 中, 并 把 你 的 項 目 裝 入 到 控 制 器 里, 現 在,TWinCAT PCL 以 在 線 方 式 運 行。你 可 以 打 開 圖 形 硬 件 組 態 窗 口, 強 制 給 定 輸 入, 然 后 觀 察 輸 出。 在 每 個POU 的 說 明 語 句 部
11、分 以 及 全 局 變 量 表 中, 你 能 夠 看 到 項 目 數 據 的 當前值, 你 也 可 以 去 寫, 強 制 給 定 數 值。 在 另 一 個 觀 察 窗 口 中, 你 可 以 組 態 你 想 要 檢 查 的 數 據 單 元。用TWinCAT PLC進行調試在 發 生 程 序 錯 誤 的 地 方, 你 可 以 設 置 中 斷 點。 程 序 停 止 執 行 后, 你 可 以 在 這 個 中 斷 點 上 檢 查 所 有 的 程 序 數 據。 單 步 功 能 允 許 你 一 步 一 步 地 檢 查 程 序 的 邏 輯 是 否 正 確。進一步的在線功能TWinCAT PLC 支 持 進 一
12、 步 的 調 試 功 能。 允 許 按 照 一 定 數 值 強 制 改 變 程 序 變 量 和 輸 入/ 輸 出 值。 流 程 控 制 使 你 能 夠 檢 查 哪 一 行 程 序 被 執 行, 并 且 當 運行 編 碼 時, 向 你 顯 示 該 行 所用 的 每 個 變 量 的 數 值。采 樣 跟 綜 用 于 跟 綜 變 量 并 以 曲 線 方 式 顯 示 數 值。在 編 寫 和 測 試 程 序 后, 你 可 以 把 程 序 下 裝 到 你 的 硬 件 系 統 中, 并 繼 續 測 試。 這 時, 像 用 模 擬 方 式 調 試 一 樣,你可用 同 樣 的 調 試 方 法。TWinCAT PL
13、C的其它功能在 任 何 時 候, 可 以 將 整 個 項 目 存 檔 或 輸 出 到 一 個 文 本 文 件 中。總 結TWinCAT PLC 是 一 個 完 整 的 用 于 邏 輯 控 制 器 的 開 發 系 統。 使 用TWinCAT PLC, 使 你 大 大減 少 開 發 應 用 軟 件 所 需 要 的 時 間。2.TWinCAT PLC 要 點為了便于你掌握TWinCAT PLC, 請閱讀下面的根本TWinCAT PLC術語表:2.1. 程 序 的 組 成 部 分 項 目Project)一個工程包括控制器程序的所有目標,保存在有工程名稱的文件中。一個文件由以下目標組成:PLCConfi
14、guration, Tasks, POUS, 結構,全局變量表,庫,觀測 變量,可視化元素。 編 程 組 織 單 元 (POUs)XE POUPOUs由函數,功能塊和程序構成。每個POU 由說明語句局部和語體組成。語體用IEC 編 程 語 言 編 寫:指令表Instruction List (IL), 結構化文本Structured Text(ST), 功能塊圖Function Block Diagram (FBD), 梯形圖Ladder Diagram (LD) 或順序功能流程 圖Sequential Function Chart (SFC).TWinCAT PLC 支持所有的IEC 標 準
15、POUs。POUs 可以調用其它POUs. 然而,被調用的POUs 不允許再 調用其它的POUs. 函數 (Function)XE Function 一 種函數是一個POU,當執行這種函數時,它精確地提供一個數 據元素 也 可以像數列或結構數據那樣由多個數據元素組成。 一種函數總是用一定的形式來說明。 即: 在 功 能名稱的后面是一個冒號和類型符。一個正確的函數說明語句如下: FUNCTION Fct:INT另外,一個數值被分配給函數。即,函數名稱可以像一個輸出變量那樣使用。函數數值必須與它的說明類型相一致。下列圖舉例說明函數FBD-Example。該函數用FBD語言編寫,有三個BOOL輸入和
16、一個BOOL輸出:圖2.1.1功能在ST語言中,調用一個函數,如同使用一個表達式中的操作數。函數不含有內部的狀態信息。這就是說,調用具有相同自變量輸入參數的一個函數,總是產生相同的數值輸出。舉例調用上面所描述的函數:用 IL 語言編寫XE ILXE Instruction List:LD7FBD_Example2,4STResult用 ST語言編寫XE STXE Structured Text:Result := FBD_Example(7, 2, 4);用 FBDXE FBDXE Function Block Diagram 語言,可這樣調用功能 :在SFC語言中,一個功能公可以在一步或一個
17、轉換內調用。功能塊Function Block) 一個功能塊是一個POU,當執行該功能時,它產生一個或多個數值。功能塊沒有類型說明。XE function block功能塊的例程Instances of Function BlocksXE function block, InstanceXE instance一個功能塊可以產生多個以不同名稱命名的例程。每一例程都有一個相關的標識符例程名稱,還有一個數據結構,該數據結構包含有輸出,輸入和內部變量。像變量一樣,功能塊例程可被定義在局部變量表中。其方法是用標識符表示,用功能塊名稱作為類型。下面是功能塊FUB,例程名稱為INSTANCER :INSTA
18、NCE: FUB;一個功能塊的所有數值保持到下一次功能塊執行之前。因此,調用同樣的功能塊,盡管它們有相同的自變量輸入變量,但是,功能塊的輸出值并不總是相同。下列圖是一個名稱為IL_EXAMPLE的功能塊,用IL語言編寫,有一個輸入變量,二個輸出變量。圖 2.1.2. 功能塊調用功能塊的方法,是使用功能塊的例程名稱。訪問功能塊變量的方法,是輸入功能塊的例程名稱,其后是一個點和變量名。下面舉例說明怎樣調用上圖描述的功能塊ILEXAMPLE。用 IL語言編寫XE ILXE Instruction List:圖 2.1.3. 用IL語言調用一個功能塊用ST語言調用同樣的功能塊XE ST:圖 2.1.4
19、. 用ST語言調用一個功能塊用 FBD語言調用功能塊:XE FBD圖2.1.5. 用FBD語言調用一個功能塊在SFC語言中,僅可以在步驟或傳送內調用功能塊。有關功能塊用法的舉例見第三章。程序XE Program一個程序就是一個POU。當執行該程序時,它產生一個或多個數值。不允許像功能塊那樣產生一個程序的例程見功能塊。一個程序的所有數值保持到下一次執行程序之前。一個簡單程序舉例:圖 2.1.6. 程序在程序和功能塊內,可以調用程序。在一個函數內不允許調用程序。不存在程序例程。如果一個POU調用一個程序并且改變了程序的數值,這些變化將保持到下一次調用程序之前,即使是一個不同的POU調用該程序。這與
20、調用功能塊是不同的。調用功能塊的POU僅可以改變功能塊的某一例程的數值局部或全局數值舉例說明上面所描述的調用程序:用 IL語言編寫程序:CALPRGexample用 ST語言編寫程序:PRGexample;用 FBD語言編寫程序:MAIN名稱為MAIN的POU是一個特殊的程序。它是一個新工程中產生的第一個POU。在每個控制器運行周期中,這個POU被調用一次。如果你不使用任務(看5.14節),那么就決不能刪除這個POU,也不能給它重新命名!PLC 組態PLC Configuration) XE PLC Configuration XE library你可以使用PLC Configuration組
21、態你的控制器。為了檢查一個程序,有必要知道哪些地址是有效的。一個工程的有效地址在PLC Configuration中定義。庫Libraries) 你可以把一些庫與你的工程連接起來。像使用工程中所定義的POUs那樣來使用被連接庫中的POUs.庫Standard.Lib 包括所有IEC標準函數和功能塊,它是TWinCAT PLC的一個組成局部。結構Structure)XE Structure一個結構總是由多個根本的數據元素組成。一個結構的組成局部可以是任何類型的數組,其中包括結構。結構定義舉例:多邊形STRUCTStart:ARRAY (1.2) OF INT;Point1:ARRAY (1.2)
22、 OF INT;Point2:ARRAY (1.2) OF INT;Point3:ARRAY (1.2) OF INT;Point4:ARRAY (1.2) OF INT;End:ARRAY (1.2) OF INT;END_STRUCT任務XE Task 一個任務控制一些程序或功能塊狀態的運行。按照IEC11213國際標準的劃分,有周期任務,事件觸發任務和時間觸發任務。當使用任務時,不需要使用MAIN程序。2.2.編程語言指令表 Instruction List (IL)XE ILXE Instruction List指令表IL由一系列的指令組成。每條指令從新的一行開始,并根據操作指令,由操
23、作符,一個或多個操作數組成 ,這些操作數用逗號分開。一條指令可用一個標號引導。該標號由標號名和一個冒號組成。一條注釋必須是在一行的最后,兩條指令之間可以插入空行。舉例:LD17STlint(* Comment *)GE5JMPCnextLDidwordEQistruct.sdwordSTNtestnext:結構化文本 Structured Text (ST)XE STXE Structured Text結構化文本由一系列語句組成。這些語句可以有條件地“IFTHENELSE)或者重復地WHILEDO)執行。舉例:IF value 7 THENWHILE value 8 DOvalue := va
24、lue + 1;END_WHILE;END_IF;順序功能流程圖 Sequential Function Chart (SFC)XE SFCXE Sequential Function Chart順序功能流程圖是一種圖形語言。這種語言能使編程者按時間順序描述一個工程內的不同動作。用SFC語言編寫,用TWinCAT PLC SFC編輯器進行編輯的例子:圖2.2.1: 用SFC編寫的網絡步和動作 StepsXE Step and ActionsXE Action用SFC編寫的POU由一個步的序列組成(如圖2.21中的permanent,Init),這些步直接連接。這里所說的動作可附著在每一步上,A
25、ction意味著與動作有關的編碼。 傳送TransitionXE Transition步與步之間存在著傳送(如圖2.21中的TRUE,sin_test),一種條件被附著在轉換上,這種條件或是一個布爾變量,一個地址,或是一個有布爾結果的表達式,也可能是一個布爾常量(TRUE,FALSE).激活步Active StepXE active step當執行一個SFCPOU程序時,首先執行的動作是初始步雙邊框。當一個步的動作被執行時,稱該步為激活步。每個步有一個標記。這個標記存儲步的狀態.當步處于激活狀態時,標記為TRUE,否那么為FALSE。標記的標識符就是步的名稱。它在SFC-POU程序中被說明。執
26、行完一步后,接著執行下面的傳送。如果結果值是TRUE,那么激活下面的步,并在下一個處理器周期中執行。功能塊圖 (FBD) 功能塊圖是一種圖形編程語言。它由一個網絡序列組成。每個網絡含有一種結構,這種結構代表了一個邏輯或一個算術表達式,一個功能塊的調用,一個跳轉或一個返回語句(圖2.2.2). 用FBD編寫的典型的網絡例子:圖 2.2.2.:用FBD編寫的網絡梯形圖 Ladder Diagram (LD)XE LDXE Ladder Diagram梯形圖是一種圖形編程語言,類似于電路原理圖。一方面,你可以用LD語言去設計邏輯電路,另一方面,你可以用LD語言設計FBD所編寫的網絡。因此,你可以使用
27、LD語言去控制調用其它的POUs.觸點ContactsXE Contact梯形圖由一個網絡序列組成,在網絡的左側是觸點用二條并行的重線|表示,從左向右傳遞“ON或“OFF狀態。這些狀態與布爾值1或0相對應。與每個觸點相聯的是一個布爾變量。如果這個布爾變量是TRUE,那么觸點把左邊連接線的狀態傳遞到右邊連接線上。否那么,右邊連接線的狀態是OFF。觸點可并聯連接。在這種情況下,并行支路中的任一分支傳送數值ON就能使并行網絡傳送ON狀態。觸點也可以串行連接。在這種情況下,所有觸點必須傳送數值ON,才能使最后的觸點傳送ON狀態。這一點和電路圖中的并聯或串聯連接原理相一致。線圈CoilsXE “Coil
28、在梯形圖的右側是一個線圈網絡。這些線圈不能用水平線連接在一起。一個線圈能不加修改地考貝從線圈左側到右側的狀態,并把這一狀態值存入相聯的布爾變量中。當一個線圈為“非運算時,它把這一“非運算值存入一個相聯的布爾變量中。當一個觸點為“非運算時,只有與之相聯的布爾變量值為FALSE時,這個“非運算觸點才能傳送數值。用LD語言編寫的網絡例子.圖用LD語言編寫由觸點和線圈組成的網絡梯形圖中的連接XE Links in LD 網絡中的連接可以是水平的或垂直的。水平連接用水平線表示,水平連線將它左邊的元件狀態傳送到它右邊的元件。垂直連接用垂直線表示。垂直連線傳送如下狀態: -OFF, 位于垂線左側的所有水平連
29、線的狀態是OFF。-ON, 位于垂線左側的一條或多條水平連線的狀態是ON。梯形圖中的功能塊在梯形圖中,除了使用線圈和觸點外,你還可以插入功能塊和程序。被插入功能塊的第一個輸入和第一個輸出與梯形網絡相連接。因此,第一個輸入變量和第一個輸出變量必須是布爾型變量。功能塊可用在與觸點相同的位置上。這就是說,功能塊 梯形網絡的左側。置位/復位線圈線圈可定義為置位或復位線圈。一個置位線圈不能改變相關的布爾變量的TRUE值。這樣,一旦把變量設置為TRUE,那么置位線圈保持TRUE不變同樣地,復位線圈不能改變相關的布爾變量的FALSE值。這樣,一旦把變量設置為FALSE,那么復位線圈 保持FALSE不變。把L
30、D用作FBD XE EN-Input XE EN-Input 當使用LD語言工作時,你常希望用觸點網絡去控制調用其它的POUs程序。在這種情況下,你可以把一個線圈的結果值存入一個全局變量中,并在其它地方使用這個變量。你也可以使用這個結果值去直接調用一個FBD網絡。為此,你插入一個帶ENINPUT輸入端的元件。這種元件可以是一般運算,函數,功能塊或程序,它們帶有一個附加的輸入標記EN。這個ENINPUT數值總是布爾型,并且只有EN端為TRUE時型,并且只有EN端為TRUE時,才能調用該元件。一個EN元件與線圈并聯連接。ENINPUT端連接到觸點與線圈之間的連線上。當這條連線傳送ON狀態時, 才能
31、調用ENcomponent元件。從這樣一個ENcomponent元件開始,你可以像用FBD語言那樣去開發你的網絡。圖 2.2.4. 使用EN-operator運算元件的局部LD網絡。2.3.調試,在線功能采樣跟綜Sampling TraceXE Sampling Trace采樣跟綜使你有可能跟綜程序的數值變化過程,采樣跟綜依賴于所謂的觸發器事件。這就是事先定義的布爾變量觸發變量的下降或上升邊緣。TWinCAT PLC 使你能夠跟綜20個變量的500個數值。調試(Debugging)XE DebuggingTWinCAT PLC的調試功能幫助你找出程序中的邏輯錯誤。為了選擇調試功能,執行命令“P
32、rojectBuild Options,并在對話框中選擇 Debugging 選項、斷點BreakpointXE BreakpointTWinCATPLC支持中斷點的設置。當程序遇到中斷點時,停止執行。這時你可以查看中斷點處所有的程序數據即變量值。在所有的TWinCAT PLC編輯器中可以設置斷點。在文本編輯器中,可以在行號上 設置斷點。在FBD和LD中,中斷點設置在網絡號上。在SFC中,中斷點設置在步上。單步Single stepXE single step單步的含義:在 IL中: 程序一直執行,直到遇到下一個CAL,LD 或JMP指令。在 ST中: 執行下一個指令。在FBD, LD中:執行
33、下一個網絡。 在SFC中:執行下一步的動作。 通過步進方式,你可 以檢查程序的邏輯是否正確。單循環Single cycle如果選擇 Single Cycle選項,那么每次循環之后,程序停止執行。監視Monitoring)采用在線方式,在可視變量說明語句的后面,對控制器中的現行值進行監視。為了能夠監視可視變量,執行命令 ProjectBuild Options, 并在對話框中選擇Monitoring選項。 流程控制Flow Control XE Snap shot 采用快照的方法,通過定義快照區并產生快照,你可以顯示一個循環周期內的變量值。這樣,在不停止執行程序的情況下,快照區中的一行內的任一變
34、量都可采用現行值來進行監視。仿真SimulationXE Simulation采用仿真方式,用戶程序可以在PC機上運行,而代替PLC。在這種方式下,所有在線功能都在工作,不用任何硬件你就能夠對你的程序進行邏輯校驗。2.4.標準IEC1131-3XE IEC1131-3IEC 1131-3 是PLC編程語言的國際標準。TWinCAT PLC 提供了國際標準中所描述的所有編程語言。3.讓我們寫一段小程序現在我們來寫一段小程序。該程序用于控制交叉路口的兩盞交通燈。這兩盞交通燈將交替出現紅,綠階段。為了防止事故,我們將插入黃和黃/紅轉換階段。紅色和綠色階段要比黃色和黃/紅轉換階段持續的時間長。這個例子
35、將告訴你怎樣用IEC11313語言編寫時間控制的程序,以及怎樣用TWinCAT PLC編輯不同的語言。首先,起動TWinCAT PLC并選擇 FileNew 選項.建立POUsXE POU通過執行Project Add Object 命令來建立一個POU。 TWinCAT PLC 自動地把這個POU定名為MAIN,你不能改變這個名稱,也不能改變這個POUPRG的類型,因為每個工程需要一個名稱為MAIN的程序。我們選擇順序功能流程圖SFC來編寫這個POU。現在我們建立另外兩個目標。用功能塊圖FBD語言編寫的塊PHASES和用指令表(IL)編寫的功能塊POU WAIT。XE ILXE Instru
36、ction List.功能塊PHASES的用途 ?在PHASES中,交通燈的每個階段將變換為正確的顏色。這就是說,在紅色階段和黃/紅階段中,紅燈一直亮著,在綠色階段中,綠燈一直亮著,等等。功能塊WAIT的用途?WAIT功能塊是一個簡單的記時器。它有一個輸入,用微秒為單位記憶某一階段持續的時間,當時間到時,記時器變為TRUE。 PLC_PRG 的用途?PLC_PRG用適當的參數調用上述的兩個POUs,以便使交通杰在準確的時間點亮,并滿足所要求的時間間隔。PHASES 說明語句現在讓我們寫PHASE。在說明語句局部,你必須說明一個輸入變量STATE,其類型為INT在關鍵詞VARINPUT和ENDV
37、AR之間。STATE將有5個可能的狀態,也就是每一個階段有一個狀態綠,黃,黃/紅,紅和斷開。相應地,交通燈有四個輸出變量,名稱為RED,YELLOW,GREEN和斷開。請你按照圖3.1中所看到的那樣來說明這四個變量。 PHASES的說明語句局部如下圖:圖 3.1: 功能塊PHASES的說明語句局部 PHASES 文本現在我們根據輸入變量的狀態來確定輸出變量.為此,你用鼠標器在第一個網絡的網絡號上擊一下左邊的灰色區域,包括號碼0001。現在你已選擇了第一個網絡。選擇命令InsertOperator 在網絡中,將插入一個方塊,它的運算符為AND,有二個輸入.用你的鼠標器選擇AND,將其文本改為EQ
38、。現在把上面的TRUE改為STATE,下面的TRUE改為1。這樣你就建好了下面的網絡:在方塊右邊的任一位置擊一下。現在就選擇了運算的輸出。選擇Insert Assign.命令,把 result文本改為GREEN。現在你就編好了下面的網絡:STATE與1進行比擬,其結果。賦值GREEN:如果STATE值為1,那么網絡將使GREEN接通.我們需要別處三個網絡,用于其它的交通燈顏色和斷開狀態。使用InsertNetwork (after)命令建立網絡。你應按圖3.2所示的方法組態這些網絡。現在一個完整的POU如下列圖所示:圖3.2:功能塊 PHASES 的文本為了把一個運算器插到另一個運算器的左邊在
39、網絡2和3中是必要的,你必須在某個位置上擊一下,使新的運算器輸出與后面運算器的方塊相連接。現在你可以執行 InsertOperator ,命令接下來的工作就是像 個網絡那樣進行編輯.這樣就完成了第一個POU。根據輸入值STATE,PHASES控制交通 要求的顏色。 WAIT 說明語句現在讓我們開始對WAIT進行編碼.這個POU是一個記時器,用于控制交通燈階段持續的時間。這個POU有一個輸入變量TIME1,類型為TIME,并產生一個布爾變量,名稱為OK。如果記時器記到了所期望的時間,那么這個布 爾變量值為TRUE。這個變量的初始值是FALSE,它的設置方法是在說明語句后面分號前面插入:= FAL
40、SE. 連接標準庫為了對記時器進行編程,你必須使用標準庫中的一個POU。執行WindowLibrary Manager命令,翻開庫管理器。你將看到與你的工程連接的所有庫。標準庫也被連 接。根據我們的用途,我們需要POU TP,一個脈沖記時器,這個POU有兩個輸入(IN, PT) 和兩個輸出(Q, ET). TP有如下功能:只要IN是TRUE,那么ET為0,Q為FALSE,ET設有從TRUE到FALSE所持續的時間值,單位為微秒。當ET到達PT值時,那么ET保持它的值不變。只要ET比PT小,那么Q值就為TRUE。當ET到達PT值以后,Q值再次變為FALSE。 注意:在附錄B節中,你可以找到標準庫
41、中所有元素的簡要描述。為了在POUWAIT中使用TP,我們必須對TP的局部變量進行說明。因此,我們要說明一個TP型局部變量TEL在關鍵詞VAR與ENDVAR之間該變量代表持續的時間.WAIT的說明語句局部如下列圖所示:圖3.3.: 功能塊WAIT的說明語句局部為了實現所期望的記時器,POU的文體必須按下面的方法編程:WAIT 的文體圖3.4.: 功能塊WAIT文體首先裝入Q值。如果Q為TRUE記時器正在運行,那么我們跳轉到標號Lable和cal TEL語句,檢查時間是否已到。否那么,我們復位記時器,并且用所期望的時間(time1)來啟動記時器.最后,Q的負值存在OK中。因此,time1到達記時
42、時間以后,OK在一個周期中其值為TRUE。 現在記時器已編寫完。主程序PLCPRG將把前面的兩個功能塊WAIT和PHASES連在一起.MAINXE PLC_PRGXE main program 程序的第一步開發首先我們要說明所需要的變量表。這些變量包括功能塊PHASES的二個狀態 (LIGHT1, LIGHT2),以及功能塊 WAIT狀態 (DELAY我們得到下面的說明語句:圖3.5.: 程序PLC_PRG的第一層,說明語句怎樣用SFC語言建立一個圖形用SFC編寫的一個POU的初始化程序,由下面幾局部組成:一個“Init步,接在其后的轉換“trans0以及回到Init的一個跳轉圖3.5。我們打
43、算稍微擴展這個結構。首先我們確定圖形的結構。然后我們可以對不同的動作和轉換進行編碼。對交通燈的每一階段都需要一個步。你可以通過選擇TransO來插入一個步,并執行 Insert Step-Transition (after)XE StepXE Transition命令。連續三次重復以上的過程。直接在一個轉換或一個步的名稱上擊一下,這樣就選擇了這個名稱,并可以改變名 稱。用TRUE 代替Trans0,用“ DELAY.OK代替其它的轉換。意義是:如果DELAY.OK的值功能塊狀態DELAY的輸出變量是TRUE,這就是說,當time1到達記時時間時,控制總是通過第一個轉換和其它的轉換。這些步從上到
44、下的名稱 是:Switch1,Green2,Switch2,Green1.Init的名稱不變。“Switch總是一個黃色階段。在激活Green1期間,LIGHT1將是綠色。在激活Green2期間,LIGHT2將是綠色。最后,把跳轉目標Init改為Switch1.如下圖:圖3.6.: 程序MAIN的語體,第一次開發現在我們必須填寫步驟的動作。如果你雙擊一個步,那么你得到一個翻開新動作的對話框。在我們的例子中,總是選擇IL指令表)編寫程序。動作和傳送條件XE ActionXE TransitionsbedingungInit步的動作是使變量初始化。LIGHT1的變量STATE被賦值為1綠色。LIG
45、HT2的變量STATE被賦值為3紅色。圖3.7.Action Init 在Switch1步, LIGHT1 的變量STATE變為2黃色, LIGHT2 的變量STATE變為4 (黃色和紅色).延時時間設置為2秒。圖3.8. Action Switch1在Green2, LIGHT1 是紅色(STATUS:=3), LIGHT2 是綠色(STATUS:=1), 延時時間設置為5000毫秒。圖3.9. Action Green2在Switch2步,LIGHT1的變量STATE變為4黃色和紅色, LIGHT2的變量STATE變為2黃色,延時時間為2000毫秒圖3.10. Action Switch2
46、在Green1步,LIGHT1是綠色(STATUS:=1),LIGHT2是紅色(STATUS:=3), 延時時間設置 為5000毫秒.圖3.11. Action Green1現在,已經編寫完程序的第一層。你可以編譯程序,并用模擬方式測試程序.MAIN 程序的第二步開發現在所要考慮的問題是,在經過假設干周期以后,即在夜里,你想要關斷交通燈。為此,在程序中我們插入一個記數器,該記數器向上記憶交通燈的運行周期數,并且當記數器到達一定的數值時,交通燈斷電。首先,我們需要一個變量類型為INT的新變量COUNTER。在程序PLCPRG的說明語句中說明這處變量,并在動作Init中,使它的初始值為0。LD 0
47、ST COUNTER現在選擇Switch1后面的轉換,并在這個轉換后面插入一個步/轉換。 選擇新的轉換,按SHIFT鍵并選擇跳轉前的最后一個置換。主一個選擇性支路,(用命令InsertAlternativeBranch(left)在左側支路轉換的后面,插入一個步和一個轉換。在新的轉換后面,插入一個跳轉Switch1.給新增加的局部定名如下:在新增的二個步中,上面的一個定名為Counting.另一個定名為Off.新的轉換(從上到下,從左向右)分別被稱為“FINISH, TRUE and DELAY.OK.現在,修改后的結構圖如下所示:圖3.12. 交通燈MAIN程序如同你所看到的,另外兩個新增加
48、的動作和一個傳送條件已經編寫完。. 在Counting步中,記數器每次增加1.圖3.13. Action Counting在傳送FINISH中,檢查記數器是否比某一數值 在,比方說與數值7比擬:圖3.14. Transition FINISH在步OFF中,兩盞燈的STATE值設置為5(OFF),COUNTER值設置為0, 延時時間設定為10秒 (10,000 微秒):圖3.15. Action Off結果在交通燈運行了七個周期以后,天黑下來。在黑暗持續了10秒鐘以后,交通燈再次被點亮,等等。交通燈的仿真XE Simulation現在用仿真方式測試編好的程序。通過選擇菜單項Online Simu
49、lation mode 來選擇仿真方式。用OnlineStart命令執行用戶程序。翻開PLCPRG程序,觀看激活步藍色的變化。翻開步驟和傳送,監視各個變量。4.TWinCAT PLC 的詳細組成局部在下面的章節中,你將找到對TWinCAT PLCXE CoDeSys特性的詳細說明。我們將仔細研究每個 菜單項以及它們的用途。兩個菜單項Insert和Extras取決于激活的子窗口通常是帶有光標的窗口。因此,在編輯器一章中,對它們進行說明。4.1.操作工程XE Project用于操作整個工程的菜單命令放置在菜單項File和Project的下面。在菜單項 Project下面的某些命令僅用于操作目標(t
50、he.Objectitems).在下一章中,對它們進行描述.FileNewXE File用這個命令翻開一個名稱為Untitled的新工程。當存這個工程時,必須更改這個名稱.FileOpen用這個命令翻開已有的工程。如果一個工程已被翻開并修改,那么,TWinCAT PLC詢問是否存這個工程。標準窗口FileOpenDialog出現.從文件表中選出一個擴展名為*.pro的工程文件。這個文件必須存在,否那么,用open命令來建立一個工程是不可能的。要使用NEW命令建立工程。 為了翻開最近使用的一個工程,使用File菜單中Exit命令后面的菜單項。FileClose這個命令用于關閉正翻開的當前工程。如
51、果當前工程被修改,那么TWinCAT PLC詢問是否存這個工程。 如果要存的工程名稱為Untitled,那么必須按照下面FileSaveas中所描述的方法確定工程的名稱。FileSave如果工程已被修改,那么用這個命令存當前工程.快婕鍵: +.如果要存的工程名稱為Untitled,那么必須按照下面FileSave as中所描述的方法確定工程的名稱.FileSave as這個命令用于把當前的工程存到一個不同的文件中,原有的工程文件不被改變.選擇這個命令以后,標準窗口SaveDialog翻開。選擇已有的文件各或輸入 一個新的文件 。灰后擊一下OK按鈕。當前的工程就被存到指定的文件中。如果文件名已經
52、存在,TWinCAT PLC提示你是否覆蓋這個文件。FileSave as libraryXE Library這個命令用于把當前工程作為庫文件存起來,以便在其它的工程中使用.首先,標準窗口Save Dialog出現。 選擇一個已有的文件名或輸入任何一個文件名。 然后擊一下OK按鈕。重新建立整個工程。如果出現任何錯誤,那么TWinCATPLC顯示一個有關的信息。含有錯誤的工程是不能作為庫文件 存入的。如果沒有錯誤發生,那么 當前工程作為庫文件存入指定的文件中.如果文件名已存在,那么 TWinCAT PLC提示你是否覆蓋這個文件。 一個 用途在庫管理器一章中描述。FilePrintXE Print
53、這個命令用于打印激活窗口的內容.快捷鍵: +.選擇這個命令后,標準窗口PrintDialog出現。選擇你需要的選項或組態打印機,然后擊一下OK按鈕。打印激活窗口中所顯示的目標。打印工程的局部資料或整個工程資料,使用菜單項Project Documentation.把一個外部文件的注釋插到一個目標資料中是可能的。具體做法在全局變量一章中描述.為了確定打印的標題和腳文,使用命令File Printer Setup.FilePrinter SetupXE Documentation這個菜單項選擇項允許你設置打印的腳文和標題,以及確定打印機的選項,如使用主象或風景畫式的格式等等.選擇這個命令后,pri
54、nter Setup 話框出現.圖4.1.1 Printer Setup對話框 對每一頁輸入腳文和標題。可插入下面的文本符號:(Page)打印當前頁(Date)當前日期(FileName)工程文件的路徑(POUName)當前打印的目標名按和鍵輸入標記.在第一個TAB標記前的任一個文本左對齊打印。在第一個與第二個TAB標記之間的文本對中打印.其余的文本將右對齊打印。你可以選擇是否每一頁有一個邊框,是否每一個新目標另起一頁,并且你可以調整左邊框 的寬度。缺省值 是10 mm.最下面的Printer Setup按鈕是用于翻開標準的Windows Printer Setup 對話框, 這個對 話框的內
55、容取決于你的打印機類型.FileExit這個命令用于退出TWinCAT PLC.快捷鍵: +.如果一個工程已經翻開 并被修改,那么TWinCAT PLC詢問是否存這個工程 ProjectCheckXE Check這個命令用于檢查你的程序是否有語法錯誤.發生的每一錯誤顯示在另一個窗口上,該窗口稱為信息窗口。與命令Rebuild all比擬,沒有編碼產生.ProjectBuildXE Build對所有更改的POUs和結構產生編碼.翻開信息窗口,顯示編譯的過程和發生的錯誤.注意:如果PLC支持online change功能,那么,Build功能才能被支持.Onlinechange功能的含義是,在PL
56、C運行期間可以改變PLC中程序的某些局部,而不用中斷執行程序,所有的數據盡可能保存。ProjectRebuild all對所有更改的POUs和結構產生編碼.翻開信息窗口,顯示編譯的過程和發生的錯誤.信息窗口:信息窗口顯示編譯的過程。顯示錯誤所在的POU行和類型。在信息窗口中,選擇顯示錯誤的那一行, 并敲鍵(或雙擊鼠標).POU的一個窗口翻開。選擇網絡,現 在你可 以容易地修改錯誤.使用 (+)鍵,你可以得到下一個或前一個錯誤。圖4.1.2.信息窗口:編譯10個POUs,產生4個錯誤.在附錄中,你可找到所有的錯誤信息表。Project Options這個菜單包括所有的工程選項。可被設定的選項在下
57、一頁中描述:ProjectBuilding optionsXE Building options這個命令允許對產生編碼的選項進行設置.選擇這個命令后,出現一個對話框.圖4.1.3. Build Options 對話框Enable Debugging選擇這一選項,使得產生附加的調試編碼。當有C-Code編碼產生時,才選擇這一選項.Enable Monitoring選擇這一選項 ,使得產生附加的監視編碼當有C-Code編碼產生時,才選擇這一選項.Enable Online Changes你可以選擇是否在線更改你的程序。當有CCode編碼產生并且PLC允許在線更改程序時,選擇這一選項才是恰當的.Nu
58、mber of Data segments這個號碼決定控制器為你的工程所留出存儲空間。一個數據存儲區等于32Kb。當有可能在線更改程序時,選擇這一選項才是恰當的.編譯前自動存儲 Autosave before compilation如果選擇了這一選項,那么在做任何編譯之前,你的程序被自動存儲.詢問工程信息 Ask for Projectinfo如果選擇了這一選項,那么當一個工程第一次被存儲或者用新的名稱存工程時,工程信息對話框便自動翻開。這一選項對工作區來說是特殊的。它不能存在工程文件中,而存在TWinCATPLC.ini 信息文件中。用戶信息 User Info用這個命令翻開一個窗口,該窗口
59、中有工程的用戶信息.圖4.1.4. User Information窗口用戶信息由用戶名,名稱的開頭字母和公司名稱組成。這些選項對一個工作 來說是特殊的。它們不能存在工程文件中,而存在 TWinCAT PLC.ini 信息文件中.目錄 Directories用這個命令翻開一個對話框,你可以插入目錄路徑,在這里有TWinCAT PLC的庫文件和編譯文件.圖4.1.5. 目錄路徑這些路徑對一個工作區來說是特殊的。它們不能存在工程文件中,而存在TWinCAT PLC.ini 信息文件中.存儲選項 Save options圖4.1.6. Save Options對話框你可以選擇TWinCATPLC是否
60、在下次存儲工程時,建立工程的備份版本。如果選擇了這一選項,那么TWinCATPLC將把實際工程存到擴展名為。bak的文件中。這樣,你可以在最后的平安期之前,恢復這個版本文件。已有的備份文件不能重寫。為了得到一個新的備份文件,就要刪除或移走已有的備份文件。如果選擇了AutoSave這一選項后,那么當時間插入到AutoSaveInterval自動存時間間隔之后,TWinCATPLC將把工程存到擴展名為 .asd 的一個臨時文件中。當TWinCAT PLC正常結束時,這個文件被刪除。否那么,不能刪除這個文件。當再次翻開文件時, TWinCAT PLC檢測這個平安文件,并翻開下面的信息框:圖4.1.7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國新驅蟲丹市場調查研究報告
- 2025至2030年中國數控無觸點交流穩壓電源市場現狀分析及前景預測報告
- 計算機應用基礎知識
- 管理干部能力提升方案
- 怎樣激發孩子毅力
- 如何讓孩子愛上市場調研
- 現代大學生創業與挑戰
- 家譜:歷史觀的啟蒙站
- 車管所駕駛員警示教育
- 孩子演講自信提升策略
- 肝膿腫教學查房
- 2025高考數學專項講義第18講圓錐曲線中的極點極線問題(高階拓展、競賽適用)(學生版+解析)
- 急性膽囊炎護理病例討論
- 15 青春之光(公開課一等獎創新教案)
- 社會主義政治建設
- 公共管理學方法論知到智慧樹章節測試課后答案2024年秋華南農業大學
- 2025年全球及中國居家康復服務行業頭部企業市場占有率及排名調研報告
- 苧麻生產碳足跡:基于區域、產物與經濟效益的綜合評價
- 科室停電停水的應急預案
- 全國郵政編碼一覽表
- 品管圈PDCA大賽作品-普外科提高腹腔鏡術后24小時內腸道通氣率醫院品質管理案例
評論
0/150
提交評論