<< 向前        下一页 >>

ID : 5189

SysInfo

功能

返回控制器的系统信息。

格式

SysInfo索引编号

指定项目

索引编号
通过整数型数据指定索引编号。

返回值

将索引编号的相应数据型数据返回至通过变体(Variant)型指定的变量

解说

可获取如下所示的系统信息。

索引编号 系统信息 数据型
0 制造编号(控制器的串行编号) 字符串型
1 控制器内置网卡的MAC地址 字符串型
2

教导器连接状态

0:未连接
1:多功能教导器已连接
2:小型教导器已连接

整数型
3

全局变量个数信息

排列的0~7的各要素表示如下所示变量的个数

0:I型
1:F型
2:D型
3:V型
4:P型
5:J型
6:T型
7:S型

整数型排列
4

CPU信息

0:不明(虚拟环境)
2:ATOM
5:i7

整数型
5

注册用户等级

1000:操作员
2000:程序员
3000:维护
3001以上:系统保留

整数型
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

使程序仅在固有控制器下动作的保护示例如下所示。

按照以下步骤实施。

  1. 程序创建者从程序使用者处获取使用的控制器Mac地址,通过程序中记述的计算公式创建解除编码。告知程序使用者创建的解除编码。
  2. 程序创建者将程序加密后交给程序使用者。(关于加密操作,请参照“源代码的加密”)
  3. 程序使用者将解除编码输入至全局变量“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

<< 向前        下一页 >>