三菱PLC连接MODBUS从站的简易方式

FX-MB 三菱PLC扩展MODBUS-RTU简易方式

首先用于三菱PLC扩展的485BD或者232BD口与最多10台MODBUS-RTU设备之间交换数据,PLC无需编程直接将MODBUS设备连入三菱PLC,支持所有三菱系列PLC。

通讯口1:三菱专用协议通讯方式,支持连接到所有三菱PLC扩展通讯口;通讯口2:标准MODBUS-RTU协议,支持01、02、03、04、05、06、0F、10命令;

PLC通讯速率:9.6Kbps;MODBUS-RTU波特率:1.2Kbps~115.2Kbps;连接MODBUS-RTU设备数量:MAX-10个;交换数据:(80个输入字节)/(80个输出字节);

通讯回路相互隔离,隔离电压1KV且均带TVS防雷击、过流自恢复保险保护;24VDC输入电源极性保护。

●概述:

1.通讯口1速率(固定):9.6Kbps。2.通讯口2通讯速率(设置固定):1.2Kbps、

2.4Kbps、4.8Kbps、9.6Kbps、19.2Kbps、38.4Kbps、57.6Kbps、115.2Kbps。

3.模块外形尺寸及端子结构图:4.连接数量:三菱PLC端网络:最多为32个;MODBUS-RTU网络:最多10个设备(地址范围0~255可选,每增加1个FX-MB模块可增加连接最多10个设备)5.用户参数设置:使用迅诺科技组态软件配置;6.模块LED状态指示:面板上排指示灯MBUF(第一个灯绿色):正确发送和接受组态配置的MODBUS-RTU设备后常亮。MT (第三个灯黄色):MODBUS-RTU数据发送灯。MR (第四个灯黄色):MODBUS-RTU数据接收灯。面板下排指示灯POWER(第一个灯红色):电源指示灯;RUN (第四个灯绿色):工作后常亮。

●本模块参数设置使用迅诺组态软件设置进行用户参数设置。

状态设置:本模块采用通过拨码开关SW0选择运行状态或者停止配置状态, ON表示“0”,OFF表示“1”,见图1所示。0状态表示STOP,可以被组态软件配置,1状态为工作状态,RUN 灯亮。用户参数设置:必须配合用户需要进行相应设置,详见调试说明和图20!必须注意:用户参数设置必须正确,否则系统将无法正常工作!

●应用介绍

本通讯协议转换模块可将标准的MODBUS-RTU现场设备连接到三菱PLC网络中,无需对三菱PLC进行编程,不占用PLC轮训扫描周期,将MODBUS-RTU设备映射(相当于)为PLC内部D寄存器或者M辅助继电器信号来方便PLC控制和调用。以达到不同网络设备的数据交换。

举例用户需求将远程MODBUS-RTU #1号地址的40001寄存器数据存放到三菱PLC D0寄存器,如下配置画面第一条:1号插槽MODBUS地址=1 读/写=读数据长度=1 数据类型4000X 保持寄存器MODBUS起始地址=0 对应PLC 起始地址=0;同时用户需求将三菱PLC D0寄存器数据送到MODBUS-RTU #2号地址的40001寄存器数据,如下配置画面第二条:2号插槽MODBUS地址=2 读/写=写数据长度=1 数据类型4000X 保持寄存器MODBUS起始地址=0 对应PLC 起始地址=0;同时用户需求将远程MODBUS-RTU #3号地址的10001-10016寄存器(输入离散寄存器)数据存放到三菱PLC M10-M25寄存器,如下配置画面第三条:3号插槽MODBUS地址=3 读/写=读数据长度=1(离散量只能读写16个一次)数据类型1000X 输入离散寄存器MODBUS起始地址=0 对应PLC 起始地址=10;(M10)注意:配置为开关量(离散量)系统默认对应M寄存器。配置为模拟量系统默认对应D寄存器。

工作电压:DC12-DC30V带电源极性保护。功率消耗:最大1800mW通讯1口:RS-485三菱PLC专用协议端(RS-485(485BD)或RS232(232BD))。可承受500W/1000us雷击通讯速率:9600KBps 通讯格式偶校验、8位通讯位数、1位停止位。传送距离<1200M(RS485)<5M(RS232)通讯2口:RS-485(可承受500W/1000us雷击)通讯速率2.4Kbps-115.2Kbps通讯格式校验方式可选、8位通讯位数、1位停止位。传送距离双通讯回路相互电隔离输入隔离双通讯回路相互电隔离适用范围三菱PLC与MODBUS-RTU设备交换数据外形尺寸:长71mm×宽46mm×高63mm 重量不含包装约0.10Kg。安装方式:标准U型导轨安装。

用于三菱PLC扩展的485BD或者232BD口与最多10台MODBUS-RTU设备之间交换数据,PLC无需编程直接将MODBUS设备连入三菱PLC,支持所有三菱系列PLC。

通讯口1:三菱专用协议通讯方式,支持连接到所有三菱PLC扩展通讯口;通讯口2:标准MODBUS-RTU协议,支持01、02、03、04、05、06、0F、10命令;

PLC通讯速率:9.6Kbps;MODBUS-RTU波特率:1.2Kbps~115.2Kbps;连接MODBUS-RTU设备数量:MAX-10个;交换数据:(80个输入字节)/(80个输出字节);

通讯回路相互隔离,隔离电压1KV且均带TVS防雷击、过流自恢复保险保护;24VDC输入电源极性保护。

用于三菱PLC扩展的485BD或者232BD口与最多10台MODBUS-RTU设备之间交换数据,PLC无需编程直接将MODBUS设备连入三菱PLC,支持所有三菱系列PLC。

用于三菱PLC扩展的485BD或者232BD口与最多10台MODBUS-RTU设备之间交换数据,PLC无需编程直接将MODBUS设备连入三菱PLC,支持所有三菱系列PLC。

用于三菱PLC扩展的485BD或者232BD口与最多10台MODBUS-RTU设备之间交换数据,PLC无需编程直接将MODBUS设备连入三菱PLC,支持所有三菱系列PLC。

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 RTU相关常识和通信示例

Modbus RTU –基本功能 1 关于ModBus ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 1.1 报文结构 以串行数据传输为基础,通过一位接着一位进行传送。 1.2协议数据单元(PDU) 1.2.1 Modbus PDU(协议数据单元)由功能码和实际数据两部分组成。 1.2.2 Modbus 串行通讯的消息帧 站号(站地址) 站号字段为1字节长,可能选择0~247站点。 选择0 地址表示选择所有的子机站,代表广播消息的意思。 FC(RTU功能代码) FC字段为1字节长,用以下所示的0~255的值进行定义。带有网格部分表示使用的FC。请不要使用未使用的FC。否则会成为异常应答。常用ModBus的功能码FC定义如下: 01 READ COIL STATUS 01 读取线圈状态 02 READ INPUT STATUS 02 读取离散量输入。 03 READ HOLDING REGISTER 03 读取保持寄存器。 04 READ INPUT REGISTER 04 读取输入寄存器。 05 WRITE SINGLE COIL 05 强置单线圈。 06 WRITE SINGLE REGISTER 06 预置单寄存器 15 WRITE MULTIPLE COIL 07 15 强置多线圈。 16 WRITE MULTIPLE REGISTER 16 预置多寄存器 数据区 数据字段包含所有的信息(功能代码(地址)、字节计数、数据数、数据等)。有关各消息类型(广播、查询、正常应答、异常应答) 的信息字段的详细情况; CRC校验

TeslaModbusSCADA上位机通过wifi与modbus从站连接的实现过程

TeslaModbusSCADA上位机通过wifi与modbus从站连接的实现过程

内嵌modbus协议单片机与移动设备上TeslaModbusSCADA通过wifi通信实现数字量模拟量采集及数字量控制输出的方法 图1 内嵌modbus协议单片机板,以下简称MB 板。

图2 MB板结构示意图。MB板提供以下资源 序名称通道 数 Modbus 功能码 对应寄 存器 读写属 性 1 数字输 出读 6 01 保持线 圈 只读 2 数字输 入 4 02 离散输 入 只读 3 掉电保 持读 8 03 保持寄 存器 只读 4 模拟输 3 04 输入寄只读

入存器 5 数字输 出写 6 05 保持线 圈 读写 6 掉电保 持改写 8 06 保持寄 存器 只写 模拟通道10位分辨率,输入0~5V原值范围0~1024。板上有空置的分压电阻,可根据需要进行安装。 MB板预置模拟通道电位器,并有短接焊点,不用外接附件就可对模拟通道进行测试。 MB板有2种工作方式,即RS485方式和wifi方式,通过板上短路接点进行切换。 一.R S485工作方式: RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。 需要一台PC机(也可以是触摸屏),如果有串口,需要加装RS232/RS485转换器。如果没有串口,需要加装USB/RS485转换器,这两种转换市场上很多可供选择,且价格合适。 这种工作方式,需要取下板载的wifi模块。 当双绞线上需要多块MB板时,通过板上短路点

设定不同的地址值。 图3 MB板RS485应用,也是这块板的基本应用。 在上图的基本应用中,MB板可以挂接到现有的支持modbus协议的系统中的双绞线上,也可以单独或几块MB板组成一个系统,只要设置不同地址即可。 MB板与组态王RS485方式连接时,组态王的设备连接属性 设备配置 设备名称 逻辑 名称 串 口 号 设备 地址 其余默认设备驱动/PLC/莫迪康 /TmodbusRTU/COM 新I/O 设备 见 备 注 1

三菱 FX PLC ModbusRTU通讯程序

三菱FX2NPLC与三菱变频器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进行设置 D8120设置值为0C87,即数据长度为8位,偶校验停止位1位,波特率9600pbs,无标题符和终结符。 修改D8120设置后,确保通断PLC电源一次。 三.通讯程序 采用ModbusRTU协议与变频器通讯部分PLC程序如下:

基于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所示。

ModbusTcp从站设置

一.首先在Workplace AX里面设置搭建JACE为Modbus TCP 从站,在station/Config/Drivers/ 新建 一条ModbusTcpSlaveNetwork ; Nmc Tjcc Sabi EwUtd "fjjtCaus:IT g li^aralbehisk¥醐31峪点冲W' Inpe 1 平PodtwTqiS妙诧nidxji TcpSkveiMint〔園\W VKbul Shi 憎和"I HK 『愕说处 Ni~Ee p'DA:: 别r NetwDnL 屯btfesisns hciwc^mtefiMiE;J Ui'itiB Async '?tv 二比丁上吐UE E JGFI旷IF」口? 1 归itus Ts GMWff/ □ U^hjiTcrNrutn. 2SisjsTi herMou 2 hro 勺fu£Mirfial gOoclJewch J P咗hdMQ^. 宿弼d syG制柑丸怦述怜血 册耐Eye lelwMfviifreli -3 RJb曲点机代 ModbusTcpSlaveNetwork驱动搭建好之后,在网络驱动目录下新建一个ModbusTcpSlave Device;

.在设备point里面设置变量,Palette/Modbus Tcp Slave/Server Points 下选择点进行添加; 四.在station/Config/Drivers/ 新建一条ModbusAsyncNetwork ;

2.3 -91 泡刃由 a# 奮 證左垮一 ^ 十 声? o f f l 世$*电Q BJ 眷須 量0^ "UJ- 鱼m 屈高口I1J' E E 咅SMPN: - t 2 3121 二 r s s a l ^m 艺夕屈匸跑b ILI H a m i ^n r a m -E 1 ^ - i 胃.4 t 丘 玄珂m f r 1:: l u..? “,,:”m ..'-",.I < -1 J1: ..I'l g r -^ w t M cl m V15±,§1 b 「/ . 1■ i 囂 眞 电 占”JS H I N I K A Q III B l “ UJa-PHfsar-? 虫 n ' i. n TJI J <粵 懸M 佟媳怒假痛?K 芒 OMoNOUAS

用VB实现Modbus RTU串行通讯工程实例

用VB实现Modbus RTU串行通讯工程实例 声明:网上看到的,觉得不错,稍微整理了一下分享给大家。 用VB实现Modbus RTU串行通讯 在一些应用中可能需要使用诸如VB来进行上位机监控程序的开发,而Modbus 协议是这类应用中首选的通讯协议;Modbus协议以其简单易用,在工业领域里已广泛的为其他第三方设备所支持。这里对VB和Twido PLC间的通讯进行说明。 对于大部分应用,Twido PLC作为从站,它不需要编制通讯程序,只要把通讯口的参数设置好即可,例如下图表示此Twido通过编程口和上位机连接,其站号地址为2;波特率、数据位、校验、停止位和上位机设置保持一致。 VB程序通过利用MSComm控件很容易就能够实现。 1.通讯口初始化: MSComm1.Settings = "9600,n,8,1" https://www.360docs.net/doc/949358864.html,mPort = 1 MSComm1.SThreshold = 0 If Not MSComm1.PortOpen Then MSComm1.PortOpen = True 2. CRC校验码的计算方法,如以下函数,可以得到字节数组变量cmdstring指向的字符串的CRC校验码。 Function crc16_1(ByRef cmdstring() As Byte, ByVal j As Integer) Dim data As Integer Dim i As Integer Addressreg_crc = &HFFFF For i = 0 To j Addressreg_crc = Addressreg_crc Xor cmdstring(i) For j = 0 To 7 data = Addressreg_crc And &H1

(完整版)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的MODBUS通信实例

PLC的MODBUS通信实例 随着工业时代的发展,工业自动化控制已进入网络时代,工业控制器连网也为网络管理提供了方便。MODBUS通信就是工业控制器的网络协议中的一种。 关键词:MOBUS通信协议,RS485,奥越信CPU,程序设计 一、MODBUS 简介 MODBUS是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。当现代的控制领域持续不断的产生和应用诸如现场总线和网状网络等先进概念的时候,MODBUS的简单性以及它的便于在许多通讯媒介上实施 应用的特点一直使它受到最广泛的支持,并且成为全球应用最广泛的工业协议。通过此协议,控制器经由网络(例如以太网)和其它设备之间可以通信,此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC、DCS、变频器、智能仪表等都 在使用MODBUS协议作为他们之间的通讯标准,它可应用于各种数据采集和过程监控。 二、MODBUS协议库 1、使用MOBUS协议的部分要求 A、初始化MODBUS从站协议占用PortO作为MODBUS从站协议通信,MODBUS从站协议只支持端口0通信,所以选择奥越信的双通信的CPU,可以把Port1作为编程通信口,以便于调试;如果只有单通信口的话,可把CPU打到STOP模式在编程。 B、MODBUS从站协议指令的变量要求799字节的V区域,该区域的起始地址由用户指定,保留给MODBUS使用,程序中不可以使用库存储区占用的地址。 C、可参照S7-200编程手册中了解MODBUS指令的设置与编写。 2、MODBUS协议允许在各种网络体系结构内进行简单通信。如图所示:

MODBUS主站从站模拟器用法

Modbus主站模拟器的使用 1.1. 启动Modbus主站模拟器 点击工具软件文件夹中的Modbus主站模拟器可执行文件“”,随之打开主界面。 1.2. 通讯基础设置 点击菜单“Connection”,并点击“Connect”,在弹出的界面中配置通讯接口和通讯参数。 1.2.1.通讯接口选择串口 当通讯接口是串口时需要确定现在具体使用的是PC机的哪个串口。一般情况PC机集成配置的串口为COM1,通过USB接口扩展的为COM3或COM4(具体机器会有所不同)。 通讯参数的选择要与从站(PLC)中的设置一致,包括通讯速率、数据长度、奇偶校验和停止位。其中的“rotocol Selection”选择默认的“RTU”模式。

LK PLC的COM1串口做以下设置: 1.2.2.通讯接口选择网口 当通讯接口是网口时,“IP Address”中应填写从站的IP地址。(主机即PC的IP在PC的网络连接中设置)。“Service”(端口)固定为“502”。其中的“rotocol Selection”选择默认的“RTU”模式。 从站IP

LK PLC的网口做以下设置(只需设置从站地址): 1.3. 选择通讯寄存器 1.3.1.填写从站地址 在监视区的“Device Id”填写从站地址,需要与PLC中设置的一致。如上例中应填写“1”。 1.3. 2.选择寄存器类型 在监视区的“MODBUS Point Type”中选择通讯的Modbus寄存器类型。 其中“01”为读写开关量类型(DO),可对PLC中Q区和M 区置位或复位操作。 “02”为读开关量类型(DI),可读取PLC中I区和M区位 的状态。 “03”为读写WORD类型,可对PLC中Q区和M区进行字的 赋值操作。 “04”为读WORD类型,读取PLC中I区和M区字的数值。 1.3.3.填写通讯数据的起始Modbus地址 在监视区的“Address”中填写参与通讯的PLC变量地址(需要换算为Modbus地址)。 LK PLC换算格式见下表。 标识符类型PLC地址对应MODBUS 地址 寄存器类型 %QW WORD QW0,QW1,…QWm B,B=m+ 1 (1为模拟器的地址偏移) 03 %IW WORD IW0,IW1,…IWm B,B=m+ m+ 1 (1为模拟器的地址偏移) 04 %MW WORD MW0,MW1,…MWm B,B=m+5000+1 (1为模拟器的地址偏移) 03 %QX BOOL QX0.0,QX0.1,…QX0.15, QX1.0,QX1.1,QX1.15… B,B= m*16+n+1 (1为模拟器的地址偏移) 01

三菱FX3U利用 FX3U-M485BD通讯模块与 MODBUS 设备通讯

第 1 页共3 页 三菱FX3U利用FX3U-M485BD通讯模块与MODBUS 设备通讯 在三菱FX3U PLC 中往往遇到要与modbus 设备通讯,可是 撰写通讯又非常麻烦,当遇到此情况时请选用FX3U-M485BD Modbus 通讯接口模块可以解决此问题。 简介: 在Modbus 架构中,一个回路顶多一个Master (主站),其余 为Slaver (副站),主要连接方式为RS-485 通讯接口。 当选择FX3U-M485BD Modbus 通讯接口当Master 时,选购 时要先声明,你要读取的数据要放到那个缓存器,你的通讯格 式是如何。例如:鲍率9600、数据位数8,检查码none,停 止位1。 FX3U-M485BD实物图而当选择为Slaver 时,(表示把FX3U PLC 当Modbus 表头, 缓存器地址当(modbus地址)只要撰写简单程序即可。但只可用 MODBUS 通讯格式,无法与其它通讯格式混用。 Master 时: 选购时把你的需求说明好即可,不用撰写任何程序。 (程序部分我们帮你写到FX3U-M485BD 卡片中) 例如:接2 台变频器需求为设定频率 PLC 缓存器D200 控制站号1 变频器频率(MODBUS 地址为2001H) PLC 缓存器D201 控制站号2 变频器频率(MODBUS 地址为2001H) 通讯格式为9600、8、NONE、1 ※只要把线接好,变频器的通讯格式与站号设好即可。 Slaver 时: D7900 = 1 (工作模式1:只能读写D缓存器FUNCTION CODE = 3、4、6、10) D7901_bit15... bit8 = MOD_BUS 站号(0... 255)。 D7901_bit7... bit4 = MOD_BUS baud_rate。 (0 = 115200,1= 57600,2 = 38400,3 = 19200,4 = 9600,.... 9 = 300) D7901_bit3 ... bit0 = MOD_BUS format ( 2 = 8n1,5 = 8o1,6 = 8e1,7 = 8n2) Ex:D7901 = 0132H (#1,19200,8n1) D7902 = MOD_BUS 有效启始位置(0...7999)。 D7903 = MOD_BUS 有效结束位置(0...7999)。 D7904_BIT5...BIT0 = MOD_BUS 长度限制(1...60)。

很好的威纶通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。

西门子S7200与变频器MODBUS通讯实例详解

西门子S7200与变频器MODBUS通讯实例详解 西门子S7200PLC简介 西门子S7-200PLC在实时模式下具有速度快,具有通讯功能和较高的生产力的特点。一致的模块化设计促进了低性能定制产品的创造和可扩展性的解决方案。来自西门子的S7 - 200微型PLC可以被当作独立的微型PLC解决方案或与其他控制器相结合使用。 Modbus通讯协议简介 Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。 ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。 1 MODBUS RTU协议在S7-200中的应用原理 1.1 MODBUS RTU协议与S7-200相互关系简介 S7-200 CPU上的通讯口Port0可以支持MODBUS RTU协议,成为MODBUS RTU从站。此功能是通过S7-200的自由口通讯模式实现,因此可以通过无线数据电台等慢速通讯设备传输。 想在S7-200 CPU与其他支持MODBUS RTU的设备使用MODBUS RTU协议通讯,需要由有S7-200 CPU做MODBUS主站。S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。 2 从站指令的用法: S7-200控制系统应用中,MODBUS RTU从站指令库只支持CPU上的通讯0口(Port0)。要

Modbus从站编程

功能编程 从站功能编程 Modbus RTU从站 1、编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。关于参数的详细说明,可在子程序的局部变量表中找到 图中参数意义如下: 1模式选择:启动/停止Modbus,1=启动;0=停止 2从站地址:Modbus从站地址,取值1~247 3波特率:可选1200,2400,4800,9600,19200,38400,57600,115200 4奇偶校验:0=无校验;1=奇校验;2=偶校验 5延时:附加字符间延时,缺省值为0 6最大I/Q位:参与通信的最大I/O点数,S7-200的I/O映像区为128/128,缺省值为128 7最大AI字数:参与通信的最大AI通道数,可为16或32 8最大保持寄存器区:参与通信的V存储区字(VW) 9保持寄存器区起始地址:以&VBx指定(间接寻址方式)

10初始化完成标志:成功初始化后置1 11初始化错误代码 12Modbus执行:通信中时置1,无Modbus通信活动时为0。 13错误代码:0=无错误 注意: 由子程序参数HoldStart和MaxHold指定的保持寄存器区,是在S7-200CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通信。注意Modbus中的保持寄存器区按“字”寻址,即MaxHold规定的是VW而不是VB的个数。 在图2的例子中,规定了Modbus保持寄存器区从VB0开始(HoldStart=VB0),并且保持寄存器为1000个字(MaxHold=1000),因保持寄存器以字(两个字节)为单位,实际上这个通信缓冲区占用了VB0~VB1999共2000个字节。因此分配库指令保留数据区时至少要从VB2000开始。当然保持区不一定要从VB0开始。 注意: 你选用的CPU的V存储区大小!CPU型号不同V数据存储区大小不同。应根据需要选择Modbus 保持寄存器区域的大小。 包含Modbus RTU从站指令库的项目编译、下载到CPU中后,在编程计算机(PG/PC)上运行一些Modbus测试软件可以检验S7-200的Modbus RTU通信是否正常,这对查找故障点很有用。测试软件通过计算机串口(RS-232)和PC/PPI电缆连接CPU。如果必要,须将PC/PPI 电缆设置在自由口通信方式。 Modbus RTU从站地址与S7-200的地址对应 Modbus地址总是以00001、30004之类的形式出现。S7-200内部的数据存储区与Modbus的0、1、3、4共4类地址的对应关系如下: 表1.Modbus地址对应表 Modbus地址S7-200数据区 00001~00128Q0.0~Q15.7 10001~10128I0.0~I15.7 30001~30032AIW0~AIW62 40001~4xxxx T~T+2*(xxxx -1) 其中T为S7-200中的缓冲区起始地址,即HoldStart。 如果已知S7-200中的V存储区地址,推算Modbus地址的公式如下:

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)(一个整型数据)

S7-200实现Modbus通信范例(绝对精华)

说明: 使用下面的例程你可以在S7-200CPU之间设置一个简单的Modbus通讯。 这个例子是关于Modbus功能码6的(写从站保持寄存器),也可以作为其他所支持的功能码:1, 2, 3, 4, 5, 15 和16 的基本参数设置步骤。 要求: 要使用Modbus协议必须先在STEP 7 Micro/Win上安装指令库。 Modbus主站协议只支持STEP 7 Micro/Win V4.0 SP5及其以上版本.。 1. 硬件设置 2. 参数匹配 3. 指令库的存储地址 4. 保持寄存器值得传输 1. 硬件设置 例程中的Modbus通讯是在两个S7-200 CPU的0号通讯口间进行的(最好每个CPU 都有两个通讯口)。在主站侧也可以选择相应库文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通过1号通讯口通信。通讯口1与Micro/WIN建立PG或PC连接,两个CPU的通讯口0通过PPI电缆进行连接(电缆的针脚连接为2,3,7,8)。

图. 01 2. 参数匹配 对于MODBUS通讯, 主站侧需要程序库 "MBUS_CTRL" 和 "MBUS_MSG", 从站侧需要程序库 "MBUS_INIT" and "MBUS_SLAVE"。 在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。 必须要保证主站与从站的“Baud”和"Parity"的参数设置要一致,并且程序块"MBUS_MSG"中的"Slave"地址要与程序块"MBUS_INIT"中的"Addr"所设置的一致 (见图. 02)。 Micro/WIN“系统块”中设置的0通讯口的波特率与MODBUS协议无关("Mode" = "1")。 图. 02 下面的表格列出了程序块各个参数选项及其意义 主站

汇川PLC-MODBUS从站通讯协议说明

MODBUS从站通讯协议说明(MODBUS功能码及数据编址) H2U作为MODBUS从站时,支持MODBUS协议功能码0x01,0x03,0x05,0x06,0x0f,0x10(按十六进制数算);通过这些功能码,可读写的线圈有M,S,T,C,X(只读),Y等变量;寄存器有D,T,C。MODBUS通讯主机在访问(读取或改写)PLC从机的内部变量时,必须遵循如下的通讯命令帧定义,以及变量地址索引方法,才能进行正常的通讯操作。 MODBUS帧格式(以MODBUS-RTU为例) a)功能码0x01(01):读线圈 请求帧格式:从机地址+0x01+线圈起始地址+线圈数量+CRC检验 响应帧格式:从机地址+0x01+字节数+线圈状态+CRC检验 b)功能码0x03(03):读寄存器 请求帧格式:从机地址+0x03+寄存器起始地址+寄存器数量+CRC检验 响应帧格式:从机地址+0x03+字节数+寄存器值+CRC检验

c)功能码0x05(05):写单线圈 请求帧格式:从机地址+0x05+线圈地址+线圈状态+CRC检验 响应帧格式:从机地址+0x05+线圈地址+线圈状态+CRC检验 d)功能码0x06(06):写单个寄存器 请求帧格式:从机地址+0x06+寄存器地址+寄存器值+CRC检验 响应帧格式:从机地址+0x06+寄存器地址+寄存器值+CRC检验。

e)功能码0x0f(15):写多个线圈 请求帧格式:从机地址+0x0f+线圈起始地址+线圈数量+字节数+线圈状态+CRC检验。 响应帧格式:从机地址+0x0 f +线圈起始地址+线圈数量+CRC检验 f)功能码0x10(16):写多个寄存器 请求帧格式:从机地址+0x10+寄存器起始地址+寄存器数量+字节数+寄存器值+CRC检验。 响应帧格式:从机地址+0x10+寄存器起始地址+寄存器数量+CRC检验。

三菱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进行设置 D8120设置值为0C87,即数据长度为8位,偶校验停止位1位,波特率9600pbs,无标题符和终结符。 修改D8120设置后,确保通断PLC电源一次。 二.通讯程序 采用ModbusRTU协议与变频器通讯的部分PLC程序如下:

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

相关文档
最新文档