S7-1200系列PLC通過(guò)PROFINET與V90 PN伺服驅(qū)動(dòng)器搭配進(jìn)行位置控制,實(shí)現(xiàn)的方法主要有以下三種:
? 方法一、在PLC中組態(tài)位置軸工藝對(duì)象,V90使用標(biāo)準(zhǔn)報(bào)文3,通過(guò)MC_Power、MC_MoveAbsolute等PLC Open標(biāo)準(zhǔn)程序塊進(jìn)行控制, 這種控制方式屬于中央控制方式(位置控制在PLC中計(jì)算,驅(qū)動(dòng)執(zhí)行速度控制)。
? 方法二、在PLC中使用FB284(SINA_POS)功能塊,V90使用西門(mén)子111報(bào)文,實(shí)現(xiàn)相對(duì)定位、絕對(duì)定位等位置控制,這種控制方式屬于分布控制方式(位置控制在驅(qū)動(dòng)器中計(jì)算)。
? 方法三、在PLC中使用FB38002(Easy_SINA_Pos)功能塊,V90使用西門(mén)子111報(bào)文,此功能塊是FB284功能塊的簡(jiǎn)化版,功能比FB284少一些,但是使用更加簡(jiǎn)便。
V90 PN配置要點(diǎn)
? 對(duì)于方法一:設(shè)置控制模式為"速度控制(S)",配置通信報(bào)文為標(biāo)準(zhǔn)報(bào)文3
? 對(duì)于方法二或三:設(shè)置控制模式為"基本定位器控制(EPOS)",配置通信報(bào)文為西門(mén)子報(bào)文111
? V90在線后點(diǎn)擊"設(shè)置PROFINET->配置網(wǎng)絡(luò)",設(shè)置V90的IP地址及設(shè)備名稱:注意:設(shè)置的設(shè)備名稱一定要與1200項(xiàng)目中配置的相同。
參數(shù)保存后需重啟驅(qū)動(dòng)器才能生效。
方法一 使用標(biāo)準(zhǔn)報(bào)文3和工藝對(duì)象
V90 PN與PLC采用PROFINET RT通信方式并使用報(bào)文3,項(xiàng)目步驟如下:
1. 創(chuàng)建項(xiàng)目后,添加新設(shè)備S7-1200 PLC
2. 在網(wǎng)絡(luò)視圖中添加V90 PN設(shè)備(使用GSD)
2. 建立V90 PN與PLC的網(wǎng)絡(luò)連接,并分別設(shè)置S7-1200及V90 PN的IP地址及設(shè)備名稱:
3. 在設(shè)備視圖中為V90配置標(biāo)準(zhǔn)報(bào)文3
4. 插入一個(gè)位置軸
"驅(qū)動(dòng)器"選擇"PROFIdrive" :
配置軸的驅(qū)動(dòng),選擇連接到PROFINET總線上的V90 PN:可以手動(dòng)設(shè)置參考轉(zhuǎn)速及最大轉(zhuǎn)速,也可以選擇"自動(dòng)傳送設(shè)備中的驅(qū)動(dòng)裝置參數(shù)"。
配置編碼器的數(shù)據(jù)交換:
用戶可以根據(jù)實(shí)際的需要選擇和填寫(xiě)后續(xù)的信息,完成工藝對(duì)象的配置。
5. 在OB1中使用MC_Power、MC_MoveAbsolute等PLC Open標(biāo)準(zhǔn)程序塊編寫(xiě)軸的位置控制程序,PLC Open指令位于工藝指令目錄下的運(yùn)動(dòng)控制文件夾中,命令相關(guān)說(shuō)明請(qǐng)查看博途的幫助文件。
方法二 使用西門(mén)子報(bào)文111和FB284(SINA_POS)
V90 PN與PLC采用PROFINET RT通信方式并使用西門(mén)子報(bào)文111,V90 PN設(shè)置控制模式為"基本位置控制(EPOS)"。
1. PLC與V90 PN的項(xiàng)目配置與方法一中的步驟1-3相同。
2. 在V90 PN的設(shè)備視圖中插入西門(mén)子報(bào)文111
3. 編寫(xiě)程序
此種方法需要調(diào)用驅(qū)動(dòng)功能庫(kù)文件,可以通過(guò)以下兩種方法進(jìn)行安裝:
(1) 安裝Startdrive軟件,在TIA 博途軟件中就會(huì)自動(dòng)安裝驅(qū)動(dòng)庫(kù)文件
Startdrive軟件V14.1:
https://support.industry.siemens.com/cs/us/en/view/68034568
SINAMICS Startdrive V15:
https://support.industry.siemens.com/cs/us/en/view/109754382
SINAMICS Startdrive V15.1:
https://support.industry.siemens.com/cs/us/en/view/109760845
(2) 在TIA 博途中安裝SINAMICS Blocks DriveLib,下載鏈接:
https://support.industry.siemens.com/cs/ww/en/view/109475044
在OB1中將DriveLib_S7_1200_1500中的SINA_POS(FB284)功能塊拖拽到編程網(wǎng)絡(luò)中(此功能塊只能與報(bào)文111配合使用),進(jìn)行位置控制。
注意:功能塊參數(shù)HWIDSTW及HWIDZSW的賦值請(qǐng)參看下圖:
4. FB284功能塊輸入輸出塊參數(shù)說(shuō)明
輸入?yún)?shù):
輸入信號(hào) | 類型 | 含義 |
---|---|---|
ModePos | INT | 運(yùn)行模式: 1 = 相對(duì)定位 2 = 絕對(duì)定位 3 = 連續(xù)運(yùn)行模式(按指定速度運(yùn)行) 4 = 主動(dòng)回零 5 = 直接設(shè)置回零位置 6 = 運(yùn)行程序段 0~15 7 = 按指定速度點(diǎn)動(dòng) 8 = 按指定距離點(diǎn)動(dòng) |
EnableAxis | BOOL | 伺服運(yùn)行命令: 0 = 停止(OFF1) 1 = 啟動(dòng) |
CancelTraversing | BOOL | 0 = 取消當(dāng)前的運(yùn)行任務(wù) 1 = 不取消當(dāng)前的運(yùn)行任務(wù) |
IntermediateStop | BOOL | 暫停任務(wù)運(yùn)行: 0 = 暫停當(dāng)前運(yùn)行任務(wù) 1 = 不暫停當(dāng)前運(yùn)行任務(wù) |
Positive | BOOL | 正方向 |
Negative | BOOL | 負(fù)方向 |
Jog1 | BOOL | 點(diǎn)動(dòng)信號(hào)1 |
Jog2 | BOOL | 點(diǎn)動(dòng)信號(hào)2 |
FlyRef | BOOL | 此輸入對(duì)V90 PN無(wú)效 |
AckError | REAL | 故障復(fù)位 |
ExecuteMode | BOOL | 激活請(qǐng)求的模式 |
Position | DINT | ModePos=1或2時(shí)的位置設(shè)定值[LU] ModePos=6時(shí)的程序段號(hào) |
Velocity | DINT | ModePos=1、2、3時(shí)的速度設(shè)定值[LU] [1000LU/min] |
OverV | INT | 設(shè)定速度百分比0~199% |
OverAcc | INT | ModePos=1、2、3時(shí)的設(shè)定加速度百分比 0~100% |
OverDec | INT | ModePos=1、2、3時(shí)的設(shè)定減速度百分比 0~100% |
ConfigEPOS | DWORD | 可以通過(guò)此參數(shù)控制基本定位的相關(guān)功能,位的對(duì)應(yīng)關(guān)系見(jiàn)下表 |
HWIDSTW | HW_IO | V90設(shè)備視圖中報(bào)文1的硬件標(biāo)識(shí)符 |
HWIDZSW | HW_IO | V90設(shè)備視圖中報(bào)文1的硬件標(biāo)識(shí)符 |
ConfigEPOS位的對(duì)應(yīng)關(guān)系:
輸出參數(shù):
輸出信號(hào) | 類型 | 含義 |
---|---|---|
AxisEnabled | BOOL | 驅(qū)動(dòng)已使能 |
AxisPosOk | BOOL | 目標(biāo)位置到達(dá) |
AxisSpFixed | BOOL | 設(shè)定位置到達(dá) |
AxisRef | BOOL | 已設(shè)置參考點(diǎn) |
AxisWarn | BOOL | 驅(qū)動(dòng)報(bào)警 |
AxisError | BOOL | 驅(qū)動(dòng)故障 |
Lockout | BOOL | 位置環(huán)設(shè)定值到達(dá)目標(biāo)位置 |
ActVelocity | DINT | 實(shí)際速度[十六進(jìn)制的40000000h對(duì)應(yīng) p2000參數(shù)設(shè)置的轉(zhuǎn)速] |
ActPosition | DINT | 當(dāng)前位置LU |
ActMode | INT | 當(dāng)前激活的運(yùn)行模式 |
EPosZSW1 | WORD | POS ZSW1的狀態(tài) |
EPosZSW2 | WORD | POS ZSW2的狀態(tài) |
ActWarn | WORD | 驅(qū)動(dòng)器當(dāng)前的報(bào)警代碼 |
ActFault | WORD | 驅(qū)動(dòng)器當(dāng)前的故障代碼 |
Error | BOOL | 1=存在錯(cuò)誤 |
3.在TIA 博途中添加庫(kù)文件,并將庫(kù)中的Easy_SINA_Pos功能塊拖拽到左側(cè)"程序塊"中
4.在OB1中調(diào)用Easy_SINA_Pos功能塊,為功能塊各參數(shù)添加變量:
注意:對(duì)功能塊參數(shù)HWI DSTW及HWI DSZW的賦值可以通過(guò)點(diǎn)擊參數(shù),在下拉菜單中選擇對(duì)應(yīng)的西門(mén)子報(bào)文111選項(xiàng)。
也可以參看下圖,在設(shè)備視圖的報(bào)文屬性中查詢硬件標(biāo)識(shí)符的數(shù)值:
5. FB38002功能塊輸入輸出參數(shù)說(shuō)明
輸入信號(hào) | 類型 | 含義 |
---|---|---|
ModePos | INT | 運(yùn)行模式: 1 = 相對(duì)定位 2 = 絕對(duì)定位 4 = 主動(dòng)回零 7 = 按指定速度點(diǎn)動(dòng) |
EnableAxis | BOOL | 伺服運(yùn)行命令: 0 = 停止(OFF1) 1 = 啟動(dòng) |
Jog1 | BOOL | 點(diǎn)動(dòng)信號(hào)1 |
Jog2 | BOOL | 點(diǎn)動(dòng)信號(hào)2 |
MDIPosition | DINT | MDI運(yùn)行模式下的位置設(shè)定值[LU] |
MDIVelocity | DINT | MDI運(yùn)行模式時(shí)的速度設(shè)定值[1000LU/min] |
ExecuteMode | BOOL | 激活請(qǐng)求的模式 |
RefCamInput | BOOL | 回零開(kāi)關(guān)信號(hào) |
RefDirection | BOOL | 選擇回零開(kāi)始的方向: 0 = 正向?qū)ち?br/>1 = 反方向?qū)ち?/td> |
AckError | BOOL | 故障復(fù)位 |
HWLimitEnable | BOOL | 激活硬件限位開(kāi)關(guān): 1 = 激活 |
SWLimitEnable | BOOL | 激活軟件限位開(kāi)關(guān): 1 = 激活 |
HWIDSTW | HW_IO | 符號(hào)名或SIMATIC S7-1x00設(shè)定值槽的HW ID |
HWIDSTW | HW_IO | 符號(hào)名或SIMATIC S7-1x00設(shè)定值槽的HW ID |
輸出信號(hào) | 類型 | 含義 |
---|---|---|
ModeError | BOOL | ModePos不在1-7范圍內(nèi) |
CommunicationError | BOOL | 使用SFC14/15 于驅(qū)動(dòng)器進(jìn)行通訊發(fā)生故障 |
DiagID | WORD | 通信錯(cuò)誤,在執(zhí)行SFB 調(diào)用時(shí)發(fā)生錯(cuò)誤 |
AxisEnabled | BOOL | 驅(qū)動(dòng)已使能 |
AxisError | BOOL | 驅(qū)動(dòng)故障 |
AxisWarn | BOOL | 驅(qū)動(dòng)報(bào)警 |
AxisPosOk | BOOL | 目標(biāo)位置到達(dá) |
AxisRef | BOOL | 已設(shè)置參考點(diǎn) |
ActVelocity | DINT | 實(shí)際速度[十六進(jìn)制的40000000對(duì)應(yīng) p2000參數(shù)設(shè)置的轉(zhuǎn)速] |
ActPosition | DINT | 當(dāng)前位置LU |
ActMode | INT | 當(dāng)前激活的運(yùn)行模式 |
ActWarn | WORD | 驅(qū)動(dòng)器當(dāng)前的報(bào)警代碼 |
ActFault | WORD | 驅(qū)動(dòng)器當(dāng)前的故障代碼 |