TABLE是控制器自带的一个超大数组,数据类型为32位浮点型(4系列及以上为64位浮点数),掉电不保存。编写程序时,TABLE数组不需要再定义,可直接使用,索引下标从0开始。
ZBasic的某些指令可以直接读取TABLE内的值作为参数,比如CAM,CAMBOX,CONNFRAME,CONNREFRAME,MOVE_TURNABS,B_SPLINE,CAN,CRC16,DTSMOOTH,PITCHSET,HW_PSWITCH等指令。
示波器采样的参数也存储在TABLE里。因此在开发应用中要注意多个TABLE区域的分配与使用,不要与示波器采样的数据存储区域重合。
1)TABLE指令读写数据。
TABLE(0) = 10 'TABLE(0)赋值10
TABLE(10,100,200,300) '批量赋值,TABLE(10)赋值100,TABLE(11)赋值200,TABLE(12)赋值300
2)TSIZE指令可读取TABLE空间大小,还可修改TABLE空间大小(不能超出TABLE最大空间)。
PRINT TSIZE '打印出控制器TABLE大小
TSIZE=10000 '设置TABLE的大小,不能超过控制器TABLE最大SIZE
3)TABLESTRING指令按照字符串格式打印TABLE里的数据。
TABLE(100,68,58,92)
PRINT TABLESTRING(100,3) '字符串格式打印数据,转换为ASCII码
打印结果:D:\
TABLE作为参数传递时用法大致相同,以CAM凸轮指令为例:
CAM(start point, end point, table multiplier, distance)
start point:起始点TABLE编号,存储第一个点的位置
end point:结束点TABLE编号
table multiplier:位置乘以这个比例,一般设为脉冲当量值
distance:参考运动的距离
使用方法示例:
TABLE(10,0,80,75,40,50,20,50,0) 'TABLE从10开始存数据,TABLE(10)赋值0,TABLE(11)赋值80
CAM(10,17,100,500) '运动轨迹为TABLE(10)到TABLE(17)
查看TABLE内数据的方式有2种:
第一种:在在线命令行输入?*TABLE(10,8)查询TABLE(10)开始,依次8个数据。
第二种:在寄存器中查看DT(TABLE)数据,起始编号从10开始,个数8个。
楼主最近还看过