• {{item.name}}
{{item.name}}
{{item2.name}}
更多
常问问题

如何实现SIMOTION设备与CF卡的绑定

star star star star star
5.0 分
  • 软件编程
文档编号:F0481| 文档类型:常问问题| 发布时间:2024年02月07日
  • 0
  • 269
  • 3235
本文介绍了如何实现SIMOTION设备与CF卡的绑定。

对于OEM设备制造商,如何防止自已的产品被别人抄袭复制是一个重要的问题。虽然在SIMOTION产品中对设备的项目及程序提供了上传保护功能,以防止其他人得到原程序文件。但是若将原CF卡的内容完全拷贝到另一张新的CF卡中,将新卡插入到另一台SIMOTION设备上也可运行程序,因此不能完全杜绝产品被别人抄袭复制的可能性。在此介绍一种解决问题的方法,即通过在程序中增加读取当前使用的SIMOTION 设备及其上使用CF卡的硬件序列号,只有读取的硬件序列号正确才允许设备工作,否则设备不工作,以实现SIMOTION设备与CF卡的绑定。

1 、函数介绍

使用两个系统函数来读取SIMOTION 设备及其上使用CF卡的硬件序列号:

l  _getMemoryCardId

此功能块用于读取CF卡指定的硬件标识符(硬件序列号) 。

返回值:

为结构类型变量,变量类型为: StructRetGetMemoryCardId ,说明如下:

结构名称数据类型单位
functionResult结果UDINT-
id读取的IDSTRING-

返回值描述:

16#00000000 读出CF卡指定的硬件标识符完成,无错误。

16#FFFFFFFD 内部错误。

16#FFFFFFF8 无效参数。

参数idType :

为枚举类型变量,变量类型为:EnumMemoryCardIdType ,默认值为“” Memory card serial number ”  

l  _getDeviceId

此功能块用于读取Simotion CPU指定的硬件标识符(硬件序列号)。

返回值:

为结构类型变量,变量类型为: StructRetGetDeviceId ,说明如下:

结构名称数据类型单位
functionResult结果UDINT-
id读取的IDSTRING-


返回值描述:

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 卡


您可以前往全球资源库查看此文档


剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。