ID : 5189
SysInfo
功能
返回控制器的系统信息。
解说
可获取如下所示的系统信息。
索引编号 | 系统信息 | 数据型 |
---|---|---|
0 | 制造编号(控制器的串行编号) | 字符串型 |
1 | 控制器内置网卡的MAC地址 | 字符串型 |
2 | 教导器连接状态 0:未连接 |
整数型 |
3 | 全局变量个数信息 排列的0~7的各要素表示如下所示变量的个数 0:I型 |
整数型排列 |
4 | CPU信息 0:不明(虚拟环境) |
整数型 |
5 | 注册用户等级 1000:操作员 |
整数型 |
6 | 特权任务动作中 -1:动作中 0:非动作中 |
整数型 |
7 | 操作盘显示中 -1:显示中 0:非显示中 |
整数型 |
8 | 总通电时间(分) | 整数型 |
9 | 总运行时间(分) | 整数型 |
10 | 累计通电时间(分) | 整数型 |
11 | 累计运行时间(分) | 整数型 |
12 | 接通电源通电时间(分) | 整数型 |
13 | 接通电源运行时间(分) | 整数型 |
14 | 电机ON次数 | 整数型 |
15 | 编码器电池检查日期 -1:超过 0:未超过 |
整数型 |
16 | 控制器电池检查日期 -1:超过 0:未超过 |
整数型 |
29 | 控制器类型 0:RC8 1:RC8A |
整数型 |
30 | 安全类型 0:无 1:安全动作规格 |
整数型 |
索引编号6~16在Ver.1.8.*以上版本可以使用。
索引编号29、30在Ver/2.1.*以上版本可以使用。
相关项目
注意事项
-
应用示例
应用示例1
'!TITLE“获取制造编号”
'获取、显示制造编号
Sub Sample_SysInfo
Dim aaa As Variant
'获取制造编号
aaa = SysInfo(0)
'在讯息视窗中显示制造编号
PrintDbg aaa
End Sub
应用示例2
使程序仅在固有控制器下动作的保护示例如下所示。
按照以下步骤实施。
- 程序创建者从程序使用者处获取使用的控制器Mac地址,通过程序中记述的计算公式创建解除编码。告知程序使用者创建的解除编码。
- 程序创建者将程序加密后交给程序使用者。(关于加密操作,请参照“源代码的加密”)
- 程序使用者将解除编码输入至全局变量“S0”,执行程序。执行时,程序读取控制器的Mac地址并生成解除编码“lic”,由于与“S0”进行比较,因此仅在控制器正确时执行处理。
Sub Main
#pragma encrypt(on)
if IsLocked() Then Exit Sub
'在此处记述处理
#pragma encrypt(off)
End Sub
#pragma encrypt(on)
Function IsLocked( ) As Integer
Dim mac As Variant
Dim lic As String
Dim key As Variant
Dim n As Integer
key = Array( &HAA, &HF5, &H55, &H3C, &H57, &H81 )
mac = split( SysInfo( 1 ), "-" ) ' X1-X2-X3-X4-X5-X6
lic = ""
For n = 0 To 5
lic = lic + Hex( Val( "&H" & mac( n ) ) Xor key( n ) )
Next
'Debug.print "LIC = " & lic & ", MAC = " & SysInfo( 1 )
If lic = S0 Then
IsLocked = False
Else
IsLocked = True
End If
End Function
#pragma encrypt(off)
ID : 5189