搬家第21天-12.Citect 导入unity变量标签
我们使用过Wincc就会知道,如果安装过AS-OS引擎,那么可以在下位机建立好符号表之后上载到Wincc中,省去上位机建立变量的麻烦,尤其是在变量非常多的情况下。Citect也有类似的功能。
我们在前面unity练习的例子上新建一些变量如下:
保存项目。
新建一个Citect项目。建立好集群、网络地址、IO服务器、IO设备。点击菜单“通信”-“IO设备”,弹出的设置对话框按下F2,设置对话框会扩展。
协议修改成ModNet(使用默认的Modnet20会报错);连接否修改成“是”;链接的数据库类型修改成Unity SpeedLink
Dynamic;链接的外部数据库选择刚才保存的unity程序,注意这里设置的时候需要点一下Validate按钮检查错误,没有错误,OK按钮才会有作用;设置完以后点击替换按钮;系统会自动导入标签。
我们查看菜单“标签”-“变量标签”,就可以看到刚才在unity建立的变量都进来了,而且注释也在。
我们可以试着在unity新增一些变量,保存unity项目。只需要在IO设备那里,再选一次unity项目,在Uity link configration。点一下Validate按钮,然后IO设备“替换”一下,变量标签就会更新。
我们接下来尝试修改一下标签,比如把M3名字修改成M3_1,地址修改成%M531,M4名字修改成M4_1,地址修改成%M541,保存unity项目,按照上面的方法做一遍,变量标签里面变量名字发生了更新,但是地址没有更新,这个需要注意。
新建一个页面,放置两个按钮,分别对M5置位和复位。我们需要测试当变量名字发生改变地址不变的时候,使用这种方法更新会不会影响脚本里面的变量名字。Citect保存、编译、测试置位复位正常后,我们把unity中M5名字修改成M51,地址不变,保存unity程序。测试发现脚本里面M5并没有自动修改成M51.
通过上面的测试可以看出,这种动态更新只适合在下位机程序完成,上位机还没有做的第一次,可以节省大量时间。如果已经做过一次这个操作,下位机有了修改,就不建议这样更新变量标签了,因为谁也不知道下位机到底修改了什么地方,这一点需要注意。也许新的版本Citect已经修正了这个问题。