工控编程吧
标题: 威纶通触摸屏宏指令通讯函数 [打印本页]
作者: qq263946146 时间: 2019-2-21 19:28
标题: 威纶通触摸屏宏指令通讯函数
通讯函数
1. DELAY
语法 DELAY(time)
让宏指令暂停执行,持续的时间至少是指定的这个时间。时间的单位为毫秒。
time可以是常数或者变量。
例如:
macro_commandmain()
int time= 500
DELAY(100) // delay 100 ms
DELAY(time) // delay 500 ms
endmacro_command
2. ADDSUM
语法 ADDSUM(source[start], result, data_count)
将 source[start] 到 source[start+data-count-1] 的所有一维数组的数据累加起
来,以获得 checksum (校验和),并将结果存放在 result 变量中。
result 必须为变量,data_count 是进行累加的资料的个数,可以是常数或者是变量
例如:
macro_commandmain()
chardata[5]
shortchecksum
data[0]= 0x1
data[1]= 0x2
data[2]= 0x3
data[3]= 0x4
data[4]= 0x5
ADDSUM(data[0],checksum, 5) // checksum is 0xf
endmacro_command
3. XORSUM
语法 XORSUM(source[start], result, data_count)
将 source[start] 到 source[start+data-count-1] 的所有一维数组的数据进行异
或运算,以获得 checksum (校验和),并将结果存放在 result 变量中。
result 必须为变量,data_count是进行异或计算的数据的个数,可以是常数或者是
变量。
例如:
macro_commandmain()
chardata[5] = {0x1, 0x2, 0x3, 0x4, 0x5}
shortchecksum
XORSUM(data[0],checksum, 5) // checksum is 0x1
endmacro_command
4. CRC
语法 CRC(source[start], result, data_count)
将 source[start] 到 source[start+data-count-1] 的所有一维数组的数据进
16-bitCRC 计算,以获得checksum (校验和),并将结果存放在 result变量中。
result 必须为变量,data_count是进行计算的资料的个数,可以是常数或者是变量。
例如:
macro_commandmain()
chardata[] = {0x1, 0x2, 0x3, 0x4, 0x5}
short16bit_CRC
CRC(data[0],16bit_CRC, 5) // 16bit_CRC is 0xbb2a
endmacro_command
5. OUTPORT
语法 OUTPORT(source[start], device_函数名称,data_count)
将放置在从 source[start] 到 source[start+count-1] 的所有数据通过串行端口或
者以太网口传送给 PLC 或者控制器中。
device_
函数名称是在 ‚
设备列表‛
中定义的 ‚

LC
名称,而这个 device
必须选择为 ‚Free Protocol这个 PLC 类型。
Data_count是发送数据的个数,可以是常数或变量。