宇电表数据格式为1个起始位,8位数据,无校验位,1个或2个停止位 9600
宇电表的AIBUS通讯协议
读: 地址代号+52H(82)+要读的参数代号+0+0+校验码
写: 地址代号+43H(67)+要写的参数代号+写入数低字节+写入数高字节+校验码
AI仪表通讯协议规定,地址代号为两个相同的字节,数值为(仪表地址+80H)。例如:仪表参数Addr=10(16进制数为0AH,0A+80H=8AH),则该仪表的地址代号为:8AH 8AH
参数代号:仪表的参数用1个8位二进制数(一个字节,写为16进制数)的参数代号来表示。它在指令中表示要读/写的参数名。
AI仪表可读/写的参数代号表(只是部分)
参数代号 AI-518/518P 说明
0 00H 给定值 单位同测量值
1 01H HIAL上限报警 单位同测量值
2 02H LoAL下限报警 单位同测量值
3 03H HdAL偏差上限报警 单位同测量值
4 04H LdAL偏差下限报警 单位同测量值
校验码:校验码采用16位求和校验方式,其中读指令的校验码计算方法为:
要读参数的代号×256+82+ADDR
写指令的校验码计算方法为以下公式做16位二进制加法计算得出的余数(溢出部分不处理):
要写的参数代号×256+67+要写的参数值+ADDR
公式中ADDR为仪表地址参数值,范围是0~80(注意不要加上80H)。校验码为以上公式做二进制16位整数加法后得到的余数,余数为2个字节,其低字节在前,高字节在后。
请大家帮忙,程序该如何书写啊??是不是一定要用VB来写啊?若不是PLC程序该怎么写?他不是MODBUS(RTU 或ASCII),而是AIBUS自己的通信协议。我初学者大家帮帮忙。谢谢