PLC的批量读写方法、装置及系统与流程

文档序号:18736723发布日期:2019-09-21 01:17阅读:1655来源:国知局
PLC的批量读写方法、装置及系统与流程
本公开实施例涉及数据处理
技术领域
,具体涉及一种PLC的批量读写方法、装置及系统。
背景技术
:在液晶检测设备项目的研发过程中,根据客户的需求进行开发设计,生产出客户需要的多种设备。这些液晶自动检测设备的运行的显示信息和操作端口一般采用触摸屏、上位机来实现,在触摸屏、上位机上显示设备的工作状态,设置设备的系统参数和运行参数等。这些设备操作的状态信息和允许修改的参数都是在设计阶段根据设备的要求来确定的,根据设备控制流程确定设备的一些主要运行状态、报警信息和指示信息,这些信息具有一定的固定性和不可修改性。设备开发、调试完成后,设备的一些临时状态和不在指示信息范围内的状态则不能被操作终端监测;设备参数设置大多是采用逐个参数设置的形式,需要较长的时间去完成。随着客户对检测设备效率要求的提高,自动检测设备越做越大、越做越复杂,设备内动作元件也越来越多。设备的动作状态和操作信息也随之增加,需要临时监测的状态和修改的数据可能性也在增大。设备开发完成后控件系统架构不易随便修改,在不修改控制系统程序和操作程序的情况下,如何更快捷、灵活和方便地监测设备运行的更多的状态;在设置参数增多的情况下,如何高效批量地设置设备参数,是需要解决的一个工程问题。在自动化检测设备中,许多设备控制系统采用PLC进行控制,涉及PLC有三菱(Mitsubishi)、西门子(Siemens)和基恩士(Keyence)等。自动化液晶检测设备控制系统通常采用三菱PLC作为设备控制层的核心,采集设备中各个元件的输入信号,根据设备工艺流程控制各部分被控单元的动作;人机界面采用Proface普洛菲斯触摸屏,监控设备的运行状态和实现设备的操作;设备通常还需和上位机、CIM(ComputerIntegratedManu-facturing,计算机集成制造)系统交互信息等,其结构如图1所示。在设备控制系统设计时,需要定义PLC与触摸屏、上位机、CIM系统以及其他PLC交互信息格式,通常以PLC内部元器件地址划分,形成固定的交互信息表,其结构如图1所示。控制系统中各个部分间相互交互的数据是固定的地址,按照固定的程序运行,在人机界面和上位机上有预先设置好的设备状态指示信息,也可以通过参数设置界面对指定的PLC地址进行参数设置。如果需要访问信息交互表以外的内容,或者临时监控设备更多的状态信息,在现有的控制系统下无法做到,只能有专业工程人员或程序开发人员采用PLC程序开发软件来监控,需要有较高专业操作技能。在设备参数设置时,是在触摸屏参数设置界面上对每个参数逐个设置,操作效率较低,而且一些不在参数设置界面之列的数据就没有设置的入口,不能进行修改设置操作。技术实现要素:有鉴于此,本公开实施例提供一种PLC的批量读写方法、装置及系统,以实现灵活方便地读出需要访问的设备状态数据,和方便灵活地修改或设置控制器内的数据。本公开实施例的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开实施例的实践而习得。第一方面,本公开实施例提供了一种PLC的批量读取方法,包括:确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表;对所述地址列表按照地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;接收所述PLC返回的应答数据包,对所述应答数据包进行解析获取所述至少一个目标软元件的数据。于一实施例中,确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表的操作包括:接收用户输入信息,根据所述输入信息确定所述PLC的待监测的至少一个目标软元件的地址列表。于一实施例中,所述输入信息包括下述至少一种类型:包含至少一个目标软元件的表格文件、含至少一个目标软元件的区域信息。于一实施例中,所述输入信息包括包含至少一个目标软元件的表格文件、以及含至少一个目标软元件的区域信息;确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表,对所述地址列表按照地址顺序进行排序包括:根据所述表格文件获取所述PLC的待监测的至少一个目标软元件的地址得到第一地址列表;根据所述区域信息获取所述PLC的待监测的至少一个目标软元件的地址得到第二地址列表;将所述第一地址列表和所述第二地址列表进行汇聚后,进行去重和排序。于一实施例中,所述表格文件为EXCEL文件、和/或所述区域信息包括至少一个目标软元件的起始地址、软元件个数。于一实施例中,将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段形成编码包包括:将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段,将所述至少一个代码片段根据设定规则分类打包形成至少一个编码包。于一实施例中,对所述应答数据包进行解析获取所述至少一个目标软元件的数据之后还包括:对获取所述至少一个目标软元件的数据进行呈现或导出。于一实施例中,将所述编码包发送给所述PLC包括:通过网络通信的形式将所述编码包发送给所述PLC;接收所述PLC返回的应答数据包包括:通过网络通信的形式接收所述PLC返回的应答数据包。第二方面,本公开实施例还提供了一种PLC的批量写入方法,包括:确定可编程控制器PLC的待操作的至少一个目标软元件的操作数据列表,所述操作数据列表中的操作数据包括软元件地址和待写数据;对所述操作数据列表按照软元件地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;接收所述PLC返回的应答数据包,对所述应答数据包进行解析确定所述至少一个目标软元件的写入操作的反馈信息。于一实施例中,确定可编程控制器PLC的待操作的至少一个目标软元件的操作数据列表包括:接收用户输入信息,根据所述输入信息确定所述PLC的待监测的至少一个目标软元件的地址列表,其中,所述输入信息为包含至少一个目标软元件的表格文件。于一实施例中,将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段形成编码包:将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段,将所述至少一个代码片段根据设定规则分类打包形成至少一个编码包。于一实施例中,将所述编码包发送给所述PLC包括:通过网络通信的形式将所述编码包发送给所述PLC;接收所述PLC返回的应答数据包包括:通过网络通信的形式接收所述PLC返回的应答数据包。第三方面,本公开实施例还提供了一种PLC的批量读取装置,其特征在于,包括:地址列表确定单元,用于确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表;编码发送单元,用于对所述地址列表按照地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;应答接收与解析单元,用于接收所述PLC返回的应答数据包,对所述应答数据包进行解析获取所述至少一个目标软元件的数据。于一实施例中,所述地址列表确定单元用于:接收用户输入信息,根据所述输入信息确定所述PLC的待监测的至少一个目标软元件的地址列表。于一实施例中,所述输入信息包括下述至少一种类型:包含至少一个目标软元件的表格文件、含至少一个目标软元件的区域信息。于一实施例中,所述输入信息包括包含至少一个目标软元件的表格文件、以及含至少一个目标软元件的区域信息;所述地址列表确定单元包括:第一地址列表获取子单元,用于根据所述表格文件获取所述PLC的待监测的至少一个目标软元件的地址得到第一地址列表;第二地址列表获取子单元,用于根据所述区域信息获取所述PLC的待监测的至少一个目标软元件的地址得到第二地址列表;地址汇聚子单元,用于将所述第一地址列表和所述第二地址列表进行汇聚后,进行去重和排序。于一实施例中,所述表格文件为EXCEL文件、和/或所述区域信息包括至少一个目标软元件的起始地址、软元件个数。于一实施例中,所述编码发送单元用于:将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段,将所述至少一个代码片段根据设定规则分类打包形成至少一个编码包。于一实施例中,所述装置还包括呈现导出单元,用于在对所述应答数据包进行解析获取所述至少一个目标软元件的数据之后,对获取所述至少一个目标软元件的数据进行呈现或导出。于一实施例中,所述编码发送单元用于,通过网络通信的形式将所述编码包发送给所述PLC;所述应答接收与解析单元用于,通过网络通信的形式接收所述PLC返回的应答数据包。第四方面,本公开实施例还提供了一种PLC的批量写入装置,其特征在于,包括:操作数据列表确定单元,用于确定可编程控制器PLC的待操作的至少一个目标软元件的操作数据列表,所述操作数据列表中的操作数据包括软元件地址和待写数据;编码发送单元,用于对所述操作数据列表按照软元件地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;应答接收与解析单元,用于接收所述PLC返回的应答数据包,对所述应答数据包进行解析确定所述至少一个目标软元件的写入操作的反馈信息。于一实施例中,所述操作数据列表确定单元用于:接收用户输入信息,根据所述输入信息确定所述PLC的待操作的至少一个目标软元件的操作数据列表,其中,所述输入信息为包含至少一个目标软元件的表格文件。于一实施例中,所述编码发送单元用于:将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段,将所述至少一个代码片段根据设定规则分类打包形成至少一个编码包。于一实施例中,所述编码发送单元用于,通过网络通信的形式将所述编码包发送给所述PLC;所述应答接收与解析单元用于,接收所述PLC返回的应答数据包包括:通过网络通信的形式接收所述PLC返回的应答数据包。第五方面,本公开实施例还提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面任一项所述方法的指令、和/或使得所述一个或多个处理器实现如第二方面任一项所述方法的指令。第六方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤、和/或该计算机程序被处理器执行时实现如第二方面任一项所述方法的步骤。第七方面,本公开实施例还提供了一种设备控制系统,其特征在于,包括PLC、网络模块、以及如第五方面任一项所述的电子设备。于一实施例中,所述PLC包括下述至少一种类型:三菱PLC、西门子PLC、以及基恩士PLC;所述网络通信的形式包括下述至少一种类型:无线网络通信、以及以太网通信。于一实施例中,所述以及网通信采用100兆比特每秒以太网标准或采用1000兆比特每秒以太网标准,传输介质采用两对阻抗为100欧姆的非屏蔽双绞线。于一实施例中,所述PLC为三菱Q系列PLC或三菱FX系列PLC,所述通信协议为三菱MELSEC协议。本公开实施例提出的技术方案的有益技术效果是:本公开实施例的技术方案能够灵活方便地读出需要访问的设备状态数据,并可以灵活地根据需求自由配置访问列表,在数据编辑方面,能够方便灵活地修改控制器内的数据,能够方便高效地操作数据。附图说明为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开实施例中的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本公开实施例的内容和这些附图获得其他的附图。图1是现有技术提供的一种设备控制系统示意图;图2是本公开实施例提供的一种设备控制系统示意图;图3是本公开实施例提供的一种PLC的批量读取方法的流程示意图;图4是本公开实施例提供的一种PLC的批量写入方法的流程示意图;图5是本公开实施例提供的一种PLC的批量读取装置的结构示意图;图6是本公开实施例提供的一种PLC的批量写入装置的结构示意图;图7是本公开实施例提供的一种PLC的批量读取方法的流程示意图;图8是本公开实施例提供的一种PLC的批量写入方法的流程示意图;图9是本公开实施例提供的一种PLC的批量读写控制的流程示意图;图10示出了适于用来实现本公开实施例的电子设备的结构示意图。具体实施方式为使本公开实施例解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本公开实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本公开实施例中的一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。需要说明的是,本公开实施例中术语“系统”和“网络”在本文中常被可互换使用。本公开实施例中提到的“和/或”是指”包括一个或更多个相关所列项目的任何和所有组合。本公开的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。还需要说明是,本公开实施例中下述各个实施例可以单独执行,各个实施例之间也可以相互结合执行,本公开实施例对此不作具体限制。下面结合附图并通过具体实施方式来进一步说明本公开实施例的技术方案。图2是本公开实施例提供的一种设备控制系统示意图,图3示出了本公开实施例提供的一种PLC的批量读取方法的流程示意图,本实施例可适用于通过电子设备批量读取PLC中软元件的数据的情况,该方法可以由配置于电子设备中的PLC的批量读取装置来执行,如图3所示,本实施例所述的PLC的批量读取方法包括:在步骤S310中,确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表。确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表的操作可通过多种方式,例如可接收用户输入信息,根据所述输入信息确定所述PLC的待监测的至少一个目标软元件的地址列表。所述输入信息可以是包含至少一个目标软元件的表格文件(例如EXCEL文件),或者是含至少一个目标软元件的区域信息,或者两者都有。所述区域信息可包括多个目标软元件的起始地址和软元件个数。若所述输入信息同时包括包含至少一个目标软元件的表格文件,以及含至少一个目标软元件的区域信息,则确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表,对所述地址列表按照地址顺序进行排序可通过如下操作实现:根据所述表格文件获取所述PLC的待监测的至少一个目标软元件的地址得到第一地址列表;根据所述区域信息获取所述PLC的待监测的至少一个目标软元件的地址得到第二地址列表;将所述第一地址列表和所述第二地址列表进行汇聚后,进行去重和排序。在步骤S320中,对所述地址列表按照地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段形成编码包,将所述编码包发送给所述PLC。例如可将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段,将所述至少一个代码片段根据设定规则分类打包形成至少一个编码包。在步骤S330中,接收所述PLC返回的应答数据包,对所述应答数据包进行解析获取所述至少一个目标软元件的数据。在本步骤之后,还可对获取所述至少一个目标软元件的数据进行呈现或导出。需要说明的是,电子设备将所述编码包发送给所述PLC可通过网络通信的形式发送,同样,电子设备接收所述PLC返回的应答数据包,也可通过网络通信的形式接收。本公开实施例的技术方案能灵活方便的读出需要访问的设备状态数据,并可以根据需求自由配置这个访问列表项,也可批量访问控制器一段数据。图4是本公开实施例提供的一种PLC的批量写入方法的流程示意图,如图4所示,本实施例所述的PLC的批量写入方法包括:在步骤S410中,确定可编程控制器PLC的待操作的至少一个目标软元件的操作数据列表。其中,所述操作数据列表中的操作数据包括软元件地址和待写数据。例如可通过接收用户输入信息,根据所述输入信息确定所述PLC的待操作的至少一个目标软元件的操作数据列表,其中,所述输入信息为包含至少一个目标软元件的表格文件。在步骤S420中,对所述操作数据列表按照软元件地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段形成编码包,将所述编码包发送给所述PLC。进一步地,将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段形成编码包,可通过将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段,将所述至少一个代码片段根据设定规则分类打包形成至少一个编码包实现。其中,将所述编码包发送给所述PLC,可通过网络通信的形式发送。在步骤S430中,接收所述PLC返回的应答数据包,对所述应答数据包进行解析确定所述至少一个目标软元件的写入操作的反馈信息。接收所述PLC返回的应答数据包,可通过网络通信的形式接收。本公开实施例的技术方案通过确定可编程控制器PLC的待操作的至少一个目标软元件的操作数据列表,所述操作数据列表中的操作数据包括软元件地址和待写数据;对所述操作数据列表按照软元件地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;接收所述PLC返回的应答数据包,对所述应答数据包进行解析确定所述至少一个目标软元件的写入操作的反馈信息,能够灵活地根据需求自由配置访问列表,在数据编辑方面,能够方便灵活地修改控制器内的数据,能够方便高效地操作数据。图5是本公开实施例提供的一种PLC的批量读取装置的结构示意图,如图5所示,本实施例所述的PLC的批量读取装置包括地址列表确定单元510、编码发送单元520、和应答接收与解析单元530。所述地址列表确定单元510被配置,用于确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表;所述编码发送单元520被配置,用于对所述地址列表按照地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;所述应答接收与解析单元530被配置,用于接收所述PLC返回的应答数据包,对所述应答数据包进行解析获取所述至少一个目标软元件的数据。进一步地,所述地址列表确定单元被配置为,用于接收用户输入信息,根据所述输入信息确定所述PLC的待监测的至少一个目标软元件的地址列表。进一步地,所述输入信息包括下述至少一种类型:包含至少一个目标软元件的表格文件、含至少一个目标软元件的区域信息。进一步地,所述输入信息包括包含至少一个目标软元件的表格文件、以及含至少一个目标软元件的区域信息;所述地址列表确定单元510还包括第一地址列表获取子单元(图5中未示出)、第二地址列表获取子单元(图5中未示出)、和地址汇聚子单元(图5中未示出):所述第一地址列表获取子单元被配置为,用于根据所述表格文件获取所述PLC的待监测的至少一个目标软元件的地址得到第一地址列表;所述第二地址列表获取子单元被配置为,用于根据所述区域信息获取所述PLC的待监测的至少一个目标软元件的地址得到第二地址列表;所述地址汇聚子单元被配置为,用于将所述第一地址列表和所述第二地址列表进行汇聚后,进行去重和排序。进一步地,所述表格文件为EXCEL文件、和/或所述区域信息包括至少一个目标软元件的起始地址、软元件个数。进一步地,所述编码发送单元520被配置为,用于将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段,将所述至少一个代码片段根据设定规则分类打包形成至少一个编码包。进一步地,所述装置还包括呈现导出单元,所述呈现导出单元被配置为,用于在对所述应答数据包进行解析获取所述至少一个目标软元件的数据之后,对获取所述至少一个目标软元件的数据进行呈现或导出。进一步地,所述编码发送单元被配置为,用于通过网络通信的形式将所述编码包发送给所述PLC;所述应答接收与解析单元被配置为,用于通过网络通信的形式接收所述PLC返回的应答数据包。本实施例提供的PLC的批量读取装置可执行本公开方法实施例所提供的PLC的批量读取方法,具备执行方法相应的功能模块和有益效果。图6是本公开实施例提供的一种PLC的批量写入装置的结构示意图,如图6所示,本实施例所述的PLC的批量写入装置包括操作数据列表确定单元610、编码发送单元620和应答接收与解析单元630。其中所述操作数据列表确定单元610被配置为,用于确定可编程控制器PLC的待操作的至少一个目标软元件的操作数据列表,所述操作数据列表中的操作数据包括软元件地址和待写数据;所述编码发送单元620被配置为,用于对所述操作数据列表按照软元件地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;所述应答接收与解析单元630被配置为,用于接收所述PLC返回的应答数据包,对所述应答数据包进行解析确定所述至少一个目标软元件的写入操作的反馈信息。进一步地,操作数据列表确定单元610被配置为,用于接收用户输入信息,根据所述输入信息确定所述PLC的待操作的至少一个目标软元件的操作数据列表,其中,所述输入信息为包含至少一个目标软元件的表格文件。进一步地,所述编码发送单元620被配置为,用于:将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段,将所述至少一个代码片段根据设定规则分类打包形成至少一个编码包。进一步地,所述编码发送单元620被配置为,用于通过网络通信的形式将所述编码包发送给所述PLC;所述应答接收与解析单元630被配置为,用于接收所述PLC返回的应答数据包包括:通过网络通信的形式接收所述PLC返回的应答数据包。本实施例提供的PLC的批量写入装置可执行本公开方法实施例所提供的PLC的批量写入方法,具备执行方法相应的功能模块和有益效果。根据能够灵活批量读取、写入控制PLC软元件的要求,在PLC读取方面,需要批量地访问PLC某类存储器的一段连续地址的数据,也可能访问间断的多个PLC地址,而且这些连续不间断的PLC地址和间断的PLC地址有可能重复,需要避免重复访问,提高数据访问的效率。在数据写入方面,根据需要修改的数据需求,把所有需要修改的PLC存储器收集在一起,这些需要修改数据对应的PLC地址可能是连续的和非连续,需要一次性批量写入全部数据,使操作简单快捷。这些需求是基于设备的当前控制系统,不可以改变设备本身的结构和功能,如何实现这一功能呢?首先,在硬件结构方面,因为需要访问和修改设备的数据,而又不可以改变设备本身的结构和功能,可以通过网络通讯的形式,和控制系统构成硬件连接。通过设备的Ethernet网访问设备控制器,读取和写入设备控制器的数据。由于一些设备本身自带上位机,设备上位机本身与设备控制器就有通讯的硬件连接,在上位机上开发设备通讯程序来实现数据的访问;也可以增加操作终端电脑,在终端操作电脑上由开发的程序实现数据访问。其次,设备通讯程序方面,当设备通讯网络硬件构成后,可以根据设备系统控制PLC自身的通讯协议,开发设备通讯软件,实现操作终端与设备控制器本身的数据交互。由于需要操作终端灵活的定义需要批量监测的PLC地址,所以需要一个PLC软元件登录列表,把需要监测的软元件全部录入到该表内;同时还需要监测PLC某一类存储器的一段区域,如果该区域表和登录表有重复部分,需对它们合并,并去除重复部分,再PLC元件地址顺序重新排列,形成最终PLC元件监控表。再根据三菱PLC的通讯协议,对PLC元件监控表进行编码,传输发生给PLC,PLC接受到访问代码后,根据代码内容给出对应的数据包回传的终端操作程序,再通过终端程序解码,解析出对应的访问数据,其数据读取流程图见图7。在PLC写入数据时,首先建立一个元件监控登录表,并录入需要写入PLC的数据,同样对登录元件进行去重和排序,形成元件监控表,该表里含有元件的写入数据,再经过编码和发送,把登录元件表的数据写入到PLC内。其数据写入流程图见图8,通过PLC软元件批量数据读写程序与PLC通讯,可灵活、快捷地实现PLC数据读写。根据PLC软元件数据批量读写的方案,本系统的硬件结构方面比较灵活,可以用设备系统里原有的上位机作为操作终端,也可以把个人调笔记本电脑或工控机连接到设备工业以太网内作为操作终端。设备网络采用100/1000Mbps以太网标准,传输介质采用两对阻抗为100欧姆的5类非屏蔽双绞线,符合国际100BASE-TX标准,最大传输距离为100米。在本系统的网络内,设备控制系统可以是一台或多台PLC,PLC可以是三菱Q系列或Fx系统支持MC协议的网络通讯的控制器。三菱Q系列PLC可以是CPU自带内置网络通讯口,也可以是百兆网络模块QJ71E71-100;三菱Fx系列可以是支持MC的小型PLC,如Fx5U系列的PLC等。通过100BASE-TX标准网线把终端电脑连接到系统工业以太网上,由终端电脑通讯程序访问网络上的各个PLC站,实现PLC软元件数据批量读写。其硬件系统结构图见图2,终端电脑的PLC软元件数据批量读写程序通过网络访问PLC1或PLC2,实现数据读取写入。在PLC软元件数据批量读写系统硬件结构组建完成后,首先需要对PLC控制系统和终端电脑进行必要的设置,定义以太网通讯协议的格式。在PLC软元件数据批量读写程序中设置其通讯协议和通讯地址等内容,实现有效的网络链接。本系统建立与Fx5U系列PLC通讯,在PLC控制器端开设一个通讯端口,也可以在程序开发时预留一个外部访问端口。使用PLC编程软件打开对应PLC的项目程序,在FX5UCPU的模块参数中对PLC的以太网端口进行设置,在以太网端口子目录自节点设置中设置PLC的通讯IP地址、子网掩码和通讯数据代码,PLC的IP地址根据项目通讯地址定义来确定,通信数据代码为二进制的形式。在以太网端口子目录对象设备连接配置设置中设置PLC的通讯协议和IP通讯的端口后,通讯协议设置为TCP通讯协议,对应的通讯端口根据项目工程的需求来定义,如端口号定义为8000。在通讯端口号必须与PLC软元件数据批量读写程序内端口号相统一,并与本系统内其他在使用的端口号不能冲突。在终端电脑侧,需要配置计算机的IP地址做基本配置,其配置信息如表1,保持终端电脑的IP地址和PLC的IP地址保持在同一网段。终端电脑IP地址设置下表所示。序号名称设置值1IP地址192.168.1.402子网掩码255.255.255.03默认网关NA(表1)根据PLC软元件数据批量读写的程序方案,整个数据访问过程可分为四部分,分别为批量读取数据打包流程、批量写入数据打包流程、循环数据访问流程和循环数据解析流程,其结构如图9。在批量读取、写入数据打包流程中主要是把需要访问PLC的数据经过去重、排序,编码成PLC的访问代码,这两个流程在读取、写入操作时分别执行。在批量读取数据打包流程中,需要把登录元件列表和区域元件列表的内容进行合并,去除重复元件并对其重新排序,形成最终PLC地址访问元件列表。此列表里的地址具有唯一性,根据三菱PLC的MC通讯协议,把该表编码成PLC通讯访问编码,并按一定的规则分类打包,形成PLC访问编码包库。在批量写入数据打包流程中,把需要批量写入的PLC软元件进行列表,并为每个PLC软元件配置需要写入的数据,同样对该元件列表进行编码,形成PLC软元件批量数据写入编码包,该PLC软元件数据列表与PLC数据批量读取元件表可通用。循环数据访问流程主要负责PLC的数据访问,把访问编码发送给PLC,并接受PLC的应答编码,该流程不断循环运行,不断地更新PLC反馈回来的应答编码包。在循环数据解析流程里,如果PLC应答数据包是批量读取数据编码包,把PLC应答反馈回来的编码解析成对应PLC软元件的数据,并把这些数据更新到PLC软元件列表里;如果PLC应答数据包是批量写入数据编码包,PLC反馈回的编码包无数据,给出数据写入的状态,数据写入是否成功。设备网络硬件组建和系统参数环境设置完成后,终端电脑和设备系统内的各个PLC站构成了硬件连接,同时也构成了有效的数据链路。使用LabView程序开发软件开发PLC软元件批量数据读写程序,通过三菱基于Ethernet网络的MELSEC通讯协议(简称MC协议),实现对设备内各个PLC的数据访问。在程序功能方面,需要灵活、方便地访问的需要的数,可以批量写入需要设置参数,为了实现这些功能,程序具体设计如下。1)批量数据读取、写入打包流程。因为需要灵活、方便地批量读取和写入PLC数据,采用Excel表格的形式来收集需要读取和写入的数据,为了简化操作,把批量读取、写入元件表统一为一个软元件表,其形式如表2,该表有序号、元件地址、数据类型、数据值和元件说明五列。在批量数据读取时,元件地址和数据类型列有效,数据值这列无实际意义,把需要监控读取的PLC软元件地址列在元件地址列,并定义对应的数据类型,元件说明内容根据需要对软元件功能作注释说明。PLC元件地址列内登入的PLC软元件有输入元件X、输出元件Y、位存储器M、L、B和数据存储器D、W,数据类型分为BIT、BYTE、WORD_I、WORD_U、DWORD_I、DWORD_U、DWORD_F几种,根据实际的类型进行设置。在批量数据写入时,元件地址、数据类型和数据值都有效,分别把需要的写入数据的PLC软元件的地址列在元件登录表内,并设置对应的数据类型和具体数据值。PLC软元件批量读写登录表如下表所示。序号元件地址数据类型数据值元件说明1M00000BIT1测试12M00001BIT1测试23Y00000BIT1测试34Y00001BIT1测试45D00000WORD_I1测试56D00001WORD_I2测试67D00002WORD_I3测试78D00003WORD_I4测试89D00004WORD_I5测试910D00005WORD_I6测试1011D00008WORD_U7测试1112D000010WORD_U8测试1213D000012WORD_F9测试1314D000014WORD_F10测试14(表2)设置完成的PLC软元件批量读写登录表可通过程序直接导入程序数据变量,形成PLC软元件批量读写程序的登录元件表。PLC软元件批量读写登录表导入界面,可把批量读取或写入元件登录表导入系统。如果是PLC软元件批量数据写入操作时,以数据导入至开发程序内部变量即完成。如果是PLC软元件批量数据读取时,除了需要导入元件登录表,还需要加入元件区域表,实现对某一类型的PLC地址监控。在PLC软元件批量数据读写系统的主界面上设置批量监控的数据区域,设置批量读取PLC软元件的“起始地址”、“数据类型”、读取的“元件个数”和“显示方式”,形成以“起始地址”的连续“元件个数”的元件区域表,其“起始地址”和“数据类型”与软元件登录表相同。此区域元件表与登录元件表合并后去除重复元件地址,再对该所以元件按照已有的地址类型分类排序,形成最终元件监控表。2)循环数据访问流程。循环数据访问流程主要负责把编码好的访问代码集里的代码发送给PLC,PLC接受到访问代码,根据三菱MC协议解析代码访问的内容,再响应访问代码的请求,给出应答编码。在接受的数据读取请求代码时,根据访问代码的元件地址和批量访问的量,把对应的PLC地址的数据组建应答代码;但PLC接受到数据写入代码时,把对应地址的数据写到PLC内,并根据写入的成功与否,组建成应答代码反馈给PLC批量数据读写程序。循环数据访问程序带中,首先判断程序运行过程中有无错误信息,如果有错误信息先跳转到错误处理,在没有网络层连接错误的情况下会自动打开网络连接端口。网络端口参数信息句柄对应的全局变量为“TCPID”,网络端口打开状态由全局变量“NetStatus”指示,如果打开成功,执行编码发送和应答程序段,分别把发送全局数组变量内的指令编码包发送给PLC,接受PLC应答编码并存放在接收全局数组变量里。如此重复循环这行这个过程,实现不断更新读取数据和写入修改的PLC数据。3)循环数据解析流程。循环数据解析流程主要是把PLC应答的数据解析成对应需求的数据,其过程主要分两步,第一步需要把批量应答编码包解析成PLC软元件对应的数据,第二步把需要的数据赋给对应的列表元件。首先在PLC应答编码解析过程中,如果是写入操作,应答编码只是写入是否完成,并无实际数据;在数据读取操作,应答编码包里包含各个元件的数据,所以在全局变量“NetDataRead”为“True”时进行数据读取操作。其次,根据PLC批量读取的元件登录表和元件区域表,把需要的数据回填到对应的表内,形成最终需求的数据。在PLC软元件批量数据读写程序中,涉及到数据处理检索分类、数据编码解码、数据类型转换和总流程的控制。PLC软元件批量数据读写系统的硬件组建和软件程序设计完成后,分别对PLC数据批量读取和写入进行测试。在PLC数据批量读取测试中,在登入PLC软元件Excel模板中登录需要监控的PLC软元件,然后在运行PLC软元件批量数据读写程序,加载元件登录表,并设置PLC监控区域。在PLC软元件批量数据读写程序主界面上按下“批量读取”按钮,开始监控PLC软元件数据,可以批量读取PLC软元件数据。在PLC批量写入数据时,把需要批量写入的PLC软元件地址和对应的数录入到元件登录表Excel模板中,再通过“加载登录表”把已配置好的Excel数据表加载到程序中,通过程序主界面上“批量写入”按钮,一次性把所有加载的数据写入到PLC对应的地址中。在PLC批量数据写入操作过程中,也可以手动修改程序主界面上需要写入的值,再一次重复写入,也可把手动修改过的数据批量写入。通过以上测试实验,可方便快捷读取或写入PLC软元件数据。PLC软元件批量数据读写系统是为设备PLC控制设置一个终端,通过这个终端接口,可以直接批量读取、写入PLC软元件数据。不需要专业的工程人员或原程序开发设计人员的复杂操作,可以根据需求自由方便地配置访问数据列表,批量读取、写入PLC内部数据,在快捷方便数据读写方面有一定的优势,具体如下:1)数据读写系统硬件结构简单,可利用设备系统内的上位机或外加终端操作电脑组件硬件结构,通过工业以太网连接;2)对操作人员要求简单,不需要专业的工程技术人员,直接定义好定元件登录表即可实现数据批量读写操作;3)PLC数据读写可批量化,不需要逐个读写,可高效读写PLC内部存储区数据;4)需要访问的PLC软元件编辑方便,在Excel模板中可自己编辑PLC软元件地址,也可从已有的PLC软元件表格中复制过来,并可以设置PLC软元件区域监控区,方便实现批量监控;5)PLC软元件批量数据读写系统中数据处理采用并行多流程处理的方法,程序运行的效率较高。其中采用了多流程并行处理的方法,缩短采集数据流程的周期,实现更高频次的数据采集功能。PLC软元件批量数据读写程序的开发,提供了一种新的PLC内部软元件数据编辑的方法,对三菱PLC内部软元件可方便、批量地编辑。PLC软元件批量数据读写程序可应用于公司内所有支持MC协议的三菱PLC设备项目,可以方便研发、工程和生产等部门人对设备监控操作,增加了对设备控制系统监控的方法,提高数据写入的效率。下面参考图10,其示出了适于用来实现本公开实施例的电子设备1000的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图10所示,电子设备1000可以包括处理装置(例如中央处理器、图形处理器等)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储装置1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM1003中,还存储有电子设备1000操作所需的各种程序和数据。处理装置1001、ROM1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。通常,以下装置可以连接至I/O接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;以及通信装置1009。通信装置1009可以允许电子设备1000与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的电子设备1000,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。特别地,根据本公开实施例的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开实施例的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1009从网络上被下载和安装,或者从存储装置1008被安装,或者从ROM1002被安装。在该计算机程序被处理装置1001执行时,执行本公开实施例的方法中限定的上述功能。需要说明的是,本公开实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:确定可编程控制器PLC的待监测的至少一个目标软元件的地址列表;对所述地址列表按照地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述地址列表编码成对所述PLC进行访问的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;接收所述PLC返回的应答数据包,对所述应答数据包进行解析获取所述至少一个目标软元件的数据;和/或确定可编程控制器PLC的待操作的至少一个目标软元件的操作数据列表,所述操作数据列表中的操作数据包括软元件地址和待写数据;对所述操作数据列表按照软元件地址顺序进行排序,根据所述PLC所支持的通信协议,将排序后的所述操作数据列表编码成对所述PLC进行数据写入的至少一个代码片段形成编码包,将所述编码包发送给所述PLC;接收所述PLC返回的应答数据包,对所述应答数据包进行解析确定所述至少一个目标软元件的写入操作的反馈信息。可以以一种或多种程序设计语言或其组合来编写用于执行本公开实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。附图中的流程图和框图,图示了按照本公开实施例各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。以上描述仅为本公开实施例的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1