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

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

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

      西門子授權代理-華南區西門子PLC-S7-1500 S7-400PLC 西門子s7 200 smart代理商

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

      詳細介紹
      西門子MODBUS TCP通訊(下)

      一、配方寫入PLC

      IF "1秤_配方使用".配方寫入 = TRUE THEN

          "1_MODBUS TCP數據".MC1.MB_DATA_PTR[0] := "1秤_配方數據塊".自動清零間隔;

          "1_MODBUS TCP數據".MC1.MB_DATA_PTR[1] := "1秤_配方數據塊".運行判穩超時;

          "1_MODBUS TCP數據".MC1.MB_DATA_PTR[2] := "1秤_配方數據塊".定值方式;

          "1_MODBUS TCP數據".MC2.MB_DATA_PTR[0] := "1秤_配方數據塊".配方號;

          "1_MODBUS TCP數據".MC2.MB_DATA_PTR[1] := "1秤_配方數據塊".目標值;

          "1_MODBUS TCP數據".MC2.MB_DATA_PTR[2] := "1秤_配方數據塊".快加提前量;

          "1_MODBUS TCP數據".MC2.MB_DATA_PTR[3] := "1秤_配方數據塊".中加提前量;

          "1_MODBUS TCP數據".MC2.MB_DATA_PTR[4] := "1秤_配方數據塊".落差值;

          "1_MODBUS TCP數據".MC2.MB_DATA_PTR[5] := "1秤_配方數據塊".零區值;

          "1_MODBUS TCP數據".MC3.MB_DATA_PTR[0] := "1秤_配方數據塊".加料前延時;

          "1_MODBUS TCP數據".MC3.MB_DATA_PTR[1] := "1秤_配方數據塊".快加禁判時間;

          "1_MODBUS TCP數據".MC3.MB_DATA_PTR[2] := "1秤_配方數據塊".中加禁判時間;

          "1_MODBUS TCP數據".MC3.MB_DATA_PTR[3] := "1秤_配方數據塊".慢加禁判時間;

          "1_MODBUS TCP數據".MC3.MB_DATA_PTR[4] := "1秤_配方數據塊".定值保持時間;

          "1_MODBUS TCP數據".MC3.MB_DATA_PTR[5] := "1秤_配方數據塊".夾袋后延時;

          "1_MODBUS TCP數據".MC3.MB_DATA_PTR[6] := "1秤_配方數據塊".松袋前延時;

          "1_MODBUS TCP數據".MC3.MB_DATA_PTR[7] := "1秤_配方數據塊".卸料延時;

          "1_MODBUS TCP數據".MC4.MB_DATA_PTR[0] := "1秤_配方數據塊".加料關閉至慢加所需脈沖個數;

          "1_MODBUS TCP數據".MC5.MB_DATA_PTR[0] := "1秤_配方數據塊".加料關閉至快加所需脈沖個數;

          "1_MODBUS TCP數據".MC6.MB_DATA_PTR[0] := "1秤_配方數據塊".加料電機加速時間;

          "1_MODBUS TCP數據".MC6.MB_DATA_PTR[1] := "1秤_配方數據塊".加料電機減速時間;

      END_IF;


      二、個別數據,點擊寫入數據時觸發定時器,設定若干秒時間進行寫入,平時更新該數據

      "IEC_Timer_0_DB_130".TP(IN:="1秤_配方使用".配方寫入,

                              PT:=#設定時間,

                              Q=>#脈沖輸出,

                              ET=>#計時);

      IF NOT "IEC_Timer_0_DB_130".Q THEN   

         "1_MODBUS TCP數據".MC2.MB_DATA_PTR[4] := "1_MODBUS TCP數據".MC8.MB_DATA_PTR[0];

      ELSE

        END_IF;

      三、配方根據配方號進行保存

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 1 THEN

          "1秤_配方1" := "1秤_配方數據塊" ;

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 2 THEN

          "1秤_配方2" := "1秤_配方數據塊" ;

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 3 THEN

          "1秤_配方3" := "1秤_配方數據塊" ;

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 4 THEN

          "1秤_配方4" := "1秤_配方數據塊" ;

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 5 THEN

          "1秤_配方5" := "1秤_配方數據塊";

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 6 THEN

          "1秤_配方6" := "1秤_配方數據塊" ;

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 7 THEN

          "1秤_配方7" := "1秤_配方數據塊" ;

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 8 THEN

          "1秤_配方8" := "1秤_配方數據塊" ;

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 9 THEN

          "1秤_配方9" := "1秤_配方數據塊" ;

      END_IF;

      IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方號 = 10 THEN

          "1秤_配方10" := "1秤_配方數據塊" ;

      END_IF;

      四、配方根據配方號進行寫入

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 1 THEN

          "1秤_配方數據塊" := "1秤_配方1" ;

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 2 THEN

          "1秤_配方數據塊" := "1秤_配方2" ;

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 3 THEN

          "1秤_配方數據塊" := "1秤_配方3" ;

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 4 THEN

          "1秤_配方數據塊" := "1秤_配方4" ;

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 5 THEN

          "1秤_配方數據塊" := "1秤_配方5" ;

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 6 THEN

          "1秤_配方數據塊" := "1秤_配方6";

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 7 THEN

          "1秤_配方數據塊" := "1秤_配方7" ;

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 8 THEN

          "1秤_配方數據塊" := "1秤_配方8" ;

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 9 THEN

          "1秤_配方數據塊" := "1秤_配方9" ;

      END_IF;

      IF "1秤_配方使用".配方讀取 = TRUE AND "1秤_配方使用".配方號 = 10 THEN

          "1秤_配方數據塊" := "1秤_配方10" ;

      END_IF;

      寫配方數據DB塊時,注意數據格式及數據命名是一樣的,相同的DB塊數據類型,可以使用UDT數據類型(這個本人一開始每想到,簡練的DB塊都是復制粘貼,如果添加一個數據或減少一個數據,那么相關DB塊都用更改,很瑪法)。


      相關產品

      聯系方式

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