当前位置:文档之家› 三菱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再次进入接收等待状态。

如果指定的接收长度为0,则M8123不动作,也不进入接收等待状态。从这个状态想进入接收等待状态,必须使接受长度≥0,然后对M8123进行ON→OFF操作。

※ M8129:通讯超时标志

接收数据中途中断时,那个时点开始如果在D8129中规定的时间内不再重新开始接收,作为超时输出标志M8129变为ON状态,则接收结束。M8129需手工复位。

二.详细程序(与英威腾GD20变频器测试通讯成功的案例)

在通讯前先确定PLC,以及变频器的通讯格式,如校验位,波特率,停止位等,以及变频器的站地址,然后先用串口软件对PLC发出的报文检测,以及变频器接收报文等,如都和说明书的一致,即可进行PLC与变频器通讯,本次通讯难点点有以下几点:

1.通讯前测试,确保通讯成功。(利用串口通讯工具进行采集数据,验证是否正确)

2.通讯成功后接收到的数据处理,(由于接收的数据是分开的,斌不是你最终需要的数值,要了解寄存

器存储方式,特点进行数据合并整合,进行数据类型转换,最后计算出你需要的数据)

PLC与变频器的通信格式设定

通信格式设定

如以下2个:

H0C8E是16进制数,变进成二进制 ,以下从低位到高位定义为:数据长:0=7位

奇偶性:11=偶校验

停止位:1=2位停止位

传输速率:1000=9600bps的速率

起始位: 0=无起始

终止位: 0=无终止

通讯格式:10=RS-232C通信接口

例,通信格式为D8120=H0C96,其设定参数如下

FX系列PLC通信所用的字符

FX系列PLC通信所用ASCⅡ码

三菱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。复位M8123后,则PLC再次进入接收等待状态。 如果指定的接收长度为0,则M8123不动作,也不进入接收等待状态。从这个状态想进入接收等待状态,必须使接受长度≥0,然后对M8123进行ON→OFF操作。 ※M8129:通讯超时标志 接收数据中途中断时,那个时点开始如果在D8129中规定的时间内不再重新开始接收,作为超时输出标志M8129变为ON状态,则接收结束。M8129需手工复位。 二.详细程序(与英威腾GD20变频器测试通讯成功的案例)

modbus_通讯协议_实例

上海安标电子有限公司 ——PC39A接地电阻仪通信协议 通信协议: 波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 字节号 1 2 3 4 5 6 7 8 意义ID Command 数据地址V alue CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,读:3或4,写:6 3 数据地址:2个字节,寄存器地址,读从100开始,写从200开始 4 V alue:2个字节,读:个数(以整型为单位),写:命令/ 数据(以整型为单位) 5 CRC:计算出CRC 下位机(PC39A): 读数据,若正确 字节号 1 2 3 3+N (N=个数*2) 3+N+1 3+N+2 意义ID Command=3 / 4 数据个数数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位) 4 V alue:N个字节,是返回上位机的数据 5 CRC:计算出CRC 写命令,若正确 返回收到的数据: 若错误 字节号 1 2 3 4 5 意义ID Command 数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令 错误指令 1:表示command不存在 2:表示数据地址超限 4 CRC:计算出CRC

例如读PC39A 电流数据: 机器地址为12,电流的数据地址100,数据为15.45(A) (一个整型数据) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x03 0x0064 0x0001 CRC_H CRC_L 10进制 12 3 100 1 CRC_H CRC_L 从机返回 如正确: ID Command 数据个数(以字节为单位) V alue CRC 16进制 0x0c 0x03 0x002 0x0609 CRC_H CRC_L 10进制 12 3 2 1545 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x83 0x02 CRC_H CRC_L 10进制 12 131 2 CRC_H CRC_L 例如发PC39A 启动命令: 机器地址为12,命令的地址200,数据为25000(25000表示启动) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 从机返回 如正确: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x86 0x02 CRC_H CRC_L 10进制 12 134 2 CRC_H CRC_L 0011 10000110 错误码0x83 功能码0x06错误码0x86

基于Modbus协议实现单片机与PLC之间的通讯

基于Modbus协议实现单片机与PLC之间的通讯 来源:PLC&FA 作者:蔡晓燕赵兴群万遂人董鹏云 关键词:可编程控制器 Modbus 通讯协议 1 引言 HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。 2 Modbus通讯协议[4] Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。 Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。 (1) 典型的RTU消息帧 典型的RTU消息帧如表1所示。

RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。 RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的最高位由0改为1)。 从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代 码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。 当选用RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。 (2) 所有的Modbus功能码 Modbus的功能码定义如表2所示。

三菱FX系列通信协议

FX系列PLC专用协议通信指令一览 以下将详细列出PLC专用协议通信的指令: 指令注释 BR 以1点为单位,读出位元件的状态 WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值 BW 以1点为单位,写入位元件的状态 WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件 BT 以1点为单位,SET/RESET 位元件 WT 以16点为单位,SET/RESET 位元件,或写入值到字元件 RR 控制PLC运行RUN RS 控制PLC停止STOP PC 读出PLC设备类型 TT 连接测试 注:位元件包括X,Y,M,S以及T,C的线圈等; 字元件包括D,T,C,KnX,KnY,KnM等。 三菱FX系列PLC编程口通信协议总览 该协议实际上适用于PLC编程端口以及FX-232AW 模块的通信。通讯格式: 命令命令码目标设备 DEVICE READ CMD "0" X,Y,M,S,T,C,D DEVICE WRITE CMD "1" X,Y,M,S,T,C,D FORCE ON CMD " 7" X,Y,M,S,T,C FORCE OFF CMD "8" X,Y,M,S,T,C 传输格式: RS232C 波特率: 9600bps 奇偶: even 校验: 累加方式(和校验) 字符: ASCII 16进制代码: ENQ 05H 请求 ACK 06H PLC正确响应 NAK 15H PLC错误响应 STX 02H 报文开始 ETX 03H 报文结束 帧格式: STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子: STX ,CMD ,ADDRESS, BYTES, ETX, SUM 02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H SUM=CMD+......+ETX; 30h+31h+30h+46h+36h+30h+34h+03h=74h;

(完整版)MODBUS通讯协议-RTU要点

Modbus 通讯协议 (RTU传输模式)本说明仅做内部参考,详细请参阅英文版本。

第一章Modbus协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在使它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。 1.1 传输方式 传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则,以RTU 模式在Modbus总线上进行通讯时,信息中的每8位字节分成2个4位16进制的字符,每个信息必须连续传输下面定义了与Modebus 协议– RTU方式相兼容的传输方式。 代码系统 ?8位二进制,十六进制数0...9,A...F ?消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 ?1个起始位 ?8个数据位,最小的有效位先发送 ?1个奇偶校验位,无校验则无 ?1个停止位(有校验时),2个Bit(无校验时) 错误检测域 ?CRC(循环冗长检测)

自编三菱PLC通讯协议

FX系列可编程控制器(PLC)通讯常用方法 目录 1、基本通讯方法 §1.1常用的通讯方法 §1.2计算机与FX-PLC通讯结构 2、通信格式 §2.1通讯基本格式 §2.2 PLC相关通讯寄存器标志 §2.3通讯格式详解 §2.4举例 3、通讯过程 §3.1基本知识 §3.2专用通讯协议框图 §3.3专用通讯控制命令 4、附录 ASCII码表

1、基本通讯方法 §1.1常用通讯方法 FX 系列PLC 支持5种通讯方法 1) 计算机链接:用计算机做主机,通过RS485接口与16台PLC 组网,采用专用 通讯协议,在计算机与PLC 之间交换数据,本资料重点解决计算机链接问题,包括硬件连接、通讯参数设置、通讯格式等。 2) N 网络:可以将8台PLC 构成网络,无需协议,自成网络。 3) 并联:可以将2台PLC 并联成网络,也无需协议,自成网络。 4) PLC 用RS 指令发送、接收数据,与计算机等设备进行无协议通讯交换数据。 5) 通过PLC 编程接口,与计算机等设备进行数据交换,本厂采用该方式在MCGS 工业组态软件基础上,开发出各类锅炉专用的计算机监控系统。 §1.2计算机链接通讯结构 RS232C FX-485RC-IF FX1N-485-BD ……… 上述结构是一种采用计算机串行口与PLC 链接的最基本方法,最远通讯距离 50M ,其通讯相关参数见下表: 通讯接口:FXON-485ADP /FX-485ADP/FX1N-485BD/FX1N-CNV-BD/FX1N-232BD 可选。 通讯距离:FX1N-485BD 50M ,选其它某些件,最远500M 。 从站连接数:最大16台 通讯方法:半双工 数据长度:7位/8位 可选 校验: 不用/奇/偶 可选 停止位: 1位/2位 可选 波特率:300/600/1200/2400/4800/9600/19200 可选 超始符:不用/有效 可选 协议:格式1/格式4 可选 求和检查:不用/有效 可选 可选PLC 类型:FX2N ,FX2NC ,FX1N ,FX1S ,FXON ,FX ,FX2C 计算机与PLC 通讯所需的时间,可通过计算得到。 由PLC →计算机 通讯时间=传送数据字符总量×收发一个字符的时间+PLC 的最大扫描时间×3+计算机空等待时间 由计算机→PLC 通讯时间=传送数据字符总量×收发一个字符的时间+PLC 的最大扫描时间+计算机空等待时间 例:当一个字符占10位(字长7、校验1、停止位1、启动位1)

很好的威纶通MODBUSRTU通讯协议与变频器通讯案例

很好的威纶通 M O D B U S R T U通讯协议与变频器通讯案例 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

本文研究的是触摸屏通过MODBUS RTU通讯协议与变频器通讯实现变频器的控制。触摸屏采用威纶通TK6070IP,变频器用汇川MD380通用系列。通过触摸屏编程软件,编辑控制画面实现变频器的启动、停止、速度调节、多段速速度设置,通过宏指令实现工程值与实际值的转换。 一、MODBUS RTU 简介: 为了在自动化系统之间、自动化系统和所连接的分散的现场设备之间进行信息交换,如今串行现场总线被主要用作通讯系统。成千上万的应用已经强烈地证明了通过使用现场总线技术,可以节省多至40%的接线、调试及维护的费用。仅仅使用两根电线就可以传送现场设备的所有相关信息,比如输入和输出数据、参数、诊断数据。过去使用的现场总线往往是制造商的特定现场总线,并且同其它现场总线不兼容。如今使用的现场总线几乎是完全公开和标准化的。这就意味者用户可以以最合理的价格选择最好的产品,而不用依赖于每个独立的制造商。Modbus RTU是一种国际的、开放的现场总线标准。作为一种很容易实现的现场总线协议,在全世界范围内,Modbus得到了成功的应用。应用领域包括生产过程中的自动化、过程控制和楼宇自控。MODBUS RTU通讯协议的报文如图1。 图1 MODBUS RTU 通讯协议的报文功能码如下: 01H 读取线圈状态。从执行机构上读取线圈(单个位)的内容; 02H 读取离散量输入。从执行机构上读取离散量输入(多个位)的内容; 03H 读取保持寄存器。从执行机构上读取保持寄存器(16位字)的内容; 04H 读取输入寄存器。从执行机构上读取输入寄存器(16位字)的内容; 05H 强置单线圈。写数据到执行机构的线圈(单个位)为“通”(“1”)或“断”(“0”); 06H 预置单寄存器。写数据到执行机构的单个保持寄存器(16位字); 0FH 强置多线圈。写数据到执行机构的几个连续线圈(单个位)为“通”(“1”) 或“断”(“0”); 10H 预置多寄存器。写数据到执行机构的几个连续的保持寄存器(16位字)。 二、威纶通编程软件介绍: EB8000软件中MODBUS协议的设备类型为0x、1x、3x、4x、5x、6x,还有 3x_bit,4x_bit,6x_bit,0x_multi_coils等,下面分别说明这些设备类型在MODBUS协议中支持哪些功能码。 0x:是一个可读可写的设备类型,相当于操作PLC的输出点。该设备类型读取位状态的时候,发出的功能码是01H,写位状态的时候发出的功能码是05H。写多个寄存器时发出的功能码是0fH。

三菱700系列变频器使用ModbusRTU通讯协议与三

三菱700系列变频器使用ModbusRTU通讯协议与三菱PLC进行通讯运行和参数设定 Modbus是Modicon公司为其PLC与主机之间的通讯而发明的串行通讯协议。其物理层采用RS232、485等异步串行标准。由于其开放性而被大量的PLC及RTU厂家采用。Modbus通讯方式采用主从方式的查询-相应机制,只有主站发出查询时,从站才能给出响应,从站不能主动发送数据。主站可以向某一个从站发出查询,也可以向所有从站广播信息。从站只响应单独发给它的查询,而不响应广播消息。MODBUS通讯协议有两种传送方式:RTU方式和ASCII方式。三菱700系列变频器能够从RS-485端子使用M odbusRTU通讯协议,进行通讯运行和参数设定。对象: 1. 三菱PLC:FX2N+FX2N-485-BD 2. 三菱变频器:F700系列,A700系列。两者之间通过网线连接,具体参照下图。

上图为:FX2N-485-BD与n台变频器的连接图 一.三菱变频器的设置 PLC与变频器之间进行通讯时,通讯规格必须在变频器中进行设定,每次参数初始化设定后,需复位变频器或通断变频器电源。 参数号名称设定值说明 Pr331 通讯站号 1 设定变频器站号为1 Pr332 通讯速度 96 设定通讯速度为9600bps Pr334 奇偶校验停止位长 2 偶校验,停止位长1位 Pr539 通讯校验时间 9999 不进行通讯校验 Pr549 协议选择 1 ModbusRTU协议 Pr551 PU模式操作权选择 2 PU运行模式操作权作为PU接口 进行ModbusRTU协议通讯时,Pr551必须设置为2,Pr340设置为除0以外的值,Pr79设置为0或2或6。通过RS-485端子进行ModbusRTU协议通讯时,必须在NET网络模式下运行。 二.三菱PLC的设置

modbus协议下上位机编程实例

竭诚为您提供优质文档/双击可除modbus协议下上位机编程实例 篇一:modbus协议下的上位机地址 Rs485采取流量计数据,经串口com1的2号地址读到int ouch中来,双字40001、40002为浮点型瞬时流量,读到上位机项目为40001F双字40004、40005为长整型累计流量,读到上位机项目为40004l 驱动设置与intouch标记名的设置 驱动设置: 项目名设置 注:在不修改驱动设置的情况下,s=s1+s2*65535 s=s2+s1*65535 根据各个厂家的仪表,上面工式有区别,设计时各个测试一下。 篇二:modbus通讯协议实例 上海安标电子有限公司 ——pc39a接地电阻仪通信协议 通信协议:

波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 注:1id:1个字节,由单机来定(0~255) 2command:1个字节,读:3或4,写:6 3数据地址:2个字节,寄存器地址,读从100开始,写从200开始4Value:2个字节,读:个数(以整型为单位),写:命令/数据(以整型为单位)5cRc:计算出cRc下位机(pc39a ):注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位)4Value:n个字节,是返回上位机的数据5cRc:计算出cRc 写命令,若正确返回收到的数据:若错误注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令错误指令 1:表示command不存在2:表示数据地址超限 4cRc:计算出cRc 例如读pc39a电流数据: 机器地址为12,电流的数据地址100,数据为15.45(a)(一个整型数据)

Modbus通讯协议(TCP和RTU)

1MODBUS RTU 读寄存器请求序号意义所占字节字节存放格式 1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3起始寄存器基地址两个字节高字节在前 4寄存器个数两个字节高字节在前 5CRC校验码两个字节低字节在前 读寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3数据长度1个字节寄存器个数×2 4数据寄存器个数×2个字节每个寄存器高字节在前5CRC校验码两个字节低字节在前 写单个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x06 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 写单个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 1

写多个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5数据长度 1个字节 寄存器个数×2  6数据寄存器个数×2个字节每个寄存器高字节在前7CRC校验码 两个字节 低字节在前 写多个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 错误返回序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节请求功能码+0x80 3错误码1个字节 其代号见下面表格4CRC校验码 两个字节 低字节在前 错误代号错误代号意义 0x01不支持该功能码 0x02越界 0x03寄存器数量超出范围 0x04读写错误 2

电磁流量计实用标准MODBUS通讯协议详情(1)

电磁流量计转换器 通讯协议 2012-10-12

目录 一、概述................................................................................................. - 2 - 二、网络结构及接线................................................................................ - 2 -

三、Modbus协议RTU帧格式 .............................................................. - 2 - 四、Modbus协议命令编码定义............................................................. - 4 - 五、电磁流量计MODBUS寄存器定义 ................................................... - 5 - 1. 电磁流量计MODBUS寄存器地址定义............................................... - 5 - 2.PLC地址设置说明................................................................................ - 5 - 3.组态王地址设置说明............................................................................. - 6 -4.数据含义说明 .................................................................................... - 6 -六、通讯数据解析................................................................................... - 7 -1读瞬时流量 .......................................................................................... - 7 -2.读瞬时流速:....................................................................................... - 8 -3读累积流量 .......................................................................................... - 8 - 5.读总量流量单位 ................................................................................. - 10 - 6.读报警状态 ........................................................................................ - 10 - 七、应用举例........................................................................................ - 11 - 1.C语言MODBUS 示例程序............................................................... - 11 - 2.modbus调试软件modbus poll通讯实例....................................... - 13 - 3.modbus调试软件modscan32通讯实例 ......................................... - 15 - 4.组态王6.53通讯实例 ........................................................................ - 17 - 5.力控 6.1通讯实例.............................................................................. - 21 -

三菱标准通讯协议

YWT数字式微机调速器通讯规约1.符合物理特性为RS232电气标准 2.端口特性: (1)波特率:9600Buad (2)数据位:8位 (3)停止位:1位 (4)协议:三菱通讯协议4 (5)奇偶校验:无效验代码 3.传送数据的基本格式

)*1 )*2 *1使用通讯格式特殊数据寄存器D8120可以选择是否添加和效验代码。

*2是否添加终结码CR+LF由所选的协议来决定。 4.控制协议格式4 响应格式(YWT→主机)ENQ-站号-PC号-命令-消息等待时间-字符区域A-和效验代码-LF CR Eg 图2

请求格式(主机→YWT)ENQ-站号-PC号-命令-消息等待时间-字符区域A-和效验代码-LF CR 5.对控制协议各部分的说明 5.1控制代码 有如下控制代码: 信号代码(16进制)描述

STX02H文本起点 ETX03H文本起点 EOT04H传送结束 ENQ05H询问 ACK06H确认 LF0AH换行 CL0CH清除 CR0DH回车 NCK06H不确认 表1 5.1.1当可编程控制器收到ENQ、ACK、NAK中任一个时,即初始化传送序列,并开始启动。 5.1.1当接收到下述时,可编程控制器初始化传送序列。此时、可编程控制器将不做响应。 格式4:

计算机 可编程控制器 图4 5.2站号 站号即可编程控制器提供的数字,用来确定计算机在访问哪一个可编程控制器。在FX系列可编程控制器中,站号是通过特殊数据寄存器D8121来设定的。设定范围是从00H到FFH。 5.3PC号 PC号是A系列MELSECNET(II)或MELSECNET/B上用来确定可编程控制器CPU的数字。FX 系列可编程控制器自动将PC号转为FFH。 5.4命令 用来指定要求的操作,例如读、写等。命令用两位ASCII字符来定义。 5.5消息等待 这是一些计算机要求的一个延迟时间,以实现在发送和接收状态间的转换。消息等待时间决定了

三菱plc,通讯协议

三菱plc,通讯协议 篇一:三菱PLC通讯协议 三菱PLC编程口通讯协议 一、三菱PLC编程口通讯协议 三菱PLC编程口的通讯协议比较简单,只有四个命令,即: 命令命令码目标设备 DEVICE READ CMD0X,Y,M,S,T,C,D DEVICE WRITE CMD 1X,Y,M,S,T,C,D FORCE ON CMD7 X,Y,M,S,T,C FORCE OFF CMD 8X,Y,M,S,T,C 五个标示: ENQ05H 请求 ACK06H PLC正确响应 NAK15H PLC错误响应 STX02H 报文开始 ETX03H 报文结束 使用累加方式的和校验,帧格式如下: STX CMD DATA ...... DATA ETX SUM(upper) 1 SUM(lower) 和校验: SUM= CMD+??+ETX。如SUM=73H,SUM=“73”。 1、DEVICE READ(读出软设备状态值)

计算机向PLC发送: 始命令首地址位数终和校验 STXCMD GROUP ADDRESS BYTESETX SUM PLC 返回 STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 2、DEVICE WRITE(向PLC 软设备写入值) 计算机向PLC发送: 始命令首地址位数数据终和校验 PLC 返回 ACK (06H) 接受正确 NAK (15H) 接受错误 3、位设备强制置位/复位 FORCE ON 置位 始命令地址终和校验 STX CMD ADDRESSETXSUM 02h 37h address03hsum FORCE OFF 复位 始命令地址终和校验 2 STX CMD ADDRESSETXSUM 02h 38h address03hsum PLC 返回 ACK(06H) 接受正确 NAK(15H) 接受错误

三菱PLC和变频器通讯_ModbusRTU协议书

Modbus是Modicon公司为其PLC与主机之间的通讯而发明的串行通讯协议。其物理层采用RS232、485等异步串行标准。由于其开放性而被大量的PLC及RTU厂家采用。Modbus通讯方式采用主从方式的查询-相应机制,只有主站发出查询时,从站才能给出响应,从站不能主动发送数据。主站可以向某一个从站发出查询,也可以向所有从站广播信息。从站只响应单独发给它的查询,而不响应广播消息。MODBUS 通讯协议有两种传送方式:RTU方式和ASCII方式。三菱700系列变频器能够从RS-485端子使用ModbusRTU通讯协议,进行通讯运行和参数设定。 对象: 1. 三菱PLC:FX2N+FX2N-485-BD 2. 三菱变频器:F700系列,A700系列。 两者之间通过网线连接,具体参照下图。 FX2N-485-BD与n台变频器的连接图

一.三菱变频器的设置 PLC与变频器之间进行通讯时,通讯规格必须在变频器中进行设定,每次参数初始化设定后,需复位变频器或通断变频器电源。 参数号名称设定值说明 Pr331 通讯站号 1 设定变频器站号为1 Pr332 通讯速度 96 设定通讯速度为9600bps Pr334 奇偶校验停止位长 2 偶校验,停止位长1位Pr539 通讯校验时间 9999 不进行通讯校验 Pr549 协议选择 1 ModbusRTU协议 Pr551 PU模式操作权选择 2 PU运行模式操作权作为PU接口 进行ModbusRTU协议通讯时,Pr551必须设置为2,Pr340设置为除0以外的值,Pr79设置为0或2或6。通过RS-485端子进行ModbusRTU协议通讯时,必须在NET网络模式下运行。 一.三菱PLC的设置 对通讯格式D8120进行设置

modbus通讯协议

Modbus通讯协议 图片: 图片: 图片:

Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master 端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP 协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下Modbus的ASCII和RTU协议。 下表是ASCII协议和RTU协议进行的比较: 通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII 字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。

三菱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。复位M8123后,则PLC 再次进入接收等待状态。 如果指定的接收长度为 0,则M8123不动作,也不进入接收等待状态。从这个状态想进入接收等待状态, 必须使接受长度>0,然后对M8123进行ON>OFF 操作。 % M8129 :通讯超时标志 那个时点开始如果在 D8129中规定的时间内不再重新开始接收, 作为超时输出标志 105121 (M0 M8129变为ON 状态, 则接收结束。M8129需手工复位。 二.详细程序(与英威腾 GD20变频器测试通讯成功的案 例) 11 1TS1 TS1 T 卜 接收数据中途中断时, M1

MODBUS标准通讯协议

MODBUS 标准通讯协议(简版) (基于Modbus 应用协议RTU 通讯模式) 1. 前言 本协议适用于符合MODBUS 标准通讯协议的规定以及在Modbus 网络上以RTU 模式通信运行的设备和应用软件。本协议按照Modbus 应用协议标准制定。 2. 波特率可选范围 代码 6 7 8 9 10 11 12 13 14 波特率 2400 4800 9600 14400 19200 28800 38400 57600 115200 3. RTU 通讯数据传输模式 3.1 RTU 模式每个字节( 11 位 )的格式为 : 通讯传输为异步方式,并以字节(数据帧)为单位。在主站和从站之间传递的每一个数据帧都是11位的串行数据流。 编码系统: 8–位二进制,报文中每个8 位字节含有两个4 位十六进制字符(0–9, A –F) 数 据 位: 1个 起始位 8个 数据位, 首先发送最低有效位 1个 奇偶校验(注:偶校验是要求的,其它模式( 奇校验,无校验 )也可以使用) 1个 停止位 (注 :使用无校验时要求2个停止位) 帧校验域:循环冗余校验(CRC) 3.2 字符的串行传送方式: 每个字符或字节按如下顺序发送(从左到右):最低有效位 (LSB) . . . 最高有效位 (MSB) 通过配置,设备可以接受奇校验、偶校验或无校验。如果无奇偶校验,那么传送一个附加的停止位来填充数据帧使其成为完整的11位异步字符: 3.3 数据编码: Modbus 处理的所有数据按照存储数据的类型可以分为位寄存器(容量为1位)和16位寄存器(容量为16位)两种,它们的宽度都是16位(Data is packed as two bytes per register),协议允许单个选择65536个数据项,而且其读写操作可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。在Modbus PDU 中从0~65535寻址每个数据。 Modbus 使用一个‘big-Endian ’表示地址和数据项,即最高有效字节在低地址存储,最低有效字节在高字节存储。这意味着当发送多个字节时,首先发送最高有效位例如: 寄存器大小 值 16位 0x1234 发送的第一字节为0x12,然后发0x34。 4. RTU 报文帧结构 Modbus RTU 报文帧格式如下: 地址码 功能码 数据区 错误校验码 2 字节 1字节 1字节 0到252字节 CRC 低 CRC 高

相关主题
文本预览
相关文档 最新文档