<object id="seflp"></object>

    1. <object id="seflp"></object>
      <dfn id="seflp"></dfn>
          加入收藏 在線留言 聯系我們
          關注微信
          手機掃一掃 立刻聯系商家
          全國服務熱線17838383235
          公司新聞
          6ES7326-1RF00-0AB0現貨西門子代理
          發布時間: 2024-03-10 12:23 更新時間: 2024-11-22 08:50

          6ES7326-1RF00-0AB0現貨西門子代理

          6ES7326-1RF00-0AB0現貨西門子代理

          6ES7326-1RF00-0AB0現貨西門子代理



          西門子1200 PLC實用定位控制程序案例


          從開始的PLC輸入輸出和步進電機接線,到PLC運動控制程序的編程,再到后續的ModbusTCP通信協議和上位機編程實現終的控制,它涉及的知識范圍很廣,這讓我們能夠將所學的知識很好地結合起來。


          開發平臺


          采用西門子TIA Portal V16編程軟件編寫運動控制程序,實現PLC(S7-1200系列:CPU1214C DC/DC/DC )對步進電機的控制,再通過編寫ModbusTCP程序,將控制地址進行映射,從而方便上位機(VS 2019開發)與PLC進行通信,終實現步進電機的運動方向、速度及距離的靈活控制。


          涉及硬件:開關電源、S7-1200PLC、步進驅動器、步進電機、單軸模組、限位開關

          涉及軟件:TIA Portal V16、VS2019、ModbusPoll(用于測試通信)


          硬件接線

          圖片


          PLC編程 步 驟操作說明

          1\通過博圖軟件創建一個新的PLC項目,
          根據硬件型號插入新設備,這里為CPU 1214C DC DC DC


          圖片


          2\雙擊PLC的以太網口,設置IP地址,這里設置為192.168.2.210


          圖片


          3\雙擊CPU,在脈沖發生器PTO/PWM選項中設置信號類型為PTO,脈沖輸出為Q0.0,方向輸出為Q0.1


          圖片

          4新建一個工藝對象,名稱為軸1,通過基本參數>驅動器,設置脈沖輸出為Pulse1

          圖片


          5通過擴展參數>位置限制,設置上下限位分別為I0.1和I0.2


          圖片


          6\通過擴展參數>回原點>主動,設置原點開關為I0.0


          圖片


          7程序段1,調用MC_Power使能,各個引腳填寫如圖所示,其中Asix選擇軸1


          圖片

          8\程序段2,調用MC_MoveRelative,各個引腳填寫如圖所示,該程序段主要用于執行相對運動


          圖片


          9程序段3,調用MC_MoveAbsolute,各個引腳填寫如圖所示,該程序段主要用于執行運動


          圖片


          10\程序段4,調用MC_MoveJog,各個引腳填寫如圖所示,該程序段主要用于執行前進和后退點動


          圖片


          11\程序段5,調用MC_Home,各個引腳填寫如圖所示,該程序段主要用于執行歸零


          圖片


          12程序段6,調用MC_Reset,各個引腳填寫如圖所示,該程序段主要用于執行復位功能


          圖片


          13程序段7,調用MC_Halt,各個引腳填寫如圖所示,該程序段主要用于執行暫停功能


          圖片


          14程序段8,調用MC_ReadParam,來讀取相關參數,各個引腳填寫如圖所示,該程序段主要用于讀取實時脈沖


          圖片


          上位機開發思路

          為了便于操作,需要配一個HMI人機界面來進行使用。這個的HMI形式是比較多樣化的,如觸摸屏、組態軟件等,但是這里,我們采用目前比較流行的方式——C#開發上位機,來供用戶使用。C#開發上位機相對于傳統的組態軟件,各自都有自己的優缺點,主要體現在如下三個方面:

          功能限制:組態軟件對于一些特定的需求或者邏輯,會有一定的局限性,使用上也受到軟件本身的約束;C#開發上位機完全自主開發,幾乎不存在功能上的限制,并且擴展方便。

          技術要求:組態軟件大的優勢在于方便,因為它本身都集成了一些通用協議和元件,只需要按照使用說明進行組態配置即可;C#開發需要完全自己搭建框架和實現底層代碼,對開發者的技術要求會更高一些。

          價格成本:組態軟件需要按套、按點位收費,意味著每個項目無形中都有一個基礎成本;C#開發上位機自主開發,不需要二次授權費用,并且開發一套之后,可以快速應用到其他項目中。

          采用C#上位機開發,首先需要考慮的是通信問題。西門子S7-1200支持很多種不同的通信協議,包括S7、ModbusTCP、TCP/IP、UDP、OPC等,從開發成本上來說,我們優先考慮S7和ModbusTCP,對于S7和ModbusTCP通信協議,比較一下兩者的優缺點:

          S7協議為西門子內部協議,協議本身不公開,需要調用或者自己開發通信庫,使用S7通信協議需要勾選CPU中的允許來自遠程對象的PUT/GET通信訪問。

          ModbusTCP為公開、免費協議,可以自己開發通信庫或者使用開源庫,使用ModbusTCP通信協議需要編寫一定的PLC程序來實現地址映射。

          從公開免費和使用范圍的角度來考慮,這里采用ModbusTCP通信協議,因為你學會了ModbusTCP,意味著市場上的大部分儀表、PLC通信你都可以搞得定,PLC程序編寫如下所示:


          1、創建DB塊

          這里首先創建一個DB塊,里面包含了常用的一些操作和參數設置,值得注意的是,由于Modbus保持型寄存器的Bit位操作比較麻煩,因此這里我們統一使用Word類型來代替Bit。

          圖片


          2、Modbus地址與PLC地址的映射(控制位)

          圖片


          3、Modbus地址與PLC地址的映射(參數地址)

          圖片


          4、ModbusServer程序編寫


          圖片


          5、上位機UI界面設計


          圖片


          6、ModbusTCP通信庫

          上位機開發功能實現的核心在于ModbusTCP通信庫編寫,由于Modbus協議是公開免費,可以自己根據Modbus協議來開發,也可以使用開源的Modbus庫,如NModbus等,有了ModbusTCP通信庫之后,我們可以將更多的精力放在業務處理及邏輯處理上面。

          7、ModbusTCP通信點表


          圖片


          上位機開發功能

          1、首先創建一個Windows窗體應用項目,項目名稱為thinger.cn.MotionPro。

          2、日志顯示功能:日志顯示采用ListView進行顯示,綁定一個ImageList用來區分信息、報警、錯誤,添加日志方法的參數包含日志等級及日志內容。

          3、自己開發ModbusTCP通信庫或者使用開源庫,該庫應該具備建立連接、斷開連接、預置寄存器、讀取寄存器的功能。

          4、建立連接和斷開連接:這里通過按鈕實現建立連接和斷開連接2個功能。

          5、相對位置運動:設置相對運動速度和相對運動位置,實現電機的相對運動。

          6、位置運動:設置運動速度和運動位置,實現電機的相對運動。

          7、點動運動模式:設置點動運動速度,按住正向點動或者反向點動,實現電機的點動運動。

          8、回原點模式:點擊回原點,可以控制物體回到原點位置并停止。

          9、運動停止、運動暫停、復位相關功能。



          聯系方式

          • 電  話:17838383235
          • 經理:徐嘉泉
          • 手  機:17838383235
          • 微  信:17838383235