库 SqlRemoteAccess 提供 SQL(结构化查询语言)客户端功能块,让您的控制器能够连接到 SQL 数据库,以便运行 SQL 查询,从而读写数据。
充当 SQL 客户端的控制器与 SQL 数据库服务器之间的通讯正通过 Schneider Electric SQL Gateway 来进行。因此,必须先安装作为选配组件随附于 EcoStruxure Machine Expert 并且需要使用指定许可证的 SQL Gateway,然后才能使用 SQL 功能。有关更多信息,请参阅 SQL Gateway 用户指南。
1 1...n 控制器(SQL 客户端)
2 读取数据
3 写入数据
4 SQL Gateway
5 1...n 数据库服务器
在成功安装之后,控制器可以将自定义 SQL 查询发送到数据库服务器,例如:
o查询表格中的数据。
o对表格执行数据插入、修改和删除。
o执行数据库程序。
下表说明库的特性:
特性 |
值 |
---|---|
库标题 |
SqlRemoteAccess |
公司 |
Schneider Electric |
类别 |
通讯 |
组件 |
SQL 库 |
缺省命名空间 |
SE_SQL |
语言模型属性 |
|
向上兼容库 |
是 (FCL) |
注意: 对于此库,设置“仅限定访问”。这意味着 POU、数据结构、枚举和常量必须通过使用库的命名空间进行访问。此库的缺省名称空间是 SE_SQL。
结合此库,提供了示例项目 SQLRemoteAccessExample.project。示例项目显示了如何实施 SqlRemoteAccess 库的组件。
示例项目与编程软件一起安装在您的 PC 上。如要打开示例项目,请执行以下步骤:
步骤 |
操作 |
注释 |
---|---|---|
1 |
在 EcoStruxure Machine Expert Logic Builder中,执行命令新建项目。 |
– |
2 |
在新建项目对话框中,从项目类型列表中选择来自示例。 |
– |
3 |
在新建项目对话框的右侧,从控制器列表中选择控制器 (1)。 |
结果:可用的示例在匹配示例文本框中列出。 |
4 |
从匹配示例列表中选择您的示例。 |
– |
5 |
为新项目输入名称,然后选择文件位置。 |
– |
6 |
单击确定按钮。 |
结果:基于所选择的示例选择了新项目。 |
注意以下有关 SQL 通讯的限制:
o仅支持 IPv4(互联网协议版本 4)。
o仅支持符合 IEC 61131-3 的数据库数据类型。
o不支持对数据库的 BLOB(二进制大对象)对象读写。
本文档所用的库在内部使用 TcpUdpCommunication库。
TcpUdpCommunication(Schneider Electric) 和 CAA Net Base Services 库(CAA 技术工作组)在控制器上使用相同的相同资源。若在同一应用程序中同时使用这两个库,则可能导致控制器工作受到干扰。
|
意外的设备操作 |
不要在同一应用程序中同时使用库 TcpUdpCommunication(Schneider Electric) 和库 CAA Net Base Services(CAA 技术工作组)。 |
不遵循上述说明可能导致人员伤亡或设备损坏。 |
SqlRemoteAccess 库之外的功能块 FB_SqlDbRequest 支持使用 TLS (Transport Layer Security) 建立到 SQL Gateway 的安全通讯。
是否支持使用 TLS 建立连接取决于使用 FB_SqlDbRequest 的控制器。请参阅控制器的相应手册,确认是否支持使用 TLS 开展 TCP 通讯。
使用非安全连接的通讯只能在您的工业网络内部进行,与您公司的其他网络隔离,并防止接入互联网。
注意: Schneider Electric 在控制系统的开发和实施过程中严格遵循行业最佳实践。这其中包括一种“深度防御”方法,旨在保护工业控制系统的安全。此方法将控制器置于一个或多个防火墙之后,将访问范围限制为仅经过授权的人员和协议。
|
未经授权访问及其导致的未经授权的机器操作 |
o评估环境或机器是否已连接到关键基础结构,如果已连接,请在将自动化系统连接到任何网络之前,基于深度防护采取适当的预防措施。 o将连接到网络的设备数限制为所需的最小数量。 o将工业网络与公司内部的其他网络隔离。 o使用防火墙、VPN 或其他经证实的安全措施,防止意外访问任何网络。 o监控系统内的活动。 o防止未经授权方或未经身份验证的操作直接访问或直接链接主体设备。 o准备恢复计划,包括系统和过程信息的备份。 |
不遵循上述说明可能导致人员伤亡或设备损坏。 |
功能块/功能 |
用途 |
---|---|
执行从 SQL 数据库读取数据的 SQL 请求。 |
|
执行更新或修改 SQL 数据库的 SQL 请求。 |
|
执行从 SQL 数据库读取数据或更新(修改)SQL 数据库的 SQL 请求。 |
|
将类型为 ET_Result 的枚举元素转换为字符串变量。 |
结构 |
用途 |
---|---|
包含连接到 SQL Gateway 所需的相关信息以及有关 SQL 数据库的信息。 |
|
包含通过安全 TCP (TLS V1.2) 连接到 SQL Gateway 所需的相关信息以及有关 SQL 数据库的信息。 |
枚举 |
用途 |
---|---|
包含代表功能块所执行运算的结果的可能值。 |
|
此枚举描述使用 FB_SqlDbRequest 执行的请求(读或写)。 |