欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 上位机向可编程逻辑控制器传输数据的方法独创技术11177字

上位机向可编程逻辑控制器传输数据的方法

2021-02-02 03:30:06

上位机向可编程逻辑控制器传输数据的方法

  技术领域

  本发明涉及一种数据传输方法,尤其是一种上位机向可编程逻辑控制器传输数据的方法。

  背景技术

  在自动控制系统中经常需要通过上位机向可编程逻辑控制器传输EXCEL文件数据,例如向运动控制器发送用于构造CAM曲线的点位数据。随着控制精度的提高,运动控制器所需的CAM曲线数量以及点位数据的数量急速增涨。上位机在通过基于VB.NET编写的软件程序传输EXCEL文件数据的方式耗费时间过长,不能满足客户的需求。

  发明内容

  本发明的目的是提供一种上位机向可编程逻辑控制器传输数据的方法,使上位机能够高效快速地向可编程逻辑控制器传输EXCEL文件数据。

  本发明提供了一种上位机向可编程逻辑控制器传输数据的方法,包括以下步骤:

  上位机通过基于C#语言编写的软件程序与可编程逻辑控制器建立TCP通信连接;

  上位机通过软件程序范围读取存储于上位机中的EXCEL文件内的数据;以及

  上位机通过软件程序将EXCEL文件内的每个sheet表单内的数据单独分封为一个数据包,每个数据包调用一次Socket的send()函数传输给可编程逻辑控制器。

  本发明提供的上位机向可编程逻辑控制器传输数据的方法,上位机通过采用C#语言编写的软件程序范围读取EXCEL文件内的数据,相比之前逐个单元格读取的方式,节省了大量读取数据的时间。另外,软件程序在传输数据时采用自定义的协议分封数据包,充分利用传输机制,提高传输效率。借此,发明提供的上位机向可编程逻辑控制器传输EXCEL文件数据的方法使上位机能够高效快速地向可编程逻辑控制器传输EXCEL文件数据。

  在上位机向可编程逻辑控制器传输数据的方法的再一种示意性实施方式中,软件程序作为客户端与作为服务器的可编程逻辑控制器建立通信连接。

  在上位机向可编程逻辑控制器传输数据的方法的又一种示意性实施方式中,软件程序通过读取xml格式的配置文件来配置建立TCP通信的通信参数,软件程序还通过读取配置文件来配置读取并传输的EXCEL文件的文件参数。借此便于使用和维护。

  在上位机向可编程逻辑控制器传输数据的方法的另一种示意性实施方式中,通信参数包括可编程逻辑控制器的名称、IP地址、端口号以及存储目标。

  在上位机向可编程逻辑控制器传输数据的方法的另一种示意性实施方式中,文件参数包括EXCEL文件的位置路径、最大可编程逻辑控制器数量、最大sheet表单数量及最大单元格数量。

  在上位机向可编程逻辑控制器传输数据的方法的另一种示意性实施方式中,软件程序还根据逻辑判断代码在读取配置文件失败时、建立TCP通信连接失败时、读取EXCEL文件失败时、读取EXCEL文件内sheet表单数量超过最大值时、读取sheet表单内单元格数量超过最大值时和传输数据包失败时生成提示界面。方便用户应对传输过程中的异常状况。

  在上位机向可编程逻辑控制器传输数据的方法的另一种示意性实施方式中,每个sheet表单内的数据单独分封的数据包包括表头段及数据段。表头段包括当前发送的sheet表单的序号、程序读取的Excel文件内sheet表单的数量和当前发送的sheet表单的所有数据长度。当前发送的sheet表单的序号占用一个字节位,程序读取的Excel文件内sheet表单的数量占用一个字节位,当前发送的sheet表单的所有数据长度占用四个字节位。数据段包括当前发送的sheet表单的全部单元格内的数据,每个单元格内的数据构造一个字符串变量,各字符串变量转化后占用八个字节位。服务端可以更加明确和安全地对数据进行解析。

  在上位机向可编程逻辑控制器传输数据的方法的另一种示意性实施方式中,软件程序的代码中定义有用于扩展的抽象父类及接口。借此使软件程序具备较好的可扩展性。

  附图说明

  以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围。

  图1为上位机向可编程逻辑控制器传输数据的方法的一种示意性实施方式的流程图。

  图2为数据包的结构示意图。

  图3为软件程序的程序代码的树形结构图。

  标号说明

  10 表头段

  20 数据段

  具体实施方式

  为了对发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示结构相同或结构相似但功能相同的部件。

  在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。

  为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。

  图1为上位机向可编程逻辑控制器传输数据的方法的一种示意性实施方式的流程图。参照图1,上位机向可编程逻辑控制器传输数据的方法,包括以下步骤:

  S10:上位机通过基于C#语言编写的软件程序与可编程逻辑控制器建立TCP通信连接。其中,软件程序作为客户端与作为服务器的可编程逻辑控制器建立通信连接,软件程序用于设置建立通信连接时的可编程逻辑控制器的名称、IP地址、端口号等参数。

  S20:上位机通过软件程序范围读取存储于上位机中的EXCEL文件内的数据。由于软件程序采用C#语言编写,比较目前采用VB.NET编写的软件程序,在读取EXCEL文件数据时可以在定义好读取范围后整体读取多个单元格内的数据,代替目前采用VB.NET编写的软件程序的逐个单元格读取数据的方式。

  S30:上位机通过软件程序将EXCEL文件内的每个sheet表单内的数据单独分封为一个数据包,每个数据包调用一次Socket的send()函数传输给可编程逻辑控制器。目前使用的传输方式中,通常每个sheet表单内的单元格的数据分为数组,每组调用一次Socket的send()函数传输给可编程逻辑控制器,调用send()函数的次数多,不能充分利用传输机制。与之相比,在步骤S30中,每个sheet表单内的数据单独分封为一个数据包并调用一次Socket的send()函数,充分利用传输机制,提高了传输效率。

  图2为数据包的结构示意图。参照图2,每个sheet表单内的数据单独分封的数据包包括表头段10及数据段20。表头段10包括当前发送的sheet表单的序号(对应图中SheetSequence)、程序读取的Excel文件内sheet表单的数量(对应图中Total Sheet Number)和当前发送的sheet表单的所有数据长度(对应图中Sheet Length)。当前发送的sheet表单的序号占用一个字节位,程序读取的Excel文件内sheet表单的数量占用一个字节位,当前发送的sheet表单的所有数据长度占用四个字节位。数据段20包括当前发送的sheet表单的全部单元格内的数据,每个单元格内的数据构造一个字符串变量,各字符串变量转化后占用八个字节位。采用上述清晰的应用层数据格式,作为服务器的可编程逻辑控制器可以更加明确和安全地对数据进行解析。

  本发明提供的上位机向可编程逻辑控制器传输数据的方法,上位机通过采用C#语言编写的软件程序范围读取EXCEL文件内的数据,相比之前逐个单元格读取的方式,节省了大量读取数据的时间。另外,软件程序在传输数据时采用自定义的协议分封数据包,充分利用传输机制,提高传输效率。借此,发明提供的上位机向可编程逻辑控制器传输EXCEL文件数据的方法使上位机能够高效快速地向可编程逻辑控制器传输EXCEL文件数据。

  图2为软件程序的程序代码的树形结构图。参照图3,在示意性实施方式中,软件程序通过读取xml格式的配置文件来配置建立TCP通信的通信参数,软件程序还通过读取配置文件来配置读取并传输的EXCEL文件的文件参数。以下为配置文件的代码示例:

  

  参照以上代码并结合图2,配置文件的根节点为configuration节点。根节点下分为simotionList和customConfiguration两个子节点。simotionList用于配置建立TCP通信的通信参数,通信参数包括可编程逻辑控制器的名称、IP地址、端口号以及存储目标等信息。customConfiguration节点用于读取并传输的EXCEL文件的文件参数,包括EXCEL文件的位置路径、最大可编程逻辑控制器数量、最大sheet表单数量及最大单元格数量等信息。程序中定义相应的实体类来承载对应的配置文件的节点信息。通过采用xml格式的配置文件,当用户有需求上的更改时,不用修改具体的代码,只需修改相应的配置文件即可完成新的配置。减少对源代码的修改,使得维护上更加方便,不需要懂代码技术就可以进行维护。

  在示意性实施方式中,参照图2,软件程序的代码中定义有用于扩展的抽象父类Abthread.cs及接口Form1.cs,定义方法便于与其他程序对接,使软件程序具备较好的可扩展性。

  在示意性实施方式中,软件程序还根据逻辑判断代码在读取配置文件失败时、建立TCP通信连接失败时、读取EXCEL文件失败时、读取EXCEL文件内sheet表单数量超过最大值时、读取sheet表单内单元格数量超过最大值时和传输数据包失败时生成提示界面。例如在程序界面显示对应出错信息的提示图标,并且同时在上位机中打开对应出错信息的文件所在的目录。软件程序通过上述功能建立异常处理机制,方便用户应对传输过程中的异常状况。

  应当理解,虽然本说明书是按照各个实施例描述的,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

  上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施例的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方案或变更,如特征的组合、分割或重复,均应包含在本发明的保护范围之内。

《上位机向可编程逻辑控制器传输数据的方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)