PCS 7的模板驱动,可以简便地实现数字量和模拟量信号的测量与输出,并提供相关的诊断、仿真等功能,为工程和调试带来便利。但实际使用中,用户多多少少还是会有些疑问-模板驱动到底怎么用?让我们来看一个热线用户遇到的问题。
客户问题:我用PCS 7标准库的驱动块CH_AI测量AI信号值,为什么总是比实际值少一半?
通过与用户的沟通,我了解到,用户使用的是一款6ES7 331-1KF02-0AB0的多功能AI模块,支持电流、电压、热电阻、热电偶等常见的模拟量测量方式。
起初,我怀疑是用户的硬件组态配置与实际现场不一致,便和用户逐一核查硬件组态信息。但是核查的结果,用户的组态完全正确——所有通道均设置成4~20mA电流信号测量。CPU的其它配置也没有可疑之处。
那么,是什么原因导致CH_AI的输出值与实际值差一半呢?与用户一起核查CH_AI的状态信息,用户反馈说,MODE=0,QBAD=1,QUALITY=0,输出V值为实际的一半。
我们知道,一个工作正常的通道信号,质量代码应该是16#80,而现在我们得到的质量代码却是0,同时明确的得到了反馈QBAD=1。这个通道乃至这个AI模板整体都没有正常运行。再进一步与用户确认得到:CH_AI的MODE引脚没有与任何程序块相连,而且监视值为0。
这说明了什么?我们所检查的这个AI通道,根本没有被激活!
平时我们可能会比较少关注CH_AI的MODE是什么含义,查看一下CH_AI的帮助文档中有关MODE的信息如下:

当我们设置好AI通道的测量类型,PCS 7系统编译时根据测量类型会自动为AI指定MODE,并生成模板驱动。在线监视程序时,可以查看到CH_AI的MODE信息,如图:

(硬件组态中的配置)

(程序编译后模板的状态)
那么,为什么用户已经设置成4-20mA的AI通道,却显示为未激活通道,不生成模板驱动呢?
注意到,331-1KF02模板是一款近期推出的AI模板,而用户提到过他所使用的PCS 7版本为V7.0 SP1。我们基本已经得出结论了:331-1KF02并不是PCS 7 V7.0 SP1支持的模板。
也就是说,即便我们能组态这个模板,但模板的硬件配置却不能为低版本的PCS 7所识别,系统编译不能为其自动生成相应的模板驱动,AI通道就被当做未激活通道处理了。我参照用户的配置进行了实验,结果和用户的现场现象一致。

(PCS 7 V7.0 SP1下对331-1KF02组态,配置为4~20mA)

(CFC程序中的现像)
这时候用户又该问了:“那我就不能在低版本的PCS 7中使用西门子新推出的模块产品了么?”
这可不一定。咱们的产品每年推陈出新,但新产品一般都会保持与旧产品的向下兼容性。比如这款331-1KF02的模板,就可以完全替代它的前辈331-1KF01。而331-1KF01是PCS 7 V7.0 SP1所支持的模板。那么,我们将模板在硬件组态中组态为331-1KF01,用户的问题就可以迎刃而解了。
通过这个故事,我们可以看到PCS 7诊断功能的强大。如果出现奇怪的现象不用急,仔细分析诊断信息就会找到原因。大家有兴趣的话,可以多多关注这些PCS 7的小技巧。
更多精彩内容,请您关注西门子热线故事!