恭喜,你发布的帖子
发布于 2022-12-17 15:13:48
8楼
以前有个机器人工作站焊接的项目,用到多工位人工预约的功能,跟楼主的要求类似。一个机器人面对多个工位,每个工位人工上下料完成后用双手按钮预约,机器人根据预约的先后顺序到对应工位加工。
可以尝试这样做
首先写一个满足你要求的FIFO的FB程序。
这个程序的接口应该至少有
1,inout队列数据接口(ARRAY可变数组)
2,in入列接口(BOOL)
3,in出列接口(BOOL)
4,in要入列的新值(INT)
然后,如果是有三种情况,就在同一程序结构下调用三次这个FB,实例用相同的就可以。
这几个调用的FB,inout接口是一样的(因为都是对同一组数据操作)
入列接口和写入的新值不一样(因为是不同的对象命令来触发)
出列接口只能一个FB要写,其他都是空的(因为执行出列的对象只有一个)
这样如果同时触发,入列的顺序就是这几个FB调用的顺序,可以解决同时触发的问题。
至于队列溢出、清零、插入值这些,就要看你的FIFO实际是否需要了
请填写推广理由:
分享
只看
楼主