<object id="ayu7o"></object>

      <object id="ayu7o"></object>

    1. <menuitem id="ayu7o"></menuitem>
      <object id="ayu7o"></object>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684

      廣西壯族自治區西門子代理商-伺服電機驅動變頻器代理

      更新時間
      2024-12-02 08:00:00
      價格
      請來電詢價
      西門子變頻器
      西門子觸摸屏
      西門子伺服電機
      西門子PLC
      西門子直流調速器
      西門子電纜
      聯系電話
      13922889745
      聯系手機
      18475208684
      聯系人
      向小姐
      立即詢價

      詳細介紹
      問題1:如何監視循環指令?

      正常監視如圖1所示,無法監控到循環程序內部的執行情況。

      圖片

      圖1 監視頁面

      ①點擊監視按鈕

      ②可以看到FOR循環內部沒有任何變量顯示

      如果希望監視循環內部執行情況,可以在監視中的SCL程序任意位置,如圖2中操作。

      圖片

      圖2 點擊監視循環

      激活監視循環后,跳出窗口如圖3所示,點擊按鈕“是”。

      圖片

      圖3 警告窗口

      之后,就可以如圖4所示的,看到循環內的情況,不過這會造成增加CPU循環時間,并且只能監控到第一個循環。

      圖片

      圖4 監視循環

      問題2:CASE指令如何實現順控功能?

      通過CASE OF指令,可以比較容易實現類似順控的功能,并且編程方法便捷、可讀性較好。可以使用類似于下面的編程方式實現類似順控的功能:

      CASE 步驟號 OF //Int類型步驟號,一般位于FB的Static
      0:
      步驟0 
      邏輯編程 //一般初始步不執行具體操作,只是初始化,然后是等待開始
      IF 條件 THEN
      步驟號:=1;
      ELSIF 錯誤 THEN
      步驟號:=100;
      END_IF;

      1:
      步驟1 
      邏輯編程
      置位復雜指令i.REQ
      IF 復雜指令i.DONE THEN
      復位復雜指令i.REQ
      步驟號:=2;
      ELSIF 復雜指令i.ERROR
      復位復雜指令i.REQ
      步驟號:=100;
      END_IF;

      2:
      步驟2 
      邏輯編程
      置位復雜指令m.REQ
      IF 復雜指令m.DONE THEN
      復位復雜指令m.REQ
      步驟號:=3;
      ELSIF 復雜指令m.ERROR
      復位復雜指令m.REQ
      步驟號:=100;
      END_IF;

      .
      .
      .

      n:
      步驟n 
      邏輯編程
      置位復雜指令x.REQ
      IF 復雜指令x.DONE THEN
      復位復雜指令x.REQ
      步驟號:=n+1;
      ELSIF 復雜指令x.ERROR
      復位復雜指令x.REQ
      步驟號:=100;
      END_IF;
      .
      .
      .
      100:
      錯誤處理 邏輯編程
      步驟號:=0
      END_CASE;

      復雜指令0 //復雜指令調用
      復雜指令1
      .
      .
      .
      復雜指令n

      輸出Busy、Done、Status等

      復雜指令一般包含:通信、運動控制、讀配方、寫數據日志、讀寫數據記錄、定時器等異步指令,這些指令通常不放在CASE語句的邏輯中,而是在Zui后統一調用。

      一般通過復雜指令完成位、錯誤位等作為跳轉條件。如果是定時器,也可以通過判斷時間是否到達作為跳轉條件。

      例子:使用CASE OF指令編程運動控制,第一步相對運動以200mm/s的速度移動10000mm,第二步速度控制以100mm/s的速度移動15s,第三步停止。

      圖5為FB塊的參數部分,圖6為程序。

      圖片

      圖5 FB參數

      圖片

      圖6 源程序

      問題3:如何導入導出SCL源文件?

      可以將SCL編寫的塊,或者全局DB以及UDT導出成源文件,可以導出塊或UDT,也可以導出所關聯嵌套的塊或者UDT,如圖7所示。


      外層塊
      SCL編寫 OB/FC/FB全局DBUDT背景DB工藝DBPLC變量
      嵌套可以導出可以導出可以導出可以導出但沒有變量不可以導出不可以導出
      UDT可以導出可以導出可以導出可以導出但沒有變量不可以導出不可以導出
      SCL編寫 FC/FB可以導出-----
      背景DB---可以導出但沒有變量--

      導出方式參見圖7。

      圖片

      圖7 導出源文件

      通過選擇“僅所選塊”導出當前塊,即表中綠色底色的部分。通過選擇“包含所有關聯塊”,導出嵌套的UDT、程序塊,即表中紅色底色的部分。

      導入源文件方式如圖8-9所示。

      圖片

      圖8 導入源文件

      圖片

      圖9 從源生成塊

      通過導入的方式可以導入單獨內容的源文件,也可以導入包含多個內容的源文件。

      問題4:如何使用經典Step7的接口型式

      在TIA PORTAL V15.1之前,SCL塊的接口方式和其他編程語言是一致的。從V15.1開始,SCL塊的接口方式可以修改成和經典STEP7相同的方式,操作方式如圖10所示。

      圖片

      圖10 塊接口設置

      ①在TIA PORTAL選項中選擇設置

      ②左邊選擇“SCL(結構化控制語言)”

      ③在塊接口選擇“文本視圖”,此設置默認選擇表格視圖。設置完,再新建的SCL塊即使用所選擇的視圖。之前新建的SCL塊不變。

      如圖11所示為文本視圖的SCL。

      圖片

      圖11 文本視圖SCL

      問題5:為什么GOTO指令會編譯報錯?

      如圖12-13所示,在LAD/FBD中的SCL編寫GOTO指令時會編譯報錯,所以不要在這里編寫GOTO指令。建議在LAD/FBD中的SCL不要使用過于復雜的編程,如果需要實現較為復雜的程序,建議單獨把SCL組織成為一個子程序,然后在LAD/FBD中調用。

      圖片

      圖12 編譯報錯

      圖片

      圖13 語法錯誤


      相關產品

      聯系方式

      • 電  話:13922889745
      • 經理:向小姐
      • 手  機:18475208684
      • 微  信:18475208684