plc 200 smart 怎么把我建立表格里面的数据剔除

我有十个开关,分别对应I0.0 I0.1.....I1.1 ,每次有开关闭合的时候向表中填一个数,分别对应1,2.。。。10.。假如表中已填入六个数,但是其中任意一个开关断开,它所对应的数需要在表中被剔除,后面的数据前移,请问用什么方法可以实现这个目的,请说的详细点。求指教

最佳答案

程序没有,提供个思路吧
1、使用表指令创建表,实现开关闭合的时候,往表里面填数
2、使用查表指令,在有断开的时候,找到断开的按钮在表里面的位置
3、使用间接寻址,从找到的置位后面的数据往前移动一个位置,这样就相当于把那个数据删除了。然后表的条目计数减一

参考:
S7-200 SMART 间接寻址
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/070.html
S7-200 SMART 表格指令
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/042.html

提问者对于答案的评价:
查表指令的比较值可以实时变化吗?还有一个问题就是假定填入表格前4个数据会被先入先出指令提走,断开的时候不用查这个值,是把先入先出指令放在查表指令前面吗?

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc286368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午11:24
下一篇 2020年10月30日 下午11:24

相关推荐