CN106292518B - 远程plc监控和调试系统及方法 - Google Patents
远程plc监控和调试系统及方法 Download PDFInfo
- Publication number
- CN106292518B CN106292518B CN201610837844.0A CN201610837844A CN106292518B CN 106292518 B CN106292518 B CN 106292518B CN 201610837844 A CN201610837844 A CN 201610837844A CN 106292518 B CN106292518 B CN 106292518B
- Authority
- CN
- China
- Prior art keywords
- data
- plc
- element address
- data element
- remote
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/14—Plc safety
- G05B2219/14006—Safety, monitoring in general
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供了一种远程PLC监控或调试系统及方法,所述系统包括数据传输模块和远程终端,所述远程终端包括地址分析单元、第一收发单元、数据缓存单元,所述数据传输模块包括数据读取单元和第二收发单元;其中:所述地址分析单元,用于获得之前预定时间内的所有远程指令需访问的PLC数据单元地址;所述数据读取单元,用于根据从远程终端接收的PLC数据单元地址读取对应数据;所述数据缓存单元,用于将来自数据传输模块的数据与PLC数据单元地址对应缓存。本发明通过分析获得之前预定时间内的所有远程指令需访问的PLC数据单元地址,并将上述PLC数据单元地址所对应的数据缓存到远程终端,从而可大大提高远程指令的响应时间。
Description
技术领域
本发明涉及PLC监控和调试领域,更具体地说,涉及一种远程PLC监控和调试系统及方法。
背景技术
可编程逻辑控制器(Programmable Logic Controller, PLC)是一种可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。
目前工业应用环境中一些可编程控制器11通过数据传输模块(Data TransferUnit,DTU)12的设备连接到网络上,如图1所示,用户可以在远端的设备(即远程终端13)查看PLC运行数据或者远程调试PLC。
然而,这种通过DTU 12来远程查看数据或调试的方式存在很多问题。例如DTU 12仅提供了一个远程虚拟串口的通信模型,一些基于串口的PLC调试软件在使用这种远程虚拟串口连接远程终端13时,采用的通信协议和本地调试时采用的协议是一样的:通常是发送一个命令,等待响应,再发送下一个命令,等待响应这样一个循环过程。
上述通信流程对于本地真实串口问题不大,但是对于远程虚拟串口,由于网络通信延迟的存在,部分指令会出现超时重发;并且协议中命令和响应本身字节数比较短,用网络来传输这些命令和响应时需要增加头部信息,且这些头部信息通常比命令和响应本身还长,通信效率不高。上述两个因素将导致单位时间内交互的数据比较少,使用者最直接的感受就是进行远程调试时超时严重,体验非常差。
发明内容
本发明要解决的技术问题在于,针对上述DTU远程查看数据或调试时响应时间长、通信效率不高的问题,提供一种新的远程PLC监控和调试系统及方法。
本发明解决上述技术问题的技术方案是,提供一种远程PLC监控或调试系统,包括连接到PLC的数据传输模块且该数据传输模块通过网络连接到远程终端,所述远程终端包括地址分析单元、第一收发单元、数据缓存单元,所述数据传输模块包括数据读取单元和第二收发单元;其中:所述地址分析单元,用于获得之前预定时间内的所有远程指令需访问的PLC数据单元地址,所述获取的所有PLC数据单元地址通过第一收发单元发送到数据传输模块,所述远程指令为监控指令或调试指令;所述数据读取单元,用于根据第二收发单元从远程终端接收的PLC数据单元地址通过串口从PLC读取对应数据,所述数据由第二收发单元发送到远程终端;所述数据缓存单元,用于将第一收发单元接收的来自数据传输模块的数据与PLC数据单元地址对应缓存,并在下一远程指令需访问的PLC数据单元地址包含于数据缓存单元中时直接使用该数据缓存单元内的对应数据进行响应。
在本发明所述的远程PLC监控或调试系统中,所述地址分析单元创建包含有所有远程指令需访问的PLC数据单元地址的结构化表格,所述结构化表格通过第一收发单元发送到数据传输模块。
在本发明所述的远程PLC监控或调试系统中,所述数据读取单元周期性地根据结构化数据表格中的PLC数据单元地址读取对应数据,所述第二收发单元将所有数据组合成一个数据包发送到远程终端。
在本发明所述的远程PLC监控或调试系统中,所述地址分析单元在下一远程指令需访问的PLC数据单元地址未包含在缓存中时,重新获得预定时间内的所有远程指令需访问的PLC数据单元地址,该重新获得的PLC数据单元地址通过所述第一收发单元和第二收发单元发送到数据传输模块;所述数据读取单元根据重新获得的PLC数据单元地址读取对应的数据。
本发明还提供一种远程PLC监控或调试方法,包括以下步骤:
(a)远程终端获得之前预定时间内的所有远程指令需访问的PLC数据单元地址,并将获取的所有PLC数据单元地址发送到PLC端,所述远程指令为监控指令或调试指令;
(b)PLC端的数据传输模块根据来自远程终端的PLC数据单元地址,通过串口从PLC读取对应数据,并将所述数据发送到远程终端;
(c)远程终端将接收的数据与PLC数据单元地址对应缓存,并在下一远程指令需访问的PLC数据单元地址包含于缓存中时直接从缓存读取对应的数据。
在本发明所述的远程PLC监控或调试方法中,所述步骤(a)中包括:创建包含有所有远程指令需访问的PLC数据单元地址的结构化表格,并将所述结构化表格发送到PLC端。
在本发明所述的远程PLC监控或调试方法中,所述步骤(b)包括:所述PLC端的数据传输模块周期性地根据结构化数据表格中的PLC数据单元地址读取对应数据,并将所有数据组合成一个数据包发送到远程终端。
在本发明所述的远程PLC监控或调试方法中,所述步骤(c)包括:在下一远程指令需访问的PLC数据单元地址未包含在缓存中时,返回步骤(a)。
本发明的远程PLC监控或调试系统和方法,通过分析获得之前预定时间内的所有远程指令需访问的PLC数据单元地址,并将上述PLC数据单元地址所对应的数据缓存到远程终端,从而远程终端在下一远程指令需访问的PLC数据单元地址位于缓存时可直接从缓存读取数据,可大大提高远程指令的响应时间。本发明还通过将上述所有PLC数据单元地址对应的数据组合长一个数据包发送到远程终端,大大提高了数据发送的效率。
附图说明
图1是现有远程PLC系统的结构示意图。
图2是本发明远程PLC监控或调试系统实施例的示意图。
图3是本发明远程PLC监控或调试方法实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图2所示,是本发明一种远程PLC监控或调试系统实施例的示意图,该系统可应用于使用数据传输模块(DTU)实现远程数据传输的PLC系统中。本实施例中的远程PLC监控或调试系统包括数据传输模块40以及远程终端20,且数据传输模块40通过串口连接到PLC50,并通过网络(通信网络和/或互联网)连接到远程终端20,从而将从PLC 50读取的状态数据或调试数据传输到远程终端20,实现远程监控或调试。
上述远程终端20可以为运行有相应软件的个人电脑(PC),并包括地址分析单元21、第一收发单元22、数据缓存单元23;数据传输模块40采用运行有相应软件的DTU,并包括数据读取单元41和第二收发单元42,其中上述第一收发单元22和第二收发单元42通过TCP/UDP/IP协议等实现远程终端20与数据传输模块40之间的通讯。上述地址分析单元21、第一收发单元22、数据缓存单元23、数据读取单元41和第二收发单元42可结合相应软件构成。
地址分析单元21用于获得当前时刻之前的预定时间(该预定时间可根据需要设定,例如1分钟或30秒等)内的所有远程指令(例如远程监控指令或远程调试指令等)需访问的PLC数据单元地址,上述获取的所有PLC数据单元地址通过第一收发单元22发送到数据传输模块。该地址分析单元21可在远程终端20(即相应软件)运行达到预定时间时执行PLC数据单元地址获取操作,也可由其他指令触发执行PLC数据单元地址获取操作。
特别地,该第一收发单元22可将上述获取的所有PLC数据单元地址组合到一个数据包中发送到数据传输模块40。例如可通过地址分析单元21先将上述获取的所有PLC数据单元地址记录到一个缓存中,并结构化为一个表格,并由第一收发单元22将上述表格打包后发送到数据传输模块40。
数据读取单元41用于根据第二收发单元42从远程终端20接收的PLC数据单元地址通过串口从PLC 50读取对应数据,该读取的数据由第二收发单元42发送到远程终端20。特别地,该数据读取单元41周期性地从PLC 50读取上述PLC数据单元地址对应的数据,并由第二收发单元42主动将上述数据组合成为一个数据包周期性地发送到远程终端20。
数据缓存单元23用于将第一收发单元22接收的来自数据传输模块40的数据包内的PLC数据与PLC数据单元地址对应缓存。在下一远程指令需访问的PLC数据单元地址包含于缓存中时,数据缓存单元23直接使用缓存的对应数据响应该远程指令。
本发明的远程PLC监控或调试系统,远程终端20在需要访问PLC上的数据单元时,优先从数据缓存单元23获取对应数据(如果数据缓存单元23中存在期望的数据则直接响应),解决了远程监控或调试中的超时问题。另外通过将多个PLC数据单元地址及数据组合发送,大大减少了命令和响应的交互次数,通信过程的数据包不会再出现包头大、数据内容小的情况,通信效率大大提高,用户体验明显提升。
此外,如果下一指令所需访问的PLC数据单元地址并不在缓存中,则数据缓存单元23触发地址分析单元21重新获取预定时间内的远程指令所需访问的PLC数据单元地址,并由第一收发单元22发送到数据传输模块40,数据读取模块41根据新的PLC数据单元地址进行数据读取。
如图3所示,是本发明远程PLC监控或调试方法实施例的流程示意图,该方法具体包括以下步骤:
步骤S31:远程终端分析获得当前时刻之前的预定时间内的所有远程指令(例如远程监控指令或调试指令等)需访问的PLC数据单元地址,并将获取的所有PLC数据单元地址发送到PLC端。上述远程终端可以为运行有相应软件的个人电脑(PC),而PLC端则具有数据传输模块(DTU),且该数据传输模块通过串口连接到PLC,并通过网络(通信网络和/或互联网)连接到远程终端。
该步骤可在远程终端(即相应软件)运行达到预定时间时执行PLC数据单元地址获取操作。具体地,该步骤中,可将上述获取的所有PLC数据单元地址组合到一个数据包中发送到数据传输模块,例如可先将上述获取的所有PLC数据单元地址记录到一个缓存中,并结构化为一个表格,然后将上述表格打包后发送到数据传输模块。
步骤S32:PLC端的数据传输模块根据来自远程终端的PLC数据单元地址,通过串口从PLC读取对应数据,并将读取的数据发送到远程终端。
特别地,该步骤周期性地执行,即数据传输模块周期性地从PLC读取上述PLC数据单元地址对应的数据,并主动将上述数据组合成为一个数据包周期性地发送到远程终端。
步骤S33:远程终端将接收的数据包内的数据与PLC数据单元地址对应缓存,并在下一远程指令需访问的PLC数据单元地址包含于缓存中时直接从缓存读取对应的数据。
此外,如果下一指令所需访问的PLC数据单元地址并不在缓存中,则重新执行步骤S31,即远程终端重新分析获取预定时间内的远程指令所需访问的PLC数据单元地址,并将获取的PLC数据单元地址发送到数据传输模块,数据读取模块根据新的PLC数据单元地址进行数据读取。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种远程PLC监控或调试系统,包括连接到PLC的数据传输模块且该数据传输模块通过网络连接到远程终端,其特征在于:所述远程终端包括地址分析单元、第一收发单元、数据缓存单元,所述数据传输模块包括数据读取单元和第二收发单元;其中:所述地址分析单元,用于获得之前预定时间内的所有远程指令需访问的PLC数据单元地址,所述获取的所有PLC数据单元地址通过第一收发单元发送到数据传输模块,所述远程指令为监控指令或调试指令;所述数据读取单元,用于根据第二收发单元从远程终端接收的PLC数据单元地址通过串口从PLC读取对应数据,所述数据由第二收发单元发送到远程终端;所述数据缓存单元,用于将第一收发单元接收的来自数据传输模块的数据与PLC数据单元地址对应缓存,并在下一远程指令需访问的PLC数据单元地址包含于数据缓存单元中时直接使用该数据缓存单元内的对应数据进行响应。
2.根据权利要求1所述的远程PLC监控或调试系统,其特征在于:所述地址分析单元创建包含有所有远程指令需访问的PLC数据单元地址的结构化表格,所述结构化表格通过第一收发单元发送到数据传输模块。
3.根据权利要求2所述的远程PLC监控或调试系统,其特征在于:所述数据读取单元周期性地根据结构化数据表格中的PLC数据单元地址读取对应数据,所述第二收发单元将所有数据组合成一个数据包发送到远程终端。
4.根据权利要求1所述的远程PLC监控或调试系统,其特征在于:所述地址分析单元在下一远程指令需访问的PLC数据单元地址未包含在缓存中时,重新获得预定时间内的所有远程指令需访问的PLC数据单元地址,该重新获得的PLC数据单元地址通过所述第一收发单元和第二收发单元发送到数据传输模块;所述数据读取单元根据重新获得的PLC数据单元地址读取对应的数据。
5.一种远程PLC监控或调试方法,其特征在于:包括以下步骤:
(a)远程终端获得之前预定时间内的所有远程指令需访问的PLC数据单元地址,并将获取的所有PLC数据单元地址发送到PLC端,所述远程指令为监控指令或调试指令;
(b)PLC端的数据传输模块根据来自远程终端的PLC数据单元地址,通过串口从PLC读取对应数据,并将所述数据发送到远程终端;
(c)远程终端将接收的数据与PLC数据单元地址对应缓存,并在下一远程指令需访问的PLC数据单元地址包含于缓存中时直接从缓存读取对应的数据。
6.根据权利要求5所述的远程PLC监控或调试方法,其特征在于:所述步骤(a)中包括:创建包含有所有远程指令需访问的PLC数据单元地址的结构化表格,并将所述结构化表格发送到PLC端。
7.根据权利要求6所述的远程PLC监控或调试方法,其特征在于:所述步骤(b)包括:所述PLC端的数据传输模块周期性地根据结构化数据表格中的PLC数据单元地址读取对应数据,并将所有数据组合成一个数据包发送到远程终端。
8.根据权利要求5所述的远程PLC监控或调试方法,其特征在于:所述步骤(c)包括:在下一远程指令需访问的PLC数据单元地址未包含在缓存中时,返回步骤(a)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610837844.0A CN106292518B (zh) | 2016-09-21 | 2016-09-21 | 远程plc监控和调试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610837844.0A CN106292518B (zh) | 2016-09-21 | 2016-09-21 | 远程plc监控和调试系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106292518A CN106292518A (zh) | 2017-01-04 |
CN106292518B true CN106292518B (zh) | 2019-01-08 |
Family
ID=57712938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610837844.0A Active CN106292518B (zh) | 2016-09-21 | 2016-09-21 | 远程plc监控和调试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106292518B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600309A (zh) * | 2018-03-21 | 2018-09-28 | 浙江佳乐科仪股份有限公司 | 一种基于dtu透传的plc设备运维系统 |
CN110879564B (zh) * | 2019-10-31 | 2020-12-18 | 军创(厦门)自动化科技有限公司 | 一种plc控制器远程调试和监控方法及系统 |
CN111552227A (zh) * | 2020-05-20 | 2020-08-18 | 苏州精濑光电有限公司 | 一种基于可编程逻辑控制器的通信系统及方法 |
CN113448310A (zh) * | 2021-06-01 | 2021-09-28 | 阳春新钢铁有限责任公司 | 一种基于plc路由功能的直流传动装置调试方法 |
CN116719271B (zh) * | 2023-08-04 | 2023-10-13 | 深圳市华茂欧特科技有限公司 | 一种用于plc控制器的远程数据监测系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070055957A1 (en) * | 2005-09-07 | 2007-03-08 | Richard Birenheide | Remote debugging proxy |
CN201869223U (zh) * | 2010-09-01 | 2011-06-15 | 华为终端有限公司 | 机器对机器终端、通信模块、数据发送装置 |
CN102710774B (zh) * | 2012-06-04 | 2014-12-17 | 深圳市宏电技术股份有限公司 | 数据传输方法及系统 |
CN103684945B (zh) * | 2012-09-25 | 2016-12-21 | 上海航天测控通信研究所 | 通用SpaceWire节点装置 |
CN104503907B (zh) * | 2014-12-15 | 2017-08-29 | 深圳市盛弘电气股份有限公司 | 一种基于linux系统的应用程序远程调试方法及系统 |
CN105721568A (zh) * | 2016-02-02 | 2016-06-29 | 清华大学 | 一种远程调试系统、方法及装置 |
-
2016
- 2016-09-21 CN CN201610837844.0A patent/CN106292518B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106292518A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106292518B (zh) | 远程plc监控和调试系统及方法 | |
CN104660682B (zh) | 一种基于td-lte的opc数据采集与监控智能终端 | |
Kuladinithi et al. | Implementation of coap and its application in transport logistics | |
US8990444B2 (en) | Fieldbus gateway using virtual serial fieldbus port and data transmission method thereof | |
EP3462707A1 (en) | Connectivity service level orchestrator and arbitrator in internet of things (iot) platforms | |
CN101605078B (zh) | 基于web多通讯方式的电力系统通讯服务器及其控制方法 | |
CN105794152B (zh) | 与楼宇自动化进行基于web的交互的系统和方法及装置 | |
US20020156926A1 (en) | Industrial control system with autonomous web server | |
CN105159256B (zh) | 一种基于Web服务的智能家居控制系统 | |
CN104010039A (zh) | 一种基于WebSocket的多雷达远程监控系统及方法 | |
CN101388800B (zh) | 对服务器的网络性能进行压力测试的方法、设备及系统 | |
CN107360177B (zh) | 一种基于udp的报文传输方法及装置 | |
CN108924165A (zh) | 一种内网远程访问方法及其装置及内网网关 | |
CN106549864B (zh) | 一种云网关的通信实现方法 | |
Sahadevan et al. | An offline online strategy for IoT using MQTT | |
CN102394880A (zh) | 内容分发网络中的跳转响应处理方法和设备 | |
CN103716217A (zh) | 一种基于can总线技术的智能数据转发器 | |
CN104820680A (zh) | 一种通用型分布式爬虫调度系统 | |
CN112596928A (zh) | 工业机器人数据管理方法、装置、设备及计算机存储介质 | |
CN103149909A (zh) | 基于fpga的can仿真节点系统 | |
CN104079658B (zh) | Web环境下基于池技术的环保物联网实时控制方法 | |
CN105916184A (zh) | 一种符合ISA100.11a标准的工业无线传感网终端实现方法 | |
CN105119731A (zh) | 一种不可靠网络上分布式虚拟环境一致性控制方法 | |
CN212211031U (zh) | 一种基于物联网的配置实时生效网关设备 | |
Zhang et al. | Design of CAN bus application layer protocol for aerocraft control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |