基于以太网通讯协议的串口通讯组态调试方法
技术领域
本发明属于自控软件开发技术领域,主要涉及PLC通讯扩展模块的通讯协议、组态软件、串口信息监控软件的开发。
背景技术
串行通讯由于发展较早、成熟可靠,具有极强的适用性和广泛的应用范围。在PLC系统中,由于现场串口设备或仪表数量较多,PLC需要进行串口的扩展;而且多串口同时通讯,运行的通讯规约也各不相同,需要支持多种串口通讯规约同时运行。对于串口信息的监控、调试,通过串口通讯模块很难实现,对于现场调试人员提出了很高的要求。通常,由于现场环境复杂,不允许直接进行串口连接监测,因此,需要开发一套基于以太网协议,运行在通用上位机系统平台下,,便于监控和调试下位机串口通讯模块的方法。
发明内容
发明目的
本发明的目的在于设计一种基于以太网通讯协议的串口通讯组态调试方法,可以通过使用上位机软件对下位机进行配置、监控、监测、调试等操作,用户不必关心串口通讯模块硬件的系统架构,无需使用超级终端等复杂操作监测各个串口设备,通过上位机进行简单的配置即可实现对下位机串口信息的配置、监控、调试等操作。同时该软件通讯基于以太网通讯协议,可满足绝大多数PLC通讯模块的通讯要求,具有很强的通用性。
技术方案
为了实现发明目的,本发明的技术方案如下:
通过串口通讯组态调试软件实现对串口通讯模块串口参数的配置、串口运行协议的配置、配置文件的下载、上载、传送、串口输入输出信息监测等工作。
一种基于以太网通讯协议的串口通讯组态调试方法,应用本方法的系统构成是,可编程的串口通讯模块作为PLC的通讯扩展模块,接入到PLC内部总线上,同时各个串口外围设备与可编程串口通讯模块连接,上位机串口通过以太网与串口通讯模块相连;所述串口通讯模块包括多个串口,分别用于连接多个串口设备;串口通讯组态调试方法包括模块配置、协议配置、串口配置、文件下载、文件上载、文件传送、内存清除、模块监测、获取通讯模块IP;
模块配置是确定模块的类型,根据不同模块类型提供给用户不同的功能项;
协议配置是设定PLC存储的输入输出点的类型、数量和功能码等协议配置信息,并将这些配置信息存储到配置文件中,将该配置文件下载到串口通讯模块中,最终来设定PLC的输入输出点;
串口配置是设定与PLC通讯的主机名、CAN网地址、IP地址、串口通讯配置参数、串口号、设备数、协议号,实现了串口与协议的匹配;
文件下载是将串口配置文件、协议文件和ModBusTCP配置文件下发到串口通讯模块中;
文件上载是将串口配置文件、协议文件、ModBusTCP文件读取到上位机,便于以后检查使用;
文件传送是传送用户自定义的可执行文件;传送结束之后,串口通讯模块服务程序把可执行文件的权限改成可执行;
内存清除是清除串口通讯模块内存;
模块监测是监测、记录各个串口通讯模块的各个串口的工作情况;
获取通讯模块IP是动态地获取串口通讯模块的IP地址信息。
所述模块监测是监测、记录各个串口通讯模块的各个串口接收到的数据、设备连接情况和dubug调试信息,综合地监控PLC连接的各个串口设备的工作情况。
本发明的基于以太网通讯协议的串口通讯组态调试方法,支持串口可编程,即允许用户独立编写各自的串口协议程序:用户首先注册协议号,然后编写协议程序;
本方法提供了代码编译、编译信息输出,以及程序下载功能:将用户编写的代码编译成可执行程序hex文件,并下载到通讯模块中。
上位机与串口通讯模块之间的基于以太网的通讯协议是采用服务器与客户机通讯模式,其中,连接在PLC上的串口通讯模块作为服务器端,上位机作为客户端;该协议分为以下几个部分:
1)报文格式
报文最大总长度为XXXXB;对于长度过长的文件或报文,分包发送,每一包都包含自身的帧号和总帧数:接收方存储之前收到的信息的帧号,后一帧信息的帧号等于前一帧信息帧号加一,否则表明出错断开,要求重发整封信文,其中收到的报文头,帧号改为0xXX;如果总帧号与当前帧号相等,则表示发送正常结束;如果没有错误,则返回本帧信文的信文头即前十个字节,要求下一帧信文;两帧信文间隔时间过长,则认定超时,请求整封报文重发,对收到的报文头,帧号改为0xXX;
2)下载文件信文格式
下发命令(上位机→下位机)
后续数据(上位机→下位机)
下载文件中功能号说明:
操作 |
启动字符 |
文件名长度 |
传送文件 |
XX |
XX字节 |
配置文件 |
XX |
无效 |
协议文件 |
XX |
无效 |
串口自定义文件 |
XX |
XX字节 |
报文长度=报文体的字节数=文件的字节数;
没有回复信文
3)上载文件信文格式
上载文件命令:(上位机→下位机)
上载文件功能号说明:
操作 |
启动字符 |
配置文件 |
XX |
协议文件 |
XX |
串口自定义文件 |
XX |
回复信文格式:(下位机→上位机)
如果上送标志是1,表明后面传送的数据是有效;上送标志是0,传送结束,退出。
文件名长度只对串口自定义文件的传送有效。
本发明适用于PLC串口通讯模块的通讯调试,对串口通讯模块进行串口参数的配置、串口运行协议的配置、配置文件的下载、上载、文件传送、串口模块运行监测等工作。该方法基于Windows平台,通过以太网TCP/IP协议与串口通讯模块进行通讯。采用服务器与客户机通讯模式,PLC串口通讯模块作为服务器端,载有实现本组态调试方法的软件主机作为客户端,通过自定义报文格式,实现上位机软件与PLC串口通讯模块的控制、监测等工作。本方法可以支持多种协议,包括通用协议ModbusRTU master、ModbusRTU slave、ModbusTCP等,同时也支持厂家自定义串口协议。本发明提供了一种通用的方法,解决了上位机对下位机模块的控制、监测,并且该软件使用简单,操作灵活,应用范围广、支持厂家自定义串口通讯协议,极大地方便了技术支持工程师的环境部署、现场调试、错误信息排查等工作。
有益效果
通过本发明,使得用户对于PLC串口通讯模块的监控、调试,以及系统的维护工作更加方便,降低了调试、维护人员的工作难度和强度,节约了项目调试维护成本,缩短了工作周期。
附图说明
图1是串口组态调试软件系统图;
图2是串口组态调试软件功能框图。
具体实施方式
一种基于以太网通讯协议的串口通讯组态调试方法,应用本方法的系统构成是,可编程的串口通讯模块作为PLC的通讯扩展模块,接入到PLC内部总线上,同时各个串口外围设备与可编程串口通讯模块连接,上位机串口通过以太网与串口通讯模块相连;所述串口通讯模块包括多个串口,分别用于连接多个串口设备;串口通讯组态调试方法包括模块配置、协议配置、串口配置、文件下载、文件上载、文件传送、内存清除、模块监测、获取通讯模块IP;
模块配置是确定模块的类型,根据不同模块类型提供给用户不同的功能项;
协议配置是设定PLC存储的输入输出点的类型、数量和功能码等协议配置信息,并将这些配置信息存储到配置文件中,将该配置文件下载到串口通讯模块中,最终来设定PLC的输入输出点;
串口配置是设定与PLC通讯的主机名、CAN网地址、IP地址、串口通讯配置参数、串口号、设备数、协议号,实现了串口与协议的匹配;
文件下载是将串口配置文件、协议文件和ModBusTCP配置文件下发到串口通讯模块中;
文件上载是将串口配置文件、协议文件、ModBusTCP文件读取到上位机上,便于以后检查使用;
文件传送是传送用户自定义的可执行文件;传送结束之后,串口通讯模块的把该可执行文件的权限改成可执行;
内存清除是清除串口通讯模块内存;
模块监测是监测、记录各个串口通讯模块的各个串口的工作情况;
获取通讯模块IP是动态地获取串口通讯模块的IP地址信息。
所述模块监测是监测、记录各个串口通讯模块的各个串口接收到的数据、设备连接情况和dubug调试信息,综合地监控PLC连接的各个串口设备的工作情况。
上位机与串口通讯模块之间的基于以太网的通讯协议是采用服务器与客户机通讯模式,其中,串口通讯模块作为服务器端(下位机),串口通讯组态软件作为客户端(上位机);该协议分为以下几个部分:
1)报文格式
报文最大总长度为XXXXB;对于长度过长的文件或报文,分包发送,每一包都包含自身的帧号和总帧数:接收方存储之前收到的信息的帧号,后一帧信息的帧号等于前一帧信息帧号加一,否则表明出错断开,要求重发整封信文,其中收到的报文头,帧号改为0xXX;如果总帧号与当前帧号相等,则表示发送正常结束;如果没有错误,则返回本帧信文的信文头即前十个字节,要求下一帧信文;两帧信文间隔时间过长,则认定超时,请求整封报文重发,对收到的报文头,帧号改为0xXX;
2)下载文件信文格式
下发命令(上位机→下位机)
后续数据(上位机→下位机)
下载文件中功能号说明:
操作 |
启动字符 |
文件名长度 |
传送文件 |
XX |
XX字节 |
配置文件 |
XX |
无效 |
协议文件 |
XX |
无效 |
串口自定义文件 |
XX |
XX字节 |
报文长度=报文体的字节数=文件的字节数;
没有回复信文
3)上载文件信文格式
上载文件命令:(上位机→下位机)
上载文件功能号说明:
操作 |
启动字符 |
配置文件 |
XX |
协议文件 |
XX |
串口自定义文件 |
XX |
回复信文格式:(下位机→上位机)
如果上送标志是1,表明后面传送的数据是有效;上送标志是0,传送结束,退出。
文件名长度只对串口自定义文件的传送有效。
具体到本例中:
图1所示为可编程串口通讯模块作为PLC系统的扩展模块,接入到PLC内部总线上,同时各个串口外围设备与串口通讯模块连接,上位机串口组态调试软件通过以太网与通讯模块相连。
图2所示为串口组态调试软件的功能框图,主要操作步骤如下:
用户首先根据连接的串口通讯模块类型选择模块配置;
进行串口配置,主要包括主机名、CAN网地址、模块IP地址、串口通讯参数、协议号;
进行协议配置,用户根据项目需要自己定义开入开出、模入模出的点数,以及可以选择用户自定义协议,或者系统协议,如:Modbus RTU master、ModbusSlave等;
串口、协议配置完成后保存当前配置,生成配置文件,通过下载配置将配置文件下载,下发到串口通讯模块中;
通过上载配置文件功能,可以检查下载配置文件的正确性,用于错误检查等操作;
用户可以自己编程开发可执行程序,通过传送文件即可把可执行程序传送到通讯模块,并有通讯模块系统调起执行;
通过联机操作用户可以在调试界面中实时查看各个串口收发的通讯数据,各个连接设备的运转情况;
通过获取IP地址功能,用户可以获取串口通讯模块的IP地址。