工控编程吧
标题: 威纶通触摸屏宏指令通讯函数 [打印本页]
作者: 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是发送数据的个数,可以是常数或变量。