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再次进入接收等待状态。

RS485通讯基础及通讯方式

RS485通讯基础及通讯方式

RS485通讯基础及通讯方式1、什么是通讯,如图要搞清楚RS485通讯我们要先搞明白什么是通讯,通讯就是两个设备之间0、1代码的传递、0-低电平 1-高电平举例:plc 向变频器从机1和变频器从机2传递数据,首先变频器从机1和变频器从机2设备之间必须通过电缆连接(硬件连接)。

如果变频器从机1和变频器从机设备发送101010这样一串代码,那么变频器从机1就要在他的通讯端口产生如下图所示的高低电平的组合,通过电缆这个介质变频器从机2设备的通讯端口就会接收到A设备发出高低电平的组合,同时就会将接收到的高低电平组合翻译成101010,这就完成了PLC 向两台变频器从机1设备数据的传递。

2、与通讯有关的概念描述:1、全双工与半双工】全双工是通讯端口在发送数据的同时可以接收数据。

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

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

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

单双工:只能是设备发送数据,另一台设备只能接受设备,不具备发送(例如打印机)如图2、通讯速率:通讯速率也叫通讯波特率是1S内通讯端口发送0、1。

代码(或者说是高、低电平)的数量。

举例:我们说通讯速率是9.6kbps,就表示通讯端口每秒发送9600个bit的数据,也就是每秒可以产生9600个高低电平(注意:是高低电平总共加起来9600个)比特传输速率每秒钟通过信道传输的信息量称为比特传输速率,记作rb。

单位是比特/秒(b/s),简称比特率。

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

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

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

如下图所示3、 RS485的接口定义:明白了通讯的基本概念后再理解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通信讲解(附案例)

8 ~15 预留
RS485通讯协议
响应字(码)
参数操作错误(响应字=7时)内容定义列表
错误号
内容描述
0 非法参数号
1 参数不允许设置(参数只读)
2 参数数值超限
12 密码错误
101 参数数据无法更改(运行中不可更改)
其它 预留
RS485通讯协议
功能码设定/实际值(2个字节,16BIT) 对应功能码号的参数值或错误参数代码。当功能码操作正确时,功能码的实际 返回值用一个字(2个字节)表示;如果功能码操作不正确则用低字节返回操 作错误代码,此时高字节为0;遵循先发高字节,再发低字节的原则
7 6 5432 1 0
RS485案例
应用案例
说明:使用通信控制变频器时,请先检查硬件是否连接好。同时,将变频器 的通信数据格式,波特率,以及通信地址设置好。如果是用在PROFIBUS上, 还需选定PPO参数(F9参数组)。本文例子中默认变频器使用长桢进行通信 。
1、以50Hz运行2#变频器。(此例需要将变频器频率设定成F0.03=6)
数据帧格式示意图
起始字节 (字节)
从机地址 (字节)
功能码操作 命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值
(字)
控制/状 态字
(字)
主设定/ 实际值
(字)
异或校验 (字节)
1514 13 12 1110 9 8 7 6 5 4 3 2 1 0
RS485通讯协议
故障代号
故障代号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
=68H:特殊报文 =7EH:短帧 =02H:长帧
RS485通讯协议
从机地址 数据含义:从机的本机地址 从机地址范围2 ~126,127为广播地址,0、1号地址保留。从站数目超出29个, 要求使用中继器,同时中继器将占用从机数目。从机的群组地址与本机地址不 同时使用。地址字节最高位为0表示是本机的单机地址,为1表示是群组地址。

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 串⼝连接起来,并且使⽤完全相同的异步串⾏通信协议。

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的数据发送有两个中断标志,一个是发送数据寄存器空标志,一个是发送完毕标志。

三菱FX3U485无协议通讯程序详细讲解(含程序)

三菱FX3U485无协议通讯程序详细讲解(含程序)

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

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

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

※在只发送的系统中,可将接收数设定为K0o (K表示常数)%在只接收的系统中,可将发送数设定为K0o%在程序中可以多次使用RS指令,但在同一时间必须保证只有一个RS指令被驱动。

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

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

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

% RS485 未考虑设置控制线的方法,使用FX2N-485-BD、FX0N-485ADP 时,(bit11,bit10 )= (1,1 )o%若PLC和变频器之间的通讯参数如下:8位数据位,无校验,2位停止位,波特率9600,无帧头无帧尾,无协议模式,则D8120=H0C89 (H 表示16 进制)(0000 1100 1000 1001B )M8002| ——|| ------------------------------- [ MOV H0C89 D8120 ]5、相关标志位:一.基本指令介绍探M8122 :数据发送请求标志当PLC 处于接收完成状态或接收等待状态时,用脉冲触发M8122 ,将使得从DO 开始的连续8个数据被发送。

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

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

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

MODBUS实例485通讯

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.命令寄存器:0001(MODEBUS为40001)说明如下: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。

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通信讲解(附案例)解析

1
2
3
4
5
6
控制器至变频器:
起 始 字
从 机 地
A A
5 5
A 5
异 或 校
节址H H H 验
变频器至控制器:
发送顺序 (字节)
12345
6
起 从软软 机 异 始 机件件 器 或 字 地版版 型 校 节 址本本 号 验
RS485通讯协议
短帧(起始字节=7EH)
控制器至变频器:
发送顺序 1 2 3 4 5 (字节)
RS485 通讯
目录
RS485基础 通讯协议 通讯案例 超级终端
RS485基础
通信接口方式 RS485接口:异步,半双工,串行
数据格式 1位起始位、8位数据位、1位停止位、无校验 1位起始位、8位数据位、1位停止位、奇校验 1位起始位、8位数据位、1位停止位、偶校验 波特率 1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、125K
起始字节 (字节)
从机地址 (字节)
功能码操作 命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值
(字)
控制/状 态字
(字)
主设定/ 实际值
(字)
异或校验 (字节)
帧头
参数数据
用户数据
过程数据
帧尾
RS485通讯协议
特殊报文(起始字节=68H),用于获取从站的软件版本和机器型号
发送顺序 (字节)
通信方式 采用主机“轮询”,从机“应答”的点对点通信方式,变频器为从机。 主机使用广播地址发送命令时,从机不允许应答。 从机在最近一次对主机轮询的应答帧中上报当前故障信息。 通信准备 用从机键盘设置变频器串行接口通信参数:本机地址、波特率、数据格式。 具备RS232的主机可以使用通信接口转换器( OCI-6A)完成到RS485的转换。

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

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

三菱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双机通信案例原理与测试说明

“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引脚加载到总线上。

modbus485读取字符案例

modbus485读取字符案例

modbus485读取字符案例Modbus是一种串行通信协议,常用于工业自动化领域中的设备间通信。

本文将以Modbus485读取字符为例,介绍Modbus485通信的基本原理和步骤。

一、Modbus485通信简介Modbus485是基于RS485物理层的Modbus协议的一种实现方式,通过串行通信方式传输数据。

它可以实现多个设备之间的通信,其中一个设备充当主站,其他设备为从站。

二、Modbus485通信步骤1. 确定通信设置在进行Modbus485通信前,需要确定通信的参数,包括波特率、数据位、停止位和校验方式等。

这些参数需要在主站和从站上保持一致。

2. 建立物理连接使用RS485总线连接主站和从站,确保线缆连接正确且稳定。

可以使用终端电阻和电缆屏蔽来提高通信的稳定性。

3. 选择读取功能码根据需求选择合适的读取功能码,常用的功能码包括读取线圈状态、读取离散输入状态、读取保持寄存器和读取输入寄存器等。

4. 发送读取命令主站发送读取命令给从站,包括从站地址、功能码和读取的起始地址以及读取的数据长度等。

通常使用Modbus协议的特定格式进行数据传输。

5. 从站响应从站接收到主站发送的读取命令后,根据命令进行处理,并将读取的数据发送给主站作为响应。

响应的数据也需要按照Modbus协议的格式进行封装。

6. 主站解析响应主站接收到从站的响应后,根据协议解析响应数据,并进行相应的处理。

可以根据需要将数据显示在界面上,或者进一步处理。

7. 错误处理在Modbus485通信过程中,可能会出现通信错误或者从站无响应的情况。

主站需要进行相应的错误处理,例如重新发送命令或者显示错误信息。

8. 关闭通信连接通信完成后,需要关闭通信连接,释放相关资源,以便下次通信使用。

三、Modbus485读取字符案例以一个温湿度传感器作为从站,主站通过Modbus485协议读取从站传感器的温度和湿度数据。

1. 确定通信设置主站和从站设置相同的波特率、数据位、停止位和校验方式,例如波特率为9600,数据位为8,停止位为1,无校验。

华尔思最新485通用串行控制通信协议及举例

华尔思最新485通用串行控制通信协议及举例

485串行控制通信协议版本变更说明一、物理层协议本协议是使用标准的串行协议,可以是RS232型式,也可以是RS485型式配置:二、逻辑层协议:每次通讯要发送一串数据,包据帧头,数据,帧尾。

如下:数据帧描述三、数据包命令详解:数据包中包含了本次通讯的指令状态信息,这些批令分为两大类:全局指令和专属指令全局指令:1、设备信息查询:上位机->下位机设备响应查询指令(下位机->上位机)发送:FA 00 00 01 01 02 FE返回:FC 00 01 22 02 42 4D 32 30 36 00 00 00 41 6E 64 72 6F 69 64 34 2E 34 5F 6D 75 73 69 63 70 6C 61 79 65 72 31 2E 32 41 FE42 4D 32 30 36 00 00 00BM206 NUL NUL NUL41 6E 64 72 6F 69 64 34 2E 34 5F 6D 75 73 69 63 70 6C 61 79 65 72 31 2E 32And4.4 musicplayer1.22、查寻设备的菜单位置上位机->下位机下位机返回菜单位置参照表:发送:FA 00 01 01 0a 0c FE返回:FC 00 01 02 0B 01 0F FE3、跟按键对应的指令(不需要回传)按键功能表待机命令发送:FA 00 01 02 10 00 13 FE返回:无4、直接设置参数指令音量设置音量5发送:FA 00 01 02 11 05 19 FE返回:无5、音乐界面指令:查寻音乐播放器的状态:上位机->下位机下位机返回注:播放模式:全部循环0 ,单曲循环1 ,顺序播放2 随机播放3。

音效模式功能暂时没有做出来后续会更新默认0选择U/SD卡全部0,本地1,SD卡2 ,U盘3。

播放状态播放1,暂停2 停止3 。

发送:FA 00 01 01 80 82 FE接收:FC 00 01 05 81 09 03 00 01 94 FE查寻音乐界面指定序号音乐详细信息:上位机->下位机下位机返回发送:FA 00 01 02 82 00 01 86 FE返回:FC 00 01 1C 83 00 01 E7 BB 8F E5 85 B8 E8 80 81 E6 AD 8C 2D E5 8A A0E5 B7 9E E6 97 85 E9 A6 86 89 FE查寻音乐播放器正播放的音乐详细信息:上位机->下位机下位机返回发送:FA 00 01 01 84 86 FE返回:FC 00 01 2C 85 00 01 00 35 07 0C E7 BB 8F E5 85 B8 E8 80 81 E6 AD 8C 2D E5 8A A0 E5 B7 9E E6 97 85 E9 A6 86 00 00 00 3C 75 6E 6B 6E 6F 77 6E 3E 6D FE播放模式设置:模式参数表随机模式发送:FA 00 01 02 86 03 8c FE 返回:无音效设置:模式参数表重低音模式发送:FA 00 01 02 87 01 8b FE返回:无选择U盘或SD卡播放:SD卡播放发送:FA 00 01 02 88 01 8c FE返回:无播放指定序号的歌曲:发送:FA 00 01 03 89 00 02 8f FE返回:无当前播放的歌曲跳转:从80秒处播放发送:FA 00 01 03 8a 00 50 de FE返回:无备注:1.本文中提到的设备ID号是由音乐APK生成一个随机数传给单片机,由单片机查询并确认。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
起始字节 (字节) 从机地址 (字节) 用户数据 异或校验 (字节)
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基础 通讯协议 通讯案例 超级终端
RS485基础
通信接口方式 RS485接口:异步,半双工,串行 数据格式 1位起始位、8位数据位、1位停止位、无校验 1位起始位、8位数据位、1位停止位、奇校验 1位起始位、8位数据位、1位停止位、偶校验 波特率 1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、125K 当与现场总线适配器PROFIBUS连接时采用默认数据格式:见上黑粗体
数据帧格式示意图
起始字节 (字节) 从机地址 (字节) 用户数据 异或校验 (字节)
7
6
5
4
3
2
1
0
单机地址或群组地址 =0:单机地址 =1:群组地址
RS485通讯协议
命令字(响应字)+功能码号(2个字节,16BIT)
数据含义:主机发送的命令或从机对命令的应答。 功能码组号范围0~16(BIT8~BIT11),功能码的范围0~99(BIT0~BIT7),参见 TD3000 先发高字节,再发低字节的原则 数据帧格式示意图
命令字(码)
命令字(码) 0 1 2 14 3~13,15 无任务 请求读取功能码参数数据 请求更改功能码参数数据 请求更改功能码参数并存储至EEPROM 预留
功能描述
响应字(码)
响应字(码) 0 1 2~6 7 8 ~ 15
内容描述 无响应 功能码参数操作正确(读取或更改) 预留 无法执行,错误信息用功能码实际值的低字节表示(此时并不返回功能码值) 预留
异 功能 控 控 运行 运行 或 码设 制 制 数据 数据 校 定值 字 字 设定 设定 验
控制区
7 8
字节定义 头 地址 命令区
发送顺序 1 (字节) 变频器至控制器:
2 3 4 5
参数区
6
数据区
9 10
校验
11
起 始 字 节
从 功 响 功能 机 能 应 码实 地 码 字 际值 址 号
异 功能 状 状 实际 实际 或 码实 态 态 运行 运行 校 际值 字 字 数据 数据 验
在短帧中没有参数数据。 过程数据:主机控制命令/从机状态响应、主机运行主设定/从机运行实际值。
数据帧格式示意图
起始字节 (字节) 从机地址 (字节)
功能码操作 命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值 (字)
控制/状 态字 (字)
主设定/ 实际值 (字)
异或校验 (字节)
参数数据
过程数据
帧头
用户数据
帧尾
RS485通讯协议
特殊报文(起始字节=68H),用于获取从站的软件版本和机器型号
发送顺序 (字节)
1
起 始 字 节
2
从 机 地 址
3
A A H
4
5 5 H
5
A 5 H
6
异 或 校 验
控制器至变频器:
发送顺序 (字节)
Hale Waihona Puke 1起 始 字 节2
从 机 地 址
3
软 件 版 本
4
软 件 版 本
5
控制区 数据区 校验
字节定义 头 地址 命令区
参数区
RS485通讯协议
帧头 帧头:一个字节 帧头是主机发布命令或从机回应主机响应的第一个字节,不论是主机还是从 机,都在收到该字节后开始记录有效数据。 为确保能准确识别报文头,要求两个通信帧之间保持2个字节传输时间以上的 总线空闲时间。
数据帧格式示意图
起始字节 (字节) 从机地址 (字节)
功能码操作 命令/响应 (字节)
功能码号 (字节)
功能码设 定/实际值 (字)
控制/状 态字 (字)
主设定/ 实际值 (字)
异或校验 (字节)
1514 13 12 1110 9 8 7 6 5 4 3 2 1 0
功能码号 功能码组号 命令/响应字(码)
RS485通讯协议
从机在最近一次对主机轮询的应答帧中上报当前故障信息。
通信准备 用从机键盘设置变频器串行接口通信参数:本机地址、波特率、数据格式。 具备RS232的主机可以使用通信接口转换器( OCI-6A)完成到RS485的转换。
RS485通讯协议
数据帧结构 帧头:起始字节、从机地址。 帧尾:校验数据(异或校验)。 用户数据:参数数据和过程数据两部分。 参数数据:功能码操作命令/响应、功能码号、功能码设定/实际值。
RS485通讯协议
响应字(码)
参数操作错误(响应字=7时)内容定义列表
错误号 0 1 2 12 101 其它
内容描述 非法参数号 参数不允许设置(参数只读) 参数数值超限 密码错误 参数数据无法更改(运行中不可更改) 预留
RS485通讯协议
功能码设定/实际值(2个字节,16BIT) 对应功能码号的参数值或错误参数代码。当功能码操作正确时,功能码的实际 返回值用一个字(2个字节)表示;如果功能码操作不正确则用低字节返回操 作错误代码,此时高字节为0;遵循先发高字节,再发低字节的原则
RS485基础
主机为PC RS232 OCI-6A

主机为PLC
主机为PC RS232 OCI-6A
RS485
RS485 TD3000 TD3000 单主机单从机
TD3000
TD3000
TD3000
单主机多从机
RS485基础
通信方式 采用主机“轮询”,从机“应答”的点对点通信方式,变频器为从机。 主机使用广播地址发送命令时,从机不允许应答。
相关文档
最新文档