版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EPEEquipmentforElectronicProductsManufacturing电子工业专用设备·专用设备自动化设计·基于VB语言的MODBUS/TCP-IP通讯模块的开发田召(西安理工大学晶体生长设备研究所,陕西西安710048)摘要:MODBUS/TCP是简单的、中立厂商用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MOD-BUS报文的用途。协议的最通用用途是为诸如PLC,I/O模块,以及连接其它简单域总线或I/O模块的网关服务的。关键词:MODBUS/T
2、CP;TCP/IP协议;I/O模块;以太网中图分类号:TP315文献标识码:A文章编号:1004-4507(2009)10-0041-05DevelopmentofMODBUS/TCPCommunicationModuleBasedonVBTIANZhao(XianUniversityofTechnologyCrystalGrowingEquipmentInstitute,Xi'an710048,China)Keywords:MODBUS/TCP;TCP/IPprotocol;I/Omodule;EthernetModbus/TCP规范在万维网上公开发行。它表明开发者的意愿是把它作为工
3、业自动化领域具有互用性的标准。既然MODBUS和MODBUS/TCP作为事实上的“实际”标准,而且很多生产商已经实现了它的功能,此规范主要是阐述在互连网上具有收稿日期:2009-09-28普遍可用性的基于TCP通讯协议的MODBUS报文的特殊编码。MODBUS/TCP协议是作为一种(实际的)自动化标准发行的。MODBUS已经广为人知,该规范只将别处没有收录的少量信息列入其中。然而,本规(总第177期)41·专用设备自动化设计·电子工业专用设备EquipmentforElectronicProductsManufacturingEPE范力图阐明MODBUS中哪种功能对于普通自
4、动化设备的互用性有价值,哪些部分是MODBUS作为可编程的协议交替用于PLC的“多余部分”。它“一致性等级”,区别那些普遍通过将配套报文类型适用和可选的,特别是那些适用于特殊设备如PLC的报文。本文主要针对自主研发的专业控制系统,使用MODBUS/TCP协议实现了上位机与PLC之间的安全、稳定的连接通讯,并在生产中大量应用,性能可靠、稳定,改进了以往落后的连接通讯方式。Modbus协议是应用于电子控制器上的一种通通过此协议,控制器相互之间、控制器经由用语言。网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议
5、定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来控制的消息,决定要产生何种行动。如果需要回应,在其它网器将生成反馈信息并用Modbus协议发出。络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。的数据对象之间的差别并不意味着任何应用性能如果这是我们所讨论的目标机械的最自然的
6、不同。的解释,那么认为4个基本表是相互覆盖的看法也是非常普通而完全可以接受的。对于每一个基本表,协议允许单独选择65536个数据对象中的任何一个,而且对那些对象的读写操作可以跨越多个连续的数据对象,直至达到基于处理事务功能代码的数据大小限制。这里没有假定数据对象代表一种真正邻接的数据阵列,而这是大多数简单PLC的解释。功能代码被定义为携带32位“读写常用参考”的参考值并且能允许在“非常”大的空间里可以直接访问数据对象。现在没有可以利用这一特点的PLC设备。一个易造成混乱的潜在来源是用于MODBUS功能的参考值和用于ModiconPLC的“寄存器值”之间的关系。由于历史原因,用户参考值使用从1开
7、始的十进制数表示。而MODBUS采用更普通的于从0开始的无符号整数进行软件数据整理分析。是,请求从0读取寄存器的Modbus消息将已知值返回建立在寄存器4:00001(存储类型4=输出寄存器,参考值00001)中的应用程序。所有的MOD-BUS请求和响应都被设计成在此种方法下工作,即接收者可确认消息的完整性。对于请求和响应为固定长度的功能代码,仅发送功能代码就足够了。对于在请求和响应中携带不定长数据的功能代码,数据部分前将加上一个字节的数据统计。当Mod-bus通过TCP运送,前缀中携带附加的长度信息以便接收者识别消息的边界,甚至消息被分成若干组以进行传输。外在的和隐含的长度准则的存在,及CR
8、C-32检错代码(以太网)的使用使请求和响应消息中发生未被识别的错误机率减至无限小。1.2基本连接元件(1)基于MODBUS/TCP通讯的PLC通讯模块(2)带有以太网通讯接口的上位机(3)如果有多余的外围设备,可以增加一个小型的交换机,方便设备之间的连接(4)当上位机上有指令时,系统通过MOD-BUS/TCP协议由连接各个设备之间的网线传送指1MODBUS/TCP系统工作原理1.1MODBUS数据模型建立MODBUS将其数据模型建立在一系列具有不同特征表的基础之上。这4个基本表为:只读离散输入单比特,由I/O系统提供,离散输出单比特,由应用程序更改,读写数值,由I/O系统提供,输入寄存器16
9、比特,只读输出寄存器16比特,数值,由应用程序更改,读写输入和输出之间以及可寻址位和可寻址代码(总第177期)EPEEquipmentforElectronicProductsManufacturing电子工业专用设备·专用设备自动化设计·因而处理示例“以4的偏移从UI9读1寄存令到终端PLC,再由PLC去驱动最终的设备完成上位机发出的指令1.3协议结构本部分阐述了通过MODBUS/TCP网络携带的MODBUS请求和或响应封装的一般格式。必须注意到请求和响应本体(从功能代码到数据部分的末尾)的结构和其它MODBUS变量具有完全相同的版面格式和含义,如:MODBUS串行端口-
10、ASCII编码MODBUS串行端口-RTU(二进制)编码MODBUSPLUS网络数据通道其它案例仅在组帧次序、检错模式和地址描述等格式有所不同。所有的请求通过TCP从寄存器端口502发出。请求通常是在给定的连接以半双工的方式发送。也就是说,当单一连接被响应所占用,就不能发送其它的请求。有些装置采用多条TCP连接来维持高的传输速率。然而一些客户端设备尝试“流水线式”的请求。允许服务器以这种方式工作的技术在附录A中阐述。MODBUS“从站地址”字段被单字节的“单元标识符”替换,从而用于通过网桥和网关等设备的通讯,这些设备用单一IP地址来支持多个独立的终接单元。请求和响应带有六个字节的前缀,如下:b
11、yte0:事务处理标识符由服务器复制通常为0事务处理标识符由服务器复制通byte1:常为0byte2:协议标识符=0byte3:协议标识符=0长度字段(上半部分字节)=0(所有的byte4:消息长度小于256)byte5:长度字段(下半部分字节)=后面字节的数量byte6:单元标识符(原“从站地址”)byte7:MODBUS功能代码byte8on:所需的数据返回5的值将是器”请求:000000000006090300040001响应:0000000000050903020005一致性等级0-2的功能代码的应用例子见后续部分熟悉MODBUS的设计师将注意到MOD-BUS/TCP中不需要“CRC-
12、16”或“LRC”检查字段。而是采用TCP/IP和链路层(以太网)校验和机制来校验分组交换的准确性。2系统实现的软、硬件设计2.1硬件设备的连接由于本系统在实验过程中使用的是施耐德的产品,所以在这里仅以施耐德的PLC为例(见图1)。交换机上位机PLC电机1电机2电机3电机4图1硬件设备连接示意图2.2通讯软件程序的设计及实现(1)针对带以太网接口的PLC和上位机之间进行了软件设计;(3)由于本软件系统是自主开发的用于工业生产,所以考虑到安全性问题,上位机的软件采用了(总第177期)43·专用设备自动化设计·电子工业专用设备EquipmentforElectronicProd
13、uctsManufacturingEPEVB高级语言来完成,这样就可以替代组态软件的单调和不安全问题;(4)简单的通讯程序流程图(见图2);开始初始化连接CopyMemoryByValVarPtr(ftemp(0),d,4Tx_Buf(0)=0Tx_Buf(1)=0Tx_Buf(2)=0Tx_Buf(3)=1tmCtr1.tmwrData=Tx_BuftmCtr1.tmwrPlcAddr=100tmCtr1.tmwrDataNum=2是否收到信息是接受信息并存入缓冲区否tmCtr1.tmWriteEndSubPublicFunctiontcpwrite()Dimc(1)AsBytec(0)=T
14、ext2.TextMod255c(1)=Text2.Text/255tmCtr1.tmwrPlcAddr=100tmCtr1.tmwrDataNum=1tmCtr1.tmwrData=ctmCtr1.tmWriteEndFunctionPrivateSubForm_Load()Me.Top=0Me.Left=0取出功能字读数据取出对象标识将数据从相应存储位置读出写数据取出对象标识将数据定入相应存储位置将信息写入发送缓冲区返回应答信息结束图2通讯程序流程图(5)部分软件的功能代码;PublicaAsBytePrivateSubCommand1_Click()tmCtr1.tmrdPlcAddr=
15、100tmCtr1.tmrdDataNum=125tmCtr1.tmReadEndSubPrivateSubCommand2_Click()ReDimTx_Buf(3)'Dimftemp(3)AsByte(总第177期)PrivateSubTimer1_Timer()'Rx_Len=BaseLen'Rx_Addr=BaseAddr'tmCtr1.tmwrPlcAddr=Tx_Addr'tmCtr1.tmwrDataNum=Tx_LentmCtr1.tmrdPlcAddr=BaseAddrtmCtr1.tmrdDataNum=125tmCtr1.tmRea
16、dEndSubEPEEquipmentforElectronicProductsManufacturing电子工业专用设备·专用设备自动化设计·tmCtr1.tmrdPlcAddr=100tmCtr1.tmrdDataNum=125tmCtr1.tmReadEndSubPrivateSubtmCtr1_rdComplete()ReDimRx_Buf(250)DimbAsVariantFori=oTo250Rx_Buf(i)=tmCtr1.tmRX_Buf(i)ConvertUnitelwayRxDatab=b&Rx_Buf(i)NextiText1.Text=bEn
17、dSubPrivateSubtmCtr1_tmState()'Text1.Text=tmCtr1.tmConnStatePlcSta=tmCtr1.tmConnStateEndSub(6)一个测试界面见图3。(上接第15页)由于大部分的通讯代码已做成控件,所以无需了解具体的通讯方式就可以很简单,很方便地应用控件实现modbustcp/ip通讯。在这里也就不累赘了。3结束语本文采用vb实现了modbustcp/ip通讯,而且此方式已经在生产中应用,在此基础上对人机界面进行具体的设计和修改之后就可以很好服务于设备和操作人员。参考文献:123沈炜,杨世锡,visualbasic编程从基础到实
18、践北京:电子工业出版社2005.9.塞奎春,高春艳,visualbasic信息系统开发实例精选北京:机械工业出版社2005.7.赵学慧,赵炜,visualbasic程序开发完整实例教程.北京:海洋出版社2003.3.!种种挑战,我们只要做到如下4点,中国半导体产业前途光明。(1)坚持科学发展观,坚持区域合作。只有合作贝岭等多家公司才能加速发展,如上海华虹NEC、投资11.5亿元建300mm/6545nm产品中试线,它是一个非盈利性公共研发平台,含两个子平台,一是特种工艺平台,设在贝岭150mm产品线,二是200mm/13090nmCu互连线,设在华虹NEC。(2)坚持自主创新,只有创新才能引领未来,摆脱多年来中国半导体产业养成等着国家给政策,依赖政
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年研修工作总结(3篇)
- 医院年度临床用血管理总结分析报告2篇
- 高中化学必修一 1.3.2 氧化剂和还原剂 教学设计
- 初中数学七年级上册《投影》教学设计
- 2025社区网格工作人员考试题库及参考答案ab卷
- 2025事业单位高级工考试题及答案
- 2026年山西移动人员招聘考试题库及详细答案解析
- 小学四年级心理健康教学设计:识别心理内耗与能量管理
- 高三物理二轮复习专题教学设计:电学实验综合突破
- 2025医师定期考核题库(附答案)
- 2026中食金安(石家庄)供应链科技有限责任公司公开招聘工作人员28名笔试参考题库及答案解析
- 河南省郑州市实验中学2026-2027学年高二上学期第一次月考英语试卷
- 酮症酸中毒指南2025版
- 2026秋沪科版九上物理 第十五章电与电路单元测试卷
- 2026年人教版数学二年级上册第二单元《1-6的表内乘法》教学设计
- 10kV配电站房建设施工方案
- 检验科试剂耗材精细化管理方案
- (正式版)DB4403∕T 481-2024 《电动自行车充换电柜消防安全要求》
- 物业维修管理流程及注意事项
- 2026年河南省高考物理试卷(含答案及解析)
- 2026中国光纤在医疗领域的创新应用与市场前景报告
评论
0/150
提交评论