分享经验,分享快乐
读单个驱动器参数和读多个驱动器参数试验 20101212 SFAE Oliver.Wu NO.1
1. 读单个驱动器参数,使用readdriveparameter命令
方式有多种,但是读取参数只能顺序执行多个读取,不能并行执行多个读取。
方式1,背景程序中梯形图读取,给出驱动器首地址以及参数号。读取方式必须为when_command_done, 而且必须进行数组到类型转换。
方式2,背景程序中ST读取,READ1是在I/O中定义的驱动器首地址。然后按照比例进行换算,得出正确的值。(16384相当于16进制4000。1.38为电机额定扭矩值。)
方式3,背景程序中MCC读取,MCC任务必须设定。使用system function call 调用系统功能,例如readdriveparameter以及bigbytearray_to_anytype 。(system function call只调用系统功能,不能调用自编功能)
方式4。背景程序中在MCC任务中建立ST程序段。顺序调用执行读取参数任务。
2. 读多个驱动器参数值。使用_readdrivemultiparameter 参数值
读取参数,在数组中是顺序存放的,例如第一个读取得p314参数值是一个字节,它会被自动存放在数组的data[0]中,第二个读取的r26参数值是四个字节,它会被顺序存放在数组的data[1]至data[4]中,另外不能采用字节转双字再转实形的方式进行取值,那个值是不正确的,必须将相应参数值的几个字节提取出来存到另一个同类型结构数组中,然后用bigbytearray to anytype命令读取正确的值。
P314参数因为只有一个字节值,所以直接转换就可以了
R26参数因为有多个字节值,所以必须先提取存到另一个同类型结构数组中,然后用bigbytearray_to_anytype读取正确的值。