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

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

Info

Publication number
CN111880466B
CN111880466B CN202010740784.7A CN202010740784A CN111880466B CN 111880466 B CN111880466 B CN 111880466B CN 202010740784 A CN202010740784 A CN 202010740784A CN 111880466 B CN111880466 B CN 111880466B
Authority
CN
China
Prior art keywords
data
programmable logic
logic controller
excel file
software program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010740784.7A
Other languages
English (en)
Other versions
CN111880466A (zh
Inventor
胡钟颢
谢元新
王庆林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Ltd China
Original Assignee
Siemens Ltd China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Ltd China filed Critical Siemens Ltd China
Priority to CN202010740784.7A priority Critical patent/CN111880466B/zh
Publication of CN111880466A publication Critical patent/CN111880466A/zh
Application granted granted Critical
Publication of CN111880466B publication Critical patent/CN111880466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

上位机向可编程逻辑控制器传输数据的方法,包括以下步骤:上位机通过基于C#语言编写的软件程序与可编程逻辑控制器建立TCP通信连接;上位机通过软件程序范围读取存储于上位机中的EXCEL文件内的数据;以及上位机通过软件程序将EXCEL文件内的每个sheet表单内的数据单独分封为一个数据包,每个数据包调用一次Socket的send()函数传输给可编程逻辑控制器。借助本发明提供的上位机向可编程逻辑控制器传输EXCEL文件数据的方法,上位机能够高效快速地向可编程逻辑控制器传输EXCEL文件数据。

Description

上位机向可编程逻辑控制器传输数据的方法
技术领域
本发明涉及一种数据传输方法,尤其是一种上位机向可编程逻辑控制器传输数据的方法。
背景技术
在自动控制系统中经常需要通过上位机向可编程逻辑控制器传输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表单内单元格数量超过最大值时和传输数据包失败时生成提示界面。例如在程序界面显示对应出错信息的提示图标,并且同时在上位机中打开对应出错信息的文件所在的目录。软件程序通过上述功能建立异常处理机制,方便用户应对传输过程中的异常状况。
应当理解,虽然本说明书是按照各个实施例描述的,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施例的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方案或变更,如特征的组合、分割或重复,均应包含在本发明的保护范围之内。

Claims (7)

1.上位机向可编程逻辑控制器传输EXCEL文件数据的方法,其特征在于,该方法包括以下步骤:
上位机通过基于C#语言编写的软件程序与可编程逻辑控制器建立TCP通信连接;
上位机通过所述软件程序范围读取存储于上位机中的EXCEL文件内的数据;以及
上位机通过所述软件程序将EXCEL文件内的每个sheet表单内的数据单独分封为一个数据包,每个所述数据包调用一次Socket的send()函数传输给可编程逻辑控制器;
每个sheet表单内的数据单独分封的所述数据包包括:
表头段(10),其包括:
当前发送的sheet表单的序号,其占用一个字节位,
程序读取的Excel文件内sheet表单的数量,其占用一个字节位,和
当前发送的sheet表单的所有数据长度,其占用四个字节位;及
数据段(20),其包括当前发送的sheet表单的全部单元格内的数据,每个单元格内的数据构造一个字符串变量,各所述字符串变量转化后占用八个字节位。
2.如权利要求1所述的上位机向可编程逻辑控制器传输EXCEL文件数据的方法,其中,所述软件程序作为客户端与作为服务器的所述可编程逻辑控制器建立通信连接。
3.如权利要求2所述的上位机向可编程逻辑控制器传输EXCEL文件数据的方法,其中,所述软件程序通过读取xml格式的配置文件来配置建立TCP通信的通信参数,所述软件程序还通过读取所述配置文件来配置读取并传输的EXCEL文件的文件参数。
4.如权利要求3所述的上位机向可编程逻辑控制器传输EXCEL文件数据的方法,其中,所述通信参数包括可编程逻辑控制器的名称、IP地址、端口号以及存储目标。
5.如权利要求4所述的上位机向可编程逻辑控制器传输EXCEL文件数据的方法,其中,所述文件参数包括EXCEL文件的位置路径、最大可编程逻辑控制器数量、最大sheet表单数量及最大单元格数量。
6.如权利要求5所述的上位机向可编程逻辑控制器传输EXCEL文件数据的方法,其中,所述软件程序还根据逻辑判断代码在读取所述配置文件失败时、建立TCP通信连接失败时、读取EXCEL文件失败时、读取EXCEL文件内sheet表单数量超过最大值时、读取sheet表单内单元格数量超过最大值时和传输所述数据包失败时生成提示界面。
7.如权利要求1所述的上位机向可编程逻辑控制器传输EXCEL文件数据的方法,其中,所述软件程序的代码中定义有用于扩展的抽象父类及接口。
CN202010740784.7A 2020-07-28 2020-07-28 上位机向可编程逻辑控制器传输数据的方法 Active CN111880466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010740784.7A CN111880466B (zh) 2020-07-28 2020-07-28 上位机向可编程逻辑控制器传输数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010740784.7A CN111880466B (zh) 2020-07-28 2020-07-28 上位机向可编程逻辑控制器传输数据的方法

Publications (2)

Publication Number Publication Date
CN111880466A CN111880466A (zh) 2020-11-03
CN111880466B true CN111880466B (zh) 2024-03-15

Family

ID=73201899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010740784.7A Active CN111880466B (zh) 2020-07-28 2020-07-28 上位机向可编程逻辑控制器传输数据的方法

Country Status (1)

Country Link
CN (1) CN111880466B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112802527B (zh) * 2021-04-14 2021-07-02 上海灵动微电子股份有限公司 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761782B1 (en) * 2004-10-26 2010-07-20 Xsb, Inc. User programmable deductive spreadsheet apparatus which supports solutions to circular definitions
CN102411310A (zh) * 2011-07-29 2012-04-11 奇瑞汽车股份有限公司 一种汽车动力电池的模拟方法和装置
JP2014106720A (ja) * 2012-11-27 2014-06-09 Toshiba Mitsubishi-Electric Industrial System Corp プログラマブルコントローラの試験装置
CN104263960A (zh) * 2014-09-23 2015-01-07 北京矿冶研究总院 金湿法冶金置换过程中置换率和金泥品位的在线预测方法
CN204392275U (zh) * 2015-01-08 2015-06-10 广州市地下铁道总公司 一种具有以太网接口的mvb总线数据侦听系统
CN104850041A (zh) * 2015-04-21 2015-08-19 沈阳化工大学 一种输油过程能耗分析系统
CN206224176U (zh) * 2016-09-14 2017-06-06 天津理工大学 一种基于振弦传感器的数据采集与传输系统
CN107784139A (zh) * 2016-08-26 2018-03-09 沈阳鼓风机集团自动控制系统工程有限公司 压缩机控制系统电气原理图自动生成方法
CN108756962A (zh) * 2018-05-04 2018-11-06 西安科技大学 一种基于mvc设计模式的液压支架监测方法及系统
CN110738029A (zh) * 2018-12-29 2020-01-31 威海光威精密机械有限公司 复合材料铺层数据导入方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761782B1 (en) * 2004-10-26 2010-07-20 Xsb, Inc. User programmable deductive spreadsheet apparatus which supports solutions to circular definitions
CN102411310A (zh) * 2011-07-29 2012-04-11 奇瑞汽车股份有限公司 一种汽车动力电池的模拟方法和装置
JP2014106720A (ja) * 2012-11-27 2014-06-09 Toshiba Mitsubishi-Electric Industrial System Corp プログラマブルコントローラの試験装置
CN104263960A (zh) * 2014-09-23 2015-01-07 北京矿冶研究总院 金湿法冶金置换过程中置换率和金泥品位的在线预测方法
CN204392275U (zh) * 2015-01-08 2015-06-10 广州市地下铁道总公司 一种具有以太网接口的mvb总线数据侦听系统
CN104850041A (zh) * 2015-04-21 2015-08-19 沈阳化工大学 一种输油过程能耗分析系统
CN107784139A (zh) * 2016-08-26 2018-03-09 沈阳鼓风机集团自动控制系统工程有限公司 压缩机控制系统电气原理图自动生成方法
CN206224176U (zh) * 2016-09-14 2017-06-06 天津理工大学 一种基于振弦传感器的数据采集与传输系统
CN108756962A (zh) * 2018-05-04 2018-11-06 西安科技大学 一种基于mvc设计模式的液压支架监测方法及系统
CN110738029A (zh) * 2018-12-29 2020-01-31 威海光威精密机械有限公司 复合材料铺层数据导入方法

Also Published As

Publication number Publication date
CN111880466A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN108769165B (zh) 一种物联网中数据处理方法、物联网接入系统
AU2002351015C1 (en) Method and device for defining objects allowing to establish a device management tree for mobile communication devices
US10666718B2 (en) Dynamic data transport between enterprise and business computing systems
CN109768970B (zh) 一种基于可配置的通用协议生成方法
EP2237120B1 (en) Universal network adapter for industrial control networks
EP2852103B1 (en) Apparatus and method supporting wireless communications between devices using different application protocols in industrial control and automation systems
CN102802139A (zh) 一种物联网网关数据适配系统及方法
US20130080585A1 (en) Method for transmitting data via a canopen bus
CN1446425A (zh) 在无线射频介质上提供远程网络驱动器接口规范服务
EP2571224A1 (en) Method for processing messages on m2m platform and m2m platform system
CN109347884A (zh) 一种实时以太网到现场总线的转换方法及装置、存储介质
CN111880466B (zh) 上位机向可编程逻辑控制器传输数据的方法
CN107222458A (zh) 一种兼容Modbus协议的BACnet协议栈的数据处理方法及系统
CN110266702A (zh) 基于XML的Wireshark用协议解析方法
CN103117881A (zh) 一种物联网资源管理系统
CN107025115B (zh) 一种适配多种接口采集的方法
EP1246059B1 (en) Dynamic interface aggregation on demand
CN110830466B (zh) 一种基于xml的dl/t645规约报文的组帧方法及装置
CN111885174A (zh) 一种非相同网段的节点的处理方法及系统
CN112235316A (zh) 一种仪器集成的数据通信方法
CN110417860A (zh) 文件传输管理方法、装置、设备及存储介质
CN115604070A (zh) 基于mctp协议的消息传输方法、装置、设备及介质
US11216424B2 (en) Dynamically rendering an application programming interface for internet of things applications
Gaitan et al. An IoT middleware framework for industrial applications
CN107608679A (zh) 一种通过Socket高效烧写机顶盒数据的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant