• 沒有找到結果。

SLEEP Singnal RESET Signal

COM2 COM1

A(TxD) GND

9 1

SGND RxD/TLL TxD/TLL

A(RxD) B(TxD)

SLEEP Singnal RESET Signal

4.5.3.2  S7-200 PLC 自由口通信模式简介 

PLC 有两个 RS-485 串口 提供一种自由口通信模式 在自由口通信模式下 通信协议由用户自己定义 梯形图程序调用接收中断 发送中断 发送指令

XMT 接受指令 RCV 来控制通信操作 在自由口模式下 通信协议完全 由梯形图程序控制

图 4-14 STR-6 型无线数传模块接线图  Fig 4-14 Wire Schematic of STR-6

图4-15 STR-6型无线数传模块实物图  Fig 4-15 Photo of STR-6

在本清洗机器人无线通信系统中 单片机作为主站 对从站两台 PLC 实现 Byte11

目标寄存器地址 十六进制 ASCII

Byte12 Byte13

读/写字节数 M 十六进制 ASCII  

Byte14 Byte15

要写入的数据 十六进制 ASCII  

Byte16

Byte17 BCC 校验码 十六进制 ASCII 码 Byte18 结束字符

1. 起始字符

起始字符标志着指令的开始 本系统中楼顶 PLC 定义为 ASCII 码的

"g" 本体 PLC 定义为 ASCII 码的"j" 不同的 PLC 从站定义不同的起始 字符以接收真对该 PLC 的指令

2. 指令类型

该字节用来标志指令的类型

05H 读操作

06H 写操作

3. 目标 PLC 站地址

目标 PLC 站地址占用指令的 B2 字节 以十六进制 ASCII 码的格式 表示目标 PLC 的站地址

01H 楼顶 PLC 站地址 02H 本体 PLC 站地址

4. 目标寄存器地址

在 PLC 内部可以用 4 个字节来表示一个寄存器的地址 但不能表示 一个位地址 前两个字节表示寄存器类型 后两个字节表示寄存器号

00 00   I 寄存器区  01 00   Q 寄存器区  02 00   M 寄存器区  08 00   V 寄存器区 

5. 读写字节数 M

当读命令时 始终读回从目标寄存器开始的连续 8 个字节的数据 转 换为十六进制 ASCII 码后占用 16 个字节 可以根据自己的需要取用 M 任意写入

当写命令时 M 表示的是要写入数据的十六进制 ASCII 码所占用的 字节数

6. 要写入的数据

写入接收缓冲区的数据也就是要发送指令的编码 对应的 PLC 接收 到数据后 从接收缓冲区取出数据 经译码后调用相应子程序来实现操 作人员要求的功能 指令编码如下

01 01(H) 上升 02 04(H) 清洗机构停止

01 02(H) 下降 02 05(H) 双吸盘伸出

01 03(H) 悬停 02 06(H) 双吸盘缩回

01 04(H) 速度一档 02 07(H) 双闸片打开 01 05(H) 速度二档 02 08(H) 双闸片闭合

01 06(H) 速度三档 02 09(H) 自动越障

02 01(H) 风机启动 02 0A(H) 自动清洗

02 02(H) 风机停止 02 0B(H) 总复位 02 03(H) 清洗机构启动

7. BCC 校验码

在传输过程中 指令有可能受到任何的干扰而使原来的数据信号发 生扭曲 此时的指令当然是错误的 为了侦测指令在传输过程中发生的 错误 接收方必须对指令作进一步的确认工作 以防止错误的指令被执 行 最简单的方法就是使用校验码 BCC 校验码的方法就是将要传送的 字符串的 ASCII 码以字节为单位作异或和 并将此异或和作为指令的一 部分传送出去 同样地 接收方在接到指令后 以相同的方式对接收到 的字符串作异或和 并与传送方所送过来的值作对比 若其值相等 则 代表接收到的指令是正确的 反之则是错误的

本系统中 bcc 为指令 B1 到 B17 的异或和 BCC 为 bcc 的十六进制 ASCII 码

bcc=B1 xor B2 xor B3 xor B4 xor …… xor B17 8. 结束字符

结束字符标志着指令的结束 在系统中楼顶 PLC 定义为 ASCII 码的

"G" 本体 PLC 定义为 ASCII 码的"J" 不同的 PLC 从站定义不同的结束 字符以接收真对该 PLC 的指令

PLC 接收到单片机的指令信息后 发送一条 7 字节的反馈信息 指令格式

如下

Byte0 起始字符 Byte1 状态信息 Byte2

Byte3 数据区 十六进制 ASCII 码 Byte4

Byte5 BCC 校验码 十六进制 ASCII 码 Byte6 结束字符

1. 起始字符

起始字符标志着反馈信息的开始 本系统中楼顶 PLC 定义为 ASCII 码 的"g" 本体 PLC 定义为 ASCII 码的"j" 不同的 PLC 从站可以定义不同的 起始字符 这样单片机可以根据信息的起始字符来判断反馈信息的来源 2. 状态信息

该字节包含指令执行的状态信息

01H 读取正确

02H 写入正确

03H BCC 校验码错误

04H 指令不合法

3. 数据区

反馈信息的 B2 和 B3 为读指令所要读取的数据 以十六进制 ASCII 码 表示

4. BCC 校验码

与上位机指令中的 BCC 校验码类似 它是反馈信息 B2 和 B3 的异或和 5. 结束字符

结束字符标志着反馈信息的结束 在系统中楼顶 PLC 定义为 ASCII 码 的"G" 本体 PLC 定义为 ASCII 码的"J"

本体控制器 PLC 程序的执行过程如下

PLC 在第一次扫描时执行初始化子程序 对端口及接收指令进行初始化 初始化完成后 运行 RCV 指令使端口处于接收状态

接收指令会将以"j"开头"J"结尾的指令保存到接收缓冲区 并同时产生接收 完成中断

接收完成中断服务程序用来处理接收完成中断事件 它会将接收缓冲区中 的十六进制 ASCII 码还原成数据 并根据这些数据触发相应子程序执行相应操 作

检验子程序首先复位本身的触发条件以防止子程序被重复调用 然后求出 接收缓冲区中指令的 BCC 校验码并与指令中的 BCC 校验码进行比对 如果相等 则置 BCC 码校验正确的标志位 M0.0 为 1 如果指令格式正确而 BCC 码不相 等 则发送代表 BCC 校验码错误的反馈信息 如果指令格式不正确 则返回代 表指令格式错误的反馈信息

读子程序的触发条件为 指令中的站地址与本机站地址相符 指令类型为 读指令 BCC 检验码正确 当条件满足时 读子程序被执行 读子程序首先禁 止接收指令 然后将指令所要读取的数据转换成十六进制 ASCII 码并写入发送 缓冲区 计算 BCC 检验码 最后发送反馈信息

写子程序的触发条件为 指令中的站地址与本机站地址相符 指令类型为 写指令 BCC 检验码正确 当条件满足时 写子程序被执行 Write 子程序首先 禁止接收指令 然后将指令中的数据写入目标寄存器 最后发送代表写入正确的 反馈信息

PLC 每接到一条指令后都会发送一条反馈信息 当反馈信息发送完成时 会产生发送完成中断 发送完成中断中断服务程序用来处理发送完成中断事件 在发送完成中断服务程序中所要执行的操作包括 复位 BCC 校验码正确的标志 位 M0.0 允许接收指令 BCC 码寄存器清零 重新装入用于计算 BCC 校验 码的地址指针 接收缓冲区中存放指令结束字符的字节清零 用来判断下一条指 令格式是否正确

4.5.3.4  无线通信系统中的差错控制 

为提高通信系统可靠性 降低误码率 需要引入差错控制技术

[34]

又叫信 道编码 如果不加处理地把信息直接送入信道 这样的信息码元是没有任何检

纠错能力的 所渭差错控制技术 其实质是在信息码元中增加一定数量的多余码 元(称为监督码元) 即由信息码元和监督码元共同组成一个码字 二者之间满足 一定的约束关系 传输过程中如果受到干扰 某位码元发生了变化 相当于破坏 了两者之间的约束关系 接收端通过检验这种约束关系是否成立 完成识别错误 或者进一步判定错误位置并加以纠正的工作 从而保证通信的可靠性

差错控制的方式主要有三种 Ÿ 前向纠错 FEC 方式

又称自动纠错 发送端将原始数据进行纠错编码后送入信道 接收端 在对信号译码的过程中能自动纠正错误码元 前向纠错不再要求反馈信道 纠错迅速 及时 具有恒定的信息传输速率 这种方式的缺点是译码设备 复杂 倘需纠正较多位的突发错码 则要附加较多的监督码元 这样既增 加了译码算法选择的难度 也降低了系统的传输效率 所以不适宜应用于 传输条件恶化的信道

Ÿ 混合纠错 HEC 方式

混合纠错(HEC)方式是前向纠错和反馈重发纠错两种纠错方式的结 合 在这种纠错方式中 发送端发出的是具有一定纠错能力和较高检验能 力的码字 所以由信道编码而附加的监督码元并不多 典型的 HEC 系统框 往往是在 ARQ 系统中包含一个 FEC 子系统 接收端检测数据码流 发现 错误时 先由 FEC 子系统自动纠错 仅当错误较多超出纠错能力时 再发 反馈信息要求重发 因此大大减少了重发次数 这种方式在一定程度上弥 补了反馈重发和前向纠错两种方式的缺点 充分发挥了码的检 纠错能力 在较强干扰的信道中仍可获得较低误码率 是实际通信中应用较多的纠错 方式

Ÿ 反馈重发纠错 ARQ 方式

反馈重发纠错(ARQ)方式又称判决反馈纠错 它的工作原理是 发送 端对原始数据进行差错控制编码 产生可以检测出错误的发送序列 即将 被传输的数据按 k 位分组 每组后面附加校验位 使之成为码长为 n 的校 验序列(n>k) 通信时 接收机根据收到的码元序列中附加校验位的编码规 则 进行判决 判决结果通过反馈信道回传 无错时认可(ACK) 有错时否

认(NAK) 发送端根据回传指令 将有错的码组重传 直到正确接收为止 图是反馈重发纠错(ARQ)方式的原理图

编 码

信源 缓冲与

控制

正向通

译 码 缓冲与

控制 信宿

反向通

本无线通信系统采用停止等待 ARQ 系统 发送端 单片机 每发送一个控 制指令就停止并等待接收端 PLC 的应答信号 得到确认信号(ACK)后发送下 一个指令或等待 若收到否认信号(NAK) 则重新发送此指令 此种操作方式为 半双工 操作简单 所需存储器的容量小 但效率低 考虑到清洗机器人对无线 通信系统的实时性要求相对不高 而对传输的可靠性要求却较高 故采用此纠错 方式

4.6 本章小结 

本章首先分析了系统对控制功能的要求 提出了基于单片机和 PLC 的主从 分布式控制系统 设计了控制系统硬件结构 重点阐述了楼顶吊装系统的变频调 速和吸盘内负压的 PID 闭环控制 并研究了无线通信系统 提出了基于无线数 传模块的无线通信系统的设计方案 设计了自由口模式下单片机和 PLC 的通信

本章首先分析了系统对控制功能的要求 提出了基于单片机和 PLC 的主从 分布式控制系统 设计了控制系统硬件结构 重点阐述了楼顶吊装系统的变频调 速和吸盘内负压的 PID 闭环控制 并研究了无线通信系统 提出了基于无线数 传模块的无线通信系统的设计方案 设计了自由口模式下单片机和 PLC 的通信

相關文件