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

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

    1. <menuitem id="ayu7o"></menuitem>
      <object id="ayu7o"></object>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684
      公司新聞
      西門子PLC S7-1200實現4ms準確周期采集的方法
      發布時間: 2024-04-15 16:18 更新時間: 2024-12-02 08:00

      高速數據采集要保證速度,也要保證時刻的準確性。

      在windows系統里,時間穩定性是個很難的問題。如果PLC發送的數據里帶有時間信息,則可以由PLC來保證采樣周期的穩定性。


      從V2.12版本開始,PLC-Recorder軟件可以處理發送電文里的時間戳,有網友用0.24ms的速度外發,軟件也能夠穩定接收并jingque確定數據的時刻。



      圖片1、測試條件圖片


      下面用S7-1200實現帶有時間戳的高速數據采集,測試條件如下:

    2. 西門子 S7-1200 1214C,無其他通訊,通訊負載比例:50%。PLC IP地址:192.168.0.1

    3. 通過循環中斷OB30執行循環發送。OB1里無程序。

    4. 通訊協議:UDP(只有該協議,在高速模式下才支持時間戳)。

    5. 編程軟件和系統:TIA V16

    6. 微型工控機(Intel? Celeron J1900 2.0GHz四核低功耗處理器) 4核 4G內存,SSD硬盤,無風扇,WIN10系統,無其他大型軟件。



    7. 圖片2、測試結論圖片


      如果PLC通訊負載較低,則很難保證4ms的周期發送,因此,這里設置成50%。


      如果用低于4ms的周期外發,實際周期只能做到4ms。相比來說,S7-1500可以做到2ms的實際周期。這也說明S7-1500的運算能力強于S7-1200。



      圖片3、PLC的發送程序圖片


      在2ms的循環中斷程序里進行發送,通過計數比較或者其他方法獲得4ms的周期脈沖,觸發發送指令。在通訊結束后進行計數,產生時間戳,并允許下一次發送。


      由于S7-1200不支持長整型,因此,時間戳的產生方法與S7-1500也不相同。

      圖片

      圖片


      以下是發送的電文結構(僅發送前200字節):

      圖片



      圖片4、PLC連接配置圖片


      以下是UDP類型的設置示例:

      指定了接收端IP地址和端口號 192.168.0.100:5010

      圖片



      圖片5、PLC-Recorder側的通訊設置圖片


      請用帕姆齊設備類型,目前,僅該類型支持時間戳功能。需要配置來源的IP地址及本機收聽的端口號。并將本計算機的IP地址設置成192.168.0.100。

      圖片



      圖片6、PLC-Recorder的通道配置圖片


      此處雖然配置了采集周期,但在高速模式下不再使用該周期,以收到信息的時刻為準。另外,此處配置了兩個虛擬通道,用于高速采集后的解碼,獲取整型變量的位。

      圖片



      圖片7、PLC-Recorder的變量配置圖片


      從Zui后一個變量的起始地址和變量長度可以確定該通道的通訊電文的長度。對于TCP類型的連接,


      電文長度需要通過Zui后變量進行確定(下例子看出電文長度為200字節)。對于UDP類型的通訊,UDP是按照完整報文進行傳輸的,可以自動獲取長度信息,因此,不需要關注Zui后變量。


      變量配置時,不需要定義所有的變量,僅需要定義自己關注的變量即可。


      起始地址為0的變量就是PLC里定義的時間戳。

      圖片



      圖片8、正常通訊情況的界面圖片


      左下角的Hi標志表明目前正處于高速狀態。

      圖片



      圖片9、記錄數據的情況圖片


      這是用離線分析軟件Ana打開的歷史數據文件。從左側的統計數據可以看出,平均采集周期是4ms。從右側的波形和標尺可以看出,點距非常均勻。

      圖片


      下面一張圖是網友的歷史波形,實際采集周期基本是0.24ms。

      圖片



      圖片10、再說時間戳圖片


      時間戳是Uint32類型的數據,在西門子PLC里被稱為UDint,需要從0到4_294_967_295之間遞增,并自然翻轉(自動歸零)。時間戳的單位必須是微秒,因此,是70分鐘翻轉一次。


      S7-1500能計算獲得納秒的時間差值,需要除1000,將單位轉換成微秒。

      S7-1200里只能獲得毫秒的時間差值,需要乘1000,將單位轉換成微秒。


      時間戳是個時間差值,PLC-Recorder在開始記錄時,會將首個時間戳與計算機的當前時間進行比較(對時),后續就用相對時間進行計算,并自動處理翻轉的問題。因此,PLC不需要保證juedui時鐘的準確性,只要相對穩定即可。



      圖片11、小結圖片


      采集的速度越快,需要的技術越復雜,代價也越大。


      PLC-Recorder的主動采集模式,基本只需要在PLC-Recorder里配置變量,不需要在PLC做什么復雜工作,這種方式很便捷,但是速度也有限(Zui快20ms)。高速模式,就需要在PLC里配置通訊,組織數據,然后調用通訊語句,才能夠實現,因此,對于PLC工程師的要求也是有一些了。


      高速模式采用標準以太網通訊協議,這也是大部分PLC都具備的能力,因此,可以被廣泛使用來進行快速數據采集。

      圖片


      聯系方式

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