回复:关于优先级使用到的阵列问题?

已锁定

yming

西门子1847工业学习平台

  • 帖子

    23144
  • 精华

    881
  • 被关注

    1253

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2024-03-11 18:24:28

16楼

展开查看
以下是引用slitter在2024-03-10 00:35:48的发言 >14楼

我发现这里写错了,改了就好了



针对你的贴子《探讨一下关于位字串逻辑运算在程序中的用法》的1楼,我的理解如下图:

SetBitBWDW是StorBitBWDW映射过来的,,ClrBitBWDW 置位第五位相当于停止,让SetBitBWDW的对应第五位置0,但是一旦ClrBitBWDW复位第五位时为0,SetBitBWDW的对应第五位又会变1.








另外我看了你的贴子的第4楼的图,还是没看明白........

比如:图中的PAW,PSW,SLW,SRW,还有左移右移。。。。能不能详细解释一下,万分感谢大神!

以下是引用zhangli0在2024-03-08 10:34:47的发言 >13楼:dword 257你想转成什...

引用13楼详细内容:

dword 257你想转成什么?

首先,这个过程与那种优先级中断(入栈出栈)不同。这个方法是对应那些更随机多工位“呼叫”;

例如:类似楼层电梯的呼叫;多工位上料的呼叫;在这些场景中,不可以上着一半人,有优先呼叫,就强行关门升降;也不允许正在普通工位上料中途,去执行优先呼叫工位的任务。它总是完成当前任务后,再处理另一(优先)任务。

要做的第一步就是保存任意时刻的“呼叫”请求

我们知道:最简单的“启保停”逻辑,本质上就是请求(启动)事件撤销请求(停止)事件。一旦请求(启动)就保持请求状态,直到撤销请求为止。

通常,上述逻辑都是用位操作。但实际上,是可以使用字逻辑的。

一个字节就一次处理8路。一个字就是16路、双字32路等等。

由于变量逻辑代码是一摸一样的,仅仅是数据类型不同。既然如此,我们就可以写一个FC,采用(不占内存空间的)Variant(通道)来处理多路的数据类型的“启保停”逻辑。

这个“启保停”FC生成图中CallW(呼叫字)。这个字的那些中,包含了普通等级的呼叫,也包含了具有优先级的呼叫

使用SCL这仅仅是一行代码。

下一步,就是把不同优先级的提取出来。



学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15105条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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