[发明专利]一种上位机与发电机组控制器通过ModbusTCP/IP通讯的方法在审
申请号: | 201710763005.3 | 申请日: | 2017-08-30 |
公开(公告)号: | CN107483463A | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 冯斌;刘蕊;王海川;王洪杰;徐铁山 | 申请(专利权)人: | 郑州众智科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/24 |
代理公司: | 郑州德勤知识产权代理有限公司41128 | 代理人: | 黄红梅 |
地址: | 450001 河南省*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 上位 发电 机组 控制器 通过 modbustcp ip 通讯 方法 | ||
技术领域
本发明涉及一种通讯方法,具体的说,涉及了一种上位机与发电机组控制器通过Modbus TCP/IP通讯的方法。
背景技术
发电机组控制器与上位机之间的通讯一般是通过RS485、USB等方式进行通讯,这两种通讯方式数据传输距离短,如果控制器用在山间或者远距离的地方,将不能与上位机进行通讯,从而不能进行读写配置和监控数据,不能满足用户的需求。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供一种设计科学、实用性强、易于实现、通讯距离远的基于Modbus的发电机组控制器通讯方法。
为了实现上述目的,本发明所采用的技术方案是:一种上位机与发电机组控制器通过Modbus TCP/IP通讯的方法,包括步骤1、生成用于向远程控制器发送指令的命令列表;步骤2、将所述命令列表转换为Modbus TCP/IP报文格式;步骤3、封装用于收发数据的ModbusTCP类;步骤4、根据命令标识,进行异步发送或接收数据。
基于上述,所述命令列表分别包括用于读控制器型号、读配置信息及读监控信息的功能码,用于数据校准的功能码,用于写配置信息的功能码和用于写控制器字库点阵的功能码;收集所述功能码命令,并生成指令表CmdList
基于上述,在所述步骤2中,遍历所述指令表CmdList,将每条指令封装为Modbus TCP/IP报文格式,并将指令的字节顺序配置为网络传输的字节顺序。
基于上述,所述报文格式的报头包括7个字节,其中用于Modbus请求/响应事务处理的事务处理标识符占2个字节,用于标明协议类型的协议标识符占2个字节,用于标明报头后的数据长度的字节长度标识符占2个字节,用于识别串行链路或其他总线上连接的远程从站的单元标识符占一个字节。
基于上述,所述步骤3包括:a、定义Socket对象tcpAsyCl;b、实例化tcpAsyCl对象,其中,tcpAsyCl=New Socket(AddressFamily.InterNetwor k,SocketType.Stream,ProtocolType.Tcp)c、建立与远程控制器的连接,实现数据的发送或接收。
基于上述,所述步骤4包括:a、建立命令标识,根据不同的标识发送不同的命令;b、通过设置超时时间建立超时判断机制,进行数据的异步接收。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说,本发明可以使上位机通过Modbus TCP/IP通讯协议与发电机组控制器进行通讯,在同一网络下可以与任意站点的发电机组控制器进行连接,不受距离限制,且用户通过配置软件可远程对控制器进行读写配置、监控数据,其具有设计科学、实用性强、易于实现、通讯距离远的优点。
附图说明
图1是本发明的流程示意图。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
如图1所示,一种上位机与发电机组控制器通过Modbus TCP/IP通讯的方法,包括步骤1、生成用于向远程控制器发送指令的命令列表;步骤2、将所述命令列表转换为Modbus TCP/IP报文格式;步骤3、封装用于收发数据的ModbusTCP类;步骤4、根据命令标识,进行异步发送或接收数据。
其中,所述步骤1中的所述命令列表分别包括用于读控制器型号、读配置信息及读监控信息的功能码,用于数据校准的功能码,用于写配置信息的功能码和用于写控制器字库点阵的功能码;在所述步骤1中,还收集所述功能码命令,并生成指令表CmdList
进一步地,在所述步骤2中,遍历所述指令表CmdList,将每条指令封装为Modbus TCP/IP报文格式,并将指令的字节顺序配置为网络传输的字节顺序。其中,所述报文格式的报头包括7个字节,其中用于Modbus请求/响应事务处理的事务处理标识符占2个字节,用于标明协议类型的协议标识符占2个字节,用于标明报头后的数据长度的字节长度标识符占2个字节,用于识别串行链路或其他总线上连接的远程从站的单元标识符占一个字节。
进一步地,所述步骤3包括:a、定义Socket对象tcpAsyCl;b、实例化tcpAsyCl对象,其中,tcpAsyCl=New Socket(AddressFamily.InterNetwor k,SocketType.Stream,ProtocolType.Tcp)c、建立与远程控制器的连接,实现数据的发送或接收。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州众智科技股份有限公司,未经郑州众智科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710763005.3/2.html,转载请声明来源钻瓜专利网。