在项目中,经常会用到用脉冲控制伺服电机做位置控制,就想着能扣做一个功能块,将自己常用到的功能封装到一个大的功能块中,方便自己以后使用。
在封装自己的功能块时,遇到的最大问题就是轴的数据类型,博图里面带的轴功能块,不同块的轴数据类型不一样,如MC_POWER、MC_Reset、MC_Home功能块,轴的数据类型都是TO_Axis,而MC_Halt、MC_MoveJog功能块,轴的数据类型是TO_SpeedAxis,到了MC_MoveAbsolute和MC_MoveRelative功能块里面,轴的数据类型又成了TO_PositioningAxis。在新建功能块的输入变量表内,也没有找到关于轴的数据类型。感觉这个封装功能块的任务没法完成了。
请教多人,身边的人都没有这样做过的,都感觉这样做的意义不大,既然博图里面已经有了轴的功能,再把它们封装到一个大的功能块里,没多大意义,而且调试也不方便。但是自己既然想做,就像想把它做出了,即使不实用。
在偶然的情况下,发现在工艺对象里新建轴时,显示的轴数据类型是TO_PositioningAxis,于是就抱着试一试的心态,将自己做得功能块的轴数据类型定义为TO_PositioningAxis。编写程序编译后,发现没有报错。感觉应该差不多了,剩下的就是把自己需要的功能做出来,然后上硬件测试。最终胜利通过。

