SMC3_PersistPosition 通过输出bPositionStored显示,是否位于PersistentData数据已经发生改变并且应该被保存。根据使用情况的不同( ⇘ “特殊应用的场合”),这种情可能经常发生,也可能偶尔发生。SMC3_PersistPosition 具有数据结构体SMC3_PersistPosition_Data。
功能块 SMC3_PersistPosition
| 名称 | 类型 | 初始值 | 描述 | 
|---|---|---|---|
| VAR_IN_OUT | |||
| Axis | AXIS_REF_SM3 | ||
| PersistentData | SMC3_PersistPosition_Data | 持久数据结构体,用于位置保存 | |
| VAR_INPUT | |||
| bEnable | BOOL | FALSE | TRUE:功能块被激活 FALSE:功能块没有激活。要回复上次位置并在初始化的时候保存, bEnable 需要被设置为 TRUE 应用开始处启动。 | 
| VAR_OUTPUT | |||
| bPositionRestored | BOOL | TRUE:自上次启动,位置将会被加载 | |
| bPositionStored | BOOL | TRUE:在过去的调用中,用于恢复的相关更改的数据并且保存在PersistentData | |
| bBusy | BOOL | TRUE:功能块被激活 | |
| bError | BOOL | FALSE | TRUE:错误发生。参阅nErrorID | 
| nErrorID | SMC_ERROR | SMC_NO_ERROR | 错误定义, ⇘ “SMC_ERROR”。 可能的错误 
 | 
| eRestoringDiag | SMC3_PersistPositionDiag | SMC3_PersistPositionDiag.SMC3_PPD_RESTORING_OK | 关于加载位置的动态诊断信息 
 | 
使用 SMC3_PersistPosition
对于每个轴,建立一个功能块实例并且填充数据结构,例如,定义VAR PERSISTENT (剩余变量) 或者将它们关联到应用程序开发器的保持变量上 (保持变量管理)。在运动周期中周调用功能块。在启动过程中,功能块会获取保存的回复的位置值,并且在正常操作情况下保存当前位置值到数据结构中。保持机制保存这个数组并且会在下一次启动的时候重新加载。
VAR
    pp: SM3_BASIC.SMC3_PersistPosition;
    {attribute 'ac_persist' := 'PersistenceChannel'}
    Data1: SM3_BASIC.SMC3_PersistPosition_Data;
VAR_END