文章

将PLC连接到互联网——为新的自动化和信息系统创造更多可能性

2020-02-25控制工程网

148阅
PLC正获得信息技术(IT)的功能,可以直接与互联网交互,从而为新的自动化和信息系统创造更多可能性。

    几十年来,可编程逻辑控制器(PLC)的特征定义都是围绕在可靠、快速地解决工业自动化逻辑问题上。这些基本原则在今天仍然有效,但这并不意味着最终用户只应关注这些功能。现在,PLC 已获得更多高级功能, 其中一些功能有助于解决最终用户的应用问 题。

    传统的PLC受到来自有线输入 / 输出(I/O)点和联网智能设备所提供可用信息的限制。但在互联网上,存在大量信息可资利用,最终用户可以通过网页浏览器和应用程序来获取、利用这些信息。许多网站都提供用编程来传递信息的方法,这就是PLC如何获取数据并将其付诸实践的方式。

为什么需要连接互联网?

    但是,为什么PLC需要连接到互联网呢?原因之一是许多常见的应用程序需要了解当前环境的天气情况。例如,灌溉或冷却塔自动化系统,可以获取实时和预测的温度和局部降水值,以调整运营活动。

    另一个例子是太阳能设备,该设备从某些网站获取方位角和高度信息,并使用其来优化 太阳能电池板的对准方式。从网站获得的信息, 可能不直接参与控制活动,但对运营商可能有用。电线生产商可以每日从证券交易所网站获取铜商品的价格,以帮助在人机界面(HMI)上显示近乎实时的利润率。

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

    使用浏览器浏览互联网时需要哪些操作?首先,在浏览器地址栏中,键入到达特定网站所需的字符串,我们称之为统一资源定位符(URL),它指向特定的域和网页。在浏览器中键入URL会生成对网页服务器的 HTTP 请求,并且 HTTP响应用于填充浏览器的显示。HTTP请求和响应,是易于理解的轻量级文本文件,易于软件创建和解析。这就是人类使用浏览器与互联网网站进行交互的方式,但是PLC的过程略有不同。

了解应用程序接口

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

    互联网搜索将指出哪些网站提供访问所需信息的 API。一些 API允许免费访问,而另一些API 则限制用户每天访问的次数。提供更具价值信息的提供商,则可能会收取一定的订阅费。 

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

    在尝试将PLC与网站人机界面连接或任何形式的低层级以太网通信时,应为程序员配备一些有用的工具。一种是开源的 Wireshark,它将公开HTTP请求和响应数据 包。另一个是文本编辑器,可以方便地查看 JSON 响应。任何文本编辑器都可以,但是有许多免费的编辑器,能够提供增强显示的 JSON 格式内容以简化工作。

    使用 JSON 文件开展工作

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

典型的JSON数据有效负载, 需要进行分析才能提取所需的数据

图1 :典型的JSON数据有效负载, 需要进行分析才能提取所需的数据。 

本文图片来源:Automation Direct

此高亮显示的JSON示例,展示了信息的分层性质,其中包含可供软件解析的人类可读数据

图2 :此高亮显示的JSON示例,展示了信息的分层性质,其中包含可供软件解析的人类可读数据。

    感兴趣的信息通常向下嵌套几层,必须系统地解析和提取。在图2的示例中,从第0层开始,然后进入第1层的“温度”对象, 接着进入第2层的“英制单位”对象,最后获得华氏温度的“值”为 44。

    每个 PLC 都不同,但是任何PLC都需要支持一些通用的基本功能,例如 HTTP 请求和 JSON 响应解析。

    1 第一步

    PLC 设备必须在工厂网络上配置以太网端口,并带有适用的默认网关、域名系统(DNS)、IP地址和子网掩码。同样,用于此目的的以太网端口必须能够通过现场网络 连接到因特网。

    2 第二步

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

    3 第三步

    PLC 编程必须具有用于定义目标 API 服务器名称(URL)和其它详细信息的 HTTP 指令(图 3)。此配置包括请求字符串以及响应信息应放置的位置。

HTTP指令使PLC可以发起对互联网网站API的请求,从而获取所需的数据

图 3 :HTTP指令使PLC可以发起对互联网网站API的请求,从而获取所需的数据。

    4 最后

    PLC 编程软件必须具有可识别 JSON 的指令,该指令可以解析对象的各个分层,以获得所需的数据(图4)。由于 JSON 中的嵌套层,此解析操作可能需要执行数个步骤。

需要一个解析指令以便PLC可以挖掘JSON数据有效负载中的对象层,并提取所需的信息。

图4 :需要一个解析指令以便PLC可以挖掘JSON数据有效负载中的对象层,并提取所需的信息。

    通过互联网检查温度

    一种常见的应用程序,可以提供良好的概念验证,它使用PLC与天气网站联系,以确定当前或预测的本地温度。在此示例中,已通过具有必要指令(HTTP 指令和 JSON 解析)的设计软件对 PLC 进行配置。

    例如,AccuWeather 网站上,在“API 参考” 标签下,提供了具有许多详细信息的API。用户应始终向目标网站咨询有关注册、创建应用程序、费用和其它技术细节或限制的信息。创建应用程序时,将提供用户专用的 API 密钥, 这对于启动 HTTP 通信是必需的。该用户 API 密钥有点像授权通信的密码。

    该API 提供了许多获取数据的方法。例如, 如果 PLC 在大城市中,则可以在此基础上实 现一步获得温度。为了获得更高的准确性,用 户可以选择纬度 / 经度,甚至邮递区号来查找位置键,该位置键用于调用其它 API 方法。对于此示例,我们将使用后一种方法。

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

    接下来,搜索参考的“当前条件”部分, 将显示“当前条件”的“获取”方法。如果使 用用户的 API 密钥和新的位置密钥来执行此方法,则将获得另一个包含温度的响应。在开发过程中,可以通过这种方式使用 AccuWeather 网站来搜索通讯选项。在实际运行时,将 PLC 配置为可以发出带有正确请求字符串的 HTTP 命令。收到每个响应时,PLC 需要将数据放入字符串变量中,然后发出连续的 JSON 解析指令,以向下挖掘所需的数据。

    保证网络的安全性

    使 PLC 能够与互联网连接,这开启了无限可能性,但也带来了一些问题。用户必须确保,在工业设备连接到互联网的任何时间点上,都能保证网络的安全性。同样,最终应用程序必须足够强大,以承受任何形式的互联网中断。

    对于本文中的示例应用程序,安装本地温度变送器可能会更好地为最终用户服务。但是,互联网提供了大量有用的信息,而这些信息无法在本地进行检测。稍加思考和一些额外的编程工作,用户就可以利用基于 PLC 的 HTTP 和 JSON 指令,为应用程序添加新的功能。

    关键概念 : 

    ■ PLC 可连接到互联网,以为用户收集有用的实时信息。 

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

    ■互联网可以增加价值, 但 是 将 PLC 连接到互联网的用户,需要注意网络安全问题。

责任编辑:杨培
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
读者评论 (0)
请您登录/注册后再评论