详细设计1 地址符号的分配在编写库函数的时候,不能够使用绝对地址进行编程,必须使用符号地址,所以在编写程序之前须定义符号地址,符号地址的定义如下:表 1 自由口库函数符号地址定义符号名地址填充开始地址VW1000 发送数据个数VB1000 发送帧帧头VB1001 站地址 _发送(字)VW1002 站地址 _发送(字节)VB1002 控制码 _发送VB1004 发送控制码 _低VB1005 数据标识 _发送(字)VD1006 数据标识 _发送VB1006 数据长度 _发送VB1010 数据域 _发送VB1012 接收数据个数 _以字形式表VW1099 接收数据个数高位VB1099 接收数据缓冲首地址VB1100 站地址 _接收(字)VW1102 站地址 _接收(字节)VB1102 接收控制码 _高VB1104 接收控制码 _低VB1105 数据标识 _接收VD1106 数据域长度 _高VB1110 数据域首址VB1112 生成控制码VB1041 发送长度VW1042 发送长度 _高VB1042 发送长度 _低VB1043 发送数据标识VW1044 发送数据标识 _高VB1044 BCC校验 _当前循环次数VW1046 BCC校验 _当前值VB1048 BCC校验 _V存储地址VD1049 发送完成标志V1055.0 接收完成标志V1055.1 BCC校验成功标志V1055.2 接收到信息 BCC计算结果VB1056 接收数据帧控制码_16进制VB1057 接收数据帧控制码_0 V1057.0 接收数据帧控制码_1 V1057.1 接收数据帧控制码_2 V1057.2 接收数据帧控制码_3 V1057.3 接收数据帧控制码_4 V1057.4 接收数据帧控制码_5 V1057.5 接收数据帧控制码_6 V1057.6 接收数据帧控制码_7 V1057.7 接收数据数据域长度_字VW1058 接收数据数据域长度_高VB1058 接收数据数据域长度_低VB1059 缓冲区最后地址VB1199 2 错误代码定义在自由口通信中,当通信出现错误时,根据不同的错误类型,定义了一些错误代码。代码具体如下:表 2 自由口通信错误代码编号错误代码判断位置(主站 |从站)代码意义1 0x00 从站判断无错误2 0x01 从站判断从站接收到数据帧指令错误3 0x02 从站判断从站接收到数据帧R_W 与数据标识不匹配4 0x03 从站判断从站接收到数据帧BCC 校验错误5 0x04 从站判断从站奇偶校验错误6 0x05 从站判断从站接收到数据帧控制码错误7 0x11 主站判断主站检测设置的R_W 与数据标识符不一致8 0x12 主站判断应答帧数据长度与数据域长度不一致9 0x13 主站判断运算错误10 0x14 主站判断应答帧 BCC 校验错误11 0x15 主站判断应答帧站地址错误12 0x16 主站判断应答帧...