實(shí)用︱西門子1200PLC實(shí)用定位控制程序案例 !??!
實(shí)用︱西門子1200PLC實(shí)用定位控制程序案例 ?。。?/h4>
電工電氣學(xué)習(xí)
電工電氣學(xué)習(xí)
dian_gon
專業(yè)電工電氣領(lǐng)域自媒體,不容錯過。電工電氣學(xué)習(xí)必關(guān)注,我們始終專注于電工電氣行業(yè)全方位信息,與您分享干貨,助力行業(yè)發(fā)展!
發(fā)表于
收錄于合集
0
1
引言
introduction
本文是一篇綜合性非常強(qiáng)的文章,從PLC輸入輸出及步進(jìn)電機(jī)接線開始,到PLC運(yùn)動控制程序編寫,再到后續(xù)的ModbusTCP通信協(xié)議及上位機(jī)編程實(shí)現(xiàn)最終控制,涉及知識面比較廣,能夠讓我們很好地將所學(xué)知識結(jié)合起來。
0
2
項(xiàng)目開發(fā)平臺
project platform
采用西門子TIA Portal V15編程軟件編寫運(yùn)動控制程序,實(shí)現(xiàn)PLC(S7-1200系列:CPU1214C DC/DC/DC )對步進(jìn)電機(jī)的控制,再通過編寫ModbusTCP程序,將控制地址進(jìn)行映射,從而方便上位機(jī)(VS 2019開發(fā))與PLC進(jìn)行通信,最終實(shí)現(xiàn)步進(jìn)電機(jī)的運(yùn)動方向、速度及距離的靈活控制。
涉及硬件:開關(guān)電源、S7-1200PLC、步進(jìn)驅(qū)動器、步進(jìn)電機(jī)、單軸模組、限位開關(guān)
涉及軟件:TIA Portal V15、VS2019、ModbusPoll(用于測試通信)
0
3
硬件接線
Hardware wiring
0
4
PLC編程
PLC programming
步 驟
操作
說明
1
通過博圖軟件創(chuàng)建一個新的PLC項(xiàng)目,
根據(jù)硬件型號插入新設(shè)備,這里為
CPU 1214C DC DC DC
2
雙擊PLC的以太網(wǎng)口,設(shè)置IP地址,
這里設(shè)置為192.168.2.210
3
雙擊CPU,在脈沖發(fā)生器PTO/PWM選項(xiàng)中設(shè)置信號類型為PTO,脈沖輸出為Q0.0,方向輸出為Q0.1
4
新建一個工藝對象,名稱為軸1,通過基本參數(shù)>驅(qū)動器,設(shè)置脈沖輸出為Pulse1
5
通過擴(kuò)展參數(shù)>位置限制,設(shè)置上下限位分別為I0.1和I0.2
6
通過擴(kuò)展參數(shù)>回原點(diǎn)>主動,設(shè)置原點(diǎn)開關(guān)為I0.0
7
程序段1,調(diào)用MC_Power使能,各個引腳填寫如圖所示,其中Asix選擇軸1
8
程序段2,調(diào)用MC_MoveRelative,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行相對運(yùn)動
9
程序段3,調(diào)用MC_MoveAbsolute,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行絕對運(yùn)動
10
程序段4,調(diào)用MC_MoveJog,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行前進(jìn)和后退點(diǎn)動
11
程序段5,調(diào)用MC_Home,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行歸零。https://www.dgdqw.com/wenku/plc/
12
程序段6,調(diào)用MC_Reset,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行復(fù)位功能
13
程序段7,調(diào)用MC_Halt,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行暫停功能
14
程序段8,調(diào)用MC_ReadParam,來讀取相關(guān)參數(shù),各個引腳填寫如圖所示,該程序段主要用于讀取實(shí)時脈沖
0
5
上位機(jī)開發(fā)思路
Upper computer development
目前比較主流開發(fā)上位機(jī)的方式,主要是組態(tài)軟件(觸摸屏)、C#開發(fā)上位機(jī),C#開發(fā)上位機(jī)與傳統(tǒng)的組態(tài)軟件之間的區(qū)別,主要體現(xiàn)在如下三個方面:
功能限制:組態(tài)軟件對于一些特定的需求或者邏輯,會有一定的局限性,使用上也受到軟件本身的約束;C#開發(fā)上位機(jī)完全自主開發(fā),幾乎不存在功能上的限制,并且擴(kuò)展方便。
技術(shù)要求:組態(tài)軟件最大的優(yōu)勢在于方便,因?yàn)樗旧矶技闪艘恍┩ㄓ脜f(xié)議和元件,只需要按照使用說明進(jìn)行組態(tài)配置即可;C#開發(fā)需要完全自己搭建框架和實(shí)現(xiàn)底層代碼,對開發(fā)者的技術(shù)要求會更高一些。
價格成本:組態(tài)軟件需要按套、按點(diǎn)位收費(fèi),意味著每個項(xiàng)目無形中都有一個基礎(chǔ)成本;C#開發(fā)上位機(jī)自主開發(fā),不需要二次授權(quán)費(fèi)用,并且開發(fā)一套之后,可以快速應(yīng)用到其他項(xiàng)目中。
掃碼免費(fèi)學(xué)習(xí)PLC視頻課程
采用C#上位機(jī)開發(fā),首先需要考慮的是通信問題。西門子S7-1200支持很多種不同的通信協(xié)議,包括S7、ModbusTCP、TCP/IP、UDP、OPC等,從開發(fā)成本上來說,我們優(yōu)先考慮S7和ModbusTCP,對于S7和ModbusTCP通信協(xié)議,
比較一下兩者的優(yōu)缺點(diǎn):
S7協(xié)議為西門子內(nèi)部協(xié)議,協(xié)議本身不公開,需要調(diào)用或者自己開發(fā)通信庫,使用S7通信協(xié)議需要勾選CPU中的允許來自遠(yuǎn)程對象的PUT/GET通信訪問。
ModbusTCP為公開、免費(fèi)協(xié)議,可以自己開發(fā)通信庫或者使用開源庫,使用ModbusTCP通信協(xié)議需要編寫一定的PLC程序來實(shí)現(xiàn)地址映射。
從公開免費(fèi)和使用范圍的角度來考慮,這里采用ModbusTCP通信協(xié)議,因?yàn)閷W(xué)會了ModbusTCP,意味著市場上的大部分儀表、PLC通信都可以搞得定,PLC程序編寫如下如下所示:
創(chuàng)建DB塊
這里首先創(chuàng)建一個DB塊,里面包含了常用的一些操作和參數(shù)設(shè)置,值得注意的是,由于Modbus保持型寄存器的Bit位操作比較麻煩,因此這里我們統(tǒng)一使用Word類型來代替Bit。
Modbus地址與PLC地址的映射(控制位)
Modbus地址與PLC地址的映射(參數(shù)地址)
ModbusServer程序編寫
上位機(jī)UI界面設(shè)計
ModbusTCP通信庫
上位機(jī)開發(fā)功能實(shí)現(xiàn)的核心在于ModbusTCP通信庫編寫,由于Modbus協(xié)議是公開免費(fèi),可以自己根據(jù)Modbus協(xié)議來開發(fā),也可以使用開源的Modbus庫,如NModbus等,有了ModbusTCP通信庫之后,我們可以將更多的精力放在業(yè)務(wù)處理及邏輯處理上面。
0
6
上位機(jī)功能開發(fā)
Upper computer development
首先創(chuàng)建一個Windows窗體應(yīng)用項(xiàng)目,項(xiàng)目名稱為thinger.com.MotionPro。
日志顯示功能:日志顯示采用ListView進(jìn)行顯示,綁定一個ImageList用來區(qū)分信息、報警、錯誤,添加日志方法的參數(shù)包含日志等級及日志內(nèi)容。
自己開發(fā)ModbusTCP通信庫或者使用開源庫,該庫應(yīng)該具備建立連接、斷開連接、預(yù)置寄存器、讀取寄存器的功能。
建立連接和斷開連接:這里通過按鈕實(shí)現(xiàn)建立連接和斷開連接2個功能。
相對位置運(yùn)動:設(shè)置相對運(yùn)動速度和相對運(yùn)動位置,實(shí)現(xiàn)電機(jī)的相對運(yùn)動。
絕對位置運(yùn)動:設(shè)置絕對運(yùn)動速度和絕對運(yùn)動位置,實(shí)現(xiàn)電機(jī)的相對運(yùn)動。
點(diǎn)動運(yùn)動模式:設(shè)置點(diǎn)動運(yùn)動速度,按住正向點(diǎn)動或者反向點(diǎn)動,實(shí)現(xiàn)電機(jī)的點(diǎn)動運(yùn)動。
回原點(diǎn)模式:點(diǎn)擊回原點(diǎn),可以控制物體回到原點(diǎn)位置并停止。
運(yùn)動停止、運(yùn)動暫停、復(fù)位相關(guān)功能。
0
7
小編寄語
send word
這個項(xiàng)目整體來說難度不是很大,但是涉及的知識面比較廣,非常適合上位機(jī)初學(xué)者進(jìn)行學(xué)習(xí)和練手。
免責(zé)聲明:本文轉(zhuǎn)自網(wǎng)絡(luò),版權(quán)歸原作者所有,如涉及作品版權(quán)問題,請及時與我們聯(lián)系刪除,謝謝!
猜您喜歡
◆
75例經(jīng)典電氣控制接線圖、電子元件工作原理圖,學(xué)會不求人!
◆
新八級工制度考核下放到單位,電工“技師”們到底有多狂?
◆
適合電工初學(xué)及提高自身技能的6本書推薦
◆
慘!不驗(yàn)電,當(dāng)場觸電死亡!
推薦閱讀
:
西門子S7-1500與歐姆龍安全PLC的TCP/IP通訊
,
戳下方
“
閱讀原文”
dian_gon
專業(yè)電工電氣領(lǐng)域自媒體,不容錯過。電工電氣學(xué)習(xí)必關(guān)注,我們始終專注于電工電氣行業(yè)全方位信息,與您分享干貨,助力行業(yè)發(fā)展!
引言
introduction
本文是一篇綜合性非常強(qiáng)的文章,從PLC輸入輸出及步進(jìn)電機(jī)接線開始,到PLC運(yùn)動控制程序編寫,再到后續(xù)的ModbusTCP通信協(xié)議及上位機(jī)編程實(shí)現(xiàn)最終控制,涉及知識面比較廣,能夠讓我們很好地將所學(xué)知識結(jié)合起來。
采用西門子TIA Portal V15編程軟件編寫運(yùn)動控制程序,實(shí)現(xiàn)PLC(S7-1200系列:CPU1214C DC/DC/DC )對步進(jìn)電機(jī)的控制,再通過編寫ModbusTCP程序,將控制地址進(jìn)行映射,從而方便上位機(jī)(VS 2019開發(fā))與PLC進(jìn)行通信,最終實(shí)現(xiàn)步進(jìn)電機(jī)的運(yùn)動方向、速度及距離的靈活控制。
涉及硬件:開關(guān)電源、S7-1200PLC、步進(jìn)驅(qū)動器、步進(jìn)電機(jī)、單軸模組、限位開關(guān)
涉及軟件:TIA Portal V15、VS2019、ModbusPoll(用于測試通信)
| 步 驟 | 操作 | 說明 |
|---|---|---|
| 1 | 通過博圖軟件創(chuàng)建一個新的PLC項(xiàng)目, 根據(jù)硬件型號插入新設(shè)備,這里為 CPU 1214C DC DC DC |
|
| 2 | 雙擊PLC的以太網(wǎng)口,設(shè)置IP地址, 這里設(shè)置為192.168.2.210 |
|
| 3 | 雙擊CPU,在脈沖發(fā)生器PTO/PWM選項(xiàng)中設(shè)置信號類型為PTO,脈沖輸出為Q0.0,方向輸出為Q0.1 |
|
| 4 | 新建一個工藝對象,名稱為軸1,通過基本參數(shù)>驅(qū)動器,設(shè)置脈沖輸出為Pulse1 |
|
| 5 | 通過擴(kuò)展參數(shù)>位置限制,設(shè)置上下限位分別為I0.1和I0.2 |
|
| 6 | 通過擴(kuò)展參數(shù)>回原點(diǎn)>主動,設(shè)置原點(diǎn)開關(guān)為I0.0 |
|
| 7 | 程序段1,調(diào)用MC_Power使能,各個引腳填寫如圖所示,其中Asix選擇軸1 |
|
| 8 | 程序段2,調(diào)用MC_MoveRelative,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行相對運(yùn)動 |
|
| 9 | 程序段3,調(diào)用MC_MoveAbsolute,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行絕對運(yùn)動 |
|
| 10 | 程序段4,調(diào)用MC_MoveJog,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行前進(jìn)和后退點(diǎn)動 |
|
| 11 | 程序段5,調(diào)用MC_Home,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行歸零。https://www.dgdqw.com/wenku/plc/ |
|
| 12 | 程序段6,調(diào)用MC_Reset,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行復(fù)位功能 |
|
| 13 | 程序段7,調(diào)用MC_Halt,各個引腳填寫如圖所示,該程序段主要用于執(zhí)行暫停功能 |
|
| 14 | 程序段8,調(diào)用MC_ReadParam,來讀取相關(guān)參數(shù),各個引腳填寫如圖所示,該程序段主要用于讀取實(shí)時脈沖 |
|
目前比較主流開發(fā)上位機(jī)的方式,主要是組態(tài)軟件(觸摸屏)、C#開發(fā)上位機(jī),C#開發(fā)上位機(jī)與傳統(tǒng)的組態(tài)軟件之間的區(qū)別,主要體現(xiàn)在如下三個方面:
掃碼免費(fèi)學(xué)習(xí)PLC視頻課程
采用C#上位機(jī)開發(fā),首先需要考慮的是通信問題。西門子S7-1200支持很多種不同的通信協(xié)議,包括S7、ModbusTCP、TCP/IP、UDP、OPC等,從開發(fā)成本上來說,我們優(yōu)先考慮S7和ModbusTCP,對于S7和ModbusTCP通信協(xié)議, 比較一下兩者的優(yōu)缺點(diǎn):
從公開免費(fèi)和使用范圍的角度來考慮,這里采用ModbusTCP通信協(xié)議,因?yàn)閷W(xué)會了ModbusTCP,意味著市場上的大部分儀表、PLC通信都可以搞得定,PLC程序編寫如下如下所示:
創(chuàng)建DB塊
這里首先創(chuàng)建一個DB塊,里面包含了常用的一些操作和參數(shù)設(shè)置,值得注意的是,由于Modbus保持型寄存器的Bit位操作比較麻煩,因此這里我們統(tǒng)一使用Word類型來代替Bit。
ModbusTCP通信庫
上位機(jī)開發(fā)功能實(shí)現(xiàn)的核心在于ModbusTCP通信庫編寫,由于Modbus協(xié)議是公開免費(fèi),可以自己根據(jù)Modbus協(xié)議來開發(fā),也可以使用開源的Modbus庫,如NModbus等,有了ModbusTCP通信庫之后,我們可以將更多的精力放在業(yè)務(wù)處理及邏輯處理上面。
這個項(xiàng)目整體來說難度不是很大,但是涉及的知識面比較廣,非常適合上位機(jī)初學(xué)者進(jìn)行學(xué)習(xí)和練手。
免責(zé)聲明:本文轉(zhuǎn)自網(wǎng)絡(luò),版權(quán)歸原作者所有,如涉及作品版權(quán)問題,請及時與我們聯(lián)系刪除,謝謝!
猜您喜歡
◆ 75例經(jīng)典電氣控制接線圖、電子元件工作原理圖,學(xué)會不求人!
◆ 新八級工制度考核下放到單位,電工“技師”們到底有多狂?
◆ 適合電工初學(xué)及提高自身技能的6本書推薦
◆ 慘!不驗(yàn)電,當(dāng)場觸電死亡!
推薦閱讀
:
西門子S7-1500與歐姆龍安全PLC的TCP/IP通訊
,
戳下方
“
閱讀原文”
-
2023年各省最新電價一覽!8省中午執(zhí)行谷段電價! 2023-01-03
-
PPT導(dǎo)出高分辨率圖片的四種方法 2022-09-22
-
全國消防救援總隊(duì)主官及簡歷(2023.2) 2023-02-10
-
盤點(diǎn) l 中國石油大慶油田現(xiàn)任領(lǐng)導(dǎo)班子 2023-02-28
-
我們的前輩!歷屆全國工程勘察設(shè)計大師完整名單! 2022-11-18
-
關(guān)于某送變電公司“4·22”人身死亡事故的快報 2022-04-26
