首页 > 文章中心 > modbus协议

modbus协议

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇modbus协议范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

modbus协议

modbus协议范文第1篇

关键词:STC89C52 通讯协议 Delphi Firbird

1节点设计以及网络组成

1.1本系统主控芯片采用宏晶科技STC89C52单片机,与其它CPU芯片相比,具有显著特点,加密性强,超低功耗,速度快,可靠性高,驱动能力强,抗静电和抗干扰能力强。

1.2DS18B20传感器

DS18B20是美国DALLAS公司生产的一线式数字式温度计芯片,它具有结构简单,不需外接元件,测量温度范围在-55°C—+125°C之间。采用一根I/O数据线既可供电又可传输数据、并可由用户设置温度报警界限等特点,可广泛用于食品库、冷库、粮库等需要控制温度的地方。

1.3网络节点设计

网络节点结构示意图

1.4网络组成

该控制网由PC机和若干分节点组成,PC机主要负责轮询各分站点数据,发送请求数据包和控制数据包,然后分节点判断数据包,根据相应的指令通过RS232接口把数据发送给PC机,最大站点数可设50个节点,PC机对采集的数据进行分析处理。

2 控制网络通讯协议

2.1简单节点流程示意图

本控制网采用同一程序,通过面板按键设置本机的分节点地址,节点开始上电,CPU开始初始化I/O、串口等模块,接着根据设置的参数读取操作站点,从而执行相应的程序并分析数据,数据正确,进行正常显示,否则PC机根据不同的报警信息发出声光报警。

简单节点流程示意图如下

2.2数据包格式

通讯参数:波特率:1200,数据位为1,数据位为8,停止位为1,校验位为1,方式采用主从式通讯,计算机为主机,各下位分机为从机。主机先发数据请求命令,只有符合地址条件的从机才回传或接收数据,在数据传输中,为提高系统的可靠性和实用性,要求传送的数据包尽可能短,并且传送的信息量要大。

2.2.1请求数据包

本数据包用于PC机向分节点请求数据使用。请求数据包格式如下:长度为4个字节数,首位码、读标志、目的地址、数据量均为一个字节数。

2.2.2回送数据

本数据包用于分节点发送PC机所请求的数据,回送的数据包长度可以根据发送的指令而变,根据PC机发送的请求,数据包回送PC机所请求的数据。

回送数据包格式如下:首位码、地址均为1个字节数,回送数据根据发送指令确定字节数,备用字节、校验码为两个字节数。

2.2.3控制数据包

本数据包主要用于PC机向分节点发送数据使用。控制数据包格式如下:长度为5个字节数,首位码、写标志、目的地址均为1个字节数,数据量为2个字节数。

2.2.4协议的实现及应用

在设计基于RS-485的分布式测控系统时,在上位机呼叫下位机地址之后就可以利用本协议的规范来设计具体的通信流程。 基于本协议的通信可以有两种机制。一种是面向握手的,即每发出一帧,总是要等待确认帧,否则将认为是通信出错。这是一种可靠的通信方式,适合传输系统命令和一些非常重要的系统参数。另一种是无握手的,即发送方假设接收方总是接收正确,从而无须等待确认帧就不停地发送,适合大量前端采集数据的发送。这种机制的优点是发送过程简 单、快速,缺点是不能保证传输过程的可靠性。

本协议利用握手通讯方式已经成功地运用到多个冷库、粮库监测系统中,不仅简化了通信程序的设计,而且保证了通信的高效和可靠。下位机负责现场的温度的采样和存储,上位机负责循环呼叫下位机,以了解现场情况是否正常,并且每隔一定时间收集下位机存储的数据并对数据进行分析管理。

2.3通讯的可靠性

本系统采用主从结构,利用PC机轮询各节点,能有效解决网络冲突问题。传输数据增加了冗余,并且在所传送的数据中进行了硬件的循环冗余校验。

3 结束语

本系统上位机软件采用Delphi开发,数据库采用Firbird,上位机设计分为组态部分和监控运行部分,可视化直观的界面操作,组态方便,可根据分节点所接传感器数量不同,自由分配通道,利用上位机强大的数据处理能力,进行数据分析和处理,可对各节点进行数据显示、上下限报警、实时趋势显示,具有很大的实际应用价值。

参考文献:

modbus协议范文第2篇

[关键词] Modbus; 监控; 功能码

1 引言

在油库和各种石化单位,定量装车作业十分繁忙,装车操作过程又要求相对精确。更加重要的是,涉及石化产品具有一定危险性。为了提高了装车精度和效率,降低损耗,减轻工人的劳动强度,同时尽可能保证安全作业,本文设计了基于Modbus协议的定量装车自动监控系统,并交付某公司使用。实际应用表明系统监控画面直观,人员操控方便,具备一定的主动安全保障能力。

2 Modbus协议

Modbus通信协议是美国Modicon公司开发的一种通信协议,它采用Master/Slave方式工作,一个主站可以连接多个从站,从站只能根据主站的请求作出相应的应答。它是一种开放、标准、免收许可费的通信协议。目前该协议已经广泛应用于自动化控制和测控仪表,并且已经成为我国工业自动化网络协议规范的国家标准之一。

Modbus协议有2种传输模式,即RTU模式和ASCII模式,相对于ASCII模式,RTU模式表达相同的信息需要较少的位数,且在相同通信速率下具有更大的数据流量,因此本系统选用该模式完成设计与实现。

Modbus协议的采用LRC和CRC两种校验模式来保证控制命令传输无误。本文采用CRC-16校验方式,该方式会根据当前发送或接收的命令字节码,计算对应的2个字节的CRC校验码。并将其加到命令字节码之后一并发送,组合之后的命令字节码格式为:

系统在实现过程中,考虑到最终将会采用普通的X86系列PC机作为监控终端,而该型机都是big-endian方式做多字节数据存储,与Modbus协议要求的little-endian刚好相反, CRC的计算结果必须满足这一要求。本文稍微调整了CRC-16校验码的产生方式如下:

Step1:将0xFFFF装入CRC寄存器;

Step2:将命令字节码的第一个字节与CRC寄存器异或,结果存放在CRC寄存器中;

Step3:CRC寄存器右移1位,高位填充0;

Step4:检查CRC寄存器的最低有效位,如果该位为0,则重复Step3;如果该位为1,则将CRC寄存器的值与0xA001异或;

Step4:重复Step3和4,直到完成8次移位之后,完成命令字节码中的对一个字节的处理;

Step5:对命令字节码的下一个字节重复Step2到Step5的处理,直到所有的字节都处理完成为止;

Step6:最终CRC寄存器中的内容就是该条命令字节码对应的CRC校验值;

例如,某命令字节数据[ 1 | 15 | 0 25 | 0 12 | 2 | 168 3 | 216 120 ]的含义为:给1号地址设备15号命令(写多个线圈),从它的25号起始地址开始(0 25),连续写12个线圈(0 12),写入内容为命令数据区的1010 1000 0011(168 3),根据命令计算出CRC校验码为(216 120)。

3 系统工作原理

本系统采用典型的RS232/485总线将上位机服务器端、上位机客户端以及各个下位机组成一个工业可控以太网,各下位机选取符合Modbus plus规范的相关设备,便于直接获取的操作过程中的各种数据信息,并封装成协议标准进行传输和通讯。主操作界面如图1所示。

系统工作原理框架如下:

(1)下位机通过传感器采集温度计、流量计、比重计等相关数据,并封装成Modbus协议格式数据供上位机客户端查询。

(2)上位机客户端通过串口和桥接器连接各个下位机,利用多线程串口读取函数主动进行数据收集,下位机按照上位机客户端的要求回传相应数据。然后,上位机客户端将收到的数据按功能码进行解析,并以图例、表格、文本等多种形式实时显示和记录。

(3)上位机服务器端通过TCP/IP网络与各个上位机客户端相连,对多个上位机客户端的状态信息进行收集、分析和存档,并通过主动发送命令的方式给上位机指令,进而通过上位机客户端给下位机下达控制命令,达到“监视――控制”双功能。

4 软件系统设计

上位机服务器通过接收Modbus请求,与上位机客户端进行交互,并对操作过程实时监控,利用成熟的数据库管理系统,接收、存储、处理和备份整个过程中产生的所有数据,为客户提供服务,并为进一步的数据分析提供历史依据。上位机服务器端主要功能包括:

(1)系统管理:该模块包括了各类管理员,操作人员的用户注册,授权和管理等等,防止非法操作人员恶意登录造成操作失误,也避免非授权操作员随意更改系统工作参数可能造成系统运行偏差。

(2)数据库管理:该部分模块选择成熟的数据库管理系统SQL Server2005对整个系统运行过程中所需要记录的所有数据信息就行存储和管理,为整个系统的运行和监控提供可靠的数据支持;

(3)系统工作状态显示:该模块负责以图像模拟显示多种数据状态,有利于管理人员实时监控各下位机客户端的操作情况。并且提供多种显示图像帮助管理人员分析各种操作情况,这是系统的核心功能之一, 在实现获取个下位机状态之后,对下位机进行直接控制是系统必需的核心功能之一,虽然在实际装车控制中主要使用的功能码只有2、4、15、16号命令,但是本系统实现了全部Modbus功能码,便于今后对新设备的扩充。。

(4)Modbus协议命令:该模块能够按照标准的Modbus协议,接收来自上位机客户端传送来的Modbus请求,完成数据采集、数据分析和数据存储工作,是系统工作状态显示实现的基础;

(5)安全警报功能:授油工作本身是具备一定危险性的工作,安全责任事故问题必须引起足够的重视。可以根据各种系统状况进行报警处理,保证系统工作状态安全可靠,避免业务事故的发生,并且具备自动报警信息记录功能,收集历史上曾经出现的安全事故信息,为安全人员分析发现安全事故规律,查找安全隐患提供数据支撑。

上位机客户端能有效地按照预定订单号自动完成装车作业,或者在操作员的控制下,进行控制参数设置,定量控制、数据采集、业务受理和报表打印等具体业务。上位机客户端主要功能包括:

(1)实时授油监视:该模块负责实时动画模拟显示整个下位机控制分组内所有鹤管的出油状况,及相关关键参数数值显示。例如:发油订单号、车号、油品类型、参数设定、误差范围等等;

(2)强制发油控制:该模块在特殊情况下,可以人为指定操作指令,以取代自动发油过程,控制启动发油、暂停发油、恢复发油、强制结束等方式来进行特殊操作,扩展控制功能,更加适应实际操作的变化;

(3)业务计划管理:该模块下,客户可以根据预约过的订单号,自动完成装车过程。也可以在没有订单号的情况下,有操作人员生成新的装车业务,并进行结算;

(4)业务查询:该模块按照操作员和客户要求的方式(诸如进行订单号、装车时间、油品类型、装车单位、操作员编号等等)进行多种关键字查询和统计功能,并且自动生成相关联报表。

(5)打印功能:其自定义打印功能,更加贴近实用,可以由用户自主选择打印;

5 结论

本设计采用OOAD思想,用UNL建模,并使用Borland C++作为开发工具,规范化的设计和编程过程,以及大量集成的成熟控件足以支撑本软件系统的快速开发。结果表明,软件系统既可以对标准Modbus功能码进行调试,也可以对自定义功能码进行设置,还可以实时监测和控制下位机状态,并结合数据库功能记录所有关键操作和核心设备配置参数信息,保障差错恢复。系统运行稳定可靠,使用简明方便,很好地满足项目要求。

[参考文献]

[1] AEG Schneider Automatic Inc. Modicon IBM host based devices user’s guide Apr.1996

[2] 张克涵,张呼和,顾李冯.VC环境下的电机状态监测软件设计[J].测控技术2012年第31卷第2期

[3] 吕国芳,唐海龙,李进.基于ModbusRTU的串口调试软件的实现[J].计算机技术与发展 2009年第19卷第9期

[4] 袁辉,李延香.基于Modbus通讯协议数据采集系统的设计[J].科技咨询导报 2007 No.19

[5] 陈柏金.通过串行口访问modbus现场控制网络[J].微计算机信息 2003.19(1)

[6] 王念春.基于Modbus的PC与下位机PLC间的通信程序[J].自动化仪表 第22卷第8期 2001年8月

[7] 徐涛,闫科.基于Modbus协议的串行接口实现与DCS通讯[J].工业控制计算机 2002年4月

[8] 罗朝霞,张高记.基于TMS320F240TA DPS的Modbus通信协议的实现[J].微计算机信息2005.21(72)138-139

[9] 房传礼,李建华.基于Modbus协议的大屏幕在线监视系统设计[J].自动化与仪表 2010年7月

[10] 卢文俊,冷杉.基于Modbus协议的控制器远程监控系统[J].电力自动化设备 2003年第23卷第6期

[11] 甑君,卫强,于耀.应用多线程技术实现串行通信与信号采集识别的同步[J].计算机工程 2003(10)196-197

[12] 李俊,徐红兵.基于Modbus协议的汽轮机保护系统通讯设计[J].自动化与仪表 2006年7月

[13] 方羽,梁广瑞.基于uCOS的Modbus协议的实现.装备制造技术[J] 2009年第1期

modbus协议范文第3篇

关键词:MODBUS PLC 变频器

中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2012)02-0072-02

1、引言

MODBUS作为一种简单易用的通讯协议已经越来越多的应用在各类仪器仪表中,下面笔者以西门子公司的S7200PLC通过自由口与ABB公司的ACS510变频器使用MODBUS协议进行通信为例,对MODBUS通讯的应用进行叙述,以期达到抛砖引玉的效果。

2、硬件配置

图1给出了SIMATIC S7-200CPU与四台ABB ACS510变频器构成的MODBUS网络。S7-200CPU为主工作站。变频器1、变频器2,变频器3和变频器4为从工作站。设置变频器的通讯协议参数9802均为1,即变频器通过RS485串行通讯口和MODBUS总线相连。设置通讯速率参数5303为19.2kb/s。设置校验方式参数5304为偶校验,1个停止位。设置控制类型参数5305为 ABB传动简版。从左到右变频器1、2、3和4的站地址参数5302分别设置为3、4,5和6,并将变频器4的总线终端电阻DIP开关置ON。在对变频器以上参数设置完成后应对传动重新上电激活,使新地址及通讯协议生效。

变频器控制要求:

变频器分现场和远程两种控制模式,现场控制柜设置三位置模式选择开关,分别为停止、本控和远程。在本控模式下启动/停止命令由现场开关触发数字输入DI1控制,频率由现场的电位器改变模拟输入AI1的输入电压进行调节。当选择远程模式时,数字输入DI2接通,通知PLC现变频器已经处于远程控制模式。为能够实现以上功能并在人机界面能够观察到变频器的运行频率和通过模拟输入AI2输入的实际流量,还需要对变频器其他部分参数进行设置,见表1。

3、程序设计

3.1 通讯内容

主工作站轮流发送请求报文到每个变频器从工作站,随之每个从工作站产生响应报文。PLC主工作站分别对每个变频器从工作站进行如下操作:

(1)对每个变频器的输出线圈1~3的状态进行查询;

(2)查询变频器状态寄存器40004状态字、40005实际值、40006实际值和40007实际值。40005~40007数据值对应于表1中变频器参数5310、5311和5312中的实际值。

(3)写变频器控制字,对变频器的远程启停进行控制。

(4)写变频器寄存器,对变频器的外部2给定进行控制。

对一个变频器的数据全部读写完成后,开始对下一站号变频器的数据进行读写。当所有变频器的数据读写完成后,主工作站重新开始对最小站号变频器的数据进行读写。数据的传输及接受采用PLC自由通讯口模式进行,报文按照modbus的协议组织。

3.2 通讯格式

MODBUS请求报文格式如表2。

因在S7-200PLC发送指令XMT中,发送缓冲器的第一个字节指定的是数据传输的字节数,从第二个字节以后的数据为需要发送的数据。因此,结合MODBUS请求报文格式,PLC发送数据的格式如表3。

在整个网络通信过程中,主工作站轮流发送请求报文到每个从工作站,随之每个从工作站必须产生响应报文返回到主工作站。当主工作站向从工作站发送请求报文和接受从工作站返回的响应报文时,在主工作站储存区开辟了发送缓冲区和接受缓冲区。主工作站向从工作站发送请求报文时,首先对相应从工作站输出缓冲区的数据进行CRC运算生成校验码,并将校验码叠加在输出缓冲区的数据之后再传送到发送缓冲区,然后再由发送指令发出。建立一个远程循环结束标志位,当响应报文全部接受完成,置该位为ON。主工作站在接受从工作站的响应报文时,先把响应报文输入到接受缓冲区,再把接受缓冲区中的数据传送到输入缓冲区。为此,在主工作站中要留有两个数据存储区,一个作为报文请求(输出缓冲区),另一个作为报文响应(输入缓冲区)。

在MODBUS RTU通讯协议中都必须要求有CRC循环冗余校验。CRC循环冗余校验为两个字节,附加在报文后面的CRC的值由发送设备计算,当放置CRC 值于报文时,高低字节必须交换。首先发送低位字节,然后再发送高位字节。故此在发送缓冲区中的数据要比输出缓冲区的数据多两个CRC循环冗余校验字节。接收设备在接收报文时重新计算CRC的值,并将计算结果于实际接收到的CRC值相比较。如果两个值不相等,则传送的数据为错误。

3.3 程序描述

SBR0子程序:在PLC上电初始化阶段,设置通讯口为自由口通信方式,并设置波特率及校验方式,允许全部中断时件,并设置定时中断的时基为20毫秒。在这里设置波特率为19.2KB/S,偶校验,每字符8个数据。注意必须与从工作站的通讯参数相同。为输出和输入缓冲区的数据地址建立间接寻址指针。并设置请求报文的剩余数目为4,设置从工作站的查询剩余数目为4。

将输出缓冲区指针中指出的地址为起始地址的12个字节通过块传送命令传送到发送缓冲区单元中。并复位远程循环结束标志位。

对发送缓冲区中的报文进行运算生成CRC,交换CRC 寄存器中的高低字节,并将交换完成的CRC 寄存器叠加到发送缓冲区中。

启动定时中断和发送中断,并通过发送指令将发送缓冲区中的请求报文发送。

建立跳转入口,标号1。

若循环未结束,跳转到标号1。程序不向下执行,直至远程循环结束,标志位为ON。

远程I/O更新完成,将接受的报文通过块传送命令传送到接受缓冲区指针指出的接受缓冲区中。

修改发送缓冲区和接受缓冲区指针值,指向下一个输出和输入缓冲区字节地址。将请求报文的剩余数目减1。

当请求报文的剩余数目为零时,重新设置请求报文的剩余数目为4,将从工作站的查询剩余数目减1。

当工作站的查询剩余数目为零时,重新设置从工作站的查询剩余数目为4,为输出和输入缓冲区的数据地址重新建立间接寻址指针。

INT_0中断程序:在接受报文超时情况下,禁止接受中断和接受定时中断,置远程循环结束标志位为ON。

INT_1中断程序:在发送超时情况下禁止发送中断和发送定时中断,置PLC为STOP模式。

INT_10中断程序:禁止发送完成中断,启动接受定时中断INT_0和接受数据中断程序INT_11。

INT_11中断程序:若接受的首字符(从工作站地址)为从工作站的正确地址,则建立一个接受字符的地址指针。并把接受到的字符装入到接受字符指针指出地址中。增加指针的数值,指向下一个地址。并启动中断程序INT_12。

INT_12中断程序:把接受到的第二个字符(功能码)装入到接受字符指针指出地址中,增加指针的数值,指向下一个地址。启动中断程序INT_13。

INT_13中断程序:把收到的第三个字符(字节数)装入到接受字符指针指出地址中,并修改指针值。第三个字符为接受的不含CRC校验码字符的总数目,剩余接受字符数目为将字节数加2,若反馈的功能码为十六进制数0F,全部剩余字符数目为5。将全部剩余字符数目置入到累加器AC1中,当累加器AC1为零时,接收字符也就完成。启动中断程序INT_14。

INT_14中断程序:将接受到的字符装入接受字符指针指出地址中,并修改地址指针值和将将累加器AC1数值减一。若累加器AC1的数值为零。则关闭字符接受中断和定时中断,并将远程循环结束标志位置ON。

4、结语

该系统自投入在线运行以来,系统调节迅速且运行稳定,并取得了良好的经济效果,在助剂添加中具有较高的推广价值。

参考文献

[1]殷洪义.可编程序控制器选择、设计与维护.机械工业出版社,2002年.

[2]S7-200可编程控制器系统手册.2004年.

modbus协议范文第4篇

关键词:modbus协议;温度采集;水泵房;S7-300PLC

中图分类号:TN915 文献标识码:A

0.前言

钱家营矿的涌水量比较大,共设置了3个水平的泵房,伴随着全自动化矿井的建设,需要对-600水泵房和-850水泵房进行升级改造,水泵和电机的温度参数保证着水泵的安全运行,每个水泵房共设置10台排水泵,每台水泵通过YBD-200温度巡检仪进行温度采集,该仪表采用的是modbus协议通过RS485总线接口传输到PLC,经过PLC处理,传输到地面上位机实时显示。

1.温度巡检仪通信协议

YBD200型仪表采用的是标准modbus协议,RTU传输模式。Modbus协议是一种主-从通信协议。任何时刻只有一个设备能够在线路上进行发送。由主站点管理信息交换,且只有它能发起。它会相继对从站进行轮询。除非被主站批准,否则任何从站都不能发送消息。从站之间不能进行直接通信。协议帧中不包含任何消息报头字节或消息字节结束符。

1.它的定义如下(见表1):

从站地址:消息中的地址包含一个字节,从站地址范围是1…255。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备做出回应。数据:以二进制代码传输。CRC16:循环冗余错误校验。采用的是9600bps的波特率。字节数据格式:一位起始位,八位数据位,一位偶校验位,一位停止位。从站地址编号:仪表地址必须在1~255之间,且同一总线上,每个仪表的地址不可重复。当字符间隔时间长于或等于3.5个字符时,即作为检测到帧的结束。

2.读取寄存器

主站请求(表2):

从站响应(表3):

例如温度巡检仪的地址为10,利用串口调试软件Com Monitor,进行发送数据:0A 03 00 00 00 07 05 73得到的数据为:0A 03 0E 00 C6 00 BA 01 0B 01 3C 01 8F 01 8F 01 8F DC ED,表示该仪表通信正常。

3.硬件组成和接线

水泵的电控系统主要由一台集控柜和10台就地柜等组成,集控柜安装有315-2DP的CPU模块和CP343-1的以太网模块、CP340-RS422/RS485通信模块以及数字量、模拟量输入输出模块等,温度探头选用的是Pt100铂电阻类型的,把7点的温度数据接到YBD-200型温度巡检仪对应的端子上,一共采集10台水泵的温度数据,每块温度巡检仪均通过RS485总线接至集控柜中CP340-RS422/RS485的接口上,把10块温度巡检仪的A端并联的一起接到CP340-RS422/RS485的1#端子,B端并联的一起接到CP340-RS422/RS485的2#端子即可,并且需要把CP340-RS422/RS485的5#端子进行接地处理,抗干扰能力强。

4. PLC程序的编写

现场使用YBD-200型温度巡检仪的地址编号为4-13,为了防止数据的读取错误,编写主站PLC程序时,可通过增计数器进行从站地址4-13的轮询,并设置0.5s时钟寄存器进行控制。为了保证发送报文的准确性,发送报文之前先利用事先编好CRC校验子程序检验一下,CRC校验子程序采用的是CRC16算法。

PLC与温度巡检仪主要通过调用FB2、FB3系统块实现主从站的请求和读取功能。需要注意的是,调用FB2、FB3时,地址为CP340-RS422/RS485硬件组态时的地址352;主站请求时从DB3数据块中的DBB0字节开始调用,字长为8。主站读取从站数据时,从DB8数据块中的DBB0字节开始写入,DB8块数据先进行CRC子程序检验其正确性,然后再编程实现分组对应到DB7数据块中,从DB7.DBD0字节定义存储温度巡检仪4#地址数据,依次是电机前轴、电机后轴、泵前轴、泵后轴、定子A相、定子B相、定子C相。依次类推,从DB7.DBD28开始存储5#地址的7点温度数据,一共存储10台水泵的温度参数。

通过CP343-1以太网模块将PLC中的数据可以全部接入全矿自动化平台进行数据共享,上位机利用西门子公司的wincc6.2进行编写绘制,通过编程实现将DB7中的温度数据全部读取到wincc中,同时也可以增加其他的故障信息。

结语

本文通过modbus协议RS485总线技术实现了现场温度的采集,但在现场使用中发现,温度巡检仪的地址是固化的,如若巡检仪损坏后,互换性较差,先已进行温度巡检仪的升级,使每台温度巡检仪的地址可在0~255之间任意调整,并将温度巡检仪使用的RS485总线模块更换为MAX485具有光电隔离功能,大大增加了设备的安全性和稳定性。

参考文献

[1]史运涛,孙德辉,李志军,等.基于Modbus协议的通信集成技术研究[J].化工自动化及仪表,2010,37(4):67-72.

modbus协议范文第5篇

关键词:PLC,modbus,自动化

 

1、引言

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。论文参考,modbus。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

因此,Modbus协议具有适用性广泛,使用灵活,同时还具备实时纠错等多种优点,应用在打印适配板与PLC通讯中可以自如的设定其数据格式,并有效防止打印乱码等打印故障的产生。

2、设计方法

本设计采用打印适配板作为主站,S7-200 PLC做从站的方式,由打印适配板主动读取PLC中的数据,并根据数据内容来决定打印的格式、时间、打印字符内容。

2.1 modbus通讯帧的结构

本设计采用消息帧采用RTU模式,其结构如下:

① 因其消息发送至少要以3.5个字符时间的停顿间隔开始,所以其起始位为T1-T2-T3-T4。

② 设备地址标示主机下从站的地址,如可以将从站S7-200地址 设为16(如右图)。

③ 功能代码为该消息所要实现的功能

例如:一从主设备发往从设备的消息要求读一组保持寄存 器,将产生如下功能代码:

0 0 0 0 0 0 11 (十六进制03H)

对正常回应,从设备仅回应同样的功能代码。对异议回应,它返回:

1 0 0 0 0 0 11 (十六进制83H)

除功能代码因异议错误作了修改外,从设备将一独特的代码放到回应消息的数据域中,这能告诉主设备发生了什么错误。

④从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的所为。这包括了象不连续的寄存器地址,要处理项的数目,域中实际数据字节数。

⑤当选用RTU模式作字符帧,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。故CRC的高位字节是发送消息的最后一个字节。

2.2 modbus协议的通讯周期

查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。论文参考,modbus。论文参考,modbus。

如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。

2.3 PLC modbus库初始化的设置

其中:

Mode: 输入数值1将端口0指定给Modbus协议并启用协议;将输入数值0指定给PPI,并禁用Modbus协议。

Addr:S7-200作为从站的地址。论文参考,modbus。

Baud:通讯的波特率。

Parity: 0-无奇偶校验,1-奇数奇偶校验,2-偶数奇偶校验。

Delay: 数通过将指定的毫秒数增加至标准Modbus讯息超时的方法延长标准Modbus讯息结束超时条件。

MaxIQ: 参数将供Modbus地址00xxxx和01xxxx使用的I和Q点数设为0至128之间的数值。数值0禁用所有向输入和输出的读取。

MaxAI: 参数将供Modbus地址03xxx使用的字输入(AI)寄存器数目设为0至32之间的数值。数值0禁用模拟输入的读数。

MaxHold: 参数设定供Modbus地址04xxx使用的V内存中的字保持寄存器数目。

HoldStart:即打印适配板存取V内存中保持寄存器的起始地址。设置为&VB100,而MaxHold为25,所以VB100-VB200将被打印适配板所使用,编程时需避免与其冲突。

2.4 打印适配板的控制

打印适配板会持续读取VB100-200中所储存的信息,以做出其动作判断。因此,向规定地址中写入数据,就可以控制打印系统的运行。

如将”20”送入VB125,即可启动打印板的数据记录

VD136,VD140,VD144即为数据被打印适配板所读取的地址。

打印适配板将打印报表的格式固化在打印板中,接受到数据采集结束信号以后,会将本次数据储存,并在接到打印信号以后将其打印在报表的固定位置。论文参考,modbus。

3、结束语

Modbus工业协议因其适用性广泛、简单易用,通讯较为可靠等优点,在现代自动化设备与工业控制领域得到了广泛的应用。而在传统的PLC数据打印方式中,数据受到干扰时微打无法判断接收的是否正确,经常造成打印异常,表现为乱码、微打不打印等故障。论文参考,modbus。采用Modbus协议以后,就可以有效的避免这些问题的产生,使得需严格数据保存的自动化设备的可靠性得以保证。

参考文献

[1]SIEMENSSIMATICS7-200可编程序控制器

[2]MODBUSoverseriallinespecificationandimplementationguideV1.0modbus.org

[3]华镕编著从Modbus到透明就绪—施耐德电气工业网络的协议、设计、安装和应用机械工业出版社2009

[4]中国国家标准化管理委员会基于Modbus协议的工业自动化网络规范中国标准出版社2004

相关期刊更多

粉末冶金技术

北大期刊 审核时间1-3个月

中国科学技术协会

压力容器

统计源期刊 审核时间1-3个月

中国科学技术协会

稀有金属材料与工程

北大期刊 审核时间1-3个月

中国科学技术协会