<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                項目操作實踐 - - - - - - 本部分介紹開發環境中工作的基本方法,這些方法是創建應用程序時所必需的。 目標平臺的應用程序是使用特定配置構建項目的結果。 項目是源文件所在的命名文件夾。 該文件夾必須為空并且沒有寫保護。 如果文件夾中已經有文件,則會發出相應的錯誤。 以下文件和文件夾將保存在創建的文件夾中: - “Beremiz.xml"-此XML文件保存與項目有關的設置; - “Plc.xml"-在此XML文件中,保存了項目的完整說明:所有程序模塊,資源,用戶數據類型,項目數據,圖形語言編輯器的設置IEC 61131-3; - “src"文件夾,其中存儲生成的ST和C代碼以及生成的可執行二進制固件文件。 # ◇ 1. 創建一個新項目 使用主菜單“文件"-“新建"(請參見圖100 ),或使用控制面板上的“新建"按鈕創建一個新項目。 ![](http://download.kaikong.cn/img/python_2019-09-23_22-17-55.png)圖1 圖100- 使用主菜單創建一個新項目 圖100- 使用主菜單創建一個新項目 然后將出現一個對話框(參見圖101 ),您需要在其中選擇將要存儲此項目的文件夾。 ![](http://download.kaikong.cn/img/python_nHKR535Fcc.png)圖2 圖101- 新項目的文件夾選擇對話框 圖101- 新項目的文件夾選擇對話框 在出現的對話框中,將提示您配置項目的主程序模塊(請參見圖102 )。 此對話框中包含三個字段: - "POU名稱"; - "POU的類型"; - “語言"。 ![](http://download.kaikong.cn/img/RRTViyJsaE.png)圖3 圖102- 添加主程序模塊的對話框 圖102- 添加主程序模塊的對話框 默認分配的軟件模塊的名稱可以替換為與此軟件模塊的用途相對應的任何名稱。 主軟件模塊的類型為“程序",稍后您可以向項目中添加其他軟件模塊,功能和功能塊。 在“語言"字段中,從列表中選擇IEC 61131-3標準的一種語言(IL,ST,LD,FBD,SFC),將在其上實現此附加程序模塊的算法和邏輯。 單擊“確定"時,具有所選參數的主程序模塊將添加到項目中,默認情況下將配置項目資源:一項間隔20毫秒的循環執行任務,以及主程序的一個實例。 當您單擊取消時,將創建一個沒有任何設置的空項目。 作為創建新項目過程的描述的一部分,“第一步"項目作為實例。 該項目中的主程序模塊分別用FBD語言編寫,在需要選擇FBD語言的對話框中,以后可以更改主程序模塊的語言。 ## ◇ 1.1. 項目設置 創建項目后的下一步是對其進行配置,包括設置全局變量,設置編譯和布局參數以及填寫有關項目的數據。 當選擇(雙擊鼠標左鍵)項目樹的根元素時,項目設置面板將被調出,默認情況下,在創建項目后,該樹的根元素被稱為“未命名"( 見圖103 )。 ![](http://download.kaikong.cn/img/Fh9Ry1W5fG.png)圖4 圖103- 項目設置面板 圖103- 項目設置面板 該面板具有三個選項卡: - 配置變量; - 項目屬性; - 配置。 ## ◇ 1.2. 項目配置變量 組態變量允許“程序"和“功能塊"類型的程序模塊使用將在項目的全局范圍內定義的通用變量。 在下面的圖104中 ,在變量和常量面板中,我們使用“添加變量"按鈕添加類型INT的配置常量"ResetCounterValue",其初始值為17(請參見表3)。 ![](http://download.kaikong.cn/img/loxSeuG4YI.png)圖5 圖 104-聲明配置變量 圖 104-聲明配置變量 為了從“程序"或“功能塊"類型的程序模塊訪問此配置變量,有必要在其編輯面板的變量和常量面板中創建與先前聲明的全局變量同名的變量,并將其類設置為“外部的。" ## ◇ 1.3. 項目構建設置和與目標設備的連接 要使用書面的應用程序,必須對其進行匯編(編譯和鏈接),即 獲取可執行文件并將其傳輸到目標設備以進行調試或僅執行。 在這方面,主要設置為:“執行系統URI"-目標設備的地址,以及目標平臺-目標設備的平臺體系結構(請參見圖105 )。 ![](http://download.kaikong.cn/img/python_vosyo04ExL.png)圖6 圖105- 項目配置 圖105- 項目配置 通常,“執行系統的URI"以下格式表示: <連接器類型>):// <串行連接端口地址>:<比特率> 根據連接到目標設備的服務類型選擇連接器的類型。 例如,要在使用Soft PLC的本地計算機上調試應用程序,目標設備是PLC服務,并且連接器類型應為LOCAL。 要在本地計算機外部調試應用程序,請使用PYRO庫,在這種情況下,“目標設備的URI"以以下格式指定: PYRO:// <目標設備IP地址>:<端口> 如果項目中使用了其他庫,則應通過單擊要添加到“庫"子菜單中庫旁邊的“復選框",將它們添加到項目配置中。 ## ◇ 1.4. 項目信息 創建新項目時,項目信息設置中的所有必填字段均填充有默認值。 建議用相關信息替換默認設置(請參閱:圖106 ),這使您可以方便地區分項目。 ![](http://download.kaikong.cn/img/python_rGdTKwtoic.png)圖7 圖106- 填寫項目數據 圖106- 填寫項目數據 項目信息中的大多數數據是可選的,但必須完成,這些字段在每個項目的命名提示中進行了標記。 在指定項目設置后,通常需要向項目中添加必要的軟件模塊(功能,功能塊和程序),使用IEC 61131-3標準的文本和圖形語言來實現其算法和工作邏輯。 ## ◇ 1.5. 軟件模塊 使用項目樹的彈出菜單添加軟件模塊(程序,功能,功能塊),在彈出菜單中必須選擇“功能",“功能塊"或“程序"項。 接下來,將出現“創建新的POU"對話框。 第一步項目是用FBD編寫的主要軟件模塊,該模塊使用以5種不同的IEC 61131-3語言編寫的5個功能塊。 每個功能塊都是一個計數器,該計數器將輸出值遞增1,直到將True設置為Reset為止。 值的增量在主程序的每個循環中發生。 您可以通過在資源面板中更改主程序實例的任務持續時間來調整周期間隔。 必須將程序program0,功能和5個功能塊添加到創建的項目中:CounterST,CounterLD,CounterFBD,CounterSFC,CounterIL。 如果在項目創建期間未添加主程序模塊program0,則應手動添加。 下面分別描述每個軟件模塊的添加。 ## ◇ 1.6. 程序 以下是將以FBD編寫的程序添加到項目的示例。 該軟件模塊的邏輯和算法如下: - 定義了BOOL類型的Reset變量,該變量負責重置五個計數器中的每個計數器, - 定義了INT類型的五個變量Cnt1..Cnt5,它們存儲了五個計數器中的每個計數器的值, - 以及五個功能塊,分別表示五種語言IEC 61131-3的增量計數器。 - 程序啟動時,默認情況下,Reset變量的初始值設置為False。 - 計數器將從默認值開始增加(對于INT類型,它為0)。 要重置計數器,必須將Reset變量強制設置為True,然后返回False。 - 將為變量Cnt1..Cnt5分配配置常量ResetCounterValue的初始值,因此將重置計數器值,并且倒數將從17開始。 首先,通過選擇“程序"項,使用項目樹的菜單將程序添加到項目中(參見圖107 ): ![](http://download.kaikong.cn/img/GrXN2WmQVj.png)圖8 圖107- 將程序添加到項目 圖107- 將程序添加到項目 在出現的對話框中(參見圖108 ),選擇FBD語言和POU類型的“程序"。 ![](http://download.kaikong.cn/img/python_wEIIYPYMGa.png)圖9 圖108- 將程序添加到項目的對話框 圖108- 將程序添加到項目的對話框 在變量和常量面板中添加BOOL類型的Reset變量,該變量負責重置五個計數器中的每一個,以及五個INT類型的變量Cnt1..Cnt5,它們將存儲五個計數器中的每一個的值。 接下來,您需要聯系FBD語言編輯器。 為了編寫用于執行該程序的算法和邏輯,我們需要計數器的功能塊,其創建在6.3.2節中討論。 為了便于編輯FBD圖表,編輯器中存在拖放功能;可以通過拖放到編輯字段中,從功能庫和功能塊以及變量表中將必要的功能塊和變量添加到編輯字段中。 在變量和常量面板中,在變量的“#"列上單擊鼠標左鍵,然后將指針移至FBD圖表的編輯區域,然后釋放鼠標按鈕(拖放)。 在圖的編輯字段中傳輸5個Reset變量實例和所有Cnt1..Cnt5變量, 如圖109所示: ![](http://download.kaikong.cn/img/python_qoH5qdHjYj.png)圖10 圖109- 在編輯字段中傳遞變量 圖109- 在編輯字段中傳遞變量 從功能和功能塊庫中,我們添加了自定義功能塊。 通過使用鼠標(拖放)將相應功能從功能和功能塊庫的面板轉移到該程序模塊圖的FBD編輯區域,可以更方便地添加功能塊的數據, 如圖110所示: ![](http://download.kaikong.cn/img/python_lceBBIdLc2.png)圖11 圖110- 沒有鏈接的FBD語言程序 圖110- 沒有鏈接的FBD語言程序 在功能塊與輸入和輸出變量之間添加鏈接。 ![](http://download.kaikong.cn/img/python_54IyBB3MxB.png)圖12 圖111 -FBD語言的主要軟件模塊 圖111 -FBD語言的主要軟件模塊 ## ◇ 1.7. 功能塊 通過單擊項目樹的彈出菜單中的“功能塊"項,可以添加自定義功能塊。 在對話框(請參見圖112 )中,在"POU名稱"字段中指定功能塊的名稱,在"POU類型"字段中選擇“功能塊",在“語言"字段中選擇用于編寫塊操作算法的語言。 ![](http://download.kaikong.cn/img/EpDvX2bWET.png)圖13 圖 112-用于創建新功能塊的對話框 圖 112-用于創建新功能塊的對話框 ### ◇ 1.7.1. ST語言功能塊 創建一個名稱為"CounterST"的功能塊(請參見圖113 ),其中ST語言的工具將實現一個計數器,該計數器采用BOOL類型的Reset變量并返回Out計數器的值。 ![](http://download.kaikong.cn/img/python_QCSRSxjvlG.png)圖14 圖113- 添加自定義功能塊的對話框 圖113- 添加自定義功能塊的對話框 與功能不同,功能塊可以用IEC 61131-3的任何語言(包括SFC)進行描述。 圖114以ST語言顯示了此功能塊的實現。 ![](http://download.kaikong.cn/img/wHkA94x5hg.png)圖15 圖114 -ST語言的用戶功能塊說明 圖114 -ST語言的用戶功能塊說明 "Out"的返回值為INT類型,類別為"Output"。 添加的局部變量"Cnt"和外部配置變量"ResetCounterValue"的類型為INT,輸入變量"Reset"的類型為BOOL。 已實現的功能塊在功能和功能塊庫的面板中可用,并且可以在“程序"和“功能塊"類型的程序模塊中使用。 圖115顯示了用FBD編寫的主軟件模塊中創建的CounterST功能塊的使用。 ![](http://download.kaikong.cn/img/6NVtbSQ6Te.png)圖16 圖 115-在主程序模塊中使用創建的CounterST功能塊 圖 115-在主程序模塊中使用創建的CounterST功能塊 所有計數器共有的BOOL類型的"Reset"變量連接到"Reset"輸入,執行結果放在INT類型的變量"Cnt1"中。 應該注意的是,當您嘗試從項目中刪除一個功能或功能塊(參見圖116 )時,這些已添加的程序模塊已經在使用中,將會產生錯誤。 ![](http://download.kaikong.cn/img/python_dixQlKGH0e.png)圖17 圖116- 刪除功能塊時的錯誤消息 圖116- 刪除功能塊時的錯誤消息 就輸入,輸出和局部變量的集合而言,其他語言的實現完全相同。 下面將介紹IEC 61131-3其余四種語言中的功能塊示例。 ### ◇ 1.7.2. FBD功能塊 創建一個名稱為"CounterFBD"的功能塊,FBD工具將在該功能塊中實現一個計數器,該計數器采用BOOL類型的"Reset"變量,并返回"Out"計數器的值。 為了便于編輯FBD圖表,編輯器具有拖放功能,可以通過拖放到編輯字段中將必要的功能塊和變量從功能和功能塊庫以及變量表添加到編輯字段中(請參見圖117 )。 在變量和常量面板中,在變量的“#"列上單擊鼠標左鍵,然后將指針移至FBD圖表的編輯區域,然后釋放鼠標按鈕(拖放)。 我們添加類型INT的返回值"Out"和類"Output",類型INT的局部變量"Cnt",類型INT的外部配置變量"ResetCounterValue"以及類型為BOOL的輸入變量"Reset"。 ![](http://download.kaikong.cn/img/python_K7wQKSe7q3.png)圖18 圖117- 將變量添加到編輯字段 圖117- 將變量添加到編輯字段 傳輸到編輯字段的變量顯示為帶有輸入和輸出連接器的矩形塊(請參見圖118 )。 ![](http://download.kaikong.cn/img/D9tNvZPbtr.png)圖19 圖118- 編輯字段中的變量塊 圖118- 編輯字段中的變量塊 將所有變量傳送到編輯字段后,使用“創建新變量"按鈕添加數值為"1"的數字文字;在用于創建變量的對話框中,在“表達式"字段中寫入"1"(參見圖119 )。 這樣,設置了計數器的增量步長。 ![](http://download.kaikong.cn/img/python_OenUpEjMMU.png)圖20 圖119- 創建變量的對話框 圖119- 創建變量的對話框 為了使"Cnt"變量能夠同時分配一個值并將此值傳遞給Out變量,請設置"Input / Output"變量的類。 可以通過右鍵單擊變量塊,在彈出菜單中選擇“輸入/輸出"(請參見圖120 ),或用鼠標左鍵雙擊該塊并在“類"下拉列表中選擇“輸入/輸出"選項來完成此操作。 “(請參閱圖121 )。 ![](http://download.kaikong.cn/img/python_MSsW4If8RP.png)圖21 圖120- 為變量塊選擇連接器 圖120- 為變量塊選擇連接器 ![](http://download.kaikong.cn/img/python_J2vhhuc9Rm.png)圖22 圖121- 用于編輯變量塊屬性的對話框 圖121- 用于編輯變量塊屬性的對話框 接下來,您需要聯系FBD語言編輯器。 為了編寫用于執行該程序的算法和邏輯,將添加兩個功能:"ADD"和"SEL"。 "ADD"功能位于功能和功能塊庫的“數學"選項卡中,指示在輸入"IN1"和"IN2"上相加2至20個輸入值(在我們的示例中為2個),將計算結果返回到輸出"OUT" 。 "SEL"功能代表“選擇兩個值之一",位于“選擇操作"選項卡中。 它包含三個輸入變量"G","IN0","IN1"和一個輸出"OUT"。 如果"G"為0(或FALSE),則為輸出變量"OUT"分配值"IN0"。 如果"G"為1(或TRUE),則為輸出變量"OUT"分配值"IN1"。 通過使用鼠標(拖放)將相應功能從功能庫和功能塊面板移至功能塊圖的FBD編輯區域,可以更加方便地添加這些功能。 以上步驟的結果應該是沒有連接的FBD圖(請參見圖122 )。 ![](http://download.kaikong.cn/img/python_dvEbWjTHor.png)圖23 圖 122-無連接的FBD圖 圖 122-無連接的FBD圖 下一步是將變量的輸出與函數的輸入連接。 我們將數字文字1????與ADD函數的輸入"IN1"相連,并將ADD函數的輸出"OUT"與SEL函數的輸入"IN0"相連。 依次,SEL功能的輸出"OUT"連接到變量Cnt的輸入連接器,變量Cnt的輸出連接器連接到變量"Out"的輸入。 通過在塊連接器上按下鼠標左鍵來連接塊,將創建一條通訊線,該通訊線必須延伸到要連接的單元的連接器上(參見圖123 )。 ![](http://download.kaikong.cn/img/python_nKwDw4OO07.png)圖24 圖123 -FBD圖中的連接塊 圖123 -FBD圖中的連接塊 接下來,我們將控制計數器重置的"Reset"變量連接到"SEL"功能的"G"輸入,將配置變量"ResetCounterValue"連接到"IN1"輸入。 因此,更改"Reset"變量的值,我們通過"SEL"值選擇功能控制"Cnt"變量的值。 仍然需要在變量"Cnt"和ADD加法功能的輸入"IN2"之間添加連接,從而確保在一個PLC周期內計數器值增加1。 圖124展示了使用FBD語言獲得的計數器算法的實現。 ![](http://download.kaikong.cn/img/python_2PZK9gqagt.png)圖25 圖124 -FBD語言功能塊 圖124 -FBD語言功能塊 該功能塊在功能和功能塊庫的面板中可用,并且可以在“程序"和“功能塊"類型的程序模塊中使用。 圖125顯示了用FBD編寫的主軟件模塊中創建的CounterFBD功能塊的使用。 ![](http://download.kaikong.cn/img/ERfpBQvYjp.png)圖26 圖125- 在主軟件模塊中使用創建的CounterFBD功能塊 圖125- 在主軟件模塊中使用創建的CounterFBD功能塊 ### ◇ 1.7.3. SFC功能塊 創建一個稱為"CounterSFC"的功能塊,其中SFC工具將實現一個計數器,該計數器采用BOOL類型的"Reset"變量并返回"Out"計數器的值。 在變量和常量面板中添加INT類型和類INT的返回值"Out",INT類型的局部變量"Cnt",INT類型的外部配置變量"ResetCounterValue"以及BOOL類型的輸入變量"Reset"。 為了易于編輯SFC圖表,編輯器具有拖放功能,可以通過拖放到編輯字段中將必要的功能塊和變量從功能和功能塊庫以及變量表添加到編輯字段中(請參見圖117 )。 在變量和常量面板中,在變量的“#"列上單擊鼠標左鍵,然后將指針移至SFC圖表的編輯區域,然后釋放鼠標按鈕(拖放)。 單擊“創建初始步驟"按鈕,添加圖的初始步驟,在對話框中,我們將默認步驟的名稱更改為“開始",連接器僅需“退出"( 見圖126 )。 ``` <pre class="calibre26">``` ![圖126- 添加初始步驟 ``` ``` 圖126- 添加初始步驟 遵循該算法,可能有兩種狀態-計數器遞增,并且計數器復位。 添加具有兩個分支的替代分支。 根據IEC 61131-3,替代分支的每個分支必須以過渡結尾。 轉換條件將是"Reset"變量的狀態:對于第一個分支,表達式為"NOT Reset",對于第二個分支,值為"Reset"(請參見:圖127 )。 ![](http://download.kaikong.cn/img/G4lHJPp2RD.png)圖27 圖127- 添加替代分支 圖127- 添加替代分支 在第一種狀態下,添加帶有動作"Count"的步驟(請參見圖128 ),在ST語言的動作中,我們將計數器的增量描述為一,并將值分配給變量"Out"( 見圖129 )。 ![](http://download.kaikong.cn/img/python_b2o0n2uhun.png)圖28 圖128- 添加帶有動作連接器的步驟 圖128- 添加帶有動作連接器的步驟 ![](http://download.kaikong.cn/img/python_vqKIgrra5p.png)圖29 圖129- 添加計數器增量操作 圖129- 添加計數器增量操作 在第二個分支中,我們添加一個帶有"ResetCounter"操作的步驟,在該操作中,我們描述了將變量"Cnt"分配給變量"ResetCounterValue"的值,并將值"Out"分配給變量"Cnt"的值(請參見:圖130 )。 ![](http://download.kaikong.cn/img/python_NNw6luJDqt.png)圖30 圖130- 添加計數器重置操作 圖130- 添加計數器重置操作 第一個分支負責遞增計數器,第二個分支負責復位(請參見圖131 )。 ![](http://download.kaikong.cn/img/VchXf4JqpU.png)圖31 圖131- 操作步驟 圖131- 操作步驟 要退出該狀態,請在第一個分支中添加一個條件為“重置"的過渡,并在第二個分支中添加一個條件為“不重置"的過渡(請參見圖132 )。 ![](http://download.kaikong.cn/img/VchXf4JqpU.png)圖32 圖132- 有條件轉換到退出狀態 圖132- 有條件轉換到退出狀態 接下來,使用替代合并合并分支。 為了使程序能夠循環執行,在合并后,我們向初始“開始"步驟添加了無條件轉換。 S133中的最終計數器實現如圖133所示。 ![](http://download.kaikong.cn/img/bHIxMUeMkV.png)圖33 圖133- 用SFC語言實現計數器 圖133- 用SFC語言實現計數器 該功能塊在功能和功能塊庫的面板中可用,并且可以在“程序"和“功能塊"類型的程序模塊中使用。 圖134顯示了在以FBD編寫的主軟件模塊中使用創建的CounterSFC功能塊。 ![](http://download.kaikong.cn/img/python_LwGDSbFodb.png)圖34 圖 134-在主軟件模塊中使用創建的CounterSFC功能塊 圖 134-在主軟件模塊中使用創建的CounterSFC功能塊 ### ◇ 1.7.4. IL中的功能塊 創建一個稱為"CounterIL"的功能塊,IL工具將在其中實現一個采用BOOL類型的Reset并返回Out計數器的計數器。 在變量和常量面板中添加INT類型和類INT的返回值"Out",INT類型的局部變量"Cnt",INT類型的外部配置變量"ResetCounterValue"以及BOOL類型的輸入變量"Reset"。 為了方便起見,在IL編輯器中編輯代碼具有拖放功能,可以通過將變量拖放到編輯字段中來從變量表中將必需的變量添加到編輯字段中(請參見圖116 )。 在變量和常量面板中,在變量的“#"列上單擊鼠標左鍵,然后將指針移至編輯區域并釋放鼠標按鈕(拖放)。 我們將編寫有關重置計數器和保存結果的說明。 我們將重置計數器的指令稱為"ResetCnt",它將把ResetCounterValue操作數加載到電池中: ```ST ResetCnt: (\\ \*重置計數器\\ \*) LD ResetCounterValue ``` 我們將保存結果的指令稱為"QuitFb",它將保存操作數的值"Cnt"和"Out": ```ST QuitFb: (\\ \*保存結果\\ \*) ST Cnt ST Out ``` 將操作數“重置"的值加載到電池中。 如果操作數的值為"True",請轉到ResetCnt計數器的復位指令;如果值為"False",則操作數的值應增加一。 ```ST LD Reset JMPC ResetCnt (\\ \*增量計數器\\ \*) LD Cnt ADD 1 JMP QuitFb ResetCnt: (\\ \*重置計數器\\ \*) LD ResetCounterValue QuitFb: (\\ \*保存結果\\ \*) ST Cnt ST Out ``` IL中的最終計數器實現如圖135所示。 ![](http://download.kaikong.cn/img/python_1jtaJsWBJP.png)圖35 圖135 -IL計數器實現 圖135 -IL計數器實現 該功能塊在功能和功能塊庫的面板中可用,并且可以在“程序"和“功能塊"類型的程序模塊中使用。 圖136顯示了在以FBD編寫的主軟件模塊中使用創建的CounterIL功能塊。 ![](http://download.kaikong.cn/img/python_NEgN8Ecw8N.png)圖36 圖136- 在主軟件模塊中使用CounterIL功能塊 圖136- 在主軟件模塊中使用CounterIL功能塊 ### ◇ 1.7.5. LD功能塊 創建一個稱為"CounterLD"的功能塊,其中LD工具將實現一個計數器,該計數器采用BOOL類型的"Reset"變量并返回"Out"計數器的值。 在變量和常量面板中添加INT類型和類INT的返回值"Out",INT類型的局部變量"Cnt",INT類型的外部配置變量"ResetCounterValue"以及BOOL類型的輸入變量"Reset"。 為了便于編輯LD圖,編輯器具有拖放功能,可以通過拖放到編輯字段中將必要的功能塊和變量從功能和功能塊庫以及變量表添加到編輯字段中(請參見圖117 )。 在變量和常量面板中,在變量的“#"列上單擊鼠標左鍵,然后將指針移至LD圖表的編輯區域,然后釋放鼠標按鈕(拖放)。 添加電源總線,將與"Reset"變量關聯的觸點連接到它(請參見圖137 )。 ![](http://download.kaikong.cn/img/python_lHdkMhHEnU.png)圖37 圖137- 添加觸點的對話框 圖137- 添加觸點的對話框 當"Reset"變量的值更改為True時,結果設計將發送信號以重置計數器(請參見圖138 ) ![](http://download.kaikong.cn/img/q5OiBQG35y.png)圖38 圖138- 與Reset變量關聯的觸點 圖138- 與Reset變量關聯的觸點 接下來,使用“創建新變量"按鈕添加數字文字,其值為"1",在“表達式"字段中用于創建變量的對話框中,輸入"1"( 見圖139 )。 這樣,設置了計數器的增量步長。 ![](http://download.kaikong.cn/img/python_fy3xTe2pOM.png)圖39 圖139- 創建變量的對話框 圖139- 創建變量的對話框 傳輸到編輯字段的變量顯示為帶有輸入和輸出連接器的矩形塊(請參見圖140 )。 ![](http://download.kaikong.cn/img/python_RrKdwM7GJI.png)圖40 圖140- 編輯字段中的變量塊 圖140- 編輯字段中的變量塊 為了使"Cnt"變量能夠同時分配一個值并將此值傳遞給Out變量,請設置"Input / Output"變量的類。 您可以通過在變量塊上單擊鼠標右鍵,在彈出菜單中選擇“輸入/輸出"(請參見圖141 ),或用鼠標左鍵雙擊該塊并在“類"下拉列表中選擇“輸入/輸出"選項來執行此操作。 "(請參見圖142 )。 ![](http://download.kaikong.cn/img/python_jxwss4IJT1.png)圖41 圖141- 為變量塊選擇連接器 圖141- 為變量塊選擇連接器 ![](http://download.kaikong.cn/img/python_bLQyP12lw7.png)圖42 圖142- 用于編輯變量塊屬性的對話框 圖142- 用于編輯變量塊屬性的對話框 為了編寫用于執行該程序的算法和邏輯,將添加兩個功能:"ADD"和"SEL"。 "ADD"功能位于功能和功能塊庫的“數學"選項卡中,指示在輸入"IN1"和"IN2"上相加2至20個輸入值(在我們的示例中為2個),將計算結果返回到輸出"OUT" "。 "SEL"功能代表“選擇兩個值之一",位于“選擇操作"選項卡中。 它包含三個輸入變量"G","IN0","IN1"和一個輸出"OUT"。 如果"G"為0(或FALSE),則為輸出變量"OUT"分配值"IN0"。 如果"G"為1(或TRUE),則為輸出變量"OUT"分配值"IN1"。 通過使用鼠標(拖放)將相應功能從功能庫和功能塊面板移至功能塊圖的FBD編輯區域,可以更加方便地添加這些功能。 以上步驟的結果應該是沒有連接的LD圖。 ![](http://download.kaikong.cn/img/image186.png)圖43 圖143- 沒有連接的LD圖 圖143- 沒有連接的LD圖 下一步是將變量的輸出與函數的輸入連接。 我們將數字文字1????與ADD函數的輸入"IN1"相連,并將ADD函數的輸出"OUT"與SEL函數的輸入"IN0"相連。 依次,SEL功能的輸出"OUT"連接到變量Cnt的輸入連接器,變量Cnt的輸出連接器連接到變量"Out"的輸入。 按住塊的連接器上的鼠標左鍵可以進行塊的連接,將創建一條通訊線,必須將其延伸到所連接塊的連接器上。 ![](http://download.kaikong.cn/img/image187.png)圖44 圖144- 塊的連接 圖144- 塊的連接 接下來,將與控制計數器復位的“復位"變量關聯的觸點的信號連接到"SEL"功能的"G"輸入,并將配置變量"ResetCounterValue"連接到"IN1"輸入。 因此,更改"Reset"變量的值,我們通過"SEL"值選擇功能控制"Cnt"變量的值。 仍然需要在變量"Cnt"和ADD加法功能的輸入"IN2"之間添加連接,從而確保在一個PLC周期內計數器值增加1。 LD中計數器算法的最終實現如圖145所示 。 ![](http://download.kaikong.cn/img/UpTsKdmSIF.png)圖45 圖145 -LD功能塊 圖145 -LD功能塊 該功能塊在功能和功能塊庫的面板中可用,并且可以在“程序"和“功能塊"類型的程序模塊中使用。 在圖。 圖146示出了用FBD編寫的主軟件模塊中所創建的counterFBD功能塊的使用。 ![](http://download.kaikong.cn/img/python_Ydp272plAR.png)圖46 圖146- 主程序模塊中LD功能塊的使用 圖146- 主程序模塊中LD功能塊的使用 ## ◇ 1.8. 功能 通過單擊項目樹的彈出菜單中的“功能"項,可以添加自定義功能塊。 在對話框中的"POU名稱"(POU Name)字段中指定函數的名稱,在"POU Type"(POU Type)字段中選擇"function",在"Language"(Language)字段中選擇將編寫函數算法的語言。 ![](http://download.kaikong.cn/img/python_m9SqYOYG3M.png)圖47 圖147- 用于創建函數的對話框 圖147- 用于創建函數的對話框 讓我們用ST語言創建"AverageVal"函數,該函數將計算循環中計數器的平均值。 由于計數器不以任何方式同步,因此平均值應為分數。 我們選擇函數返回值的類型-對于分數,這是REAL類型。 ![](http://download.kaikong.cn/img/python_uZviW27Ro0.png)圖48 圖148- 選擇函數返回值的類型 圖148- 選擇函數返回值的類型 在用于編輯變量和常量的面板中,添加五個INT類型的類"Input"的變量"Cnt1" .."Cnt5"。 上面討論的功能塊的輸出值將連接到這些輸入。 添加類型為REAL的類"Local"的變量"InputsNumber"。 然后,在ST語言編輯器中,編寫該函數的算法和邏輯,如圖2所示。 149: ![](http://download.kaikong.cn/img/python_4XP7MEqltj.png)圖49 圖149- 函數算法和邏輯的定義 圖149- 函數算法和邏輯的定義 要將INT類型轉換為REAL類型,我們使用功能和功能塊庫中的INT*TO*REAL函數;它將輸入IN處的INT類型的值轉換為輸出OUT(INT:IN)=>(REAL:OUT)處的REAL類型的值。 向主軟件模塊添加功能。 在“自定義POU"部分的功能和功能塊庫的面板上,選擇"AverageVal"功能,然后使用鼠標指針(按住鼠標左鍵)將該功能(拖放)轉移到程序模塊program0圖的FBD編輯區域。 ![](http://download.kaikong.cn/img/W6YAPMOU2G.png)圖50 圖150- 向FBD添加自定義功能圖 圖150- 向FBD添加自定義功能圖 將五個計數器的值連接到函數的輸入。 要保存函數計算結果,請創建變量"AVCnt"。 圖151顯示了在以FBD編寫的主軟件模塊中使用創建的功能"AverageVal"。 ![](http://download.kaikong.cn/img/python_0KauDHphRQ.png)圖51 圖151- 在主軟件模塊中使用功能 圖151- 在主軟件模塊中使用功能 ## ◇ 1.9. 資源 根據IEC 61131-3,每個項目必須至少具有一個資源,并在其中至少定義了一個實例。 實例是與“程序"類型的程序模塊和一個特定任務關聯的元素。 默認情況下,開發環境為新項目創建一種資源。 ### ◇ 1.9.1. 全局資源變量 使用“添加變量"或“添加變量"按鈕,可以在變量面板和所選資源的常量中類似于項目的全局變量聲明資源的全局變量(請參見表3)。 ![](http://download.kaikong.cn/img/python_4tqr45s4Yf.png)圖52 圖152- 在項目中聲明全局變量的示例 圖152- 在項目中聲明全局變量的示例 在資源級別使用這些全局變量也類似于在程序模塊中使用項目配置變量。 要在程序模塊中使用資源的全局變量,請向模塊添加“外部"類的變量,其名稱應與上面為資源聲明的全局變量相同。 ### ◇ 1.9.2. 任務和資源實例 要創建實例,您在項目中必須至少有一個“程序"類型的程序模塊,并且在資源編輯面板中至少要定義一個任務。 使用“添加"按鈕添加任務(此按鈕類似于變量和常量面板上的“添加"按鈕)后,您必須指定其唯一名稱(“名稱"字段)并選擇任務執行的類型(“運行"字段,請參見圖153) ): - “循環"-在“時間間隔"字段中指定的指定時間間隔后執行“程序"類型的程序模塊; - “中斷"-一旦在項目級別或在“源"字段中指定的資源級別定義的BOOL類型的全局變量的TRUE值出現,即執行“程序"類型的程序模塊。 ![](http://download.kaikong.cn/img/python_O1shNmeWrn.png)圖53 圖153- 選擇任務執行的類型 圖153- 選擇任務執行的類型 如果選擇執行類型“循環",則必須在“間隔"字段中指定將執行此任務的間隔。 在“時間間隔"(Interval)字段上雙擊鼠標左鍵,將顯示"..."按鈕。 ![](http://download.kaikong.cn/img/python_3KkpwgQR70.png)圖54 圖154- 以循環執行模式添加任務 圖154- 以循環執行模式添加任務 按下此按鈕將打開“編輯持續時間"對話框,您可以在其中使用微秒,毫秒,秒,分鐘,小時和天指定時間。 ![](http://download.kaikong.cn/img/python_DACMwVgoo1.png)圖55 圖155- 用于編輯任務持續時間的對話框 圖155- 用于編輯任務持續時間的對話框 使用“確定"按鈕完成時間輸入后,將關閉對話框,并將此時間間隔添加到要添加的任務的“間隔"字段中。 ![](http://download.kaikong.cn/img/python_XGqpqwZIaT.png)圖56 圖156- 添加的執行間隔 圖156- 添加的執行間隔 如果在“源"(Source)字段中選擇“中斷"(Interrupt)執行類型,則必須指定在項目級別或資源級別全局定義的BOOL類型變量。 在圖157中 ,選擇了在此資源中定義的"globalFlag"變量。 ![](http://download.kaikong.cn/img/python_lLvbEGnvVP.png)圖57 圖157- 選擇BOOL類型的變量作為啟動任務的中斷源 圖157- 選擇BOOL類型的變量作為啟動任務的中斷源 該字段中定義的變量的值為TRUE時,任務將被執行一次。 “優先級"字段允許您指定任務的優先級;默認情況下,所有任務的優先級均為0。應注意,必須在資源中至少定義一個執行類型為“循環"的任務,否則調試控制臺中將出現編譯錯誤。 定義任務后,即可在實例中使用它們。 使用“添加"按鈕以相同的方式創建實例。 您必須選擇唯一的實例名稱,然后在“類型"字段中指定“程序"類型的程序模塊,并在“任務"字段中指定任務之一。 例如,在項目中定義了兩個“程序"類型的程序模塊:"program0"和"program1"。 ![](http://download.kaikong.cn/img/python_jey1jPv2dw.png)圖58 圖158- 包含兩個“程序"類型的程序模塊的項目 圖158- 包含兩個“程序"類型的程序模塊的項目 因此,在“類型"(Type)字段中創建實例時,這兩個程序模塊都將可用(請參見圖159)。 ![](http://download.kaikong.cn/img/python_UwSjx4fKXq.png)圖59 圖159- 為實例選擇類型為“程序"的程序模塊 圖159- 為實例選擇類型為“程序"的程序模塊 同樣,從列表中選擇一個任務,其中將顯示先前定義的任務。 ![](http://download.kaikong.cn/img/python_0oUsgldJGc.png)圖60 圖160- 為實例選擇任務 圖160- 為實例選擇任務 在每個項目中,必須在資源中至少定義一個實例,否則,將在調試控制臺中發出編譯錯誤。 ## ◇ 1.10. 數據類型 通過在已創建的包含“程序"類型的程序模塊-"program0"的程序的項目中選擇項目樹菜單(參見圖161 )中的“數據類型"項,可以添加數據類型。 ![](http://download.kaikong.cn/img/DDnObZvyDC.png)圖61 圖161- 選擇菜單項以在項目樹中添加自定義數據類型 圖161- 選擇菜單項以在項目樹中添加自定義數據類型 將創建一個由11個元素組成的INT數組。 項目樹中將出現名稱為"datatype0"的添加數據類型的編輯面板。 在“用于創建新類型的機制"字段中,選擇“數組"并指定類型INT, 如圖162所示: ![](http://download.kaikong.cn/img/python_8Lglr0yJAY.png)圖62 圖162- 選擇數組的基本類型 圖162- 選擇數組的基本類型 使用“添加"按鈕(請參見表10),為數組創建一個字段,其尺寸為適當的格式。 ![](http://download.kaikong.cn/img/axvd6FWYpd.png)圖63 圖163- 設置數組的尺寸 圖163- 設置數組的尺寸 執行完上述操作后,類型"datatype0"可用于定義程序模塊中的變量以及基本數據類型。 ![](http://download.kaikong.cn/img/python_iaB06mn2LK.png)圖64 圖164- 在程序模塊的變量和常量面板中選擇添加的數據類型 圖164- 在程序模塊的變量和常量面板中選擇添加的數據類型 ## ◇ 1.11. 匯編并轉移到應用程序的目標設備中 創建項目的基本元素之后的下一步是程序集(編譯和布局),將生成的可執行文件傳輸到目標設備以及對該應用程序進行調試。 使用工具欄上的相應按鈕來構建項目。 為了成功完成此操作,每個項目必須至少具有一個資源(如上所述,創建項目時,默認情況下將創建一個資源)。 資源必須定義至少一個循環類型的任務和至少一個實例。 因此,該項目必須包含至少一個“程序"類型的程序模塊,其主體為: 算法及其執行邏輯不能為空(否則會出現編譯錯誤)。 向目標設備傳輸和調試應用程序的能力取決于目標設備上運行的開發環境的服務器部分的存在。 開發環境提供以下調試功能: - 使用調試面板查看和更改所有項目變量的值; - 以視覺方式跟蹤圖形語言中程序的執行情況,并更改特定語言的各種圖形元素的值; - 在圖形中顯示變量值。 下面將更詳細地描述應用程序的匯編,與目標設備的連接以及可執行文件的傳輸及其調試。 ### ◇ 1.11.1. 構建應用程序 在將項目傳送到PLC之前,必須先進行構建。 您可以在項目設置窗口的“配置"選項卡上為構建配置目標平臺。 要構建項目,請單擊“在構建目錄中構建項目"按鈕(請參見表2)。 構建結果顯示在程序窗口底部的控制臺中,構建錯誤以紅色突出顯示。 在First\_steps項目的示例中,構建后,控制臺中會顯示一條消息,表示構建成功。 ![](http://download.kaikong.cn/img/python_Bhk0UUYY9X.png)圖65 圖165- 構建結果顯示在控制臺中。 圖165- 構建結果顯示在控制臺中。 可以通過單擊“清除項目組合目錄"按鈕清除項目組合目錄來重新構建項目(請參見表2)。 以ST語言生成的項目代碼和已編譯的二進制PLC固件文件將被刪除。 之后,單擊“在構建目錄中構建項目"按鈕,該項目將被重新構建。 ### ◇ 1.11.2. 啟動服務器端進行調試 開發環境的服務器端位于Beremiz\_service.py文件的Python腳本中,這是將可執行文件傳輸到目標設備并對其進行調試所必需的。 該文件由帶有默認參數的以下命令從命令行啟動(請參閱表13): python Beremiz\_service.py 另外,在啟動時,可以指示表13中所示的參數。 表13-用于啟動Beremiz環境的服務器端的命令行選項 參數手術-i用于客戶端訪問的IP地址指示,默認為127.0.0.1(localhost)-p端口號,默認為3000-h輸出到控制臺幫助以使用此服務器-a自動啟動目標設備(0-關閉,1-開啟),默認為0。-x啟用/禁用任務欄圖標(0-禁用,1-啟用),默認為0。-t基于Twisted庫的Web界面(0-禁用,1-啟用),默認值為0。它允許您通過瀏覽器監視程序的狀態。 地址:<http://> <目標設備的IP地址>:<8009>。 8009是默認端口。在指定用于啟動Beremiz服務器端的命令的所有參數之后,您可以輸入目錄地址,目標設備文件系統上的文件將存儲在該目錄中。 默認情況下,該目錄是為Beremiz\_service服務的當前運行實例創建的臨時文件夾。 通常,在使用操作系統打開目標設備后,此腳本會自動運行。 連接到目標設備并傳輸可執行文件 啟動開發環境的服務器端腳本后,可以連接到目標設備。 在項目設置面板中,指定目標設備的URI: PYRO:// :<端口號> 圖166顯示了目標設備LOCAL的URI地址://,這是本地計算機上的軟PLC地址,紅色的“連接到目標PLC"按鈕(請參閱表2)用于連接目標設備。 ![](http://download.kaikong.cn/img/python_fUd96faqhv.png)圖66 圖166- 連接到目標設備 圖166- 連接到目標設備 如果連接成功,調試控制臺將顯示相應的消息,并顯示應用程序狀態。 ![](http://download.kaikong.cn/img/SrLXRo7LmH.png)圖67 圖167- 連接到目標設備后的調試控制臺 圖167- 連接到目標設備后的調試控制臺 應用程序狀態可以如下: - "PLC空"-沒有應用程序; - "PLC已啟動"-目標設備上有一個應用程序,它會運行; - "PLC已停止"-目標設備上的應用程序已啟動,但已停止。 使用按鈕在目標設備上傳輸,啟動和停止應用程序(請參見表2),可以傳輸,啟動和停止應用程序的可執行文件。 相應的消息將顯示在調試控制臺中(在傳輸,啟動和停止應用程序之后), 如圖168所示: ![](http://download.kaikong.cn/img/python_m0tRbLemf2.png)圖68 圖168- 應用程序傳輸,啟動和停止后的調試控制臺 圖168- 應用程序傳輸,啟動和停止后的調試控制臺 ### ◇ 1.11.3. 調試應用程序 與目標設備建立連接并啟動應用程序以執行后,開發環境使您可以監視和更改組成項目的可變程序模塊的值。 ### ◇ 1.11.4. 在應用程序中保留變量 SoftPLC實現對在應用程序中定義了剩磁屬性(保留變量)的變量的支持。 連接到開發環境的服務器端時,將創建一個臨時文件夾以存儲加載到SoftPLC的應用程序,保留變量以二進制文件的形式存儲在該臨時文件夾中,該二進制文件包含項目的哈希值,以二進制格式保留變量的值以及一個控件。使用CRC32算法計算的文件數量。 ### ◇ 1.11.5. 啟動調試器 將編譯后的程序轉移到SoftPLC后,單擊“運行PLC"按鈕開始調試(請參見表2)。 變量取其初始值,然后開始在PLC中執行程序。 調試器正在運行。 ### ◇ 1.11.6. 調試文本語言 使用調試器意味著使用加載到PLC中的程序實例。 功能塊,函數和變量也只有在啟動程序執行后才能使用它們自己的實例進行調試。 開發環境主窗口的左下角是一個項目實例面板。 地址欄包含資源的地址,該資源中定義的程序,全局變量和功能塊的實例顯示在下面。 ![](http://download.kaikong.cn/img/image214.png)圖69 圖169- 項目實例面板 圖169- 項目實例面板 通過“父實例"按鈕執行到父實例及其全局變量的轉換(請參見表11)。 面板頂部地址欄對面的“調試實例"按鈕(參見表11)將開始對所選資源(程序或功能塊)進行調試。 為了啟用塊或變量實例的調試,請在面板中單擊該元素對面的按鈕。 調試面板顯示添加的變量的當前值。 ![](http://download.kaikong.cn/img/python_PPitvleYcj.png)圖70 圖170- 調試器面板 圖170- 調試器面板 在調試面板上顯示變量后,為了設置值,請單擊“強制值"按鈕。 ![](http://download.kaikong.cn/img/python_DPUaATsOZy.png)圖71 圖 171-在調試面板中強制變量 圖 171-在調試面板中強制變量 在出現的對話框中,輸入變量的值(請參見圖172 )。 對于對話框中的布爾變量,有一個“切換值"按鈕,該按鈕將變量的值更改為相反的值。 更改變量的值后,變量表及其“調試器"選項卡中的值將以藍色突出顯示。 ![](http://download.kaikong.cn/img/python_F5Y0HHK5TW.png)圖72 圖172- 值設置對話框 圖172- 值設置對話框 強制使用變量的值,可以設置一個不可變的值,該值將無法通過執行的程序進行重新定義。 設置該值后,可以將其釋放,從而允許程序更改變量的值。 要釋放變量,請單擊“自由值"按鈕。 ![](http://download.kaikong.cn/img/python_CSQsV3BWSI.png)圖73 圖 173-釋放變量的值 圖 173-釋放變量的值 ### ◇ 1.11.7. 調試圖形語言 在應用程序的調試過程中,其中部分程序模塊是用圖形語言編寫的,可以在圖表上看到所有值的更改,并直接在其上進行必要的更改。 如前所述,如果您按一種圖形語言編寫的程序的實例按調試模式的開始按鈕( 圖175中紅色突出顯示),則將打開帶有調試模式的圖表面板的選項卡。 ![](http://download.kaikong.cn/img/image220.png)圖74 圖175- 項目實例面板 圖175- 項目實例面板 這些選項卡完全重復其中編輯程序或功能塊的圖形圖的那些選項卡,除了無法在調試器的選項卡中進行任何更改外,并且元素之間的鏈接根據通過此鏈接傳輸的變量的值以不同的顏色突出顯示。 ![](http://download.kaikong.cn/img/JAi2uRZ5aS.png)圖75 圖176- 調試后的FBD圖表示例 圖176- 調試后的FBD圖表示例 未用顏色突出顯示的行表示布爾值False或非布爾類型的變量(INT,DINT,WORD,REAL,TIME等)。 傳達常數表達式的橙色連接。 傳輸布爾True值的關系以淺綠色突出顯示。 以淺藍色和深藍色突出顯示的鏈接將傳輸由用戶直接設置的值,“真"對應于淺藍色,“假"對應于深藍色。 ### ◇ 1.11.8. 調試FBD圖表 在FBD圖表的調試模式下,可以為功能塊設置變量的輸入和輸出值(使用通過右鍵單擊連接而調用的彈出菜單),以及通常在圖表元素的輸入和輸出處查看所有其他值。 ![](http://download.kaikong.cn/img/python_V0yc4xQued.png)圖76 圖177- 調試FBD圖表 圖177- 調試FBD圖表 調試模式下更改的值以藍色突出顯示。 從彈出菜單中選擇“釋放值"后,該值將返回由于本節中模塊的邏輯和算法而獲得的值,并且圖中的連接變為原始顏色。 ### ◇ 1.11.9. 調試LD圖表 調試LD圖表類似于調試FBD圖表。 要調用彈出菜單(請參見圖196),您可以在其中設置觸點或線圈的所需值,您需要按鼠標右鍵。 ![](http://download.kaikong.cn/img/python_vu8qgOBan6.png)圖77 圖178- 調試LD圖的示例 圖178- 調試LD圖的示例 將出現一個對話框(請參見圖179 ),您需要在其中輸入BOOL類型的值:TRUE-接觸"ON",FALSE-接觸"OFF"。 ![](http://download.kaikong.cn/img/python_1DPNMjXFW7.png)圖78 圖179- 觸點狀態切換對話框 圖179- 觸點狀態切換對話框 ### ◇ 1.11.10. 調試SFC圖表 調試SFC圖表類似于調試FBD和LD圖表。 使用彈出菜單(請參見圖180 ),可以設置步驟和過渡的活動。 ![](http://download.kaikong.cn/img/python_9qi3abKqRP.png)圖79 圖180- 調試SFC圖表的示例 圖180- 調試SFC圖表的示例 圖181顯示了如何設置值(選擇“強制值"后,將出現一個對話框),對于"ResetCounter"步驟為TRUE。 ![](http://download.kaikong.cn/img/python_eL3OvsHYSX.png)圖80 圖 181-"ResetCounter"步驟的狀態更改 圖 181-"ResetCounter"步驟的狀態更改 在使用調試模式將步長值設置為TRUE之后,該步長將以藍色突出顯示。 從圖182中可以看到,因為 ResetCounter步驟變為活動狀態,與其相關聯的操作塊也變為活動狀態(以綠色突出顯示),并且其中的操作處于這種狀態,在這種情況下,為Cnt變量分配ResetCounterValue配置變量的值,向Out變量分配值Cnt變量: Cnt:= ResetCounterValue; 輸出:= Cnt; 開始被執行。 ![](http://download.kaikong.cn/img/3uQ5irU41f.png)圖81 圖182- 強制執行動作塊 圖182- 強制執行動作塊 由于此動作的限定符為N,因此只要該步驟處于活動狀態,它將被執行。 變量值變化圖 開發環境還允許您在調試模式下以圖形形式顯示變量值的變化。 要顯示帶有圖形的面板,請雙擊項目實例面板中變量對面的“調試實例"按鈕。 變量變化圖的出現面板允許您跟蹤特定變量的值隨時間變化的方式。 ![](http://download.kaikong.cn/img/WJUlbDYPAk.png)圖82 圖183- 變量變化圖 圖183- 變量變化圖 在此面板上,您可以設置圖表的更新間隔和顯示比例,以及移動圖表的位置。 - - - - - - [< 前頁](KSCZLC.html) [回目錄](../../_index.html) [后頁 >](IOBLGZ.html) ![](images~/theme_switcher.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看