特殊指令:掉电保持数据块管理


掉电保持数据块管理指令可以对非易失数据块进行读取、写入、擦除、比较操作。

NvM_Read:读取掉电保持数据块数据

读取掉电保持数据块数据指令用于将非易失数据块中的数据拷贝到PLC内存中去。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,读取掉电保持数据块数据指令启动数据块的读取任务,如果任务已经被本指令启动,则只更新任务状态。
BlockUSINT输入数据块。
OffsetUINT输入读取数据在数据块中的偏移。
LenUINT输入读取数据的数量(字节单位)。
DataUSINT输入读取数据保存到PLC内存的位置。
DoneBIT输出0:读取未完成;1:读取完成或失败。
Error USINT 输出 失败的原因:
  • 0 : Err_None:无错误。
  • 1 : Err_BlockId:数据块不存在。
  • 2 : Err_Busy:数据块已被其他指令激活任务且任务未完成。
  • 3 : Err_Data:数据在PLC内存的位置错误。
  • 4 : Err_Length:数据范围错误。
  • 5 : Err_Failed:操作失败(存储芯片异常或通讯异常)。
  • 6 : Err_IntegrityFailed:操作失败(数据完整性校验异常)。
  • 7 : Err_Cancelled:操作被取消。

NvM_Write:写入掉电保持数据块数据

写入掉电保持数据块数据指令用于将PLC内存中的数据看拷贝到非易失数据块中去。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,写入掉电保持数据块数据指令启动数据块的写入任务,如果任务已经被本指令启动,则只更新任务状态。
BlockUSINT输入数据块。
OffsetUINT输入写入数据在数据块中的偏移。
LenUINT输入写入数据的数量(字节单位)。
DataUSINT输入写入数据保存到PLC内存的位置。
DoneBIT输出0:写入未完成;1:写入完成或失败。
Error USINT 输出 失败的原因:
  • 0 : Err_None:无错误。
  • 1 : Err_BlockId:数据块不存在。
  • 2 : Err_Busy:数据块已被其他指令激活任务且任务未完成。
  • 3 : Err_Data:数据在PLC内存的位置错误。
  • 4 : Err_Length:数据范围错误。
  • 5 : Err_Failed:操作失败(存储芯片异常或通讯异常)。
  • 6 : Err_IntegrityFailed:操作失败(数据完整性校验异常)。
  • 7 : Err_Cancelled:操作被取消。

NvM_Invalidate:清除掉电保持数据块

清除掉电保持数据块指令用于将非易失数据块全部设置为失效(包含所有备份与重写)。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,清除掉电保持数据块指令启动数据块的清除任务,如果任务已经被本指令启动,则只更新任务状态。
BlockUSINT输入数据块。
DoneBIT输出0:清除未完成;1:清除完成或失败。
Error USINT 输出 失败的原因:
  • 0 : Err_None:无错误。
  • 1 : Err_BlockId:数据块不存在。
  • 2 : Err_Busy:数据块已被其他指令激活任务且任务未完成。
  • 3 : Err_Data:数据在PLC内存的位置错误。
  • 4 : Err_Length:数据范围错误。
  • 5 : Err_Failed:操作失败(存储芯片异常或通讯异常)。
  • 6 : Err_IntegrityFailed:操作失败(数据完整性校验异常)。
  • 7 : Err_Cancelled:操作被取消。

NvM_Compare:比较掉电保持数据块数据

比较掉电保持数据块数据指令用于比较存非易失数据块中的数据与PLC内存中的数据是否一致。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,比较掉电保持数据块数据指令启动数据块的比较任务,如果任务已经被本指令启动,则只更新任务状态。
BlockUSINT输入数据块。
OffsetUINT输入比较数据在数据块中的偏移。
LenUINT输入比较数据的数量(字节单位)。
DataUSINT输入比较数据在PLC内存的位置。
DoneBIT输出0:比较未完成;1:比较完成或失败。
Error USINT 输出 失败的原因:
  • 0 : Err_None:无错误。
  • 1 : Err_BlockId:数据块不存在。
  • 2 : Err_Busy:数据块已被其他指令激活任务且任务未完成。
  • 3 : Err_Data:数据在PLC内存的位置错误。
  • 4 : Err_Length:数据范围错误。
  • 5 : Err_Failed:操作失败(存储芯片异常或通讯异常)。
  • 6 : Err_IntegrityFailed:操作失败(数据完整性校验异常)。
  • 7 : Err_Cancelled:操作被取消。