回复:请教西门子队列程序?

已锁定

肥石

西门子1847工业学习平台

  • 帖子

    36
  • 精华

    0
  • 被关注

    1

论坛等级:侠客

注册时间:2018-12-13

黄金 黄金 如何晋级?

发布于 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实际是否需要了


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。