如何实现SIMOTION设备与CF卡的绑定
显示订货号
对于OEM设备制造商,如何防止自已的产品被别人抄袭复制是一个重要的问题。虽然在SIMOTION产品中对设备的项目及程序提供了上传保护功能,以防止其他人得到原程序文件。但是若将原CF卡的内容完全拷贝到另一张新的CF卡中,将新卡插入到另一台SIMOTION设备上也可运行程序,因此不能完全杜绝产品被别人抄袭复制的可能性。在此介绍一种解决问题的方法,即通过在程序中增加读取当前使用的SIMOTION 设备及其上使用CF卡的硬件序列号,只有读取的硬件序列号正确才允许设备工作,否则设备不工作,以实现SIMOTION设备与CF卡的绑定。
1 、函数介绍
使用两个系统函数来读取SIMOTION 设备及其上使用CF卡的硬件序列号:
l _getMemoryCardId
此功能块用于读取CF卡指定的硬件标识符(硬件序列号) 。
返回值:
为结构类型变量,变量类型为: StructRetGetMemoryCardId ,说明如下:
结构名称数据类型单位
functionResult 结果 UDINT -
id 读取的ID STRING -
返回值描述:
16#00000000 读出CF卡指定的硬件标识符完成,无错误。
16#FFFFFFFD 内部错误。
16#FFFFFFF8 无效参数。
参数idType :
为枚举类型变量,变量类型为:EnumMemoryCardIdType ,默认值为“”Memory card serial number ”
l _getDeviceId
此功能块用于读取Simotion CPU指定的硬件标识符(硬件序列号)。
返回值:
为结构类型变量,变量类型为: StructRetGetDeviceId ,说明如下:
结构名称数据类型单位
functionResult 结果 UDINT -
id 读取的ID STRING -
返回值描述:
16#00000000:读出CPU指定的硬件标识符完成,无错误。
16#FFFF80C3:信息无效。
16# 16#FFFF8090:不正确的传输参数。
16#FFFF8099:内部错误。
参数idType :
为枚举类型变量,变量类型为:EnumDeviceIdType ,说明如下:
SERIAL_NUMBER (0) CPU 序列号
HW_TYPE (1) 模块类型
SPEC
cf卡加密 来自淘豆网m.daumloan.com转载请标明出处.