RS485采集模块与力控软件进行Modbus RTU通讯

合集下载

温腾HMI与多个Modbus RTU(RS-485)从机设备通信指南说明书

温腾HMI与多个Modbus RTU(RS-485)从机设备通信指南说明书

Weintek USA, Inc. Rev. JAN 27, 2020(425) 488-1100Weintek HMI to Multiple Modbus RTU (RS-485) Slave DevicesIntroduction: This instruction manual discusses how to communicate with Modbus RTU slave devices through a RS-485 network. The Modbus RTU protocol is widely used on many industrial sites and adopted by many manufacturers because this protocol is free, open, and simple. Modbus RTU enables master-slave communication between devices connected through serial RS-485 using two-wires. In a RS-485 network, a master queries one or more slave devices for data acquisition or parameter settings. The slaves return a response to all queries addressed to them individually and only respond to the queries transmitted from the master. Typically, a Modbus RS-485 communication network requires a 120 ohm resistor at each physical end of a network. That means there should be a resister at the master and the last slave. The terminating resistor should match the characteristic impedance of the cable being terminated.RS-485 Wiring DiagramEquipment & Software:1.EasyBuilder Pro v6.03.02.2942.Weintek HMI cMT30903.Modbus RTU (RS-485) slave devicesKnowledge of Modbus RTU Protocol:A Modbus slave device provides a Modbus master device with the following memory tables to access data.The supported Modbus Function Codes vary from the manufacturers. The common function codes are shown below.A Modbus map is a list of parameters stored in Modbus addresses. It provides the essential information for users to access data. Most slave devices are built with fixed map defined by the manufacturer. While some Modbus slave devices, such as PLCs or HMIs, allow programmers to configure custom maps. You will need to know the following information defined by your devices.•What is the unit ID of the device? (fixed or configurable?)•Where is data stored? (which tables and addresses)•How is data stored? (data types and byte, word ordering)•How do you find the range?Prerequisites:•Each Modbus RTU slave device must use the same serial configuration, including Baud rate, Data bits, Stop bits, and Parity.•Each Modbus RTU slave devices must be assigned a unique slave ID number (unit address) from 1 to 247.These settings should be configurable by software of your Modbus devices.Detail of the HMI Programming:Open a new project and choose the HMI model cMT3090. To get the HMI talking to the Modbus slaves, go to the [HOME] tab on the top of the menu and then click on the [System Parameters] button.You will need to select one of the drivers based on the specification of your devices.In this case, the Modbus RTU(Zero-based Addressing) driver is used.I/F: RS-485 2WDevice default station no.: You can enter the station number of the first slave device.Click on the [Settings..] button to enter the serial settings of your Modbus slave devices, including Baud rate, Data bits, Stop bits, and Parity.Click on the [Data Conversion] button to implement Byte swap, Word swap, or Double Word swap.•Each character, such as “A”, represents one byte.•AB->BA does a byte swap.•ABCD->CDAB does a word swap.•You can do a byte swap and word swap with 3x_Double and 4x_Double.•ABCDEFGH->EFGHABCD does a double word swap (for CMT HMIs only).•You can do a byte swap, word swap, and double word swap with 3x_QWord4x_QWord (for CMT HMIs only).Since the Modbus protocol does not define exactly how data is stored in the registers. You will need to check with the manufacturer to find out which ordering format your slave device stores data.By default the Modbus RTU master driver in Weintek HMI uses Low byte (or word, double word) first as ordering.Accessible device memory in EasyBuilder ProThe Weintek HMI uses the following Modbus Function Codes.*1. The Modbus RTU(Zero-based Addressing) driver reads a group of 16 bits at a time. Bit groups are 0-15, 16-31, 32-47,48-63, etc. All bits in the group must be available in the controller for the HMI to read. Otherwise, errors will result.*2. The 5x is exactly the same as the 4x. Use the 5x when reading/writing to a 32-bit registers using the low word first format. For example,4x contains the following data,Then use 5x instead of 4x, it will be*3. By default the Weintek HMI uses a Function Code 16 to write multiple registers, even if it is only writing to one register. The 6x forces the HMI to transmit a Function Code 06 to write a single register.Special device memory in EasyBuilder ProHow to read/write 32-bit unsigned dataTo read 32-bit unsinged data from register40106 (combined with 40107 to generate 32-bit data) with high word first format, please check the Word swap[ABCD ->CDAB] option on [Data Conversion].Create a Numeric object and specify the address 4x_Double - 106 on the [General] tab as below.Under the [Format] tab, enter the number of digits used in this parameter as well as the device’s low limit and high limit. Click the [OK] button to finish setting up this object.Place the Numeric object onto the editing area.How to read/write bits in the 4x/3x memory tablesThe 4x_Bit is used to read/write to individual bits in the 4x memory table. To access a bit in 4x memory table, select the 4x_Bit as the address for bit-type objects such as Bit Lamp. Under the Address, use the format DDDDDdd to enter the word memory area, followed by the two-digit bit reference.For example, to monitor the second bit of 40030, enter "3001" into the Address. (DD=30, dd=01)The 3x_Bit works the same as for the 4x_Bit, except that it is used for accessing bits in a 3x memory table (input register, read only).How to read data on the different station numberThe address format of station number is ABC#AddrThe ABC stands for device station number and ranges from 0 to 255.The Addr stands for device address. T he “#” is a sign that separates the station number and the address.To read the station number 2 and address 0, input 2# as prefix.Once finishing the input, the HMI will read address 0 in the 3x (The 3xxxx table) Modbus table using Function Code 0x04.If you input the address without a station number, the HMI will query the default slave device. (where you set up on the Modbus RTU driver)How to use Station Number VariableStation Number Variable allows you to change the station number (unit ID) during runtime to monitor different slaves. Up to 16 Station Number Variables can be used in one project.The address format of Station Number Variables is var{i}#AddrThe i can be a constant value from 0 to 15.The Addr stands for the device address. T he “#” is a sign that separates the station number and the address.In this example, the station number is determined by var1. You will need to enter a station number to System Register LW-10001.A Number object specified the address of the Modbus slaveThe other Number object specified System Register LW-10001When you input the constant value 3 to the Numeric object that is specified address LW-10001 during runtime, the other Numeric object will display thevalue pulled out from the slave ID 3.Founded in 1996, WEINTEK LABS is a global-leading HMI manufacturer and is dedicated to the development, design, and manufacturing of practical HMI solutions. WEINTEK LAB’s mission is to provide quality, customizable HMI-solutions that meet the needs of all industrial automation requirements while maintaining customer satisfaction by prov iding “on-demand” customer service. WEINTEK LABS brought their innovative technology to the United States in 2016, WEINTEK USA, INC., to provide quality and expedient solutions to the North American industrial market.6219 NE 181s Street STE 120Kenmore, WA 98028425-488-1100。

力控组态软件怎么和支持modbus协议的设备通信

力控组态软件怎么和支持modbus协议的设备通信

问题:力控组态软件怎么和支持modbus协议的设备通信回答:Modbus是应用于电子控制器上的一种通用协议。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)或者串口和其它设备之间可以通信。

力控科技的开发平台,既可以作为modbus主站从设备采集数据,也可以作为modbus从站将数据转发给其他的modbus 主站,下面以力控作为modbus(rtu串行口)主站为例讲解1、力控作为modbus主站访问其他modbus从站的方法概括来讲可以分为两个步骤:(1)、进入io设备组态,找到modbus(rtu串行口),组设备结合现场情况填写以上参数,设备地址和实际连接设备的地址一致。

(2)、串口配置(3)、采集配置(1)写单个寄存器:HR保持寄存器单寄存的写入操作,一般设备支持这个命令。

一条命令只能写一个寄存器。

简单的数据类型可以用这条命令支持,如8位、16位的数据类型可以用此命令写入。

(2)写多个寄存器:HR保持寄存器多寄存器的写入操作,一条命令可以写多个寄存器的值。

复杂的数据类型用这条命令支持,如32位,64位的数据类型。

(3)屏蔽写寄存器:HR保持寄存器的模拟量按位操作命令(设备要支持屏蔽写命令22功能码)。

(4)最大长度:是指MODBUS中一条数据所读取的字(两个字节)数,包的长度越长,一次读取的数据就越多,通讯效率就越快。

MODBUS协议中规定数据包最大长度不能超过255个字节。

另外有些PLC对包长还有限制,请根据具体设备进行填写。

(5)组包间隔:两个相邻采集点的字偏移地址如果大于等于“组包间隔”就重新打一个包。

他可以控制包中数据点的密度,如上图配置包中相邻数据的地址间距不会大于10。

(6)05功能码:选中后线圈下置命令用05功能码执行。

(7)15功能码:选中后线圈下置命令用15功能码执行。

2、数据连接打开数据库组态,选择数据库新建点:选择相应的点类型,点击继续填写点名,其他可以默认,点击数据连接点参数:常用的是PV(现场实时值)和DESC,当要读取字符串时要用DESC连接IO设备:选择要连接的的设备名称连接项:点击“增加”增加链接项根据实际的工程需要设置相对应的内存区以及偏移地址、数据格式、读写属性,就完成了数据连接的全过程。

ModBusRTU通讯协议

ModBusRTU通讯协议

ModBusRTU通讯协议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-RTU通讯的简要介绍

MODBUS-RTU通讯的简要介绍

什么是MODBUS?MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规约进行数据通讯或传输,不同的系统就可以通讯。

目前,在RS232/RS485通讯过程中,更是广泛采用这种规约。

常用的MODBUS 通讯规约有两种,一种是MODBUS ASCII,一种是MODBUS RTU。

一般来说,通讯数据量少而且主要是文本的通讯则采用MODBUS ASCII规约,通讯数据数据量大而且是二进制数值时,多采用MODBUS RTU规约。

在实际的应用过程中,为了解决某一个特殊问题,人们喜欢自己修改MODBUS规约来满足自己的需要(事实上,人们经常使用自己定义的规约来通讯,这样能解决问题,但不太规范)。

更为普通的用法是,少量修改规约,但将规约格式附在软件说明书一起,或直接放在帮助中,这样就方便了用户的通讯。

MODBUS-RTU通讯协议简介在本章主要讲述如何利用软件通过通讯口来操控该系列仪表。

本章内容的掌握需要您具有MODBUS协议的知识储备并且通读了本册其它章节所有内容,对本产品功能和应用概念有较全面了解。

本章内容包括:MODBUS协议简述,通讯应用格式详解,本机的应用细节及参量地址表。

1.1MODBUS协议简述ACRXXXE系列仪表使用的是MODBUS-RTU通讯协议,MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。

MODBUS协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。

首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。

MODBUS协议只允许在主机(PC,PLC等)和终端设备之间通讯,而不允许独立的终端设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。

2019 NRG 控制器,使用 RS485 上的 Modbus RTU 说明书

2019 NRG 控制器,使用 RS485 上的 Modbus RTU 说明书

NRG 控制器,使用 RS485 上的 Modbus RTU主要特性• 通信接口。

NRG控制器将现场级设备桥接到控制级,以允许与NRG固态继电器进行实时数据交换。

• 可降低维护成本,缩短停机时间。

利用实时数据防止机器在运行期间发生故障。

• 提高产品质量,降低废品率。

通过实时监控,可以及时作出决策,从而改善机器和流程管理。

• 减少故障排除工作量。

可以区分多种故障,从而简化故障排除,缩短所需时间。

• 安装设置快捷。

总线上的固态继电器由AutoConfiguration 配置,设置快捷,还可以防止错误设置。

• 尺寸紧凑。

一个产品宽度为35 mm的控制器最多可以处理32 RG..CM..N或48 RG..D..N NRG固态继电器。

说明NRGC 是 NRG 总线链的控制器,通过 RS485 接口上的 Modbus RTU 与系统主控制器直接连接。

系统中的每个 NRGC 都通过一个独特的 Modbus 地址加以标识,该地址可以通过前置选择器开关进行手动设置(仅用于 Modbus 地址 1 - 15),也可以通过专用寄存器进行设置(地址 1 - 247)。

Modbus 通信的默认设置也可以通过专用寄存器加以修改。

当主控制器请求在特定总线链上执行操作时,NRGC 会起到对应总线链主机的作用。

否则,NRGC 只负责辅助主控制器和系统中每个 RG..N 固态继电器之间的通信。

NRGC 需要 24 VDC 供电。

它配备有一个数字输出,包括一个默认设置为 NRGC 警报继电器的机电继电器。

可将该输出修改并设置为由系统主控制器控制的辅助数字输出。

前面板上的 LED 指示 NRGC 的状态、任何与主控制器正在进行的通信 (COM)、与总线链上的 RG..N 正在进行的通信 (BUS) 以及 NRGC 的任何警报状态。

除另外注明,所有规格参数均为 25°C 下。

应用任何需要可靠精确地维持温度以保证最终产品质量的加热应用。

力控软件和安川MP2300通过MEMOBUS通讯

力控软件和安川MP2300通过MEMOBUS通讯

力控软件和安川MP2300通过MEMOBUS通讯MODBUS RTU协议在TCP链路上运行;
力控选择协议:标准MODBUS RTU协议,通讯方式为:TCP/IP;
方法一:指定服务器和客户端的IP地址和端口号
1、安川MP2300中的配置:
如图所示:192.168.1.1为安川MP2300的IP地址;
设备地址:
Node IP Address:为节点IP地址,即为目标IP地址,指定哪个客户端来连接设备;
Node Port:为节点端口,即为目标端口,指定客户端的这个端口来连接设备;
2、力控中配置:
2.1 驱动:选择标准MODBUS RTU协议,通讯方式:TCP/IP;
本机网卡冗余:本机和备用都要填写;
3、运行结果:
方法二:不指定服务器的IP地址和端口号
1、安川MP2300中的配置:
IP地址和Node Port端口号都填为0;
全“0”表示在同一网段的任意IP都可以利用;
目标端口(DST.PORT):00000(上位机空闲端口);
2、力控中配置:
运行结果:
注意:每次下载完MP2300工程后,最好都将设备重新上电;地址映射:
1.安川PLC的“MW”16位整形数直接对应Modbus协议的“MW”。

2.浮点数:安川PLC的“MF”直接对应Modbus 协议的“MF”
3.双整数:安川PLC 的“ML”对应Modbus 协议的“MW”或“MD”32位整形。

4.布尔量:安川的布尔量和寄存器区是同一个区,类似施耐德PLC 的%M 区。

即安川的MB10005 地址实际上是%MW100的第5位。

RTU-485 Modbus 遠端 I O 通訊模組 操作手冊

RTU-485 Modbus 遠端 I O 通訊模組 操作手冊

2
DVP-PLC 操作手冊
2 RTU-485 單元部件
2.1 外觀尺寸
Modbus 遠端 I/O 通訊模組 RTU-485
RTU-485
Modbus 遠端 I/O 通訊模組 操作手冊
DVP-0214000-02
Modbus 遠端 I/O 通訊模組 RTU-485
注意事項
3 此操作手冊提供功能規格、安裝、基本操作與設定內容的介紹。 3 本機為開放型 (OPEN TYPE) 機殼,因此使用者使用本機時,必須將之安裝於具防塵、防潮及免於電擊/
2 RTU-485 單元部件 ...............................................................................................................................3 2.1 外觀尺寸 ....................................................................................................................................3 2.2 各部介紹 ....................................................................................................................................3 2.3 RUN/STOP 開關........................................................................................................................3 2.4 位址設定開關.............................................................................................................................4 2.5 通訊設定開關.............................................................................................................................4

三维力控工控自动化软件通讯介绍

三维力控工控自动化软件通讯介绍

为该参数设置,时间单位为秒。
5、故障后恢复查询最大时限: 若驱动程序在一段时间之内一直不能恢复与设备的通讯,则不再尝试
恢复与设备通讯,这一时间就是指最大时限的时间。
四、高级通讯参数配置:

-18-
三 维 力 控
力控®I/O设备组态

-16-
三 维 力 控
力控®I/O设备组态
5、Modem: 针对无线电台的硬件通讯设备接入力控软件的通讯,选择此种方式 三、I/O设备组态的基本参数含义: 1、设备地址: 硬件设备的物理地址或软件的设定地址,力控I/O设备组态时的设 备地址与硬件设备的物理地址或软件的设定地址保持一致。 2、更新周期: I/O设备在连续两次处理相同数据包的采集任务时的时间间隔。更 新周期的设置一定要考虑到物理设备的实际特性,对有些通讯能力不 强的通讯设备,更新周期设置过小,导致频繁采集物理设备,增加设 备的处理负荷,甚至出现通信中断的情况。 3、超时时间: 在处理一个数据包的读写操作时,等待物理设备正确响应的时间。
三维力控 力控® 科技产品通讯
通讯组

力控® 软件与硬件或其他软件通讯
1 2 3 4
串口通讯 串口调试助手和串口监视工具的使用 力控I/O设备组态 Modbus协议与力控Modbus驱动
5
6
力控软件与其他软件的OPC通讯
通讯问题分析思路及处理方法


-14-
三 维 力 控
力控®I/O设备组态
一、力控软件支持的通讯方式: 与I/O设备之间一般通过以下几种方式进行数据交换: 串行通信方式(RS232/422/485,支持Modem、电台远程通信)、板卡方 式、网络节点(支持TCP/IP协议 UDP/IP协议通讯)方式、适配器方式、 DDE方式、OPC方式、网桥方式支持(GPRS、CDMA)等。 二、通讯方式选择: 1、同步(板卡、适配器、API等) 同步方式一般是利用I/O设备制造厂家提供的安装在计算机插槽中 的专用接口卡与设备进行通信,I/O卡一般直接插在计算机的扩展总线 上,如ISA、PCI等,然后利用开发商提供的驱动程序或直接经端口操 作和软件进行通信,I/O设备与计算机间的通信完全由这块专用接口卡 管理并负责两者之间的数据交换,现场总线网络主要借助于这种方式, 如MB+、LON、PROFIBUS等。

力控组态软件的应用和开发

力控组态软件的应用和开发

风光互补发电系统力控组态软件的应用与开发力控组态软件的应用与开发一、新建工程1、打开力控点左上角新建新建一个新的工程2、点击开发进入开发一个工程二、新建IO设备1、新建要连接到上位机的设备,比如:智能数显仪表、DSP控制单元、西门子PLC、西门子变频器。

(1)在“工程项目”栏中找到“变量”-----“IO设备组态”(如果软件界面左边没有“工程项目栏”可在“查看”----“工程项目导航栏”调出)以下为新建“智能数显仪表”步骤:2、双击工程项目栏中的“IO设备组态”弹出“IoManager”窗口。

注:6个“智能数显仪表”和DSP控制单元设备都为“MODBUS”3、在“IoManager”窗口中双击“MODBUS”找到“MODBUS(RTU串行口)”双击进入设备配置配置连接到上位机的设备。

(1)配置“设备名称”和设备地址(设备名称自己定义(不可中文),设备地址与设备上的地址一致。

智能数显仪表默认地址为从左到右1、2、3、4、5、6)注:设备地址可更改,如更改后上位机设备地址要与硬件设备地址一致(2)“下一步”进入设备连接到上位机的串口设置1、串口选中所设置设备连到上位机对应的com口(6个“智能数显仪表出厂默认接到上位机com3”)2、点击设置进入设置串口通信参数设置主要设置两个参数:波特率:9600奇偶校验:无校验6个“智能数显仪表”的串口通信参数都一致,波特率为9600 奇偶校验为:无注意:左下角的“连续采集失败”的勾一定要去掉,这关系到能不能采集到数据(3)设置通讯时设备的读取(4)完成以上设置后点击完成,完成一个设备的配置(6个“智能数显仪表”配置方法一致)以下为新建“DSP控制单元”步骤:1、跟前面配置仪表的一样在“IoManager”窗口中双击“MODBUS”找到“MODBUS(RTU串行口)”双击进入设备配置。

(1)配置“设备名称”和设备地址(设备名称自己定义(不可中文),设备地址与设备上的地址一致。

modbusrtu通信c语言实现

modbusrtu通信c语言实现

ModbusRTU是一种常用的串行通信协议,广泛应用于工业控制领域。

在C语言中实现ModbusRTU通信功能可以实现设备之间的数据交换和控制操作。

本文将介绍如何在C语言中实现ModbusRTU通信功能,包括硬件连接、程序编写和调试等方面。

一、硬件连接1.1 硬件设备准备在使用C语言实现ModbusRTU通信功能之前,首先需要准备相应的硬件设备。

通常包括控制器、传感器、执行器等设备,以及串口通信模块、电缆等。

确保所有设备都正确连接并可以正常工作。

1.2 串口连接ModbusRTU通信协议是基于串口通信的,因此需要将各个设备通过串口连接起来。

通常使用RS485或RS232接口进行串口连接,确保连接的正确性和稳定性。

1.3 硬件调试在硬件连接完成后,需要进行硬件调试,确保各个设备之间的通信正常。

可以通过串口调试助手等工具进行通信测试,确保数据能够正确传输并解析。

二、程序编写2.1 ModbusRTU协议解析在C语言中实现ModbusRTU通信功能,首先需要对ModbusRTU通信协议进行解析。

包括帧格式、功能码、数据域等内容的解析,并根据协议规定进行相应的数据处理。

2.2 串口通信编程在C语言中进行串口通信编程,可以使用相应的串口通信库进行开发。

包括串口打开、配置、发送和接收等操作,确保能够与硬件设备进行正常的串口通信。

2.3 Modbus功能码实现根据需要实现不同的Modbus功能码,包括读取寄存器、写入寄存器、读取线圈状态等操作。

在C语言中编写相应的函数实现这些功能码的操作,确保能够完成设备之间的数据交换和控制操作。

2.4 错误处理和调试在程序编写过程中,需要考虑到各种可能出现的错误情况,并进行相应的错误处理。

同时可以添加调试信息输出,方便进行程序调试和排查问题。

三、程序调试3.1 程序上传将编写好的C语言程序上传到相应的硬件设备中,包括控制器、PLC 等设备。

确保程序能够正常运行并与硬件设备进行正确的通信。

关于plc与变频器进行modbus_rtu通讯的帮助文档

关于plc与变频器进行modbus_rtu通讯的帮助文档

目录关于PLC的485通讯的帮助文档 (2)一、RS 485通信接口标准与Modbus通信协议 (2)1. RS 485概念 (2)2. RS 485接线 (2)3. RS 485半双工通讯 (3)4. Modbus概念 (3)5. Modbus协议分类 (3)6. Modbus 协议的通信方式与RS485 的关系 (4)二、PLC与变频器通讯 (4)1. PLC与变频器通讯接线 (4)2. 设置变频器通讯参数 (4)3. 在PLC编程软件MEGreator中配置通讯参数 (4)关于PLC的Modbus通讯的帮助文档一、RS 485通信接口标准与Modbus通信协议1.RS 485概念通讯协议分为硬件层协议和软件层协议。

其中硬件层协议又叫接口协议。

工业通讯中常用的串口通讯标准一般分为RS232和RS485。

其中RS485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在+2V~+6V之间,表示一个逻辑状态;负电平在-2V~-6V之间,则表示另一个逻辑状态;数字信号采用差分传输方式,能够有效减少噪声信号的干扰。

2.RS 485接线RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,多采用的是两线制接线方式,这种接线方式为总线拓扑结构,在同一总线上最多可以挂接32个节点。

RS-485总线是主从模式,支持点对点单从机模式,也支持多从机模式,不支持多主机模式。

RS 485接线为A接A,B接B。

(A+,B-)图1-1 单从与多从接线示意图3.RS 485半双工通讯半双工通讯是指对于通讯两端,不能同时相对方法发送数据,必须错开时间段发送。

RS 485的通讯线只有2条,且这两条通讯线在一次传输中都需要用到,因此485只可实现半双工通讯。

4.Modbus概念Modbus是一种串行通信协议,属于软件应用层协议,目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。

基于RS485 Modbus RTU的上位机通讯软件实现

基于RS485 Modbus RTU的上位机通讯软件实现

基于RS485 Modbus RTU的上位机通讯软件实现最近碰到个项目需要配合仪表厂家对S7 200 PLC做上位机通讯软件的开发,由不是搞代码专业的,在网上搜了一堆的资料,总算也是可以把东西做出来了,抽空做了一个小的Demo,在这里也跟大家分享一点点经验,作为自己的总结,也以期能给后来人带来稍许启发。

首先,既然是基于RS485 Modbus RTU通讯协议的软件,我们肯定需要对它有一定的了解,很多人可能会去搜Modbus协议的标准文件,当然我也是,说实话这个文件实在是太长了,看完之后说实话对我的帮助也有限,在这里我推荐大家去百度文库里看一篇文章:《MODBUS规约与报文解析详细说明》,因为我没有下载券了,所以没法放在附件里了,里面很简洁、明了的介绍Modbus的内容以及相应的报文格式,这个报文格式对编写上位机软件是对我帮助最大的,大家把这个看一下应该比我做大篇幅的介绍要好的多,这里我就不说了,只把上位机读取PLC里V区变量(即保持型寄存器)的流程简单说一下。

我们通常的做法是把仪表测量的信号通过4-20mA传入PLC,再把相应的AIW传给我们分配的VW,上位机发送读取对应VW区的报文,下位机(从站,也就是我们的PLC)接收指令之后会给出响应,反回一条信息给上位机,然后上位机对相应的报文做解析。

其他读取I区,Q区,写入V区的原理大概相同。

好了,了解Modbus报文格式以及相应的流程之后,我们需要做的就是与S7 200 PLC 通讯了,以CPU224xp为例,它有两个RS485通讯口,分别为port0和port1,其中做主站port0,port1都行,做从站只能用port0,这里因为是通过上位机控制PLC,所以我们选择plc 为从站就可以了,开发的时候用RS232/RS485的s7 200编程电缆把电脑与PLC连上就行了,硬件的连接很简单,接下来就是s7 200的编程了。

不过在开始之后我还是建议大家去看一下S7 200关于Modbus通讯的官方文档介绍,百度搜s7 200 Modbus关键字,第一条就是,可能大家看完之后我下面关于s7 200的编程就可以略过了。

力控modbus通信方法modbus-tcp、modbus-rtu莫迪康通信配置步骤

力控modbus通信方法modbus-tcp、modbus-rtu莫迪康通信配置步骤

力控modbus通信方法modbus-tcp、modbus-rtu莫迪康通信配置步骤目录第 1 章 485 设备与力控通讯1.1 DI/DO/AI/AO 接入1.1.1 添加设备1.1.2 测试设备1.2 读取 DI 状态1.3 输出/读取 DO 状态1.4 读取 AI 值第 2 章以太网设备与力控通讯2.1 DI/DO/AI/AO 接入2.1.1 添加设备2.1.2 测试设备2.2 读取 DI 状态2.3 输出/读取 DO 状态2.4 读取 AI 值第 1章 485 设备与力控通讯1.1 DI/DO/AI/AO 接入以ZKA-4088-RS485 为例,介绍综科智控485 设备与力控进行通讯的步骤设置。

ZKA-4088-RS485 是8 路数字量输入(DI),8 路数字量输出(DO),4 路模拟量输入设备(AI,0/4-20mA),485 通信总线。

以 ZKA-4088-RS485 出厂默认通讯参数如下:站号:01波特率:115200数据格式:8,N,1与电脑连接的端口:客户查看电脑设备管理器中的COM口,选择实际使用的端口1.1.1 添加设备选择:IO 设备组态>[PLC] > [莫迪康] > [ModbusRTU] 如下图所示:为设备取一个名称,在此输入TEST,单击“下一步”,如下图所示。

为设备选择连接串口,选择COM4,根据实际对应COM 参数设置,并保存选择 6 和 16 号命令,选择 32 位数数据存放格式:1.1.2 测试设备在设备上右键> [TEST],如下图所示:1.2 读取 DI 状态ZKA-4088-RS485的 8路 DI 寄存器为 10001~10008:如上图所示,寄存器 DI001 变量值为 1,表示此时第 1 个输入通道X1闭合。

1.3 输出/读取 DO 状态ZKA-4088-RS485 的 8路 DO 寄存器为 00001~00008:新建 IO 点,选择可读可写建立 IO 点完成后,点击运行按,即可读取 DO 状态在对应的 IO 点上右键>写数据写入 1,则通道 DO1 输出,设备上 Y1灯亮1.4 读取 AI 值ZKA-4088-RS485 的 4 路AI(模拟量输入)寄存器为30001~30008,因为ZKA模块采用的是32位AD芯片,所以每个模拟量通道占用 2 个寄存器,共4 个字节(32bit),其中高两个字节为采集结果的高16bit,低两个字为采集结果的低16bit,模块出厂时为保证高精度,滤波后输出16bit,所以用户实际使用时只需要读取低16bit采集结果即可,,也就是读取偏置0002,0004,0006,0008地址上的寄存器数据,数据类型为无符号整型。

modbus-rtu 通讯规约转485指令

modbus-rtu 通讯规约转485指令

一、介绍Modbus-RTU通讯规约Modbus-RTU通讯协议是一种用于串行通信的通用协议,它是Modicon公司于1979年为了连接可编程逻辑控制器(PLC)而开发的。

今天,Modbus已经成为工业自动化领域中最为流行的通讯协议之一,被广泛应用于控制系统的数据传输和设备之间的通信。

二、Modbus-RTU通讯规约的特点1. 简单易懂:Modbus-RTU通讯规约采用了简单的数据结构和通信方式,使得各种设备能够轻松实现数据的传输和交换。

2. 高效可靠:Modbus-RTU通讯规约采用串行通信方式,数据传输速度快,且具有较高的稳定性和可靠性。

3. 易于扩展:Modbus-RTU通讯规约具有较好的可扩展性,能够满足不同应用场景下的需求。

三、Modbus-RTU通讯规约与485指令1. Modbus-RTU通讯规约的物理层采用RS-485总线通讯技术,通过串行通讯实现设备之间的通信。

485指令则是Modbus-RTU通讯规约的一部分,用于定义数据的传输格式和通讯方式。

2. 485指令具有严格的数据格式要求,包括起始位、停止位、校验位等,以确保数据的传输准确性和完整性。

3. 485指令定义了主从设备之间的通讯方式和数据交换流程,使得不同厂家生产的设备能够在通讯协议方面实现兼容和互操作。

四、Modbus-RTU通讯规约转485指令的应用1. 在工业自动化领域中,Modbus-RTU通讯规约转485指令广泛应用于PLC、传感器、执行器等设备之间的通讯和数据交换。

2. 485指令的应用使得工业设备能够实现远程监控、数据采集、远程控制等功能,提升了设备的智能化和自动化水平。

3. Modbus-RTU通讯规约转485指令还可用于智能家居、建筑自动化、能源管理等领域,实现设备之间的互联互通,提升系统整体的效率和性能。

五、Modbus-RTU通讯规约转485指令的优势1. 兼容性强:Modbus-RTU通讯规约转485指令具有较好的兼容性,能够与不同厂家生产的设备实现通讯和数据交换。

485ModbusRTU通讯协议

485ModbusRTU通讯协议

485 Modbus RTU通讯协议(本协议采用主从问答方式)济源市华宇矿业电器有限责任公司通讯数据的类型及格式:数据长度:8,停止位:1,传输速率:9600,校验:偶★注:1、1个字节由8位二进制数组成(既8 bit)。

2、ModBus是Modicon公司的注册商标。

3、“从机”在本文件中既为GZB-H8高压配电保护器。

4、“N”为偶数。

通讯信息传输过程:当通讯命令由发送设备(主机)发送至接收设备(从机)时,在CRC校验无误情况下,从机地址与地址码相符的从机接收通讯命令,并根据功能码及相关要求处理信息,执行相应的任务,然后把执行结果(数据)返送给主机。

返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。

如果CRC校验出错就不返回任何信息。

地址码:地址码是每次通讯信息帧的第一字节(8位),从01H到FFH。

每个从机都必须有唯一的地址码。

所有地址的从机都将接收由主机发送来的信息,只有符合地址码的从机才响应要求,回送信息。

当从机回送信息时,回送数据均以各自的地址码开始。

主机发送的地址码表明将发送到的从机地址,而从机返回的地址码表明回送的从机地址。

功能码:是每次通讯信息帧传送的第二个字节。

ModBus通讯规约可定义的功能码为0到127。

PLC仅用到其中的一部分功能码。

作为主机请求发送,通过功能码告诉从机应执行什么动作。

作为响应,从机返回的功能码与从主机发送来的功能码一样,并表明从机已响应主机并且已进行相关的操作。

数据区:数据区包括需要由主机发送、从机回送何种信息或执行什么动作。

这些信息可以是数据(如:开关量、模拟量、地址等等)等。

传输时采用先传送高字节,再传送低字节。

例如:2345H,就先传送23H,然后传送45H。

PLC响应的命令格式是从机地址、功能码、数据区及CRC码。

数据区的数据为多字节开关量数据或模拟量数据。

一、遥信命令请求消息帧:注1:遥信数据按位传输,每一位表示一路开关量状态或者一个故障信息,遥信数据传输的位数为两个字节、16位,每个字节中的位含义定义如表1。

PROFINET转RS485 MODBUS RTU网关连接西门子PLC和工业称重控制仪表配置案例

PROFINET转RS485 MODBUS RTU网关连接西门子PLC和工业称重控制仪表配置案例

PROFINET转RS485 MODBUS RTU网关PNMD485-K20连接西门子PLC和工业称重控制仪表配置案例前言:随着工业现场总线技术以及工业以太网技术的飞速发展,工业自动化现场通常有多种通讯协议同时存在,对于不同协议的设备之间如何通讯,是我们必须面临解决的问题,如工业称重自动化项目中为了方便工程师实时监控称重数据,会把称重仪表接入到PLC监控系统中,在这种需求越来越多的情况下,不同协议之间可以实现协议转换就尤为重要,此方案是以微硬创新协议转换网关为例,介绍如何实现PROFINET和MODBUS-RTU的数据交换,实现MODBUS转PROFINET,或者PROFINET转MODBUS数据通讯。

项目概述:本项目现场是在国内某自动化项目,该PLC系统使用的是西门子S7-1200 PLC,支持PROFINET 工业以太网协议;工业称重仪表为国内某公司生产的,提供RS485 串口,支持标准MODBUS-RTU网络通讯协议;协议转换网关为微硬创新PROFINET转MODBUS网关PNMD485-K20项目拓扑图:项目目的:通过MODBUS转PROFINET网关完成协议转换之后,实现PLC通过RS485串口和称重仪表连接,采集称重表的各种状态值,并设置称重表的工作模式,可以通知仪表去皮、清零,打印数字,远程校正、配置参数,实时监控仪表的运行状态:1.读取仪表显示重量.2.控制仪表去皮、清零、清皮、打印、数字去皮等等3.远程校正、配置参数、加载预置点目标值等等4.监控仪表的运行状态,包括监控预置点5.读取仪表扩展输入口和控制仪表扩展输出口项目方案:由于称重控制仪表有RS485通讯接口,支持MODBUS-RTU现场总线通讯协议,作为MODBUS从站,PLC 支持PROFINET 以太网通讯协议,作为PROFINET 主站,PLC和称重控制仪表的协议是不同的,仪表是MODBUS-RTU,PLC是PROFINET,所以PLC是不能直接采集称重控制仪表的数据的,需要通过MODBUS转PROFINET/ROFINET转MODBUS协议转换模块实现不同协议间的数据交换。

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

M系列RS485采集模块与力控ForceContrl V7.0软件通讯
M系列RS485采集模块是基于RS485网络的数字量和模拟量采集模块,支持工业标准的Modbus RTU 协议,包括:M-IB16 (16路数字量输入模块)、M-OB16(16路数字量输出模块)、M-IF16C(16路模拟量输入模块)、M-OF8C(8路模拟量输出),可以与组态王、力控以及支持Modbus RTU协议的PLC等系统或软件联合使用,下面以M系列RS485采集模块与力控ForceControl V7.0软件进行通讯为例。

1、启动力控ForceControl V7.0软件,打开工程管理器,新建工程,输入项目名称、路径、描述等。

2、在ForceControl开发系统中,进行IO设备组态,配置M-IB16采集模块,设备地址为1。

第一步:输入设备名称、设备描述、更新周期、超时时间、设备地址和通讯方式。

第二步:输入串口号、波特率、数据位、停止位、奇偶校验。

第三步:设置保持寄存器写操作、线圈等参数,默认即可。

3、同上,配置M-OB16采集模块,设备地址为2。

4、在力控ForceControl软件数据库组态中定义变量,输入变量名、连接I/O设备、连接项。

M-IB16的16路数字量输入I0~I15分别对应到寄存器100001~100016,通过02号功能码进行读取:
M-OB16的16路数字量输出Q0~Q15分别对应寄存器000001~000016,通过05号功能码进行写入操作:
5、在IOManager窗口,通过已建设备进行设备测试。

IOTester窗口可以监测到M-IB16的数字量输入I0和I1为1:
通过设置数据窗口,将Q0的值写入1,可以给M-OB16的第1个输出点置1:
6、在力控ForceControl中进行画面设计。

运行画面,M-IB16的数字输入I0为1时,可以看到指示灯红黄闪烁:。

相关文档
最新文档