教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

基于ARM-Linux系统与组态王Modbus_TCP通讯的研究与实现

来源:网络收集 时间:2026-08-31
导读: 第21卷第5期2013年10月 文章编号:1005-1228(2013)05-0044-03 电脑与信息技技术术Vol.No.51210月2013年 Oct.2013 ComputerandInformationTechnology 基于ARM-Linux系统与组态王Modbus/TCP通讯的研究与实现 陈文辉1,谭才彪1,许

第21卷第5期2013年10月

文章编号:1005-1228(2013)05-0044-03

电脑与信息技技术术Vol.No.51210月2013年

Oct.2013

ComputerandInformationTechnology

基于ARM-Linux系统与组态王Modbus/TCP通讯的研究与实现

陈文辉1,谭才彪1,许文明1,杨艳青2

(1.南华大学湖南衡阳

421001;2.特变电工衡阳变压器有限公司湖南衡阳421007)

要:Modbus/TCP工业以太网是运行在TCP/IP协议栈上的Modbus报文传输协议,组态王(KingView)是国内组态软

件龙头。分析了Modbus/TCP的协议构成及其体系结构和组态王中的莫迪康Modbus/TCP协议,在嵌入式ARM9和Linux操作系统平台上实现了Modbus/TCP协议与组太王6.55的通讯。方案能有效实现工业现场的Arm-Linux系统与组态王的Modbus/TCP通信功能。

关键词:Modbus/TCP;组态王;ARM;Linux;通讯中图分类号:TP368.6

文献标识码:A

ResearchandImplementationofModbus/TCPCommunication

BasedonARM-LinuxSystemandKingView

CHENWen-hui1,TANCai-biao1,XUWen-ming1,YANGYan-qing2

(1.UniversityofSourhChina,Hengyang421001,China;

2.TBEAHengyangTransformerCo.,Ltd.,Hengyang421007,China)

Abstract:Modbus/TCPindustrialEthernetisrunningonTCP/IPprotocolstackonthepackettransmissionprotocolofModbus,KingViewistheconfigurationsoftwareleader.AnalysisoftheModbus/TCPprotocolconstitutesitsarchitectureandModiconModbus/TCPprotocolinKingView,andachievetheModbus/TCPprotocolcommunicationsbetweenKingView6.55andembeddedsystemplatformswhichformbyARM9andLinuxoperating.ProgramscaneffectivelyachievecommunicationsbetweenindustrialArm-LinuxsystemandKingViewModbus/TCP.Keywords:Modbus/TCP;configurationking;ARM;Linux;communications

以太网上的Modbus/TCP协议于1999年由Modi-con开发及应用,由于拥有硬件成本低廉、使用方便等优势[1],ModbusASCII、RTU和TCP三种传输方式在工业现场得到了广泛的应用。Modbus已由互联网编号分配管理机构赋予TCP端口502,也是目前唯一的自动化网络端口。目前中国已把Modbus/TCP作为工业网络标准之一。在国外,Modbus/TCP被国际半导体业定为网络标准,在国际电力系统、水处理中也把它作为应用的事实标准,未来将还有越来越多行业会作为行业标准[2,3]。

组态王是亚控公司在国内率先推出工业组态软件产品。十余年来,一直是国内通用组态软件的领军品牌,得到市场的广泛赞誉。在当今市场的发展环境下,凭借稳定的性能和良好的服务牢牢占据国内组态软件龙头的地位[4]。

围绕着Modbus/TCP适用于嵌入式设备实时通信的特点,本文在基于微处理器S3C2440的嵌入式开发板上,以linux操作系统为软件平台,实现了Mod-bus/TCP与组态王的通讯。

1Modbus/TCP程序设计与移植

1.1Modbus/TCP协议帧

ModbusTCP协议报文是基于TCP/IP应用层的,在TCP/IP以太网上传输,支持EthernetII和802.3两种帧格式。如图1所示,ModbusTCP数据帧包含报文头、功能代码和数据3部分。

MBAP报文头分4个域,包括传输标志、协议标志、后续字数长度和单元标志,共7个字节,Modbus公共功能代码占传输中的一个字节。

1.2Modbus/TCP协议程序图和寄存器分析

收稿日期:2013-07-01作者简介:陈文辉(1986-),男,湖南省衡阳人,助理工程师,硕士,主要研究方向:智能系统;谭才彪(1975-),男,湖南衡阳人,讲师,硕士,主要研究方向:计算机控制。

第21卷第5期陈文辉等:基于ARM-Linux系统与组态王Modbus/TCP通讯的研究与实现

区00001,1区10001,3区30001,4区40001*/

·45·

u_shortread_coil(u_shortcoil_address,u_shortreg_type)/*读Coil状态读0区*/

图1Modbus/TCP

数据帧格式

u_shorti,j;

if(reg_type==REG_MODBUS)coil_address-=1;i=coil_address/16;j=coil_address%16;i=*(COIL_ADDRESS+i)&(1<<j);return(i!=0);}……

在Modbus的TCP模式中都需要调用Modbus实

现函数,函数流程图如图2所示,switch通过功能码选择读写操作。

1.4Modbust/TCP协议移植到ARM-Linux系统

(1)制作Makefile文件对main.c、mondbus.c、std_c.h文件进行arm-linux-gcc编译;(2)运行#Makefile生成modbusTCP.bin二进制文件;(3)将modbusTCP.bin通过串口或网口下载至开发板;(4)运行#chomd+xmodbusTCP设置权限;(5)运行#./modbusTCP启动。

2通过Modbust/TCP协议与组态王连接测试

2.1建立组态王工程与配制驱动

为了测试系统协议采用了新版组态王6.55与系统平台连接。组态王是国内一款十分优秀的组态软件,它内置编程语言、强大网络功能、内置高速历史库和包括了各大厂家产品通讯驱动,使得它在国内外工业控制领域占据了很大市场。测试步骤:

(1)首先新建一个工程,命用为MODBUSTCP;(2)新建一个设备即会打开设备配置向导,选择连接驱动。因为Modbus协议最先是由莫迪康公司发明的,所以本控制器上所开发的协议是与莫迪康兼容的,因此,选择莫迪康的Modbus/TCP协议。

(3)设备配制中设备逻辑名命名为ARM9;

(4)设备地址要根据组态网的地址填写格式一致,本次连接设备地址中:“210.43.120.75”为ARM-Linux的嵌入式系统的IP地址,502为Modbus/TCP的专用自动化端口。配制完成以后,会出现信息总结窗口,如图3所示。

要与控制器进行访问,就要先设定我们要访问的地址。测试时我们向数据库内添加访问变量,其中添加了两个I/O离散值,地址分别为00001和00002,对应IO0.0,和IO0.1;两个I/O整型值,地址分别为40001和40002,对应AIN0和AIN1。在画面上连接相应变量,

这样就可以将变量值进行直观地输出,如果没有连接

图2Modbus协议流程图

以下主要分析控制器内寄存器离散型和整型的读写函数,寄存器名、对应可访问地址、读写属性、访问功能码、数据类型、寄存器范围的关系见表1。

表1Modbus寄存器对应地址

寄存器名称

对应读写地址属性

读写

功能码152436

数据类型< …… 此处隐藏:2661字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于ARM-Linux系统与组态王Modbus_TCP通讯的研究与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1892056.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)