本文是一篇綜合性非常強的文章,從PLC輸入輸出及步進電機接線開始,到PLC運動控制程序編寫,再到后續的ModbusTCP通信協議及上位機編程實現Zui終控制,涉及知識面比較廣,能夠讓我們很好地將所學知識結合起來。
2. 項目開發平臺采用西門子TIA Portal V15編程軟件編寫運動控制程序,實現PLC(S7-1200系列:CPU1214C DC/DC/DC )對步進電機的控制,再通過編寫ModbusTCP程序,將控制地址進行映射,從而方便上位機(VS 2019開發)與PLC進行通信,Zui終實現步進電機的運動方向、速度及距離的靈活控制。
涉及硬件:開關電源、S7-1200PLC、步進驅動器、步進電機、單軸模組、限位開關
涉及軟件:TIA Portal V15、VS2019、ModbusPoll(用于測試通信)
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,各個引腳填寫如圖所示,該程序段主要用于執行juedui運動 | |
10 | 程序段4,調用MC_MoveJog,各個引腳填寫如圖所示,該程序段主要用于執行前進和后退點動 | |
11 | 程序段5,調用MC_Home,各個引腳填寫如圖所示,該程序段主要用于執行歸零 | |
12 | 程序段6,調用MC_Reset,各個引腳填寫如圖所示,該程序段主要用于執行復位功能 | |
13 | 程序段7,調用MC_Halt,各個引腳填寫如圖所示,該程序段主要用于執行暫停功能 | |
14 | 程序段8,調用MC_ReadParam,來讀取相關參數,各個引腳填寫如圖所示,該程序段主要用于讀取實時脈沖 |
目前比較主流開發上位機的方式,主要是組態軟件(觸摸屏)、C#開發上位機,C#開發上位機與傳統的組態軟件之間的區別,主要體現在如下三個方面:
采用C#上位機開發,首先需要考慮的是通信問題。西門子S7-1200支持很多種不同的通信協議,包括S7、ModbusTCP、TCP/IP、UDP、OPC等,從開發成本上來說,我們優先考慮S7和ModbusTCP,對于S7和ModbusTCP通信協議,比較一下兩者的優缺點:
從公開免費和使用范圍的角度來考慮,這里采用ModbusTCP通信協議,因為學會了ModbusTCP,意味著市場上的大部分儀表、PLC通信都可以搞得定,PLC程序編寫如下如下所示:
創建DB塊
這里首先創建一個DB塊,里面包含了常用的一些操作和參數設置,值得注意的是,由于Modbus保持型寄存器的Bit位操作比較麻煩,因此這里我們統一使用Word類型來代替Bit。
ModbusTCP通信庫
上位機開發功能實現的核心在于ModbusTCP通信庫編寫,由于Modbus協議是公開免費,可以自己根據Modbus協議來開發,也可以使用開源的Modbus庫,如NModbus等,有了ModbusTCP通信庫之后,我們可以將更多的精力放在業務處理及邏輯處理上面。
這個項目整體來說難度不是很大,但是涉及的知識面比較廣,非常適合上位機初學者進行學習和練手。
- 伺服與變頻器有什么區別? 2024-12-02
- 步進驅動和伺服驅動的區別 2024-12-02
- 如何使用博圖仿真軟件PLCSIM模擬調試S7-1200程序? 2024-12-02
- PLC常見的輸入輸出設備有哪些?如何與PLC連接? 2024-12-02
- 西門子S7-300開關量模塊和模擬量模塊地址如何分配? 2024-12-02
- 西門子S7-200 SMART編程軟件簡介 2024-12-02
- 西門子S7-1200編程實例,關斷延遲定時器指令如何使用? 2024-12-02
- 西門子1500系列PLC運動控制功能,速度軸配置與仿真 2024-12-02
- 西門子S7-1200 PLC高速計數器實例及應用詳解 2024-12-02
- 西門子S7-1200與第三方設備自由口通信詳解 2024-12-02
- 博途S7-1200 和V20變頻器的MODBUS通訊實例 2024-12-02
- 什么叫運動控制?什么是伺服系統?伺服系統的三種控制方式 2024-12-02
- 西門子S7-1200運動控制指令說明及重要指令應用講解 2024-12-02
- 西門子1500與75臺200smart 以太網通訊,大神是怎么做到的? 2024-12-02
- 西門子S7-1200與G120變頻器的Modbus RTU通訊 2024-12-02
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684