DF1协议简述

DF1协议

1.    概述

可编程控制器(PLC)因编程方便,抗干扰能力强,被广泛应用于各种领域。DF1协议是AB公司可编程控制器系统广泛支持的数据链路层通信协议,各系列可编程控制器及装有RSLinx通信软件的计算机均支持DF1协议。它的物理层建立在RS232和RS485等电气标准之上,针对不同的设备建立不同的应用层命令。综合物理层、数据链路层和应用层后能够完成基于DF1协议的通信。

2.    网络模型 

相较于OSI网络模型,DF1协议应用涉及物理层、数据链路层和应用层。

DF1协议最大的特点是联合了ANSI x3.28规范中的D1(数据透明性)和F1(双向同时传输兼内部响应)。数据透明性是指报文格式简单和数据的可读性,双向同时传输兼内部响应是指在物理层的RXD和TXD上数据是同时传输的。DF支持全双工或半双工通信,对应不同的物理层网络拓补,全双工通信需要基于RS232/RS422等网络部署,半双工通信需要基于RS485网络部署。

3.    DF1协议

3.1 DF1协议应用分类

DF1协议主要分两类:DF1半双工协议(主从通信)和DF1全双工协议(点对点通信)。

DF1半双工主从协议提供一种多支路单主多从网络,主机通过定时轮询从机启动通信。半双工协议是一种支持一主多从通信方式的协议,允许2到255个节点通过modems同时连接到单一链路上。如果只有一个从站,从站可以直接与主站相连。DF1全双工协议是点对点的通信协议,主要特定有:1)在点对点链路中允许同时收发数据;2)在多支路链路中的交互模块具有数据仲裁功能;3)高性能的协议实现程序应该尽可能的从传输媒介中获得大的数据流量。当通过AB通信模块连接交互模块时,通信模块自动完成仲裁功能。如果系统对实时性要求不高则采用半双工通信模式,反之采用全双工方式。

全双工和半双工通信的控制字符、数据帧格式、数据处理流程均不同,需区别处理。

3.2 DF1控制字符

DF1协议采用的是异步通信方式,数据是一帧一帧地发送。DF1协议的控制字符是ASCII码控制字符,通常由7位组成,需要在前面添加一位构成8位数据。DF1协议就是通过组合一些控制字符,构成特殊的控制信号和数据信号的。组成控制信号和数据信号的控制字符必须连续发送,中间不要再有其他字符。控制信号是固定不变的组合,而数据信号的内容是可变的。

全双工传送信号与半双工传送信号相比DLE NAK在这里没有reset作用,DLE ENQ也不是轮询报文开始标识,而是要求对方重新发送的标识,其他标识含义相同。半双工传送信号比全上工传送信号多出了DLE SOH(10 01)、DLE EOT(10 04)、STN等标识。DF1全双工主要通过两个主程序:发送主程序和接收主程序来实现发和收同时进行,这就体现了DF1的双向同时传输的特点。关于DF1全双工的实现流程比较简单,基本是一发一收,发送报文后通过收到的反馈情况来判断是否正确执行,若没有则重发,或显示错误等操作。

3.3 DF1报文帧格式

半双工协议使用下面3种报文帧格式:

 

全双工协议一般只使用半双工协议的第三种报文帧格式:从报文帧,格式如下:

 

一般情况下,应用消息帧格式如下:

 

DF1提供两种校验方式:BCC和CRC校验,BCC是一种累加校验算法,简单但功能有限,一般使用CRC校验。CF1的CRC校验虽然采用CRC-16标准,但与常用的CRC-16略有不同,其CRC初始寄存器值为0x0000H,而不是0XFFFFH。

 

参考:

1. 基于linux平台串行通信协议df1的c语言程序设计

2. 基于DF1协议的通讯在铝厂烟气净化监控系统中的应用实践

3. https://github.com/leicht/Df1

4. 基于AB DF1串口协议的无线控制方案在南京地铁BAS系统远程监控中的应用

5. DF1 Protocol and Command Set Reference Manual

6. Allen-Bradley on DF1

7. How to Connect to an Allen-Bradley SLC 500 PLC

8. 罗克韦尔官网

9. http://www.iatips.com/pccc_tips.html

posted @ 2019-12-21 20:27  yuxi_o  阅读(4507)  评论(0编辑  收藏  举报