每种工艺对象都有属于自己的变量,我们称为TO(TechnologyObject)变量,包括组态数据和系统数据,本文将重点说明在SIMOTION和SIMATICT-CPU的用户程序中如何读写这些TO变量。
组态数据
组态数据用于将工艺对象与实际应用相匹配,例如轴的传动比、动态限幅等。
在组态一个工艺对象时,通常使用的是图形化的向导方式,对熟练者还可以使用参数列表的方式。一般来说组态数据在运行时是不需要改变的,大部分数据任然允许在线修改,但生效方式因参数而异,例如位置环的增益Kv修改后立即生效,轴的模态长度修改后必须执行TO重启(Restart)才能生效。系统数据
系统数据和运行时相关,可提供工艺对象当前的控制和状态信息,例如轴的位置、跟随误差等。这些变量有的为只读型(例如轴的实际位置),有的为读写型(例如轴速度的倍率)。
出于性能考虑,应该只在必要时才访问系统变量,假如在一个循环周期内要多次使用,可将系统变量的内容先存储在局部变量中,后续通过对局部变量的访问来减少处理时间。SIMOTION的TO变量
它们的可用范围相当于设备全局变量,可以在程序中无条件地使用。
对系统数据的读写总是可行的,而对组态数据写访问时,需要修改变量名的部分前缀为“setconfigdata”。如果新值生效方式为TO重启,可以通过指令_resetAxis或者系统变量restartActivation来实现。
SIMATIC T-CPU的TO变量
它们存储在工艺数据块中,可以在博途软件中通过“OpenDB Editor”打开块,在程序中的使用方法和用户DB一致。
创建一个用户变量来存放修改值,其数据类型必须和要修改的TO变量相同。
调用扩展指令“WRIT_DBL”,将要修改的数值写到位于装载存储区的TO-DB中。
TO变量“
(OnlineStartValuesChanged)将指示修改完成。
调用运动指令“MC_Reset”并且其参数“Restart”=TRUE,执行TO重启。