可编程逻辑控制器协议转换器的制作方法

文档序号:6286084阅读:123来源:国知局
专利名称:可编程逻辑控制器协议转换器的制作方法
可编程逻辑控制器协议转换器 本申请依据35U. S.C. § 119(e)要求享受2007年7月26日递交的临时申请 No. 60/952, 118的优先权,其全部内容以引用方式并入本文。
背景技术
许多工业设施采用通常称为PLC(可编程逻辑控制器的简称)的设备。已知地,PLC 提供了基于微处理器的工业控制系统。PLC通过数据链路与其他处理控制部件通信。在处 理控制中,PLC用于简单的开关任务(例如打开和关闭阀门)、PID控制、复杂数据操作、算 术运算、定时和处理和机器控制等。例如,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地址 之一的请求;以及响应于在所述共享的存储器阵列的单元之一中的请求,存储由所述PLC 设备返回的数据值。每个请求根据第一通信协议来配置。所述操作还包括调用第二线程。 所述第二线程一般地可被配置为接收根据第二通信协议传送的对于在所述共享的存储器 阵列中存储的数据值中的一个或多个的请求;取出所请求的一个或多个数据值;以及以与 所述第二通信协议一致的格式返回所请求的数据值。


为了进一步理解本发明的特点和目的,可参照以下具体实施方式
的描述并结合附 图,在附图中对于类似的元素给出相同或相似的标号,其中 图1是根据本发明一个实施例的被监视工业设施和操作控制中心的概念性视图, 所述操作控制中心包括SCADA系统,其被配置为与PLC转换器系统和PLC设备通信;
图2是示出根据本发明一个实施例被配置为执行PLC协议转换处理的PLC转换器 系统的部件的框图; 图3是示出根据本发明一个实施例由PLC协议转换器使用的共享的存储器阵列以 允许使用期望的通信协议与PLC设备通信的概念图;以及 图4示出根据本发明一个实施例的PLC协议转换器使用期望的通信协议与PLC设 备通信的方法。
具体实施例方式
本发明实施例提供一种PLC协议转换器系统,其允许SCADA系统使用期望的通信 协议与PLC设备有效地通信,特别在PLC设备没有"说出"期望的通信协议的情况下。SCADA 系统(监督控制和数据获取系统的简称)使得处理数据中心化,并允许远程监视和控制各 种工业系统。SCADA系统可被配置为从远程位置实时收集数据,以在流水线(例如烃流水 线、或氢流水线)中控制设备和条件。例如,SCADA系统可被配置为向PLC控制器发送对于 在存储器中的地址处记录的值的请求,其表示在工业工厂中传感器那时的当前值、或在工 业工厂中部件的离散状态。对于与PLC通信的SCADA系统,两者必须能够使用兼容的通信 协议进行通信。
在一个实施例中,PLC转换器系统可以是这样的计算机(例如嵌入式系统),其被 配置为通过执行应用程序与PLC设备和SCADA系统通信。实践中,程序可读取配置文件,其 识别从PLC期望什么数据元素(例如存储器值、寄存器值、或数据库字段值),以及映射从 PLC收集的数据的一组存储器地址(例如MODBUS地址)。可基于配置文件中的存储器地址 将收集的数据存储在共享的存储器阵列的单元内。可使用已知的通信协议(例如ftp)将 配置文件发送至PLC转换器。 此外,程序可包括第一线程,其被配置为使用PLC设备知晓的通信协议逐个地连 续读取期望的PLC地址。例如,PLC转换器可使用串行连接物理地连接至PLC设备,从而允 许程序使用PLC设备知晓的串行线协议发送对于信息的请求。在特定实施例中,所述协议 是已知的非智能终端协议(NITP)。第一线程可将数据值存储在程序存储器中的共享数据阵 列中。因此,第一线程从PLC设备暴露在配置文件中指定的数据。 同时,程序还可包括第二线程,其被配置为根据第二通信协议例如向SCADA系统 供应在共享数据阵列中的数据。例如,第二线程可使用已知的TCP-MODBUS协议从共享存储 器向"知晓"TCP-MODBUS协议的SCADA系统供应数据。这个操作允许来自PLC设备的数据 对于经由PLC转换器系统上存在的以太网端口接收的任意MODBUS主轮询(poll)实现共 享。因此,实践中,PLC转换器系统伪装成PLC设备,用于响应MODBUS消息请求。此外,如 果期望从第一线程暴露的集增加(或去除)数据点,则用户简单地修改配置文件,(例如经 由ftp)将其上传至PLC转换器系统,并(例如使用基于HTTP的诊断接口 )重启程序。
有利地,本发明实施例可用于提供对于PLC数据库中的任意数据类型(例如数字 的、离散的等)的只读访问,以及在SCADA系统知晓的协议下提供数据。此外,本发明实施 例不需要PLC设备自身中的任何配置、或任何处理器重启/关闭来运行;可在不存在对PLC 设备的任何影响的情况下连接至/断开连接至PLC设备;以及可(例如经由TCP连接)连 接至SCADA系统,以允许远程配置、管理、和使用。 注意,在这里相对于特定PLC设备-即5x5系列设备_从德国柏林西门子公司购 买-描述了本发明实施例。已知地,5x5系列(特别地505系列)提供这样一种PLC设备,其 能够响应于在RS-232串联上使用非智能终端协议(NITP)格式化的请求,但是不支持(至 少没有某种附加通信卡)使用MODBUS轮询的数据的请求。此外,还已知地,即使具有附加通 信卡,由该通信卡提供的MODBUS数据映射仅允许访问PLC数据库中可用数据类型的子集。 然而,本领域普通技术人员可理解,5x5系列设备仅是示例性的,并且本发明不限于此。
本发明一个实施例可作为计算机系统使用的一个或多个软件程序来实现。程序包 括执行本发明实施例(包括这里所述的方法)的指令,并可存储在各种计算机可读介质上。 示例性计算机可读介质包括但不限于(i)在上面永久存储信息的不可写存储介质(例如 计算机中的只读存储设备,例如CD-ROM或DVD-ROM驱动器可读的CD-ROM或DVD-ROM盘)和 /或(ii)在上面存储可变信息的可写存储介质(例如在盘驱动器中的软盘、硬盘驱动器、或 闪存设备)。其他介质包括向计算机传送信息所经由的通信介质,例如计算机或电话网络, 包括无线通信网络。后一实施例特别地包括向/从因特网和其他网络发送信息。当承载执 行本发明功能的计算机可读指令时,这种计算机可读介质代表本发明的实施例。
此外,这里的描述引用了本发明的实施例。然而,应理解,本发明不限于任何特定 描述的实施例。相反,无论是否与不同实施例相关,以下特征和元素的任意组合可考虑为实现和实践本发明。此外,在各个实施例中,本发明提供了相比于现有技术的多个优点。然而, 尽管本发明实施例可实现相比于其他可能方案和/或相比于现有技术的优点,但是通过给 定实施例是否实现特定优点并不构成对本发明的限制。因此,以下方面、特点、实施例和优 点仅是示例性的,并非认为是所附权利要求的元素或限制,除非在权利要求中清楚阐述。同 样,对"本发明"的提及不应该理解为这里公开的任意发明主题的概括,并且不应该认为是 所附权利要求的元素或限制,除非在权利要求中清楚阐述。 —般地,被执行以实现本发明实施例的例程可以是操作系统或特定应用、部件、程 序、模块、对象、或指令序列的一部分。此外,程序包括驻留在程序本地中或在存储器中或存 储设备上找到的变量和数据结构。此外,以下描述的各个程序可基于在本发明特定实施例 中实现的应用来识别。然而,应理解,随后的任意特定程序术语仅为了方便而使用,因此本 发明不限于仅在由这些术语识别和/或暗示的任意特定应用中使用。 图1是根据本发明一个实施例的被监视工业设施105和操作控制中心130的概念 性视图,所述操作控制中心130包括SCADA系统135,其被配置为与PLC转换器系统120和 PLC设备115通信。如图所示,被监视工业设施105包括由PLC设备115监视和管理的工厂 系统110的集合。包括工厂系统110的集合,以代表由PLC设备115控制的各种工业处理。 工厂系统的实例包括低温空气分离单元、水处理工厂、液体产品喷雾器、和氢净化单元。如 上所述,PLC设备115提供了可编程逻辑控制器,其被配置为通过数据链路与其他处理控制 部件通信,并且PLC设备115可用在简单的开关任务(例如打开和关闭阀门)的处理控制、 PID控制、复杂数据操作、算术运算、定时和处理和机器控制等中。在特定实施例中,PLC设 备115是购于德国柏林的西门子公司的5x5系列设备。当然,可使用具有这里所述特征的 其他PLC设备。 在一个实施例中,PLC设备115可响应于来自PLC转换器系统120的请求。这种请 求可使用通信协议来格式化,并且可以在PLC设备115和PLC转换器系统120之间建立的 数据链路上发送。例如,PLC转换器系统120可被配置为使用串行线连接(由箭头117所 示)与PLC设备115通信,以使用NITP协议发送请求(和接收响应)。
同时,PLC转换器系统120还可被配置为通过网络137(由箭头119所示)与SCADA 系统135通信。例如,SCADA系统135可向请求已识别的MODBUS地址块的PLC转换器系统 120提交MODBUS主轮询。响应地,在PLC转换器系统120上执行的应用程序可从共享的存 储器阵列取出所请求地址的值,并发送至SCADA系统135。 在特定实施例中,PLC转换器系统120是购于M0Xa⑧公司的UC-7110型嵌入式 计算机系统,其配置有多线程应用程序,如这里详细所述。已知地,UC-7110型提供具有两 个串联端口的基于RISC的准备运行计算机,和双局域网。当然,本发明实施例可适于使用 具有这里所述特征的其他计算设备。 在一个实施例中,将来自SCADA系统135的请求的结果发送至操作控制中心130。 操作控制中心130可采用多个计算机系统,这些系统运行用于协调、监视、和控制被监视工 业设施105的操作的应用程序。图示地,流水线操作控制中心130包括SCADA系统135、 SCADA数据库145、 HTTP服务器148和客户端系统170,他们被配置为在局域网137上彼此 通信。注意,包括在操作控制中心130中所示的计算机系统135和170以代表现有的计算 机系统,例如台式计算机、服务器计算机、膝上型计算机、平板式计算机等。然而,本发明实施例不限于任意特定计算系统、应用、设备、架构或网络,相反,可适用于利用新的计算系统 和平台(在他们可用时)。此外,本领域普通技术人员将认识到,简化计算机系统135、148、 和170的视图以突出本发明的多个方面,并且计算系统和网络典型地包括图1中没有示出 的多个部件。 如上所述,SCADA系统135可被配置为使得来自各个工业操作的处理数据中心化, 并允许远程监视和控制被监视的工业设施105。图示地,将SCADA系统135接收的数据存储 在数据库145中。此外,浏览器应用175可被配置为从数据库145请求与被监视工业操作的 当时现存(或历史)状态相关的数据。典型地,HTTP服务器148被配置为发送由web浏览 器(例如SCADA浏览器应用175)呈现的HTML网页,其中网页的内容以结构化的形式表现 来自数据库142的信息。由此,客户端计算机系统170包括web浏览器175,其用于呈现从 web服务器HTTP服务器148接收的信息。注意,尽管将数据库145和web服务器148示出 为单独的系统,但是本领域普通技术人员可认识到,这些部件可以以各种方式组织和配置。
图2是示出根据本发明一个实施例被配置为执行PLC协议转换处理的PLC转换器 系统120的部件的框图。如图所示,PLC转换器系统120包括CPU 215、存储设备220、存储 器230、串行连接端口 205和以太网连接端口 210,其每个连接至总线211。包括CPU 215以
代表单个cpu、多个cpu、具有多个处理核的单个cpu等。例如,Moxa⑧的嵌入式系统包括
ARM932位192MHz处理器。存储设备220可提供用于由PLC转换器系统120使用的应用程 序和数据的永久存储区。存储设备220的实例包括一个或多个硬盘驱动器、固态存储器设 备、光学介质等。图示地,示出存储器220包括配置文件220。在一个实施例中,配置文件 225提供一组逗号分隔值(CSV),其指示通过PLC转换器系统120使得哪个PLC设备地址可 用,以及通过PLC转换器系统120使得每个这样的地址应该映射到哪些MODBUS地址(例如 哪个MODBUS地址)。 存储器230可以是一个存储器设备或其组合,包括随机存取存储器、非易失性或 备用存储器(例如可编程或闪速存储器、只读存储器等)。图示地,存储器230存储操作系 统260、共享的存储器阵列250、和PLC协议转换器应用235。操作系统260用于管理硬件和 在PLC转换器系统120上执行的软件,包括PLC协议转换器应用235。此外,操作系统260 可包括与PLC转换器系统120和PLC协议转换器应用235交互所需的任意数目的实用应用 (例如FTP或HTTP服务器处理)。 如图所示,PLC协议转换器应用235包括第一线程240 (标记为NITP线程)和第 二线程245(标记为MODBUS线程)。在一个实施例中,第一线程240被配置为在PLC设备 115中连续读取在配置文件220中标识的地址。此外,可使用PLC设备115知晓的通信协议 (例如西门子公司505系列PLC知晓的NITP协议)逐个地读取地址。第一线程240可在共 享的存储器阵列250中存储从PLC设备115读取的数据值。因此,第一线程240从PLC设 备115暴露在配置文件220中指定的数据。 在开始时,PLC协议转换器应用235读取配置文件220,其描述期望哪些PLC地址 以及将他们映射到哪些MODBUS地址。在一个实施例中,评估从配置文件220读取的信息, 以构建第一线程240使用的信息集,收集来自PLC设备115的数据值。例如,在一个消息中 可以传送多少个数据元素方面NITP是受限的,因此消息一般被构建为确保PLC设备115不 会因为数据请求而负担过多。一旦构建消息,则第一线程240开始逐个地将他们发送至PLC设备115,每次在发送下一个之前等待响应。在共享的存储器阵列250中存储来自每个后续 响应的数据,以由PLC协议转换器应用235的第二线程245使用。在一个实施例中,第一线 程240在无限循环中按规律间隔重复发送消息,直到接收到指引PLC协议转换器应用235 关闭的中断。 第二线程245 —般被配置为向SCADA系统135供应在共享的存储器阵列250中存 储的数据。即,第二线程245 —般可被配置为用作M0DBUS从设备,按需提供M0DBUS地址 值。例如,在一个实施例中,第二线程245等待经由以太网端口 210上建立的TCP连接、来 自SCADA系统135的命令请求,并用来自共享的存储器阵列250的所请求值进行响应。与 第一线程240类似,第二线程245 —般也可以在无限循环中运行,始终等待来自SCADA系统 135的新数据请求,直到接收到指引PLC协议转换器应用235关闭的中断。
图3是进一步示出根据本发明一个实施例由PLC控制转换器应用235使用的共享 的存储器阵列250的框图。如图所示,共享的存储器阵列250包括数字数据值的阵列槽的 集合335、离散数据值的阵列槽的集合340、和诊断值的阵列槽的集合345。此外,第一线程 240(标记为NITP线程)的操作通常表现为图3中的共享的存储器阵列250的左侧,第二线 程245(标记为MODBUS线程)的操作通常表现为图3中的共享的存储器阵列250的右侧。 在一个实施例中,使用数字数据值335和离散数据值340之一的每个槽来存储从PLC设备 115取出的数据值。还可将数字数据值335和离散数据值340之一的每个槽与MODBUS地址 相关联,从而允许第二线程245响应于从SCADA系统135接收的对MODBUS地址值的请求。
在一个实施例中,每个数字数据值的阵列槽提供4字节存储空间来存储浮点数。 数字数据值335典型地存储可沿着连续范围下降的工业设施105的某个方面的度量,例如 温度、压力、流速等。离散数据值340典型地存储可取得整数或布尔值的工业设施105的某 个方面的度量,例如整数计数或作为"打开"或"关闭"的开关的位置。 图示地,图3示出从PLC设备115提出的"LPV1"地址、"V101"地址、和"LSP3 "地 址,并将他们存储在共享的存储器阵列250中的数字数据值335的前三个阵列槽中。已知 地,对于西门子505系列PLC设备,"LPV1"、"V101"和"LSP3"地址分别对应于控制循环的 处理变量1、一般存储器变量101、和控制循环的设置点3。此外,在这个实例中,阵列槽映 射到对于MODBUS地址的"40, 000"序列的前三个值。还已知地,将M0DBUS地址细分为块, 其中"40, 000"序列被普遍理解为包含数字数据的"保持寄存器"。在一个实施例中,SCADA 系统130可通过在以太网连接210上向第二线程245发送消息来请求任意数字数据值335。 响应地,第二线程245从共享的存储器阵列250取出所请求的值,并在以太网连接210上将 其发送至SCADA系统130,如箭头320所示。 类似地,图3示出从PLC设备115提出的"X1"地址和"C3",并将其存储在共享的 存储器阵列250中的离散数据值340的前三个阵列槽中。已知地,对于西门子505系列PLC 设备,"X1"和"C3"PLC地址分别对应于开关状态1和输出线圈3。此外,在这个实例中,阵 列槽映射到对于M0DBUS地址的"10, 000"序列的前三个值。类似于数字数据值335, SCADA 系统130也可通过在以太网连接210上向第二线程245发送消息来请求任意离散数据值 340。响应地,第二线程245从共享的存储器阵列250取出所请求的值,并在以太网连接210 上将其发送至SCADA系统130,如箭头325所示。 在一个实施例中,除了从PLC设备115提出数据值之外,第一线程240还可被配置为向共享的存储器阵列250中保留的槽写入用于诊断值345的信息。例如,图3示出为了诊 断信息(例如日期、时间、一般状态等)而保留的阵列槽。诊断值345 —般地可用于记录与 协议转换器应用235和/或PLC转换器系统120的运行状态相关的信息。如PLC地址值, SCADA系统130可向第二线程245发送对于诊断值345的请求。在响应中,第二线程245可 从共享的存储器阵列250取出所请求的值,并在以太网连接210上将其发送至SCADA系统 130,如箭头330所示。 图4示出根据本发明一个实施例的PLC协议转换器应用230使用期望的通信协议 与PLC设备115通信的方法400。在一个实施例中,可使用PLC协议转换器应用230来执行 方法400用于与PLC设备115 (例如西门子公司的505系列PLC设备)和SCADA系统130通 信,如上所述。然而,本领域普通技术人员将认识到,在这里可为了图示的目的使用特定设 备、软件和产品的实例,在不脱离本发明的范围的情况下,可以使用其他类型的这些项目。
如图所示,方法400开始于步骤405,其中PLC协议转换器应用230开始执行。在 一个实施例中,该应用可读取配置文件220并创建共享的存储器阵列250。初始地,阵列250 包括用于数字数据值335、离散数据值340和诊断值345的槽,如配置文件220所指定的,而 在各自的阵列元中没有任何实际数据。在步骤410,PLC协议转换器应用230可初始化第一 线程240和第二线程245。参照步骤410-435描述第一线程240的操作,参照步骤445-465 描述第二线程245的操作。 在步骤415,第一线程240建立与PLC设备115的连接。例如,如上所述,可与西门 子公司505系列PLC设备建立RS-232串联。步骤420-435代表PLC协议转换器应用230 继续执行时由第一线程240执行的循环。在步骤420,第一线程240识别要从PLC设备115 请求的下一数据值。例如,第一线程240可在共享的存储器阵列250中保持代表最后更新 值的索引。在这种情况下,第一线程240在每次通过步骤420-435的循环时将索引递增至 下一值。在步骤425,第一线程240可向PLC设备115发送消息,以请求在步骤420识别的 PLC地址。例如,如上所述,可向西门子公司505系列PLC设备发送使用NITP协议构成的消 息。 一旦接收到响应,则在共享存储器阵列250的适当位置中存储从PLC设备115发送的 值(步骤430)。在步骤435,第一线程240可确定是否(例如经由中断)接收到关闭命令。 然而,只要PLC协议转换器应用230继续执行,则第一线程240继续逐个地读取期望的PLC 地址。 在一个实施例中,第二线程245响应于来自SCADA系统130的对于共享的存储器 阵列250中的值的请求,同时由第一线程240更新这样的值。在步骤445,第二线程445建 立与SCADA系统130的连接。例如,如上所述,PLC转换器应用230可被配置为建立与SCADA 系统120的TCP连接,从而允许第二线程245用作MODBUS从设备。步骤450-460代表PLC 协议转换器应用230继续执行时由第二线程245执行的循环。在步骤450,第二线程240接 收对于共享的存储器阵列250中一段范围的值的请求。在一个实施例中,该请求可被格式 化为对于一段范围的MODBUS地址的MODBUS请求。在步骤445,第二线程245从共享的存 储器阵列250取出所请求的值,并且在步骤450,以适当格式(例如MODBUS格式)向SCADA 系统130发送所请求的数据。在步骤465,第二线程240可确定是否(例如经由中断)接收 了关闭命令。然而,只要PLC协议转换器应用230继续执行,则第二线程可等待,并响应对 于共享的存储器阵列250中的信息的请求。
有利地,本发明实施例提供了一种PLC协议转换器系统,其允许SCADA系统使用 期望的通信协议有效地与PLC设备通信,特别在PLC设备没有"说出"期望的通信协议的情 况下。如上所述,本发明实施例可用于提供对于PLC数据库中任意数据类型(例如数字、离 散等)的只读访问,并使用SCADA系统理解的协议提供数据。此外,本发明实施例不需要在 PLC设备自身中的任何配置,或任意处理器重启/关闭来作用;可与PLC设备连接/断开连 接,而不对PLC设备存在任何影响;以及可(例如经由TCP连接)连接至SCADA系统,以允 许远程配置、管理和使用。 已经描述了用于实践本发明的优选方法和装置。对于本领域普通技术人员来说, 可容易理解并且清楚地是,在不脱离本发明的精神和范围的情况下,可以对上述实施例进
行许多改变和修改。以上内容仅是示例性的,并且在不脱离由随后权利要求限定的本发明 的真实范围的情况下可采用集成的方法和装置的其他实施例。
1权利要求
一种从可编程逻辑控制器(PLC)设备暴露数据的方法,包括访问用于识别要暴露的多个PLC地址的配置文件;初始化共享的存储器阵列,其中所述共享的存储器阵列包括多个单元,其每个用于存储从所述PLC设备获得的数据;调用第一线程,其中所述第一线程被配置为重复地发送对于所识别的PLC地址之一的请求,其中所述请求根据第一通信协议来配置;以及响应于在所述共享的存储器阵列的单元之一中的请求,存储由所述PLC设备返回的数据值;以及调用第二线程,其中所述第二线程被配置为接收根据第二通信协议传送的对于在所述共享的存储器阵列中存储的数据值中的一个或多个的请求;取出所请求的一个或多个数据值;以及以与所述第二通信协议一致的格式返回所请求的数据值。
2. 如权利要求1所述的方法,其中对于一个或多个数据值的请求通过监督控制和数据 获取(SCADA)系统发送,并返回至该SCADA系统。
3. 如权利要求l所述的方法,其中所述第一协议包括非智能终端协议(NITP)。
4. 如权利要求1所述的方法,其中所述第一协议用于在所述PLC设备和所述第一线程 之间建立的串行通信数据链路上通信。
5. 如权利要求1所述的方法,其中所述第二协议包括TCP/MODBUS协议。
6. 如权利要求1所述的方法,其中所述共享的存储器阵列包括至少一个数字数据值。
7. 如权利要求1所述的方法,其中所述共享的存储器阵列包括至少一个离散数据值。
8. 如权利要求1所述的方法,其中所述共享的存储器阵列包括至少一个诊断值。
9. 一种计算机可读存储介质,其包括被配置为执行一种从可编程逻辑控制器(PLC)设 备暴露数据的方法的程序,所述程序包括用于执行操作的指令,所述操作包括访问用于识别要暴露的多个PLC地址的配置文件;初始化共享的存储器阵列,其中所述共享的存储器阵列包括多个单元,其每个用于存 储从所述PLC设备获得的数据;调用第一线程,其中所述第一线程被配置为重复地发送对于所识别的PLC地址之一的请求,其中所述请求根据第一通信协议来配置;以及响应于在所述共享的存储器阵列的单元之一中的请求,存储由所述PLC设备返回的数 据值;以及调用第二线程,其中所述第二线程被配置为接收根据第二通信协议传送的对于在所述共享的存储器阵列中存储的数据值中的一个或多个的请求;取出所请求的一个或多个数据值;以及 以与所述第二通信协议一致的格式返回所请求的数据值。
10. 如权利要求9所述的计算机可读存储介质,其中对于一个或多个数据值的请求通过监督控制和数据获取(SCADA)系统发送,并返回至该SCADA系统。
11. 如权利要求9所述的计算机可读存储介质,其中所述第一协议包括非智能终端协 议(NITP)。
12. 如权利要求9所述的计算机可读存储介质,其中所述第一协议用于在所述PLC设备 和所述第一线程之间建立的串行通信数据链路上通信。
13. 如权利要求9所述的计算机可读存储介质,其中所述第二协议包括TCP/MODBUS协议。
14. 如权利要求9所述的计算机可读存储介质,其中所述共享的存储器阵列包括至少 一个数字数据值。
15. 如权利要求9所述的计算机可读存储介质,其中所述共享的存储器阵列包括至少 一个离散数据值。
16. 如权利要求9所述的计算机可读存储介质,其中所述共享的存储器阵列包括至少 一个诊断值。
17. —种系统,包括 处理器;以及存储器,其包含被配置为执行从可编程逻辑控制器(PLC)设备获得数据值的操作的程 序,所述操作包括解析用于识别要暴露的多个PLC地址的配置文件;初始化共享的存储器阵列,其中所述共享的存储器阵列包括多个单元,其每个用于存 储从所述PLC设备获得的数据;调用第一线程,其中所述第一线程被配置为重复地发送对于PLC地址之一的请求,其中所述请求根据第一通信协议来配置;以及响应于在所述共享的存储器阵列的单元之一中的请求,存储由所述PLC设备返回的数 据值;以及调用第二线程,其中所述第二线程被配置为接收根据第二通信协议传送的对于在所述共享的存储器阵列中存储的数据值中的一个或多个的请求;取出所请求的一个或多个数据值;以及 以与所述第二通信协议一致的格式返回所请求的数据值。
18. 如权利要求17所述的系统,其中对于一个或多个数据值的请求通过监督控制和数 据获取(SCADA)系统发送,并返回至该SCADA系统。
19. 如权利要求17所述的系统,其中所述第一协议包括非智能终端协议(NITP)。
20. 如权利要求17所述的系统,其中所述第一协议用于在所述PLC设备和所述第一线 程之间建立的串行通信数据链路上通信。
21. 如权利要求17所述的系统,其中所述第二协议包括TCP/MODBUS协议。
22. 如权利要求17所述的系统,其中所述共享的存储器阵列包括至少一个数字数据值。
23. 如权利要求17所述的系统,其中所述共享的存储器阵列包括至少一个离散数据值。
24.如权利要求17所述的系统,其中所述共享的存储器阵列包括至少一个诊断值c
全文摘要
公开了一种可编程逻辑控制器(PLC)协议转换器,其允许监督控制和数据获取(SCADA)系统使用期望的通信协议与PLC设备有效地通信,特别在PLC设备没有“说出”期望的通信协议的情况下。第一线程可被配置为使用PLC设备知晓的通信协议逐个地连续读取PLC地址。第一线程可将数据值存储在程序存储器中的共享数据阵列中。因此,第一线程从PLC设备暴露在配置文件中指定的数据。同时,第二线程可被配置为根据第二通信协议例如向SCADA系统供应在共享数据阵列中的数据。
文档编号G05B19/05GK101765817SQ200880100586
公开日2010年6月30日 申请日期2008年7月26日 优先权日2007年7月26日
发明者H·J·拉巴特-托基, J·卡普曼, T·R·卡明斯 申请人:乔治洛德方法研究和开发液化空气有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1