有个改造项目,要求上位机不变动.
但是上位机的很多变量的采集点直接用的是PLC的DI+AI点.
然后改造之后,原来的DI和AI点就不用了.
对于DI点,我们做了测试,可以强制赋值.
A I 10.1(新DI点)
= I 0.1(原DI点)
这样就可以在不改动原上位机了.
但是这边的AI点就不行了, 比如PIW256,在move中不能放在被move位.IW倒是可以,但是改了IW,对PIW没有影响(我一直以为PIW和IW是一致的).
那么有什么办法可以实现吗?
问题补充:
之所以原来的DI和AI不用了,是因为,他原来是通过一个设备通过GSD组态过来的.
一个设备DI点就是50-60.很多点实际没用,但是这种是占着地盘不用也只有占着.
而我新加ET200M之后一个321模块我就是一个I94就把他全部点用完了,321点是连续的,我不肯一个模块就从50.1 52.4 55.4这样跳着走吧,
所以只能用I94.0=I50.1 I94.1=I52.4,然后上位机还是用他原来的50.1 52.4 55.4不用修改.
上位机用的是INTOUCH IDE,而且走的是C/S结构,我改的是一个分系统,但是上位机是一个大系统.能够不改最好不动.
我的AI都是在映像区以外了,这种情况下IW似乎不是PIW的值了.
比如我
L MW 0
T IW 256
给MW0赋值100,程序中可以看到IW256成为了100,但是PIW256还是初始值0.
最佳答案
不明白为什么改造之后原来的DI和AI点就不用了?如果是硬件更新的原因,改造项目时DI、AI还按照以前的地址配置就可以了,没必要把这些地址空置不用吧。否则像你所说的对于AI想要完全跟以前一样还真是没办法。
但如果必须是这样改造的话,也有个变通的办法:由于OB1周期比wincc的采集周期要快很多,所以你可以把新IW用move指令赋值给IW旧,PIW和IW的区别对于wincc来说应该是不大的。
提问者对于答案的评价:
没办法了,选你吧.
自己做测试,用的WINCC+314C做的.
在过程映像区以内的I点是可以赋值的,能够在WINCC中显示被强制的值(IWX或IX.Y都可以)
PIW不能被MOVE
过程映像区以外的值也不能赋值.
但是有个情况就是变量表监测中的I点实时数值和WINCC中的I点值被赋值的时候不一致.
专家置评
可参考“寒音”的办法解决。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc239731.html