最近的一个项目硬件组成:
PLC:1215C DC/DC/DC,两台V90 PN,一个HMI,一个基恩士IV2-G30视觉传感器,都通过ProfiNet连接
V90控制模式EPOS,绝对值编码器,PLC使用111报文,FB284功能块控制伺服。
V90回参考点方式采用参考点挡块(信号REF)及编码器零脉冲。FB284管脚ModePos=4(回零设置)正方向回零方式.
通过这种方式回零后如果不对V90做参考点校准和不保存到ROM操作,重新关机上电后需要对V90重新回参考点的操作,这样使用绝对值编码器的意义就没了。前面几次我都是通过主动回零后,在人工在V90上面对绝对值编码器进行校准和保存到ROM的操作。比较麻烦。后面发现西门子有FB38000模块,可以通过PLC完成校准和保存。经过一段时间的测试,整理了下面的内容,分享下。
FB38000功能
在S7-1200中使用绝对值编码器校正功能块实现V90 PN EPOS 功能的绝对值编码器校正。功能块完成零点坐标(p2599) 的写入,并且对参数进行掉电。PLC 与驱动间通过非周期性通信的方式来修改绝对值编码器校准的相关参数。
FB38000调用模块
经测试在“循环中断”组织块中调用,循环时间间隔500ms,效果最好。可以在伺服使能状态下操作。
FB38000管脚分布
Execute:只需要一个上升沿触发
CopyRamToRom:置1参数从RAM复制到ROM,置0参数不复制到ROM
HardwareId:报文 HW ID
AxisNumber:对于V90驱动设置为2
EncoderNumber:对于V90驱动设置为1
ReferencePoint:零点坐标值
Done:从0变为1表示任务完成
Busy:为1表示任务正在处理
控制时序图
下面时序图自己整理,可能不一样。下次我用博途跟踪一个实际的控制时序图。
Execute上升沿触发
Busy由“0→1”,模块操作结束后由“1→0”,并等待伺服操作完成后Done由“0→1”
Done由“0→1”后需要等待下一次Execute上升沿触发后会由“1→0”
删除绝对值校正
经测试,伺服绝对值编码器校正后,重新上电,可以使用FB38000模块来变向删除绝对值校正。
操作的时候CopyRamToRom置“0”,Execute上升沿触发操作等待完成。
对伺服关闭重新上电后伺服会报警F7441,AxisRef信号置“0”,删除绝对值校正,可以重新对伺服轴回参考点操作