
S7-1500与FB284控制V90pn三轴系统:最新项目调试完成并通过PLC和触摸屏程序
最近刚搞完一个S7-1500通过FB284控制三台V90 PN的项目,趁着热乎劲记录点实战经验。这个方案
最大的优势就是省事——不用写底层报文,FB284直接封装好了PROFINET通信,三台伺服参数配置好直接开
整。
硬件组态先把V90 PN的GSD文件导进TIA Portal,三台伺服挂到PROFINET网络里。注意每台V90的设
备名称要和实际硬件一致(别问我怎么知道的,设备名称冲突报错那会真是头大)。组态完硬件后,FB284的
接口参数自动生成,这个挺方便。
PLC程序里每个轴单独调用FB284:
```STL
CALL "FB284" , "Axis1_DB"
Axis := 1 //硬件标识符
Execute := #Axis1_Enable
...
Error := #Axis1_Error
```
这里偷懒用了M区地址,实际项目建议用结构体变量。重点注意控制字设置,比如伺服使能需要给16
#047E过渡到16#047F(这个坑当年可是卡了我两小时)。
触摸屏做了个三轴控制面板,HMI变量直接绑定PLC的DB块。手动模式时用MoveVelocity指令控制:
```SCL
IF #JogForward THEN
"Axis1".MoveVelocity(500.0);
ELSIF #JogBackward THEN
"AxisDB".MoveVelocity(-500.0);
END_IF;
```
调试时发现V90的402报文配置必须和PLC端对应,尤其是控制字/状态字的位定义。有个骚操作:把V
90参数p29013设成3,可以直接在TIA Portal里读伺服报警信息。
联调阶段碰到最奇葩的问题:某个轴的定位完成信号死活不触发。后来发现是FB284的PositionRea
ched信号需要VelocityActual绝对值低于某个阈值才会置位,在V90里把p2625参数从默认50改到20立马
好使。
几个实战建议: