485通信讲解附案例解析

合集下载

三菱fx3u485无协议通讯程序详解(含程序)

三菱fx3u485无协议通讯程序详解(含程序)

串行通讯指令(FNC 80 RS)1、指令格式: [RS D0 K8 D10 K8]发送数据帧起始地址和数目↓接收数据帧起始地址和数目2、功能和动作:※ RS指令是为使用RS232C、RS-485功能扩展板及特殊适配器,进行发送和接收串行数据的指令。

※传送的数据格式在后面讲述的特殊寄存器D8120设定。

RS指令驱动时即使改变D8120的设定,实际上也不接收。

※在只发送的系统中,可将接收数设定为K0。

(K表示常数)※在只接收的系统中,可将发送数设定为K0。

※在程序中可以多次使用RS指令,但在同一时间必须保证只有一个RS指令被驱动。

※在一次完整的通讯过程中,RS指令必须保持一直有效,直至接收数据完成。

D8120说明:※根据MD320的通讯协议,无帧头和帧尾,则(bit9,bit8)=(0,0)。

※ bit13~15是计算机链接通讯时的设定项目,使用RS指令时必须设定为0。

※ RS485未考虑设置控制线的方法,使用FX2N-485-BD、FX0N-485ADP时,(bit11,bit10 )=(1,1)。

※若PLC和变频器之间的通讯参数如下:8位数据位,无校验,2位停止位,波特率9600,无帧头无帧尾,无协议模式,则D8120=H0C89(H表示16进制)(0000 1100 1000 1001B)M8002│──||────────── [ MOV H0C89 D8120 ]5、相关标志位:一.基本指令介绍※ M8122:数据发送请求标志当PLC处于接收完成状态或接收等待状态时,用脉冲触发M8122,将使得从D0开始的连续8个数据被发送。

当发送完成后,M8122自动被复位。

当RS指令的驱动输入X0变为ON状态时,PLC就进入接收等待状态。

※ M8123:数据接收完成标志当M8123置位时,表明接收已经完成,此时需要将接收到的数据从接受缓冲区转移到用户指定的数据区,然后手工复位M8123。

复位M8123后,则PLC再次进入接收等待状态。

485通信讲解解析

485通信讲解解析

485通信讲解解析一、485通信基本原理1.电气特性:485通信使用差分信号传输,即使用两条信号线(A线和B线),其中A线发送正信号,B线发送负信号。

由于差分信号传输,可以抵抗电磁干扰,提高抗干扰能力。

2.总线结构:485通信采用多机共享方式,多个设备可通过一个总线实现通信,适用于复杂环境和多设备通信。

3.数据帧结构:485通信使用异步串行方式传输数据,数据帧结构包括起始位、数据位、校验位和停止位,其中校验位用于校验数据的正确性。

4.总线特性:485通信采用半双工通信方式,即发送和接收不能同时进行,但可以通过控制发送和接收的时间来实现全双工通信。

二、485通信案例解析考虑一个工业自动化系统,包括控制主机、传感器和执行器,需要通过485通信实现主机和外部设备的数据交换。

以下是一个简单的案例解析:1.系统拓扑结构该系统采用485总线结构,控制主机(主站)通过一个串口连接到总线上,传感器和执行器(从站)通过各自的接口连接到总线上,形成一个多机共享的通信网络。

2.数据帧结构主机和从站的数据交换使用标准的485数据帧结构,包含起始位、数据位、校验位和停止位。

主机发送数据时,先发送起始位,然后发送数据位,再发送校验位,最后发送停止位。

从站接收数据时,根据起始位进行同步,然后根据数据位解析数据。

3.通信规约该系统使用Modbus协议作为通信规约,Modbus协议是一种通用的工业通信协议,广泛应用于自动化领域。

主机和从站之间通过Modbus命令进行数据交换。

4.数据交换过程主机发送数据时,首先通过Modbus命令指定从站地址和操作类型,然后发送数据内容。

从站接收到数据后,根据Modbus命令解析数据,并执行相应的操作。

从站接收到数据后,可以通过发送响应数据给主机,告知操作结果。

5.系统特点该系统采用了485通信,具有较强的抗干扰能力,适用于工业环境中的噪声和干扰场景。

通过485总线结构,可以方便地扩展和管理多个设备,实现多机共享通信。

485通信讲解(附案例)解析

485通信讲解(附案例)解析

2
3
4
状 态 字
5
实际 运行 数据
6
实际 运行 数据
7
异 或 校 验
校验
起 始 字 节
从 状 机 态 地 字 址
字节定义 头 地址 状态区
数据区
RS485通讯协议
长帧(起始字节=02H)
发送顺序 1 (字节) 控制器至变频器:
2 3 4 5 6 7 8 9 10 11
起 始 字 节
从 功 命 功能 机 能 令 码设 地 码 字 定值 址 号
1 0
RS485通讯协议
响应字定义 控制字 (位)
bit5

1 0
含义
停机2状态 非停机2状态
功能描述
变频器执行停机2命令,处于停机状态
bit6
1 0
控制禁止状态 控制允许状态 上位机控制 本地控制方式
到达设定频率/ 速度 未到达设定频率 /速度
因停机1或停机2或变频器故障或异常命令使变 频器停机的状态,需控制字恢复到准备运行状态 使其复位
bit9
1 0
bit10
1 0
变频器只允许本地控制(面板和端子)
RS485通讯协议
响应字位定义 控制字 (位)
bit11

1 0
含义 变频器运行状态 变频器停止状态 变频器接受出错
功能描述
bit15
1
0
bit0 bit7~8 bit12~1 4,
变频器接收正确
预留 预留 预留
本位表示来自控制器的通讯帧经 校验出错,控制器应再次发送该 帧。
RS485通讯协议
控制字定义 控制字 (位) bit0 值 1 0 bit1 含义 运行命令 方式0停车 功能描述 起动变频器 减速停车

485通信讲(附案例)

485通信讲(附案例)

RS485通讯协议
校验和
数据含义:数据帧校验和计算结果。 数据类型:16进制,单字节。 计算方法:连续异或。
数据帧格式示意图
起始字节 (字节)
从机地址 (字节)
功能码操作
命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值
(字)
控制/状 态字
(字)
主设定/ 实际值
异或校验
(字) (字节)
进行异或计算
RS485通讯协议
响应字定义
控制字 (位)

含义
bit1 1 准备工作状态
功能描述 变频器就绪
bit2
0 非准备工作状态 1 变频器输出允许
bit3
0 变频器禁止输出 1 变频器有故障
0 变频器无故障
以所能达到的最快方式停车
bit4 1
停机1状态
变频器执行停机1命令,处于停机状态
0 非停机1状态
RS485通讯协议
起始字节 (字节)
从机地址 (字节)
功能码操作
命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值
(字)
控制/状 态字
(字)
主设定/ 实际值
异或校验
(字) (字节)
帧头
参数数据
用户数据
过程数据
帧尾
RS485通讯协议
特殊报文(起始字节=68H),用于获取从站的软件版本和机器型号
发送顺序
(字节) 1 2 3 4 5 6
RS485 通讯
目录
RS485基础 通讯协议 通讯案例 超级终端
RS485基础
通信接口方式 RS485接口:异步,半双工,串行

485通信讲解(附案例)

485通信讲解(附案例)
起始字节 (字节) 从机地址 (字节) 用户数据 异或校验 (字节)
7
6
5
4
3
2
1
0
=68H:特殊报文 =7EH:短帧 =02H:长帧
RS485通讯协议
从机地址 数据含义:从机的本机地址
从机地址范围2 ~126,127为广播地址,0、1号地址保留。从站数目超出29个,
要求使用中继器,同时中继器将占用从机数目。从机的群组地址与本机地址不 同时使用。地址字节最高位为0表示是本机的单机地址,为1表示是群组地址。
机 器 型 号
6
异 或 校 验
变频器至控制器:
RS485通讯协议
短帧(起始字节=7EH)
发送顺序 1 (字节) 控制器至变频器:
2
3
4
控 制 字
5
运行 数据 设定
6
运行 数据 设定
7
异 或 校 验
校验
起 始 字 节
从 控 机 制 地 字 址
字节定义 头 地址 控制区
数据区
发送顺序 1 (字节) 变频器至控制器:
2
3
4
状 态 字
5
实际 运行 数据
6
实际 运行 数据
7
异 或 校 验
校验
起 始 字 节
从 状 机 态 地 字 址
字节定义 头 地址 状态区
数据区
RS485通讯协议
长帧(起始字节=02H)
发送顺序 1 (字节) 控制器至变频器:
2 3 4 5 6 7 8 9 10 11
起 始 字 节
从 功 命 功能 机 能 令 码设 地 码 字 定值 址 号
RS485 通讯
目录
RS485基础 通讯协议 通讯案例 超级终端

MODBUS实例485通讯解析

MODBUS实例485通讯解析

用RS485端口控制TVF2000使用说明:一、硬件连接:1.RS485/RS485:(1)终端设备:将J2用终端方式短接;(2)非终端设备:将J2用非终端方式短接;(3)A、B、AGND对接;(4)如果使用屏蔽线,SCR对接。

2.RS485/RS232(PC机):(1)用RS485/RS232转换器;(2)PC机串口与转换器RS232口连接;(3)TVF2000的CN1与转换器的RS485口的A、B、AGND连接。

二、用MODBUS与TVF2000通讯(RTU方式):1.TVF2000键盘设置:a)键盘菜单设置说明:i.1001=10:外端子1用通讯控制;ii.5005=2:标准MODBUS通讯方式;iii.5201=1-247:从机号(缺省=1);iv.5202=5:通讯速度为9600bps(缺省=5);v.5203=0:无效验(缺省=0);vi.其它=缺省值;b)键盘具体操作:i.9952 = 1:参数初始化;ii.1001 = 10;iii.5005 = 2;这样设置后,就可以与TVF2000通讯了。

2.TVF2000使用的MODBUS命令:a)读存储寄存器:03命令;b)写单个寄存器:06命令;c)写多个寄存器:16命令;3.MODBUS单寄存器写入命令说明(其它说明见附录):a)主机发送:i.[地址]:从机地址1-247;ii.[命令]:06,单寄存器写入命令;iii.[寄存器地址_H]:寄存器地址高8位;iv.[寄存器地址_L]:寄存器地址低8位;v.[数据_H]:写入数据高8位;vi.[数据_L]:写入数据低8位;vii.[CRC_H]:CRC效验高8位;viii.[CRC_L]:CRC效验低8位;b)从机返回(正常):i.[地址]:从机地址1-247(相同地址);ii.[命令]:06,单寄存器写入命令;iii.[寄存器地址H]:寄存器地址高8位;iv.[寄存器地址L]:寄存器地址低8位;v.[数据_H]:写入数据高8位;vi.[数据_L]:写入数据低8位;vii.[CRC_H]:CRC效验高8位;viii.[CRC_L]:CRC效验低8位;c)通讯具体操作(菜单1102=7为例):i.主机发送:[01][06][04][4E][00][07][CRC_H][CRC_L];ii.从机返回(正常):[01][06][04][4E][00][07][CRC_H][CRC_L];4.用通讯命令设置菜单值(调速前必须设置):i.1102=7;外部1有效;ii.1103=8;由串行通讯给定;iii.0002=初始频率;如果不设置,为菜单1104的值;iv.0001=0x06;命令寄存器:0001;v.0001=0x0f;vi.0001=0x2f;启动;vii.0001=0x6f;到达设定频率;5.用通讯命令调速(给定寄存器1:0002):i.0002=0-20000;调速:0对应1104的值,20000对应1105的值;ii.通过03命令读取状态寄存器(0004)的值;iii.通过03命令读取保持寄存器(0005、0006)的值;iv.用通讯命令停车:0001 = 0x06;6.7.给定寄存器1:0002(MODBUS为40002)说明如下:i. 输出频率与给定值成正比例;ii. 输出频率=(0002的值)*(1105的值)/20000;8.状态寄存器:0004(MODBUS为40004)说明如下:9.保持寄存器:0005(MODBUS为40005):实际输出频率(单位:Hz);10.保持寄存器:0006(MODBUS为40006):实际输出电流(单位:0.1A);11.状态寄存器、保持寄存器均为只读;12.如果想保存通讯设置,必须用键盘设置菜单1607=1。

RS485通信原理图及程序实例详解

RS485通信原理图及程序实例详解

RS485通信原理图及程序实例详解RS232 标准是诞⽣于 RS485 之前的,但是 RS232 有⼏处不⾜的地⽅:接⼝的信号电平值较⾼,达到⼗⼏ V,使⽤不当容易损坏接⼝芯⽚,电平标准也与TTL 电平不兼容。

传输速率有局限,不可以过⾼,⼀般到⼀两百千⽐特每秒(Kb/s)就到极限了。

接⼝使⽤信号线和 GND 与其它设备形成共地模式的通信,这种共地模式传输容易产⽣⼲扰,并且抗⼲扰性能也⽐较弱。

传输距离有限,最多只能通信⼏⼗⽶。

通信的时候只能两点之间进⾏通信,不能够实现多机联⽹通信。

针对 RS232 接⼝的不⾜,就不断出现了⼀些新的接⼝标准,RS485 就是其中之⼀,它具备以下的特点:采⽤差分信号。

我们在讲 A/D 的时候,讲过差分信号输⼊的概念,同时也介绍了差分输⼊的好处,最⼤的优势是可以抑制共模⼲扰。

尤其当⼯业现场环境⽐较复杂,⼲扰⽐较多时,采⽤差分⽅式可以有效的提⾼通信可靠性。

RS485 采⽤两根通信线,通常⽤ A 和 B 或者 D+和D-来表⽰。

逻辑“1”以两线之间的电压差为+(0.2~6)V 表⽰,逻辑“0”以两线间的电压差为-(0.2~6)V 来表⽰,是⼀种典型的差分通信。

RS485 通信速率快,最⼤传输速度可以达到 10Mb/s 以上。

RS485 内部的物理结构,采⽤的是平衡驱动器和差分接收器的组合,抗⼲扰能⼒也⼤⼤增加。

传输距离最远可以达到 1200 ⽶左右,但是它的传输速率和传输距离是成反⽐的,只有在 100Kb/s 以下的传输速度,才能达到最⼤的通信距离,如果需要传输更远距离可以使⽤中继。

可以在总线上进⾏联⽹实现多机通信,总线上允许挂多个收发器,从现有的 RS485芯⽚来看,有可以挂 32、64、128、256 等不同个设备的驱动器。

RS485 的接⼝⾮常简单,与 RS232 所使⽤的 MAX232 是类似的,只需要⼀个 RS485转换器,就可以直接与单⽚机的 UART 串⼝连接起来,并且使⽤完全相同的异步串⾏通信协议。

485通信讲解

485通信讲解

485通信讲解标题:485通信协议与相关案例分析摘要:本文将详细介绍485通信协议的基本原理、通信模式以及相关案例分析,旨在帮助读者全面了解和应用485通信协议。

引言:485通信协议是一种用于串行通信的工业标准协议,常被应用于在工控系统等环境中实现设备之间的可靠通信。

本文将从原理到应用进行全面解析,通过案例分析展示其在实际项目中的应用场景和效果。

一、485通信协议的基本原理(400字)1.物理层:485通信协议采用差分信号传输,通过两个信号线(A和B)来传输数据。

A线传输逻辑高电平,B线传输逻辑低电平,两者之间产生差分电压用以表示二进制数据的0和12.数据链路层:485通信协议采用主从模式,一个设备作为主站,其他设备作为从站。

主站负责发送指令,从站接收并响应主站的指令。

通信中使用标准的帧结构,包括起始位、数据位、校验位和停止位。

3.电气特性:由于485通信协议可支持长距离通信和多个设备的连接,因此需要考虑电气特性。

主要包括传输速率、传输距离、驱动能力等方面。

二、485通信协议的通信模式(200字)1.单主从模式:由一个主站设备控制多个从站设备,主站负责发起通信请求,从站接收并响应请求。

这种模式常用于工业自动化系统中的智能仪表、传感器等设备的通信。

2.多主从模式:允许多个主站设备同时控制多个从站设备,主站之间通过总线共享信息。

每个主站设备都可控制总线上的任意一个从站设备,并实现数据的读取、写入等操作。

这种模式适用于需要多个主站设备同时交互的应用场景。

三、485通信协议的应用案例分析(600字)1.工业自动化控制系统:485通信协议被广泛应用于工业自动化控制系统中,实现不同设备之间的数据交换和控制。

例如,工厂的温度控制系统中,主站设备负责发送温度设定指令给多个从站设备,从站设备接收指令并控制温度设备进行调节。

通过485通信协议,实现了系统的自动化控制和数据的收集。

2.楼宇自动化系统:在楼宇自动化系统中,485通信协议常用于控制和监测设备之间的通信。

485总线协议

485总线协议

485总线协议简介485总线协议是一种常用的串行通信协议,用于在远距离通信中传输数据。

它可以实现多个设备之间的双向通信,具备高可靠性和抗干扰能力。

本文将介绍485总线协议的基本原理、通信方式以及应用案例。

基本原理485总线协议采用差分信号传输,即通过两根信号线来传输数据。

其中,一根线为A线,另一根线为B线。

通过在这两根线之间传输电压差来表示二进制数据。

当A线高电平,B线低电平时,表示逻辑1;当A线低电平,B线高电平时,表示逻辑0。

通过这种方式,485总线协议实现了数据的传输。

通信方式485总线协议支持两种主要的通信方式:半双工和全双工。

半双工通信在半双工通信中,数据的传输是单向的,即一次只能有一个设备发送数据,其他设备只能接收数据。

设备在发送数据之前必须先获取总线的控制权,然后开始发送数据。

其他设备在接收到数据后,可以进行相应的处理。

半双工通信适用于需要轮流发送数据的场景,如监控系统中的传感器数据采集。

全双工通信在全双工通信中,数据的传输是双向的,即多个设备可以同时发送和接收数据。

设备之间不需要获取控制权,可以自由地发送和接收数据。

全双工通信适用于需要设备之间实时交互的场景,如工业自动化系统中的控制指令传输。

应用案例485总线协议在各个领域都有广泛的应用。

下面将介绍几个典型的应用案例:工业自动化在工业自动化系统中,485总线协议被广泛应用于传感器和执行器之间的数据传输。

通过485总线,可以实现对温度、压力、流量等参数进行实时监控和控制。

工业自动化系统通常包括多个设备,通过485总线协议可以实现设备之间的高效通信,提高生产效率和质量。

楼宇自控楼宇自控系统是对大型建筑物进行智能化管理的重要手段。

485总线协议在楼宇自控系统中扮演了重要的角色。

通过485总线协议,可以实现对灯光、空调、安防等设备的集中控制和管理。

这样可以提高楼宇的能源利用率,降低运营成本。

环境监测环境监测系统通常需要监测大面积的环境参数,如气温、湿度、气体浓度等。

RS485通讯

RS485通讯

精通RS485通讯系列教程一、通讯基础知识1.1什么是通讯要搞清楚RS485通讯我们要先搞明白什么是通讯,通讯就是两个设备之间0、1代码的传递,0-低电平1-高电平。

举例:A设备向B设备传递数据,首先A设备和B设备之间必须通过电缆连接(硬件连接)。

如果A设备要向B设备发送101010这样一串代码,那么A设备就要在他的通讯端口产生如下图所示的高低电平的组合,通过电缆这个介质B设备的通讯端口就会接收到A设备发出高低电平的组合,同时就会将接收到的高低电平组合翻译成101010,这就完成了A设备向B设备数据的传递,B 设备向A设备数据传递也是同样的道理。

与通讯有个的概念。

【全双工与半双工】全双工是通讯端口在发送数据的同时可以接收数据。

而半双工指的是同一时刻通讯端口要么只能发送数据,要么只能接收数据。

举例:全双工-打电话时双方都可以说。

半双工:对讲机-同一时刻只能一个人说另一个人听。

【通讯速率】通讯速率也叫通讯波特率是1S内通讯端口发送01代码(或者说是高低电平)的数量。

举例:我们说通讯速率是9.6kbps,就表示通讯端口每秒发送9600个bit的数据,也就是每秒可以产生9600个高低电平(注意:是高低电平总共加起来9600个)。

【主从通讯】是在一个通讯网络中一个站点是主站,其他站点作为从站。

主站和从站之间可以直接进行数据的传递,但是从站与从站之间不能直接进行数据的传递。

如果需要从站之间交换数据也必须要通过主站进行转发。

如下图所示1.2、485通讯定义明白了通讯的基本概念后再理解485通讯就相对容易了,下面我们从通讯介质、通讯方式、通讯类型、物理层四个方面来介绍485通讯。

通讯介质:屏蔽双绞线,也就是我们通常用的带有屏蔽层的两心电缆如下图所示。

通讯方式:半双工通讯类型:主从通讯物理层:9针接口,需要注意的是通常情况下485通讯的9针接口,只需要将两芯电缆接到3号脚和8号脚上,3是信号“﹢”,8是信号“-”。

485通信讲解(附案例)解析

485通信讲解(附案例)解析

数据帧格式示意图
起始字节 从机地址 (字节) (字节)
用户数据
异或校验 (字节)
76543210
单机地址或群组地址 =0:单机地址 =1:群组地址
RS485通讯协议
命令字(响应字)+功能码号(2个字节,16BIT)
数据含义:主机发送的命令或从机对命令的应答。
功能码组号范围0~16(BIT8~BIT11),功能码的范围0~99(BIT0~BIT7),参见 TD3000
响应字定义
控制字 (位) 值
bit5
1
含义
停机2状态
功能描述
变频器执行停机2命令,处于停机状态
0
非停机2状态
bit6
1
控制禁止状态
因停机1或停机2或变频器故障或异常命令使变
频器停机的状态,需控制字恢复到准备运行状态
0
控制允许状态
使其复位
bit9
1 上位机控制
0 本地控制方式
bit10
1
到达设定频率/
数据帧格式示意图
起始字节 (字节)
从机地址 (字节)
功能码操作 命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值
(字)
控制/状 态字
(字)
主设定/ 实际值
异或校验
(字) (字节)
1514 13 12 1110 9 8 7 6 5 4 3 2 1 0
功能码操作错误代码 功能码设定/实际值
RS485通讯协议
帧头 帧头:一个字节 帧头是主机发布命令或从机回应主机响应的第一个字节,不论是主机还是从 机,都在收到该字节后开始记录有效数据。 为确保能准确识别报文头,要求两个通信帧之间保持2个字节传输时间以上的 总线空闲时间。

485通讯协议怎么使用(传统光电隔离的典型电路实例)

485通讯协议怎么使用(传统光电隔离的典型电路实例)

485通讯协议怎么使用(传统光电隔离的典型电路实例)RS485总线标准是工业中(考勤,监控,数据采集系统)使用非常广泛的双向、平衡传输标准接口,支持多点连接,允许创建多达3两个节点的网络;最大传输距离1200m,支持1200 m时为100kb/s的高速度传输,抗干扰能力很强,布线仅有两根线很简单。

RS485通信网络接口是1种总线式的结构,上位机(以个人电脑为例)和下位机都挂在通信总线上,RS485物理层的通信协议由RS485标准和PLC的多机通讯方式。

传统光电隔离的典型电路VDD与+5V1(VCC485)是两组不共地的电源,一般用隔离型的DC-DC来实现。

通过光耦隔离来实现信号的隔离传输,ISL3152EIBZ与MCU系统不共地,完全隔离则有效的抑制了高共模电压的产生,大大降低485的损坏率,提高了系统稳定性。

但也存在电路体积过大、电路繁琐、分立器件过多,传输速率受光电器件限制等缺点,对整个系统的稳定性也有一定影响。

第一步,配置好串口发送、接收端引脚和485控制引脚;因为RXD1引脚相对于STM32芯片来说是接收外来数据,所以设置为输入;TXD1引脚相对于STM32芯片来说是对外发送数据,所以设置为输出;TRE1 引脚是对外发送1或0高低电平命令,所以设置为输出;/******************************************************************函数名称:UART2Init*功能描述:对串口2参数进行设置、485控制端口初始化**输入参数:无*返回值:无*其他说明:无*当前版本:v1.0*-----------------------------------------------------------------*******************************************************************/void UART2Init(void){GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能外设时钟//GPIO结构的成员设置如下:/*--------------485控制端初始化------PA1----------*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 ;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50M时钟速度GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_Init(GPIOA,GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //485_TXGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出GPIO_Init(GPIOA,GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //485_RXGPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空输入GPIO_Init(GPIOA,GPIO_InitStructure);//串口的结构成员设置如下:USART_ART_BaudRate = 9600;USART_ART_WordLength = USART_WordLength_8b;USART_ART_StopBits = USART_StopBits_1;USART_ART_Parity = USART_Parity_No;USART_ART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_ART_Mode = USART_Mode_Tx | USART_Mode_Rx;USART_Init(USART2,USART_InitStructure);USART_Cmd(USART2,ENABLE);/*方法一:清发送完成标志*/// USART_ClearFlag(USART3,USART_FLAG_TC);/*方法二:获取串口1状态标志位*/USART_GeTITStatus(USART1,USART_FLAG_TC);}第二步:发送数据这里需要注意的是:/* CPU的小缺陷:串口配置好,如果直接Send,则第1个字节发送不出去如下两个方法语句解决第1个字节无法正确发送出去的问题*/方法一:USART_ClearFlag(USART3,USART_FLAG_TC); /*清发送完成标志,Transmission Complete flag */方法二:/*获取串口1状态标志位*/USART_GeTITStatus(USART1,USART_FLAG_TC);刚上电时出现乱码的原因:while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)== RESET); // USART_FLAG_TXE---检测发送数据寄存器空标志位如果USART_FLAG_TC---发送完成标志位(1)当设为USART_FLAG_TXE---检测发送数据寄存器空标志位为空,但是发送移位寄存器不为空,数据还没有完全的发送出去,又有数据就被写进来了,所以就会容易出现乱码;(2)当设为USART_FLAG_TC检测发送完成标志位为空,即发送移位寄存器为空,数据才真正的发送出去,因此此时又有数据被写进来也不会发生乱码1STM32的数据发送有两个中断标志,一个是发送数据寄存器空标志,一个是发送完毕标志。

一文秒懂 自动化485通讯

一文秒懂 自动化485通讯

一文秒懂自动化485通讯相信不少化工人,一听见通讯就闻风丧胆,一看到通讯的代码进制就一个头俩个大。

一听见别人聊通讯就会觉得很厉害,感觉他是大神。

但是小编要告诉你,其实通讯并没有什么难的。

那么怎么去理解这些呢,突然看到下面这些代码是不是感觉一脸懵逼下面先简单的讲个小故事:某一天,你决定去上门拜访丈母娘清楚了丈母娘家的地址是在XX省XXX镇上(主地址),然后有多种交通方式可以达到,最后选择了自己开车走高速(功能码,功能方式),到达镇上之后打了个电话问清楚了丈母娘家在哪个位置门牌号为XXX(寄存器地址),了解了她们家里有几口人,有几个亲戚(数据个数),然后到了之后再跟女朋友确认下免得认错人(CRC校验)。

当然丈母娘看到你的的一瞬间肯定会想:下面我们以pH控制器485通讯举例:发送TX:01 03 00 00 00 01 84 0A01:仪器的485通讯地址(地址)单独唯一的一个03:通讯过程中读数据的功能(功能码)唯一的一种读的方式00 00:存储PH值的一个地方(寄存器地址),不同的参数对应的地址也不一样哦00 01:需要读取PH的个数为一个(数据长度或者数据个数)不同数据对应的长度也不相同哦84 0A:确认数据的校验方式可利用工具计算(校验码)返回RX:01 03 02 02 DD 79 7D01,03不多说了,和上面发送TX是一样的02:返回来的读取到的pH数据字节为2个(分析的就是这个之后的字节哦)02 DD:所返回的pH值数据十六进制转换成十进制显示(自带两位小数点)79 7D:CRC校验码(自动返回)是不是跟仪器显示的一样呢?答案是一样的!PH=7.33当然基本参数都会提供只要你想到第一次拜访丈母娘的情景,就能明白通讯的基本格式。

三菱FX3U 485无协议通讯程序详解(含程序)

三菱FX3U 485无协议通讯程序详解(含程序)

三菱FX2N PLC串行通讯指令(FNC 80 RS)串行通讯指令(FNC 80 RS)1、指令格式:[RS D0 K8 D10 K8]发送数据帧起始地址和数目↓接收数据帧起始地址和数目2、功能和动作:※RS指令是为使用RS232C、RS-485功能扩展板及特殊适配器,进行发送和接收串行数据的指令。

※传送的数据格式在后面讲述的特殊寄存器D8120设定。

RS指令驱动时即使改变D8120的设定,实际上也不接收。

※在只发送的系统中,可将接收数设定为K0。

(K表示常数)※在只接收的系统中,可将发送数设定为K0。

※在程序中可以多次使用RS指令,但在同一时间必须保证只有一个RS指令被驱动。

※在一次完整的通讯过程中,RS指令必须保持一直有效,直至接收数据完成。

D8120说明:※根据MD320的通讯协议,无帧头和帧尾,则(bit9,bit8)=(0,0)。

※bit13~15是计算机链接通讯时的设定项目,使用RS指令时必须设定为0。

※RS485未考虑设置控制线的方法,使用FX2N-485-BD、FX0N-485ADP时,(bit11,bit10 )=(1,1)。

※若PLC和变频器之间的通讯参数如下:8位数据位,无校验,2位停止位,波特率9600,无帧头无帧尾,无协议模式,则D8120=H0C89(H表示16进制)(0000 1100 1000 1001B)M8002│──||────────── [ MOV H0C89 D8120 ]5、相关标志位:一.基本指令介绍※M8122:数据发送请求标志当PLC处于接收完成状态或接收等待状态时,用脉冲触发M8122,将使得从D0开始的连续8个数据被发送。

当发送完成后,M8122自动被复位。

当RS指令的驱动输入X0变为ON状态时,PLC就进入接收等待状态。

※M8123:数据接收完成标志当M8123置位时,表明接收已经完成,此时需要将接收到的数据从接受缓冲区转移到用户指定的数据区,然后手工复位M8123。

485通信讲解(附案例)解析

485通信讲解(附案例)解析
控制/状态字(2个字节,16BIT)
数据帧格式示意图
起始字节 (字节)
从机地址 (字节)
功能码操作
命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值
(字)
控制/状 态字
(字)
主设定/ 实际值
异或校验
(字) (字节)
1514 13 12 1110 9 8 7 6 5 4 3 2 1 0
RS485通讯协议
67
起 始 字 节
从 机 地 址
控 制 字
控 制 字
运行 数据 设定
运行 数据 设定
异 或 校 验
字节定义 头 地址 控制区 数据区 校验
变频器至控制器:
发送顺序 1 2 3 4 5 (字节)
67
起 始 字 节
从 机 地 址
状 态 字
状 态 字
实际 运行 数据
实际 运行 数据
异 或 校 验
字节定义 头 地址 状态区 数据区 校验
故障含义 无故障 变频器加速运行过电流(E001) 变频器减速运行过电流(E002) 变频器恒速运行过电流(E003) 变频器加速运行过电压(E004) 变频器减速运行过电压(E005) 变频器恒速运行过电压(E006) 变频器控制过电压(E007) 输入侧缺相(E008) 输出侧缺相(E009) 功率模块故障(E010) 功率模块散热器过热(E011) 整流桥散热器过热(E012) 变频器过载(E013) 电机过载(E014) 外部设备故障(E015)
帧头 帧头:一个字节 帧头是主机发布命令或从机回应主机响应的第一个字节,不论是主机还是从 机,都在收到该字节后开始记录有效数据。 为确保能准确识别报文头,要求两个通信帧之间保持2个字节传输时间以上的 总线空闲时间。

博世力士乐变频器485通讯案例

博世力士乐变频器485通讯案例

博世力士乐变频器485通讯案例【指定主题】博世力士乐变频器485通讯案例【导言】在现代工业自动化领域中,变频器作为一种重要的电力传动设备,广泛应用于各个行业。

博世力士乐作为知名的变频器制造商之一,其产品在市场上备受认可。

其中,博世力士乐变频器485通讯技术应用案例具有重要的参考价值和借鉴意义。

本文将为大家介绍一种实际应用中的485通讯案例,并探讨其应用优势和技术难点。

【正文】1. 案例简介:本案例为某化工企业实施的博世力士乐变频器485通讯应用。

该企业生产过程需要对变频器进行远程监控和控制,而传统的控制方式已经无法满足其需求。

在博世力士乐变频器的技术支持下,采用485通讯技术实现了远程监控和控制。

2. 485通讯技术优势:在该案例中,博世力士乐变频器的485通讯技术发挥了重要的作用,具有以下优势:1)远距离传输:485通讯技术可以在较长的距离范围内进行数据传输,满足化工企业对变频器远程监控的需求。

2)高可靠性:485通讯技术采用差分传输模式,具有较强的抗干扰能力,能够保证数据传输的稳定和可靠性。

3)多设备连接:485通讯技术支持多设备之间的连接,可以同时监控和控制多个变频器,提高工作效率和设备利用率。

3. 技术难点及应对措施:在实施博世力士乐变频器485通讯应用的过程中,也面临着一些技术难点,需要采取一定的应对措施:1)通讯协议选择:485通讯技术涉及到通讯协议的选择,需要根据企业实际情况选择合适的协议。

在本案例中,选择了Modbus通讯协议,该协议具有开放性和兼容性好的优点。

2)通讯速率设置:485通讯技术的数据传输速率需要根据实际情况进行设置。

过高的速率可能导致数据传输错误,而过低的速率则会降低数据传输效率。

在本案例中,根据化工企业的实际需求,设置了适当的通讯速率。

3)网络布局规划:485通讯技术需要对网络布局进行规划,包括线缆敷设和设备布置等方面。

在本案例中,通过对现场实际情况的综合考虑,采取了合理的网络布局,确保了数据传输的稳定性和可靠性。

485通讯问题讲解

485通讯问题讲解

485通讯问题讲解一、关于485总线的几个概念:1、485总线的通讯距离可以达到1200米。

根据485总线结构理论,在理想环境的前提下,485总线传输距离可以达到1200米。

其条件是通讯线材优质达标,波特率为9600,只负载一台485设备,才能使得通讯距离达到1200米,所以通常485总线实际的稳定的通讯距离往往达不到1200米。

如果负载485设备多,线材阻抗不合乎标准,线径过细,转换器品质不良,设备防雷保护复杂和波特率的提高等等因素都会降低通讯距离。

2、485总线可以带128台设备进行通讯。

其实并不是所有485转换器都能够带128台设备的,要根据485转换器内芯片的型号和485设备芯片的型号来判断,只能按照指标较低的芯片来确定其负载能力。

一般485芯片负载能力有三个级别――32台、128台和256台。

此外理论上的标称往往实际上是达不到的,通讯距离越长、波特率越高、线径越细、线材质量越差、转换器品质越差、转换器电能供应不足(无源转换器、防雷保护越强,这些都会降低真实负载数量。

3、485总线是一种最简单、最稳定、最成熟的工业总线结构这种概念是错误的。

485总线是一种用于设备联网的、经济型的、传统的工业总线方式。

其通讯质量需要根据施工经验进行调试和测试采可以得到保证。

485总线虽然简单,但也必须严格按照安装施工规范进行布线。

二、必须严格按照施工规范施工在485总线系统施工时必须严格按照施工规范施工,特别应注意下面几点。

1、485+和485-数据线一定要互为双绞。

2、布线一定要布多股屏蔽双绞线。

多股是为了备用,屏蔽是为了便于出现特殊情况时调试,双绞是因为485通讯采用差模通讯原理,双绞的抗干扰性较好。

不采用双绞线是错误的。

3、485总线一定要用手牵手式的总线结构,坚决避免星型连接和分叉连接。

4、设备供电的交流电及机箱一定要真实接地,而且接地良好。

有很多地方表面上有三角插座,其实根本没有接地,接地良好可以防止设备被雷击、浪涌冲击。

485双机通信案例原理与测试说明

485双机通信案例原理与测试说明

“485双机通信”功能实现说明1程序设计目标及程序运行效果说明程序设计目标:通过本例程理解RS485通信方式,实现双机通信。

程序运行效果:将两块带有485模块的51单片机通过485外接引脚A、B连接起来,单片机上电烧写程序后485模块的D/R引脚所对应的二极管均点亮,然后通过按键KEY3、KEY2控制数码管上的数值进行加减处理,两块单片机起始都默认为接收状态,最后按下KEY1发送键,将数据传送给另一块单片机,而此时接收方数码管上的数值发生相应的改变,与发送方数码管上的数值一致。

2程序相关电路及工作原理说明2.1 RS485通信原理RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。

针对RS232的不足,于是不断出现了新的接口标准,RS485就是其中的一种。

RS485接口的最大传输距离标准值为4000英尺,实际上可达 3000米,另外RS232接口在总线上只允许连接1个收发器,即单站能力。

而RS485接口在总线上是允许连接多达128个收发器。

即具有多站能力,这样用户可以利用单一的RS485接口方便地建立起设备网络。

RS485属于半双工通信,数据可以在一个信号载体的两个方向上传输,但是不能同时进行传输。

电平转换采用差分电路方式,A、B两线的电压差大于0.2认为是逻辑“1”,小于-0.2认为是逻辑“0”,方便与TTL电路连接。

使用RS485进行通信与RS232通信的逻辑是一致的,但RS485抗干扰性更强,传输距离更远。

RS485广泛运用在工业自动化控制、视频监控、门禁对讲以及楼宇报警等各个领域。

图1 485模块电路原理图MAX485芯片的功能是将TTL电平转换为RS485电平,引脚功能如下:(1)485 D/R输出、接收信号控制引脚:当该引脚为低电平时,485为接收态,MAX485通过485_RXD把来自总线的信号输出给单片机;当该引脚为高电平时,485为发送态,来自485_TXD的输出信号通过A、B引脚加载到总线上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RS485通讯协议
命令字(码)
命令字(码)
功能描述
0 无任务
1 请求读取功能码参数数据
2 请求更改功能码参数数据
14 请求更改功能码参数并存储至EEPROM
3~13,15 预留
响应字(码)
响应字(码)
内容描述
0 无响应
1 功能码参数操作正确(读取或更改)
2~6 预留
7 无法执行,错误信息用功能码实际值的低字节表示(此时并不返回功能码值)
RS485通讯协议
数据帧结构 帧头:起始字节、从机地址。 帧尾:校验数据(异或校验)。 用户数据:参数数据和过程数据两部分。 参数数据:功能码操作命令/响应、功能码号、功能码设定/实际值。
在短帧中没有参数数据。 过程数据:主机控制命令/从机状态响应、主机运行主设定/从机运行实际值。
数据帧格式示意图
RS485通讯协议
长帧(起始字节=02H)
发送顺序 1 2 3 4 5 (字节)
6 7 8 9 10 11
控制器至变频器:
起 始 字 节
从 机 地 址
命 令 字
功 能 码 号
功能 码设 定值
功能 码设 定值
控 制 字
控 制 字
运行 数据 设定
运行 数据 设定
异 或 校 验
字节定义 头 地址 命令区 参数区 控制区 数据区 校验
先发高字节,再发低字节数据的帧原格则式示意图
起始字节 (字节)
从机地址 (字节)
功能码操作
命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值
(字)
控制/状 态字
(字)
主设定/ 实际值
异或校验
(字) (字节)
1514 13 12 1110 9 8 7 6 5 4 3 2 1 0
功能码号 功能码组号 命令/响应字(码)
数据帧格式示意图
起始字节 从机地址 (字节) (字节)
用户数据
异或校验 (字节)
76543210
单机地址或群组地址 =0:单机地址 =1:群组地址
RS485通讯协议
命令字(响应字)+功能码号(2个字节,16BIT)
数据含义:主机发送的命令或从机对命令的应答。
功能码组号范围0~16(BIT8~BIT11),功能码的范围0~99(BIT0~BIT7),参见 TD3000
控制器至变频器:
起 始 字
从 机 地
A A
5 5
A 5
异 或 校
节址H H H 验变频器至控制器:源自发送顺序 (字节)12
3
45
6
起 从软软 机 异 始 机件件 器 或 字 地版版 型 校 节 址本本 号 验
RS485通讯协议
短帧(起始字节=7EH)
控制器至变频器:
发送顺序 1 2 3 4 5 (字节)
当与现场总线适配器PROFIBUS连接时采用默认数据格式:见上黑粗体
RS485基础
主机为PC RS232
OCI-6A
或 主机为PLC RS485
TD3000
TD3000 TD3000 单主机多从机
TD3000
主机为PC RS232
OCI-6A RS485
TD3000 单主机单从机
RS485基础
通信方式 采用主机“轮询”,从机“应答”的点对点通信方式,变频器为从机。 主机使用广播地址发送命令时,从机不允许应答。 从机在最近一次对主机轮询的应答帧中上报当前故障信息。 通信准备 用从机键盘设置变频器串行接口通信参数:本机地址、波特率、数据格式。 具备RS232的主机可以使用通信接口转换器( OCI-6A)完成到RS485的转换。
起始字节 (字节)
从机地址 (字节)
功能码操作
命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值
(字)
控制/状 态字
(字)
主设定/ 实际值
异或校验
(字) (字节)
帧头
参数数据
用户数据
过程数据
帧尾
RS485通讯协议
特殊报文(起始字节=68H),用于获取从站的软件版本和机器型号
发送顺序
(字节) 1 2 3 4 5 6
=68H:特殊报文 =7EH:短帧 =02H:长帧
RS485通讯协议
从机地址 数据含义:从机的本机地址 从机地址范围2 ~126,127为广播地址,0、1号地址保留。从站数目超出29个, 要求使用中继器,同时中继器将占用从机数目。从机的群组地址与本机地址不 同时使用。地址字节最高位为0表示是本机的单机地址,为1表示是群组地址。
帧头 帧头:一个字节 帧头是主机发布命令或从机回应主机响应的第一个字节,不论是主机还是从 机,都在收到该字节后开始记录有效数据。 为确保能准确识别报文头,要求两个通信帧之间保持2个字节传输时间以上的 总线空闲时间。
数据帧格式示意图
起始字节 从机地址 (字节) (字节)
用户数据
异或校验 (字节)
76543210
67
起 始 字 节
从 机 地 址
控 制 字
控 制 字
运行 数据 设定
运行 数据 设定
异 或 校 验
字节定义 头 地址 控制区 数据区 校验
变频器至控制器:
发送顺序 1 2 3 4 5 (字节)
67
起 始 字 节
从 机 地 址
状 态 字
状 态 字
实际 运行 数据
实际 运行 数据
异 或 校 验
字节定义 头 地址 状态区 数据区 校验
RS485 通讯
目录
RS485基础 通讯协议 通讯案例 超级终端
RS485基础
通信接口方式 RS485接口:异步,半双工,串行
数据格式 1位起始位、8位数据位、1位停止位、无校验 1位起始位、8位数据位、1位停止位、奇校验 1位起始位、8位数据位、1位停止位、偶校验
波特率 1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、125K
8 ~15 预留
RS485通讯协议
响应字(码)
参数操作错误(响应字=7时)内容定义列表
错误号
内容描述
0 非法参数号 1 参数不允许设置(参数只读)
2 参数数值超限
12 密码错误
101 参数数据无法更改(运行中不可更改)
其它 预留
RS485通讯协议
功能码设定/实际值(2个字节,16BIT) 对应功能码号的参数值或错误参数代码。当功能码操作正确时,功能码的实际 返回值用一个字(2个字节)表示;如果功能码操作不正确则用低字节返回操 作错误代码,此时高字节为0;遵循先发高字节,再发低字节的原则
发送顺序 1 2 3 4 5 (字节)
6 7 8 9 10 11
变频器至控制器:
起 始 字 节
从 机 地 址
响 应 字
功 能 码 号
功能 码实 际值
功能 码实 际值
状 态 字
状 态 字
实际 运行 数据
实际 运行 数据
异 或 校 验
字节定义 头 地址 命令区 参数区 控制区 数据区 校验
RS485通讯协议
相关文档
最新文档