<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                SFC語言概述 - - - - - - 概念 步 過渡 動作塊 “飛躍”-過渡到任意步驟 發散與收斂 SFC程序示例 SFC(順序功能圖)代表功能圖順序,并且是IEC 61131-3的語言之一。 SFC使描述系統中過程的順序變得容易。 SFC基于條件系統將順序從一個操作轉移到另一個操作,從而提供順序過程控制。 SFC語言由有限數量的基本元素組成,這些基本元素用作構建程序流的完整算法的塊。 SFC基本概念 SFC語言使用以下結構元素來創建程序:步驟(和初始步驟),過渡,動作塊,跳轉以及諸如發散和收斂之類的連接。 調用以SFC語言描述的程序模塊后,首先要執行的初始步驟。 當前正在執行的步驟稱為活動。 與活動步驟關聯的動作在每個控制周期中執行一次。 在運行模式下,活動步驟以淺綠色突出顯示。 僅當在這些步驟之間的轉換中條件為真時,活動步驟之后的步驟才會變為活動狀態。 在每個控制周期中,將執行活動步驟中包含的動作。 接下來,檢查轉換條件,并可能激活其他步驟,但它們將在下一個循環中執行。 下面介紹SFC圖表的每個元素。 步驟 SFC語言最重要的元素是描述單個操作的步驟。 該步驟被描述為內部帶有其自己名稱的矩形(請參見圖7.1)。 ![](http://download.kaikong.cn/img/image352.png)圖7.1-SFC語言“步驟”的圖形表示 每個步驟可以有3個聯系人。 在上方和下方連接到過渡,在右側連接到動作塊。 步驟之前有一個過渡,該過渡定義了在程序執行過程中激活該步驟的條件,并在過程圖的分支上以水平線的形式顯示了名稱和條件。 絕對不能將兩個步驟直接連接,應該始終用過渡將它們分開(見圖7.2)。 ![](http://download.kaikong.cn/img/image353.png)圖7.2-通過轉換“ tr2\_3”連接的步驟“ step2”和“ step3” 任何SFC圖表都應包含一個初始步驟(標有雙邊框的步驟),從此步驟開始圖表。 過渡 在步驟之間是所謂的過渡。 轉換條件可以是用任何語言描述的邏輯變量或常數,邏輯地址或邏輯表達式。 該條件可以包括一系列以ST表達式形式形成邏輯結果的指令,例如: (i <= 100)和b 或任何其他語言。 在圖7.3提供了一個名為“ transition4”的步驟“ Step3”和“ Step5”之間的轉換示例。 ![](http://download.kaikong.cn/img/image354.png)圖7.3-在具有預定義條件“ transition4”的步驟“ Step3”和“ Step5”之間的轉換 在這種情況下,“ transition4”是預定義轉換的名稱,可以在SFC圖表中重復使用它來確定幾個步驟之間的轉換。 它的代碼可以用例如ST語言表示: =(標志=真實AND級別> 10); 在圖7.4顯示了正常情況下步驟“ Step6”和“ Step7”之間的轉換: 等級> 10 ![](http://download.kaikong.cn/img/image355.png)圖7.4-在具有預定義條件“ transition4”的步驟“ step6”和“ step7”之間的轉換 在圖7.5步驟“ Step8”和“ Step9”之間的轉換以FBD語言中邏輯表達式“ AND”的值的形式表示: ![](http://download.kaikong.cn/img/image356.png)圖7.5-用FBD語言中的“邏輯與”指定的步驟“ step8”和“ step9”之間的轉換 該條件不得包含分配,對程序的調用以及功能塊的實例。 動作塊 每個步驟通常將零個或多個動作組合到一個圖上,這通常是在圖上。 在圖7.6顯示了“ evaluateStep”步驟及其相關操作塊的示例。 ![](http://download.kaikong.cn/img/image357.png)圖7.6-步驟“ evaluateStep”和相關的動作塊包含3個動作 動作塊定義了激活(執行)步驟時必須執行的操作。 沒有關聯動作塊的步驟被標識為等待步驟。 動作塊可以包括預定義動作。 為每個預定義的動作分配一個名稱(在圖7.6中為“ action0”和“ action1”)。 一個動作可以一次在多個步驟中使用。 可以在激活該步驟時連續執行該動作,也可以執行一次。 這由表6中描述的特殊限定符確定。限定符還可以限制一個步驟中每個動作的執行時間。 “飛躍”-過渡到任意步驟 步驟也可以用“跳轉”代替。 步驟序列始終與跳轉到相同步驟序列的另一個步驟相關。 這意味著它們循環執行。 過渡到任意步驟是與名稱以“跳轉”標記的步驟的連接。 為了避免相交和向上連接,需要這種過渡。 在圖7.7顯示了一個包含兩個“跳轉”的SFC圖表。 ![](http://download.kaikong.cn/img/image358.png)圖7.7-包含“跳轉”的SFC圖表 在滿足條件“ transition4”的情況下,第一個過渡到步驟“ init”,在滿足條件“ transition2”的情況下,第二個過渡到步驟“ step1”。 發散與收斂 發散是從一個步驟到多個過渡方向的多重連接。 僅分支之一被激活。 默認情況下,與發散開始時的各種過渡相關的條件不是互斥的。 應該在轉換條件中明確指定互斥,以確保在程序執行期間激活一個特定的分支。 SFC圖表中分歧的一個示例如圖2所示。 7.8并以紅色突出顯示: ![](http://download.kaikong.cn/img/image359.png)圖7.8-SFC圖表上的散度 收斂是從多個轉換到同一步驟的多重連接。 它通常用于對SFC分支進行分組-源自單個分歧的程序。 SFC圖表中收斂的示例如圖2所示。 7.9并以紅色突出顯示: ![](http://download.kaikong.cn/img/image360.png)圖7.9-SFC圖表上的收斂 并行發散是從一個過渡到多個步驟的多重連接。 它對應于流程操作的并行執行。 SFC圖表中并行散度的示例如圖2所示。 7.10并以紅色突出顯示: ![](http://download.kaikong.cn/img/image361.png)圖7.10-SFC圖表上的平行散度 并行收斂是到相同過渡的多個步驟的組合。 通常用于對已經開始發散的分支進行分組。 SFC圖表中并行收斂的示例如圖2所示。 7.11并以紅色突出顯示: ![](http://download.kaikong.cn/img/image362.png)圖7.11-SFC圖表上的并行收斂 SFC示例程序 在圖7.12是包含初始步驟“ initStep”,步驟“ firstStep”和“ secondStep”以及3個轉換的SFC圖表的示例。 “ startFlag”過渡表示BOOL類型的常規變量,并且完全取決于其值。 “ firstStep”和“ secondStep”之間的轉換取決于LD圖,其中兩個線圈與BOOL變量關聯:“ in1”和“ in2”。 僅在“ in1”和“ in2”為TRUE時激活轉換。 當變量“值”的值小于-100時,將激活“ secondStep”和initStep上的跳轉之間的轉換。 在“ firstStep”操作期間,計數變量增加1。在“ secondStep”操作期間,從“ value”變量中減去10。 ![](http://download.kaikong.cn/img/image363.png)圖7.12-SFC圖表 - - - - - - [< 前頁](FBD.html) [回目錄](_index.html) [后頁 >](ST.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>

                              哎呀哎呀视频在线观看