注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SIEMENS运动控制器/伺服驱动器

SIMOTION/S120——纯技术BLOG

 
 
 

日志

 
 

每天学点SIMOTION(26)TO编程12:配置数据  

2016-02-03 10:31:36|  分类: SIMOTION_D |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
配置数据定义了一个TO的基本功能。配置数据一般在使用SIMOTION SCOUT软件配置TO时被设置,而且大部分数据在Runtime中是无法修改的。
根据配置数据能否修改,可以分为以下几类:
  • Effectiveness: Download,不能在线修改:
    只能在配置TO过程中完成设置,以后不能在线修改。比如报文配置,IO地址等。
  • Effectiveness: Restart,可以在线修改,但只能在RESTART以后才生效:
    可以在程序中修改,但并是立即生效的,需要重启TO后生效。比如模态长度,机械数据等。
  • Effectiveness: Immediately,可以在线修改,立即生效:
    可以在程序中修改,立即生效。比如控制器增益,限幅值等。
说明
如果先修改了一个“需要重启TO才生效”的配置数据,那么后续修改的“立即生效”的配置数据也需要在重启TO后才生效!
从V4.4开始,可以在用户同步任务中访问配置数据。
每天学点SIMOTION(26)TO编程12:配置数据 - lvqd - SIEMENS运动控制器/伺服驱动器
 
配置数据的读取
读取分两程情况:
  • 读配置数据中“Next Value”一列的值,即当前未生效,需要Restart才能生效的数据,其数值默认为离线的配置值。
    语法:TO-name.setconfigdata.config-date
  • 读配置数据中“Current value”一列的值,即当前生效的值
    语法:TO-name.activeconfigdata.config-date
举例如下:
VAR
    lreal_var : LREAL;
    drive_var : driveaxis;
END_VAR
 
lreal_var := 
    drive_var.setconfigdata.TypeOfAxis.MaxJerk.maximum;
    // Read access to saved value
lreal_var :=
    drive_var.activeconfigdata.TypeOfAxis.MaxJerk.maximum;
    // Read access to value currently in effect
直接访问时,如果失败了会调用ExecutionFaultTask,如果没有分配程序,则CPU会停机。除了直接读取配置数据外,也可以使用_getSafeValue来读取,这样可以有效防止CPU停机。
配置数据的修改
语法如下:TO-name.setconfigdata.config-date
数据会自动根据其自身属性来立即生效,或者重启生效。
举例如下:
VAR
    lreal_var : LREAL;
    drive_var : driveaxis;
END_VAR
 
drive_var.setconfigdata.TypeOfAxis.MaxJerk.maximum :=
    200000.0;
    // Write access to saved value
直接访问时,如果失败了会调用ExecutionFaultTask,如果没有分配程序,则CPU会停机。除了直接读取配置数据外,也可以使用_setSafeValue来读取,这样可以有效防止CPU停机。
如果写入数据时,TO正在重启中,或者TO被禁用,那么在TO重启完成后,新数据才生效。
--------------------
另外,有一个选项可以控制系统变量的激活。TO系统变量activationModeChangedConfigData来定义所修改的配置数据何时生效。
  • activationModeChangedConfigData = ACTIVATE_CHANGED_CONFIG_DATA
    数据立即生效。
  • activationModeChangedConfigData = COLLECT_CHANGED_CONFIG_DATA
    修改的数据被收集起来,而它
    ACTIVATE_CHANGED_CONFIG_DATA时一齐生效,注意这个激活过程需要花费一段时间,有可能造成执行系统任务超时,所以最将这个激活动作放到MotionTask中,这就不会因超时停机了。
    另外,收集起来的这些数据也可以直接删除掉(尚未激活时),使用_resetAxisConfigDataBuffer来将其删除。
 TO重启中,或者被禁用时的访问策略
除了使用_getSafeValue可以安全访问配置数据外,通过配置数据restart.behaviorInvalidSysvarAccess也可以设置策略:
  • LAST_VALUE:使用上次值
  • DEFAULT_VALUE:使用默认值
  • STOP_DEVICE:CPU停机
V4.1及以前,如果写入的数据超了上下限值,那么CPU会停机。从V4.2开始,如果写入的数据超了上下限,那么系统将采用上下限值。
.
  评论这张
 
阅读(254)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017