基于Modbus协议的电火花控制系统

上传人:l****6 文档编号:37652987 上传时间:2018-04-20 格式:DOC 页数:7 大小:32.50KB
返回 下载 相关 举报
基于Modbus协议的电火花控制系统_第1页
第1页 / 共7页
基于Modbus协议的电火花控制系统_第2页
第2页 / 共7页
基于Modbus协议的电火花控制系统_第3页
第3页 / 共7页
基于Modbus协议的电火花控制系统_第4页
第4页 / 共7页
基于Modbus协议的电火花控制系统_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于Modbus协议的电火花控制系统》由会员分享,可在线阅读,更多相关《基于Modbus协议的电火花控制系统(7页珍藏版)》请在金锄头文库上搜索。

1、1基于 Modbus 协议的电火花控制系统摘要:提出了一套基于 Modbus 协议的总线控制系统,分析了 Modbus 协议的特点,介绍了 Modbus 协议的内容及通信过程,给出了系统的软件实现方法,包括系统流程图及部分校验代码。 关键词:Modbus,现场总线,电火花,RTU0.前言国内的大多数电火花设备由于实时性等方面的要求,控制系统均是基于 dos环境设计,这种系统能满足电加工的基本要求,但也大大影响了人机交互的改进以及远程通信等现代控制的要求;模块化结构可裁减性强,便于满足不同用户的需求,是系统深入发展的良好基础;专业化的信号采集设备及检测装置成为系统稳定和可靠运行的保障;应用网络技

2、术,可做到信息处理综合化,智能化;与此同时,VB、VC 以及各种组态软件的发展为人机界面及总线控制的发展的提供了良好的开发环境,使我们能够设计出更为合理及人性化的系统。本文试图将现场总线理论应用于电火花加工机床,并最终通过使用 Modbus 协议实现各设备之间的互联。4现场总线是应用在生产现场,在微机化测量控制设备之间实现双向串行多节点数字通信的系统,也被称为开放式,数字化,多点通信的底层控制网络。56在整个工厂的控制网络中,现场总线处于重要的基础地位。1.控制系统结构21.1 系统基本结构现场总线控制系统一般采用上位计算机结合下位智能仪表来实现控制功能。在本系统中,由于系统的检测装置简单易用

3、,因此采用微控制器来读取信号并最终传输给上位机。一般来说,总线系统主要包括变送器,总线和检测站。在本套系统中,微控制器和检测装置成为智能仪表即变送器,它作为从机使用,但确是系统的核心部件,而上位机即检测站主要完成人机交互的任务以及一些优化、复杂计算和控制的功能。个性化的人机界面以及标准化的总线结构设计,可方便的扩展系统的控制功能。整套系统结构图如图 1 所示,系统最主要包括一个服务器,一台 pc 机,三个微控制器及相关检测设备。图 1 系统结构图这几层的工作主要包括:1.最底层为数据采集层,需要从现场采集实时的数据,比如油温,油面高度等。三个微控制器作为现场控制层的核心器件,每个被赋予唯一的本

4、机地址用以识别身份。微控制器即变送器也是整个系统的核心设备,其作用主要是采集间隙电压,液位油温,限位报警,手控盒控制等实时数据,自动实现伺服控制,自动灭火,风扇开关,定时抬刀等功能,并同时将数据输出到 modbus 现场总线测控网络。32.现场控制层的任务是将所有的加工状态通过双脚电缆送至控制室的监控计算机,组成现场总线网络,而在此网络中,所有传输的信息均遵循 modbus 协议。Modbus 现场总线将现场变送器和检测站连接成一个测控网络,实现电火花加工的监测计量与管理。3.工厂监控层安装人机界面软件,负责监视所有加工参数即电规准,以及所有相关数据的显示及键盘输入信息处理等人机交互过程。pc

5、 机作为监控计算机,通过以太网连接到远程管理中心,实现向上进行网络运行;监控计算机可以安装moden,通过现场进行单击操作。4.最上层为远程管理层,可以由以太网,top 等局域网段组成,一般设服务器,pc 机与服务器之间通过以太网卡,网关相连,也可通过路由器连接至广域网。服务器是系统的外扩部分,可以选用。1.2 物理实现目前,可以通过下列三种方式实现 Modbus 通信:以太网上的 TCP/IP;各种介质(有线:EIA/TIA-232-F、EIA-422、EIA/TIA-485-A;光纤、无线等)上的串行链路上传输;ModbusPLUS,一种高速令牌传递网络。选择何种实现方式主要是依据他所连接

6、的设备所处的地位。一般采用标准的 232 口即可,但由于计算机上的 rs232传送的距离不超过 30m,因此可以选用 485 接口。除此之外,422 口也为标准串行数据接口,表 1 列出了他们之间的主要差别。本套系统采用了隔离的 RS-485 通信方式来提供对 Modbus 的硬件支持。4表 1 有线介质传输性能对比表Modbus 系统是一种主从网络,容许一个计算机和一个或多个从机通信。当在Modbus 网络上通信时,每个控制器都有自己的设备地址,主机识别按地址发来的消息,并决定要产生何种行动。当在其他网络上传输时,包含了 Modbus 协议的消息转换为在此网络上使用的帧或包结构。此时,控制器

7、既可以作为主设备也可以作为从设备,但不能两者同时兼备。根据各种设备的不同接口,总线上还可以串联打印机等设备,也可以将这些设备直接连接至监控计算机的打印机端口或 USB 口,实现通信。芯片要根据所接收的信息进行选择,如果是数字量,则最常见的单片机或 pic微控制器等均可选用,如果是模拟量如间隙电压,则要选择带模拟端口的芯片。电缆选择可以根据所选择的传输通道及距离来确定,这里选用的是带屏蔽的双绞电缆。2Modbus 协议Modbus 协议是 OSI 模型第七层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。互联网组中已经保留 TCP/IP系统端口 502 用以

8、访问 Modbus,Modbus 协议已经成为一种流行的工业控制传输标准。52.1 协议内容Modbus 协议定义了消息与格式和内容的公共格式,主要采用命令/应答方式,每一种命令报文都对应着一种应答报文,命令报文由主站发出,当从站收到后,就发出相应的应答报文进行相应。Modbus 的信息帧包括站点、字节长度、功能码、操作地址、操作数据、CRC 校验值等。在 Modbus 系统中有两种有效的传递模式即 ASCII(美国标准信息交换码)和 RTU(远程终端装置)模式。内容格式及字符长度如下:2由于 RTU 模式传输位数少,使用方便,本文内容均采用 RTU 模式。2.2 通信过程Modbus 主从节

9、点之间通信过程大致为:(1)从节点通过特定的端口与主节点建立连接,等待接收主节点发送的请求帧信号。(2)主节点根据实际需要达到的目的选择合适的功能,将其对应的功能代码保存在 ADU 的功能代码域,把必要的参数和子功能代码保存在数据域中,并将传输标志、协议标志、数据长度等存放在标志域中,从而组成一个完整的数据帧发送到从节点。(3)从节点对收到的请求帧经过错误检测后,根据协议的规定将其分解成基本功能单元,并按照功能代码的要求完成特定的操作,最后还要返回一个功能回应信号。如果请求帧或某一步操作出错,就返回一个错误报告。完备的出错应答是Modbus 的一个特点,这有利于通信主节点判断通信的错误原因,从

10、而将其排除,6保证通信可靠进行,提高通信成功率。33.软件实现软件实现时包括:初始化关键字,包括波特率设置,数据位数,停止位数,奇偶校验模式等,总线上所有的 master 及 slave 的以上设置应完全一致。Modbus 编程主要需处理好校验码的生成及数据包开始标志的检测。33.1 地址定义通信程序必须处理好数据报开始的标志,因为每次主机发送数据时,所有的从机都会接收到信息,但只有地址相同的从机才会响应,因此地址的判别至关重要。在两个数据包之间 modbus 协议将提供 3.5 帧的空闲时间,此时,总线上所有的从机要做好接收准备,一旦主机有数据包发出,从机立刻接受此数据。这当中的第 1帧即为

11、地址帧。从机记录该地址并判断是否执行该功能。通常,程序中会设置一个 3.5 帧计时器,当线路上有数据时计时器不计数,一旦线路空闲则计时器计数开始,直至该计时器停止计数,这时线路上开始有数据包发出,这第一帧数据即为地址帧。值得注意的是,3.5 帧时间并非常数,应根据传输速率及帧校验方式(奇偶校验或无校验)而定。表 2ASCII 模式传输格式表 3RTU 模式传输格式73.2 功能码定义客户所请求的服务和服务器所提供的服务均通过功能码(FunctionCode)标识。Modbus 功能码分三种,即公共功能码、用户自定义功能码和保留功能码,公共功能码是已定义的功能码,保证其唯一性,包含现存已定义的公

12、共指配功能码和未来使用的未指配保留功能码。用户定义功能码有两个定义范围,即 65至 72 和十进制 100 至 110。用户没有 Modbus 组织的任何批准就可以选择和实现一个功能码。保留功能码是一些公司对传统产品通常使用的功能码,并且对公共使用是无效的功能码。为使用方便,在本套系统中,我们仅编写 Modbus 协议中的三个公共功能码,包括写单个寄存器 0x06,读多个寄存器 0x13,读写多个寄存器 0x17。以写单个寄存器为例,请求信息为响应为函数流程图如下:8图 2 系统响应流程图除此之外,我们还可以扩展其他功能,比如利用读文件记录 0x20,写文件记录 0x21 两个功能码来存储系统

13、的相关信息,如故障记录,使用过的规准查询,各设备使用情况等。3.3 校验码的生成根据传输模式的不同,系统需要产生不同的校验码(checksum),ASCII 模式采用 LRC 校验(LongitudinalRedundancyCheck)而 RTU 采用 CRC 校验(CyclicalRedundancyCheck),实现这两种方法的函数均可以在相关资料中找到。下面是用 C 语言设计的 CRC 校验,其中 Unsignedchardata 为指向讯息缓冲区(buffer)之指针 Unsignedcharlength 为讯息缓冲区中位元组数目,而产生的返回值reg-crc 即为回传之校验码。2u

14、nsignedintcrc_chk(unsignedchardata,unsignedcharlength)intj;unsignedintreg_crc=0xFFFF;while(length)reg_crc=data+;9for(j=0;j1)0xA001;elsereg_crc=reg_crc1;returnreg_crc;4.总结通过上述系统,希望能与先进控制设备实现对接,从而提高系统的改进速度,使机床整体性能得到提升。本文作者创新点:将 modbus 这项广泛应用的协议用于电火花加工机床,并在加工中取得了很好的加工效果,提高了整体机床的自动化程度。5.参考文献(1)朱小襄.Modbus 通信协议及编程.电子工程师,vol.31.No.7jul.2005(2)台达 VFD-M 变频器使用手册(3)基于 Modbus/TCP 协议通信节点的实现.机床与液压,2004.No.1210(4)杨大勇.电火花成形加工数控系统的研究.电加工与模具,2003 年第 1 期(5)鲍吉龙,叶平.工业监控系统的网络化发展.微计算机信息,2006 年第 6-1 期,P66-68(6)阳宪惠.现场总线技术及其应用.北京:清华大学出版社,2000(7)陈维刚.一种工业以太网与现场总线协议转换器的研制.仪器仪表学报,第26 卷第 5 期

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号