我是一个菜鸟,最近在学习表指令时,遇到一些困惑,望各位前辈指点:
1:表指令中的表在哪?是可见还是虚拟的?
2:CDT指令的输入表和输入表可否为同一个表?这个表是否为DB,是全局还是背景?
3:可否提供CDT应用实例?
我想实现一个自动寻找坐标的方法:如指令逻辑坐标1,2,3;对应输出物理坐标X=A,X=B,X=C。应该怎么实现?如果加入Y坐标,如输入逻辑点位A;B;C;对应输出物理坐标X=1,Y=1;X=2,Y=2;X=3,Y=3又应如何实现?
图片说明:
最佳答案
关联数据表FC103的使用是将输入值(in)与已有输入表(in_tbl)中的值相比较,找出第一个大于或等于输入值的数值。如果找到了该值,则需要通过该值的索引将输出表(out_tbl)中的相应值复制到输出值(out)中。
其中,输入表值应该按升序排列,最小的在第一个表格条目,最大的在最后一个表格条目;输入值的大小,表格单元及输出值是根据e_type管脚值确定;表的第二条目含有第一个表格值;二个表中的单元必须相等且大于0;创建每一个表时,必须初始化第一个条目。
关于e_type管脚定义:
w#16#0001:为功能的参数指定的存储器类型无效
w#16#0002:e_type
w#16#0003:输入和输出表长度不匹配
w#16#0004:表格长度为0
w#16#000::in_tbl中没有大于或等于输入值的值
1)在创建的数据块中
2)表的数据可以是数据块中的数据,是全局数据。
3)例子程序,见附件
图片说明:
提问者对于答案的评价:
非常感谢!希望有更多有效指导。因为官方帮助文档说的实在不清楚。
最佳答案作者回复:
很多时候自己可以通过仿真进行验证。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc227324.html