FC105转换出错
刘玉蓉
发布于2014-10-28 17:42
102
0
标签:
有一个需测-100KP~400KP的压变信号进入PLC,经过FC105转换,但我在仿真时却发现转换错误(PIW352=0,HI_LIM=43c80000,LO_LIM=c2c80000,RET_VAL=0,OUT=43160000)。请赐教!
说明:
1、因本次是在原有程序上修改,而原程序中已有FC105(单极性)并在多重背景中进行了多处调用。所以我复制了一个FC105,然后将其名称改为FC107。
2、因我对这些多重背景不熟练,所以没有修改原程序,只是在OB1中直接调用了FC107,但仿真时发现以上错误。
3、另外做了一个简易的站,在其OB1中直接调用并仿真,正常。是否FC107与原程序中FC105有相互影响的地方?
问题补充:
1、其实开始时,我并没有复制和将FC105改为FC107,是出现了以上的问题后,我才复制并修改的,但改后还是不行。
2、仿真时大多数为错误,有时多次重新下载,偶尔会正常一次,即:PIW352=0时,OUT=150。
3、我不清楚,为什么我输入的上、下限都是常数,下限-100;上限400,怎么会自动发生变化。而且,在下一段落,我将OUT和一常数压力(10)做GE_R比较,常数10也自动变成了41200000。
佳答案
1. 标准块FC105用于规范化模拟量,它是将一个整形值(IN)并将其转换为以工程单位表示的介于下限和上限(LO_LIM 和HI_LIM)之间的实型值(浮点格式);对单极性输入来说,输入PIW352=0(介于0-27648),输出OUT应该位于介于上下限之间的值。你不能直接调用复制FC105,然后改为FC107,因为FC105只能直接调用,它是PLC操作系统固化的纯软件功能,所以对FC107仿真错误;
2. FC107(AE_466_2)(读模拟量值)也是PLC操作系统固化的纯软件功能,它是用于从模拟量输入模块6ES5466-3LAXX读进一个模拟值(即从S5模拟量输入模块读取一个模拟值)。
你做了一个简易的站,在其OB1中直接调用FC105并仿真正常。说明FC105 以及FC106都是模拟量规格化的系统固化的模拟,只能直接调用,而不能复制,它是无效的,也不会有结果的。