模块上的数字是怎么回事(模块上面的数字)模块上的数字是怎么回事(模块上面的数字)

关注健康
关注真实体验

模块上的数字是怎么回事(模块上面的数字)

模块上的数字是怎么回事(模块上面的数字)

《几种实用的“数字量输出信号“处理方式》一文中,介绍了关于“数字量输入”的信号处理方法,除了直接访问过程映像区外,还可以选择基于“输入模块”来进行集中处理,或者也可以借鉴“状态字”的概念,将与设备相关的信号打包、组合成一个“状态字”,集中读入,方便了现场运维。

同样的,对于“数字量输出”信号的处理,通过编写恰当的功能块,也可以实现“面向输出模块“的处理方式。

一、以“字节“位单位,集中处理

以“字节”为单位进行处理,针对的是8bit的输出模块,可以开发相应FB块,以对数据进行集中处理,其调用效果如下图所示。

用法说明:

输入端“DEST_QBy“写入硬件地址信息,如要输出到Q50.0开始的一个字节中,则该脚位写入”50“;IN0-IN7,写入待输出的信号,来自程序中,其他逻辑运算而来的结果;“AND_MASK”、“OR_MASK”和“XOR_MASK”,可对待输出的信号做逻辑处理,分别可对某一位或某几位实现“置0”、“置1”及“取反”的功能;输入“VALID”端当且仅当为“1”时,该功能块才能将输入IN0-IN7的信号输出到过程映像区。二、以“字”为单位,集中处理

同样的原理,针对16bit的输出模块,可开发相应的FB块,其编程逻辑上大同小异,基本上是从一个字节拓展为一个字,其调用效果如下图所示。

用法类似,输入端多了一个“ROTATE”脚位,用于决定是否将待输出的信号进行“高低字节转换”,当ROTATE=1时,表示要进行高低字节转换,此时IN0-IN7、IN8-IN15对应的输出映像区要做翻转,这个功能主要是应对不同厂家模块的兼容性问题。

三、功能块的级联与扩展

上述的两个功能块,同时设计考虑的“扩展”的问题。如输出模块为32bit时,可以选择开发32bit版本的FB块,也可以用两个16bit版本或4个8bit版本的FB块级联来实现同样的功能。

再比如,上图中Q50.0开始的一个字的输出数据处理,同样可以选择用两个8bit的FB块级联来实现,如下图所示。

基于“输出模块”的信号处理,可以将各个模块的信号集中起来进行处理,这样的好处是,在前期调试期间可以精准的定位每个模块,提高了信号“打点校线“的效率。同时,由于信号集中处理,后期的生产维护也会方便一些。

<< 上一篇《几种实用的数字量输入信号的处理方法》

未经允许不得转载: 九月健康网» 模块上的数字是怎么回事(模块上面的数字)
分享到: 更多 ( 0)