今天,和一个同事讨论模拟量模块的问题,他在程序编写上遇到了一些麻烦,监控S7-300模拟量模块读数不变化,怎么折腾都读数是32767。
尽管模拟量模块大家都很熟悉,但是类似的问题还经常出现。翻了翻手边的资料,似乎没有系统讲解这个问题的,于是把自己的经验归纳总结一下。既然是经验,还是把它写出来和大家分享一下吧。看完故事后,想必大家就会对模拟量接线的问题迎刃而解 。
在我看来,想解决这样的问题,最根本的是要抓住一点。有的同学可能迫不及待地想知道哪一点,但是这一点涉及的知识面还是有些宽。平时也忙,我会断断续续的写,大家耐心看完这个系列,就可以抓住这一点了。
关于读不出值的问题,如果总是32767没有变化,其实值已经有了,只不过是超量程了。如果值为0,那就要注意模拟量是否有问题了,使用万用表测量现场信号并没有超限。为什么会出现这两种现象呢?这是因为选择的参考电位不同,例如,现场过来的信号为5V,那首先要问一下,基准点是几伏?10~15是5V,-10~ -5同样也是5V,如果测量端基准点是0V,那么测量就会有问题,所以一定要保证两端等电位。模拟量模块的基准电位点就是MANA ,所有的接线都与之有关。 在接下来的故事中,咱们就仔细讲讲接线的问题。
这里的隔离是指模拟量模块的基准电位点MANA 与地(也是PLC的数据地)隔离。
隔离模块MANA 与地M可以不连接,以MANA 作为测量端的参考电位;非隔离模块MANA 与地M必须连接, 这样地M 变为MANA作为测量端的参考电位。
隔离模块的好处就是可以避免共模干扰。如何知道模块是否是隔离模块,例如SM331模块,可以从模板规范中查到。S7-300中只有一款SM334(SM355除外)模块是非隔离的,此外CPU31XC集成的模拟量也是非隔离的,共同特点就是模块的输出和输入公用M端。
同样传感器也有隔离与非隔离的问题。通常非隔离的传感器电源的负端与信号的负端公用一个端子,例如传感器有三个端子 L, M 和S+,通过L, M端子向传感器供电,S+,M为信号的输出,公用M端。判断传感器是否隔离最好还是参考手册。隔离传感器信号负端与地M可以不连接,以信号负端作为信号源端的参考电位。非隔离传感器信号负端必须在源端(设备端)接地,以源端的地作为信号的参考电位。
下面就是如何保证测量端与信号源端等电位接线的问题。在下面建议的连接图中所用的缩写词和助记符含义如下:
M +: 测量导线(正)
M -: 测量导线(负)
MANA: 模拟量模块基准电位点
这里需要注意MANA ,不同的接线方式都是以MANA 为参考基准电位。
M: 接地端子
L +: 24 VDC电源端子
UCM: MANA与模拟量输入通道之间或模拟量输入通道之间的电位差
UCM共模电压,有两种:
1)不同输入信号负端的电位差,例如一个输入信号为3V,另一个输入信号也为3V,但是它们的基准点电位可能不同,可能是1~4V或3~6V,那么它们之间的共模电压为2V。
2)输入信号负端与MANA的电位差。
模块的UCM 是造成模拟量值超上限的主要原因。不同模块UCM 的最大值不同。
UISO: MANA和CPU的M端子之间的电位差
|