回复:第三阶段1.3.2循环队列的PLC实现疑问

Siemens_PLC编程精英训练营

西门子1847工业学习平台

  • 帖子

    1108
  • 精华

    0
  • 被关注

    15

论坛等级:侠圣

注册时间:2018-09-30

钻石 钻石 如何晋级?

发布于 2023-08-29 22:34:43

2楼

展开查看
以下是引用手机用户20230129287215在2023-08-28 23:40:39的发言 >0楼

这个循环队列为什么一个出队就使用了三个MOVE_BLK_VARIANT指令,这三个MOVE_BLK_VARIANT指令各不一样,但他们前面的变量都是tempInternalError ,这三个MOVE_BLK_VARIANT指令到底起了什么作用?



MOVE_BLK_VARIANT指令的基本功能就是数组之间部分元素的传送,前面的变量tempInternalError是对应该指令的返回值,包含错误代码,该指令的具体用法您可以回顾阶段二的如下章节:




这部分程序的具体功能说明如下:


1、当入队元素长度大于尾指针到队尾的长度时,则入队时会发生尾指针翻转,也就是尾指针会从队尾移过队头。


因此将入队元素分两步处理:


第一步:先把入队元素放入从尾指针到队尾的空间


第二步:把剩余入队元素放入从队头开始的空间


2、当入队元素长度小于尾指针到队尾的长度时,尾指针未发生翻转,入队元素直接全部放入。


具体说明如下图:




评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

PLC编程精英训练营

共有1541条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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