版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、详细设计 所以在编写 1 地址符号的分配 在编写库函数的时候, 不能够使用绝对地址进行编程, 必须使用符号地址, 程序之前须定义符号地址,符号地址的定义如下: 表 1 自由口库函数符号地址定义 符号名 地址 填充开始地址 VW1000 发送数据个数 VB1000 发送帧帧头 VB1001 站地址 发送(字) VW1002 站地址 发送(字节) VB1002 控制码 发送 VB1004 发送控制码 低 VB1005 数据标识 发送(字) VD1006 数据标识 发送 VB1006 数据长度 发送 VB1010 数据域 发送 VB1012 接收数据个数 以字形式表 VW1099 接收数据个数高位
2、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
3、 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 错误代码定义 在自由口通信
4、中,当通信出现错误时,根据不同的错误类型, 定义了一些错误代码。代 码具体如下: 表 2 自由口通信错误代码 编号 错误代码 判断位置 (主站 |从站) 代码意义 1 0 x00 从站判断 无错误 2 0 x01 从站判断 从站接收到数据帧指令错误 3 0 x02 从站判断 从站接收到数据帧 R W 与数据标识不匹配 4 0 x03 从站判断 从站接收到数据帧 BCC 校验错误 5 0 x04 从站判断 从站奇偶校验错误 6 0 x05 从站判断 从站接收到数据帧控制码错误 7 0 x11 主站判断 主站检测设置的 R W 与数据标识符不一致 8 0 x12 主站判断 应答帧数据长度与数据域长
5、度不一致 9 0 x13 主站判断 运算错误 10 0 x14 主站判断 应答帧 BCC 校验错误 11 0 x15 主站判断 应答帧站地址错误 12 0 x16 主站判断 应答帧数据标识与命令帧数据标识不一致 13 0 x17 主站判断 应答帧指令错误 14 0 x18 主站判断 响应超时 3 初始化 初始化库函数的主要功能是设置自由口通信的端口、 接收信息开始字符、 接收信息结束 字符、接收信息控制字节、 空闲检测时间、 发送或接收的最大字符数。 为了贴近于实际情况,在初始化局部变量中添加了 3 个输入型局部变量。 分别用于对通信端口、 接收信息开始字符、 接收信息结束字符的设置。局部变量
6、表如下: 表 3 初始化局部变量定义 符号 变量类型 数据类型 L0.0 Port IN BOOL LB1 First IN BYTE LB2 Final IN BYTE 4 自由口 在自由口库函数中添加了 7 个输入型的局部变量和 2 个输出型的局部变量, 局部变量表 如下: 表 4 自由口局部变量定义 符号 变量类型 数据类型 L0.0 Send IN BOOL L0.1 R W IN BOOL LB1 Slave IN BYTE LW2 Mark IN WORD LB4 Len IN BYTE LD5 DataPtr IN DWORD LW9 Timer IN WORD L11.0 Do
7、ne OUT BOOL LB12 Error OUT BYTE 自由口库函数的主要功能是完成数据的发送、接收、对接收到数据信息 BCC 校验、对 BCC 校验成功的数据帧进行解码,在程序上对数据的发送、对接收到数据信息 BCC 校验、 对 BCC 校验成功的数据信息进行解码三个功能是通过顺序控制继电器指令来实现的,当满 足条件时, 分别调用不同的顺序控制继电器来实现功能。此外, 由于库函数没有办法添加中 断来检测数据帧的发送完成和接收完成, 所以对于接收完成和发送完成是在该程序中通过检 测特殊寄存器来实现的,该库函数的主体流程如图1。 开始 图 1 自由口库函数主体流程图 4.1 数据发送 所
8、谓数据发送就是要将帧头、站地址、控制码、数据标识、数据域长度、数据域、 BCC 校验码、帧尾组合成为一个数据帧发送出去。 在该环节中有两个地方需要注意:其一, 求取 BCC 校验码时, 需先取站地址开始处存储器里值与一个初值为 0 的地址符号存储器相异或, 将异或所得结果再与下一个存储器相异或, 一直到数据域的最后一个存储器, 这个过程通过 一个循环来实现,由于数据域长度的不确定, 所以需要特别注意循环的次数确定; 其二,求取到的 BCC 校验码在数据发送缓冲区中存放的具体位置, 只知道 BCC 校验码是存放在数据 域的后面,但是由于数据域长度的不确定导致了 BCC 校验码存放的位置的不确定,
9、故确定 BCC 校验码存放位置也是需要注意的。 由口库函数的数据发送流程图如图 2: 图 2 数据发送流程图 4.2 对应答帧 BCC 校验 对应答帧 BCC 校验是为了检测应答帧在数据传输的过程中是否出错,其校验的方法很 简单,直接求取接收到的应答帧中站地址、 控制码、数据标识、数据域长度、 数据域的 BCC 校验码,将所得的结果与应答帧中传过来的 BCC 校验码比较,如果一致,表明数据传输过 程中没有出错,如果不一致表明数据传送过程中出现了错误。对于校验发现出错的应答帧, 不再对其进行解码,只需主站将错误信息代码通过错误代码存储器指示出来即可, BCC 校 验的流程图如图 3: 图 3 B
10、CC 校验流程图 4.3 数据解码 数据解码是自由口通信中最为主要的一个部分, 数据解码的结果是从应答帧返回的数据 帧信息中找出主站需要的信息。在数据解码过程中需要进行一些列的容错判断,比如说: 返 回的应答帧的站地址是否正确; 返回帧的数据标识是否一致; 返回帧的数据域长度是否正确 等等,只有当所有的信息都正确的情况下, 才能将应答帧中数据域的内容取出放入指定地方。 数据解码的流程图如图 4: 开始 复位 BCC 校验成功标志为 0 命令帧站地址 = 否 应答帧站地址 命令帧数据标识 = 应答帧数据标识 向错误代码存储器 Error 写入 0 x15 是 命令帧控制码低位 = 应答帧控制码低位 向错误代码存储器 Error 写入 0 x16 是 向错误代码存储器 Error 写入 0 x17 将接收到控制码转为 16 进制 接收到控制 码是否正确 从站异常应答 命令帧为写数据 写数据 还是查询数据 查询数据 接收到数据帧长度为 否 数据域长度正确 是 将数据域数据转为 16进 制放在指定地址处 接收到数据域长度为 否 向错误代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报参考:金融高质量发展视角下的区域广义协调发展机理与政策统筹研究
- 课题申报参考:减碳责任量化与多产品企业投资绿色转型:内在机理、效应评估与策略选择
- 2025版委托担保合同范本:供应链金融合作风险控制协议3篇
- 二零二五版国际物流保险合同订立与理赔3篇
- 2025年伊犁货车从业资格证考什么
- 2025年度个人自建别墅地基买卖合同8篇
- 二零二五年度混凝土工程进度协调协议2篇
- 二零二五版木材加工企业环保责任承诺合同4篇
- 2025年建筑钢材批量供应及售后保障合同3篇
- 二零二五年度夫妻离婚后子女医疗费用分担协议2篇
- 2025-2030年中国陶瓷电容器行业运营状况与发展前景分析报告
- 二零二五年仓储配送中心物业管理与优化升级合同3篇
- 2025届厦门高三1月质检期末联考数学答案
- 音乐作品录制许可
- 江苏省无锡市2023-2024学年高三上学期期终教学质量调研测试语文试题(解析版)
- 拉萨市2025届高三第一次联考(一模)英语试卷(含答案解析)
- 开题报告:AIGC背景下大学英语教学设计重构研究
- 师德标兵先进事迹材料师德标兵个人主要事迹
- 连锁商务酒店述职报告
- 2024年山东省烟台市初中学业水平考试地理试卷含答案
- 《实践论》(原文)毛泽东
评论
0/150
提交评论