对于引用大家可能比较陌生,我大概说一下区别,在高级语言中,数据类型可以分为两种,值类型和引用类型,对于值类型我们进行传参时,实际操作的是该变量的副本,引用类型我们操作的是一个指向该变量的指针,其中详细的区别还有很多,我就不介绍了,实际上在博途里引用就是一个指针,但是是类型安全的指针。
在V18中新增的功能时,提到了V18现在可以支持使用REF指令去访问轴的工艺对象,假如我们自己封装一个 轴功能控制块时,在IN管脚传入的轴对象时,就可以不必是一个确定的轴类型,比如可以是速度轴,位置轴,同步轴等等,同时支持一个功能块只需要改变引脚的编号就可以对所有的轴进行控制(但是不推荐这样做)。
下面我简略的写了一个 功能块,使用仿真测试了一下这个功能,完全没有我问题 以下是源码

由于只是测试可行性,所以只写了MC—Home轴使能部分,下面是轴功能块的引脚介绍:

AXIS引脚可以支持轴工艺对象的连接,也可以支持DB块的编号,比如上图中的编号10就是AXIS1
Enble引脚就是轴使能的输入,bool类型,考虑到可能会控制多个轴,所以采用上升沿的方式触发。
errormessage就是输出一些中文报警信息
AxisType输出轴的类型,比如速度轴是1 位置轴是2 等等,不是轴类型为0
Enbled输出当前轴的使能信息。
以上是我抛砖引玉的分享,如有 错误欢迎大家的讨论和指正,谢谢。