1,硬件配置
1)V90 速度模式控制,需要使用西门子V-ASSISTANT软件对通讯报文进行控制。V90端选择102报文,辅助报文不选择。
2)V90端设置好之后,需要在PLC端组态V90控制硬件中选择102报文控制。
2,程序开始
1)输入输出,程序需要建立的输入输出需要至少有以下这些。
(1)输入引脚
iEnable | 使能输入,将V90上使能,使其处于待机状态 |
iMovePos | 正向移动命令输入 |
iMoveNeg | 反向移动命令输入 |
iReset | 故障复位 |
iPosDec | 正向移动到位减速开关(碰到开关后已设定扭矩运行) |
iNegStop | 反向移动到位停止开关 |
iSpeedSet_User | 正向、反向移动速度设置 |
iTorque_User | 扭矩限制输入 |
ioSpeedHardWareID | PLC配置V90102报文硬件连接ID |
(2)输出引脚
oReady | V90已经使能反馈 |
oFault | V90故障中反馈 |
oActVelocity | V90实际速度输出 |
oActPosition | V90实际位置输出 |
oPosOk | 机械正向移动到位 |
oNegOk | 机械反向移动到位 |
(3)博途中建立输入输出引脚如下图
(4)FB中使用的静态变量和临时变量如下
2)读取V90实际状态到静态变量swSRecvBuf 中
3)将部分我们需要的状态输出到输出引脚上(主要是控制器是否已准备好和故障信号)。将读取的速度转换为“转/分钟”,检测机械结构是否移动到位。
4)判断机械结构是否移动到目标位置,并对V90是否停止做出判断。
(1)正向移动时,碰到正向减速开关后以设置扭矩运行,当碰到实物时,速度会逐渐降低为0;当没有实物,会有可能发生碰撞;故第一句程序判断当碰到减速开关后,还在继续移动,并且直到减速开关信号消失,速度仍然没有降下来,对此对电机进行停止。
(2) 第二句程序和第4句程序为正常移动情况下的停止,
(3) 第三句和第5句则是停止后反向移动时,对停止位进行复位。
5)对输入扭矩和输入速度进行处理
当没有碰到正向减速开关时,v90不做扭矩限制,11.25是项目中选型的电机的扭矩Zui大值。扭矩转换方法参考程序中的注释,来自于电机手册。速度转换方法同样来自于电机手册。
6)PLC通过控制字对V90发送移动或停止指令。
(1)判断V90是否有使能条件,如有使能则将V90使能,但速度设置为0,电机不移动,通过第一张图程序实现。
(2)使能之后需判断是否有移动请求,如有移动请求,则将设置速度传送到V90控制器,从而实现电机的移动。
(3)如果前面控制中,V90出现报警,则断使能,并且把速度赋值为0,需通过故障复位将V90报警消除,再对V90进行控制。
7)V90 102报文中还有几位是主站生命位判断。对其我们需对其不断轮流惊醒发送生命位信号。
8)Zui后我们需要将逻辑控制结果打包发给V90。