diai强制赋值
112.95.251.214
发布于2014-04-28 17:52
67
0
标签:
有个改造项目,要求上位机不变动.
但是上位机的很多变量的采集点直接用的是plc的di+ai点.
然后改造之后,原来的di和ai点就不用了.
对于di点,做了测试,可以强制赋值.
ai10.1(新di点)
=i0.1(原di点)
这样就可以在不改动原上位机了.
但是这边的ai点就不行了,比如piw256,在move中不能放在被move位.iw倒是可以,但是改了iw,对piw没有影响(一直以为piw和iw是一致的).
那么有什么办法可以实现吗?
问题补充:
之所以原来的di和ai不用了,是因为,原来是通过一个设备通过gsd组态过来的.
一个设备di点就是50-60.很多点实际没用,但是这种是占着地盘不用也只有占着.
而新加et200m之后一个321模块就是一个i94就把他全部点用完了,321点是连续的,不肯一个模块就从50.152.455.4这样跳着走吧,
所以只能用i94.0=i50.1i94.1=i52.4,然后上位机还是用他原来的50.152.455.4不用修改.
上位机用的是intouchide,而且走的是c/s结构,改的是一个分系统,但是上位机是一个大系统.能够不改好不动.
ai都是在映像区以外了,这种情况下iw似乎不是piw的值了.
比如
lmw0
tiw256
给mw0赋值100,程序中可以看到iw256成为了100,但是piw256还是初始值0.
佳答案
不明白为什么改造之后原来的di和ai点就不用了?如果是硬件更新的原因,改造项目时di、ai还按照以前的地址配置就可以了,没必要把这些地址空置不用吧。否则像所说的对于ai想要完全跟以前一样还真是没办法。
但如果必须是这样改造的话,也有个变通的办法:由于ob1周期比wincc的采集周期要快很多,所以可以把新iw用move指令赋值给iw旧,piw和iw的区别对于wincc来说应该是不大的。