将PLC连接到互联网的好处

可编程逻辑控制器(plc)现在正在获得直接与互联网交互的信息技术(IT)能力,创造新的自动化和信息可能性。

通过比尔•德恩 2019年7月1日

几十年来,可编程逻辑控制器(plc)的定义特征集中在可靠和快速地解决工业自动化逻辑问题上。这些基本原理今天仍然有效,但这并不意味着终端用户应该只关注这些功能。plc已经获得了许多高级功能,其中一些可以帮助解决最终用户的问题或增强应用程序。

plc传统上受到来自有线输入/输出(I/O)点和联网智能设备的可用信息的限制。然而,在互联网上可以获得大量信息,最终用户可以通过网络浏览器和应用程序来利用这些信息。许多网站提供了一种以编程方式传递这些信息的方法,这就是plc如何获取数据并将其付诸行动的方法。

然而,为什么PLC需要接触互联网呢?原因之一是许多常见的应用程序需要知道当前或预测的天气。例如,灌溉或冷却塔自动化系统可以获得实时和预测的局部温度和降水值,以调整操作。

另一个例子是太阳能装置从适当的网站获取方位角和高度信息,并使用它来优化太阳能电池板的对齐。从网站获得的信息可能不需要直接控制,但它可能对经营者有用。电线生产设备可以从证券交易所网站上获取每日铜商品价格,以帮助在人机界面(HMI)上显示接近实时的利润率。

为了以这种方式连接到互联网,plc需要访问超文本传输协议(HTTP)和处理JavaScript对象符号(JSON)的工具。具有这些指令的plc可以通过适当的应用程序编程接口(api)启动与网站的通信并从网站接收数据,并将数据解析为所需的信息。

Web浏览器基础知识

当使用浏览器浏览互联网时会发生什么?首先,在浏览器地址栏中输入的访问某个网站的字符串被称为统一资源定位器(URL),它指向特定的域名和网页。这个字符串可能会手动加上“https://”前缀,或者如果省略的话,浏览器可能会添加这个文本。安全站点会显示“https://”。

HTTP定义了应用程序如何在万维网(www)上通信的通信结构,特别是如何格式化、传输、处理和响应消息。

在浏览器中输入URL会生成一个HTTP请求到web服务器,HTTP响应用于填充浏览器显示。HTTP请求和响应都是轻量级文本文件,易于软件创建和解析。

这就是人类使用浏览器与互联网网站交互的方式,但plc的过程略有不同。

理解的api

许多网站提供API定义,plc可以使用这些定义来交换某些数据。PLC社区更感兴趣的是提供可能对自动化机器、设备和系统有用的硬数据的网站。当然,PLC必须具有出站internet访问权限才能连接到提供api的站点。信息可能包括当前和未来的天气状况,太阳的位置,商品或能源的当前价格,或许多其他可能感兴趣的项目。

互联网搜索将显示哪些网站提供访问所需信息的api。一些api允许免费访问,而其他api则限制用户每天的调用次数。提供更有价值信息的提供商可能会收取订阅费。

当PLC或其他软件按照定义的格式发起HTTP请求时,网站将返回json格式的响应。用户可以解析此响应以获得特定的数据。

当着手将PLC与网站HMI连接起来的项目或尝试任何形式的低级以太网通信时,程序员应该拥有一些有用的工具。一个是开源的Wireshark,它将公开HTTP请求和响应数据包。另一个是文本编辑器,用于方便地查看JSON响应。任何文本编辑器都可以,但是有许多免费的编辑器通过提供增强的JSON格式内容的显示使工作变得更容易。

使用JSON文件

JSON响应以紧凑的ASCII字符串形式接收,这对人类来说不容易以原始格式阅读(图1)。使用兼容的文本编辑器查看JSON字符串可以揭示JSON文件中信息对象的分层和嵌套性质(图2)。

感兴趣的信息通常嵌套在几层下面,必须系统地解析和提取。在样例图中,需要钻穿Layer 0,然后进入Layer 1中的“Temperature”对象,然后进入Layer 2中的“Imperial”对象,最后获得以华氏温度为单位的“Value”44。

每个PLC都是不同的,但是任何PLC都需要支持一些常见的基本特性,比如HTTP请求和JSON响应解析。

首先,PLC设备必须在工厂网络上配置一个以太网端口,该端口具有适用的默认网关、域名系统(DNS)、IP地址和子网掩码。此外,用于此目的的以太网端口必须能够通过站点网络连接到internet。

其次,PLC设备必须是可配置的,以充当传输控制协议(TCP)客户端。这相当于在PLC中打开一个逻辑通道,这样HTTP指令就可以通过以太网端口发起internet网站API请求。

第三,PLC编程必须有一个HTTP指令,用于定义目标API服务器名称(URL)和其他细节(图3)。这个配置将包括请求字符串和响应信息应该放置的位置。

最后,PLC编程软件必须有一个JSON感知的指令,可以解析对象层以获得必要的数据(图4)。由于JSON中有嵌套层,这个解析操作可能需要几个步骤。

通过互联网检查温度

提供良好概念验证的一个常见应用是使用PLC与天气网站联系,以确定当前或预测的当地温度。在本例中,PLC已经配置了具有必要指令的设计器软件——HTTPCMD和JSONPARSE。

例如,AccuWeather网站在“API参考”选项卡下提供了一个包含许多详细信息的API。用户应随时咨询目标网站有关注册、创建应用程序、成本和其他技术细节或限制。在创建应用程序时,将发出一个私有用户API密钥,这是发起HTTP通信所必需的。这个用户API密钥有点像授权通信的密码。

这个API提供了许多获取数据的方法。例如,如果PLC位于一个主要城市,那么可以在此基础上一步获得温度。为了获得更好的准确性,用户可以选择纬度/经度甚至邮政邮政编码来查找位置键,该位置键用于调用其他API方法。对于本例,我们将使用后一种方法。

搜索引用的位置部分会显示“邮政编码搜索”的“get”方法,显示所有有效参数并允许用户构建有效的HTTP请求字符串。此工具还可用于执行请求并查看响应消息和有效负载(JSON数据)的外观。根据API规则,“key”值包含所需的位置键。

接下来,搜索引用的“当前条件”部分会显示“当前条件”的“get”方法。如果使用用户API键和新的位置键执行此方法,则会获得另一个包含温度的响应。

在开发过程中,AccuWeather网站可以用这种方式来探索通信选项。在实际运行时,PLC将被配置为发出带有适当请求字符串的HTTP命令。当收到每个响应时,PLC需要将数据放在字符串变量中,然后发出连续的JSON解析指令,以深入到所需的数据。

谨慎行事

使PLC与互联网连接打开了一个可能性的世界,但也有一些担忧。在任何时候,用户都必须确保工业设备连接到互联网时的网络安全。此外,最终的程序必须足够强大,以承受任何类型的互联网中断。

对于示例应用程序,最终用户通过安装本地温度变送器可能会得到更好的服务。然而,互联网提供了大量有用的信息,这些信息不能在本地使用。通过一些思考和编程工作,用户可以利用基于plc的HTTP和JSON指令向应用程序添加新的功能级别。

比尔•德恩, AutomationDirect的技术营销经理。由制作编辑克里斯·瓦夫拉编辑,控制工程, CFE传媒,cvavra@cfemedia.com

更多的答案

关键词:可编程逻辑控制器,plc, JSON

可编程逻辑控制器(plc)可用于连接互联网,为用户收集有用的实时信息。

连接PLC互联网需要对互联网如何运行和共享信息有基本的了解。

互联网可以增加价值,但将plc连接到互联网的用户应该意识到网络安全问题。

考虑一下这个

怎么可能将PLC连接到互联网对你的公司有帮助吗?


作者简介:Bill Dehner在他14年的工程生涯中花了大部分时间为石油和天然气,电力和包装处理行业设计和安装工业控制系统。他拥有美国空军航空电子副学士学位,目前在AutomationDirect工作,担任技术营销工程师。