西门子6SL3060-4AB00-0AA0
选用的4rtd模块,三路实际按照三线制正确接入,另外1路空(已经用一个100欧电阻接到未接的输入通道4上)。问题如下:
1.显示温度值比实际分度表查的误差大,比如输入rtd 阻值108欧姆,查分度表对应21度。但显示为18度左右。(程序里aiw* 经过处以10后的值)
2.而且还有一个现象,测量s7-200rtd模块端子,热电阻值跳变。断开接线,单独测量外部rtd 电阻,并不跳变。
究竟是什么原因?
答:1.em232 rtd模块与pt100(3线制)连接设置dip开关sw1至sw8设为0,为三线制摄氏度。
em231 rtd模块的详细接线和dip开关设置请参照《s7-200 可编程控制器系统手册》中的附录,请参考我上传的抓图。
2.通常判断热电阻的好坏,可以用精度高的测试阻值来判断,简单方法用手握住热电阻,测量阻值有变化,并在112欧姆左右视为正常(阻值随温度有变化即使正负1、2欧姆误差也可视为正常)。在实际使用中一定要注意接线,往往铂热电阻到或仪表的接入端距离很长,会达到几十米甚至几百米,这时候导线的阻值就不能不考虑在内了。所以切不可在plc或仪表端把两线并三线接入plc或仪表,一定要从pt100三线接出,并三线接入plc或仪表,否则必然存在温度虚高。
3.pt100采用标准型时,程序直接读piw数值后,先转化为整型,再转化为双整型,*后转化为实型,然后除以10.0即为实际温度值(气候型热电阻就除以100.0)。
按照上述方法,如果热电阻测量温度与实际温度还是不符,如果是线性误差,我通常是加一个温度修正,见上传图片。
1,热电阻em231dip开关设定2
2,热电阻em231dip开关设定1
3,温度修正子程序
例如,语句“lar1 p##pointerbbbbb”在一个函数(fc)中是无效的(图. 01)。当输入一个命令或者试图保存一个块时将会得到如下错误信息:30:9: "compilation of the network 1 is not possible, because it still contains invalid statements."
然而,同样的语句在一个功能块(fb)中是有效的。此错误信息只是次要信息,如果语句在保存时被标记成红色此信息就总是被显示出来。当将any指针载入到地址寄存器ar1和ar2 时,必须注意以下功能块和函数:
在fb情况下,传输的any指针被保存到为其分配的情景数据块中。
在fc情况下,传输的any指针被保存到调用的本地数据栈中。
any指针样例程序
图. 01
对于fb语句“lar1 p##pointerbbbbb”是有效的。
图. 02
在fc中,地址必须首先通过语句“l p#pointerbbbbb”载入到accu1中并从那里通过语句lar1载入到ar1寄存器中。 fb和fc之间的不同之处是语句“lar1 p##variablename”
在fc中只能访问temp变量(本地数据堆栈)。
在fb中也能访问in, out, in-out和stat变量。
图.03给出了在fc中如何访问一个temp变量的样例。
图. 03
图.04 给出了一个在fc中any变量(in变量)的数据是如何传送的 样例。数据从地址寄存器ar1中传送到临时变量以作进一步的处理。例如,in变量“bbbbb”(类型 :any)的地址首先载入到accu1并从那里再载入到ar1寄存器。基本地址能从地址寄存器ar1传送到临时变量“bit_adr”(类型:dword)。
图. 0
请按照以下方法操作,以实现在图形编辑器中同一时间显示多个画面(垂直或者水平)。
no. | 步骤 |
1 | 在图形编辑器中打开多个画面。在文件窗口只显示一个画面。可以使用窗口顶部边缘的选项卡选择所需的画面。 图. 01 |
2 | 选择一个打开的画面,拖拽它到画面的右(下)边缘。 图. 02 |
3 | 显示画面就会横向(垂直)排列。 图. 03 |