- 自动化系统
- 驱动技术
- 低压电气
- 工业服务
- 其他
更多
隐私政策更新提示
欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。
同意并继续浏览
对于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) | 模块类型 |
SPECIFIC_NUMBER (2) | 指定的 OEM 号码 |
ORDER_ID (3) | 模块订货号 |
2 、程序创建
l 创建程序单元“getmemorycardid”,调用“_getMemoryCardId”系统函数:
调用“_getdeviceId”系统函数:
l 将程序分配至BackgroudTask中:
l 读取的SIMOTION设备及CF卡的硬件序列号:
l 读出当前使用CPU及CF卡的硬件序列号看是否与指定的序列号相一致,如果一致则将标志位“RunConditionOK”置1,此标志位做为设备运行或程序运行的条件:
关键词
SIMOTION,CF 卡
欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华...
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!感谢您的支持!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华...
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!感谢您的支持!
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
扫码分享