Intouch如何连接数据库操作步骤

InTouch通过配置ODBC数据源连接外部数据库(如SQL Server, Oracle),主要方法有两种:使用内置的**SQL访问管理器**配置查询和操作,或在**脚本**中使用SQLConnect, SQLInsert, SQLSelect等函数直接执行SQL命令,历史数据通常先归档到Historian再转储到关系库。

核心概念:Intouch本身不直接“输入”关系型数据库(如SQL Server, Oracle, MySQL),它需要借助中间件或特定的功能模块来实现与数据库的交互。

Intouch如何连接数据库操作步骤

将Intouch(现为Aveva System Platform的一部分,但Intouch HMI仍广泛使用)中的数据“输入”到关系型数据库(如SQL Server, Oracle, MySQL)是一个常见的工业自动化需求,用于长期存储、高级分析、报表生成或与企业系统集成,理解其实现机制至关重要。

关键点:Intouch的定位与数据库交互

  1. 实时数据库 vs. 关系型数据库: Intouch的核心优势在于处理高速、实时、来自PLC/控制器的过程数据(通常存储在自身的“实时数据库”或通过I/O驱动访问),而SQL Server等关系型数据库擅长存储结构化历史数据、执行复杂查询和事务管理。
  2. Intouch的角色: Intouch主要作为人机界面和数据采集器,它不设计为直接执行大量的SQL INSERT 操作到关系库,直接操作会消耗HMI资源,影响实时性能,且缺乏必要的健壮性(如连接中断处理、事务管理)。
  3. 标准解决方案: Wonderware/Aveva 提供了更强大、专用的历史数据存储和与关系库集成的组件:
    • Wonderware Historian (现在Aveva Historian): 这是首选方案,Historian是高性能、专用的时间序列数据库,专门为存储海量过程数据而优化,Intouch可以通过标准的 SuiteLinkOPC DA/UA 协议将实时数据写入Historian,Historian 再通过其内置的 “Historian Client for Microsoft SQL Server”“Historian Analytics” 等组件,高效、可靠地将数据归档、汇总或事件触发写入到SQL Server等关系库中,这是最符合工业标准、性能最佳、管理最方便的方式。
    • ArchestrA IDE & Galaxy (System Platform): 在System Platform环境中,对象(如设备、区域)的属性值可以配置为自动记录到Historian,Platform的集成性使得数据流向关系库更顺畅(通常也经由Historian)。

如何在Intouch HMI层面实现数据写入关系库(备选/特定场景方案)

虽然不推荐作为主要手段(尤其对于高频、大量数据),但在特定场景(如低频事件记录、少量关键参数存档、小系统),可以通过Intouch脚本间接实现:

  1. 使用 SQLConnect(), SQLInsert(), SQLDisconnect() 函数 (Intouch 7.1 及以后版本):

    Intouch如何连接数据库操作步骤

    • 原理: Intouch内置了有限的VBScript SQL访问函数。
    • 步骤:
      • 配置ODBC数据源: 在运行Intouch View节点的计算机上,配置一个指向目标关系数据库的 系统DSN (ODBC Data Source Name),确保使用正确的驱动(如ODBC Driver for SQL Server)。
      • 编写脚本: 在Intouch的脚本编辑器(通常是Window或Application脚本)中编写VBScript。
      • 关键函数:
        • nConnID = SQLConnect("DSN=YourDSNName;UID=Username;PWD=Password"):建立连接,返回连接句柄 nConnID(务必安全存储密码,生产环境建议使用Windows集成身份验证或加密配置)
        • nResult = SQLInsert(nConnID, "YourTableName", "Field1, Field2, ...", "Value1, Value2, ..."):执行插入操作。ValueX 可以是字符串、数字或Intouch标记名(如 {[.]TagName}),需要严格匹配数据库表结构(字段名、数据类型、约束)。
        • SQLDisconnect(nConnID):关闭连接。
      • 触发脚本: 脚本需要在特定条件下触发,
        • 按钮点击事件。
        • 标记值改变事件(OnChange脚本)。
        • 定时器事件(QuickScript TimerApplication脚本中的定时器)。(注意:高频定时写入会严重影响HMI性能!)
    • 优点: 无需额外软件(除了ODBC驱动),适用于简单、低频插入。
    • 缺点:
      • 性能差: 每条SQLInsert都是独立的数据库事务和网络请求,开销巨大,不适合高频数据。
      • 健壮性差: 缺乏连接池、重试机制、事务批处理,网络闪断或数据库短暂不可用容易导致数据丢失或脚本错误。
      • 安全性: 脚本中硬编码密码不安全(尽管有加密选项,管理仍复杂)。
      • 维护难: SQL语句嵌入脚本,表结构变更时需修改多处脚本。
      • 占用HMI资源: 消耗Intouch进程的CPU和内存,可能影响画面响应和实时数据更新。
  2. 使用第三方OPC-DB桥接软件:

    • 原理: 部署一个独立的软件(如Matrikon OPC Data Manager, Kepware OPC-UA Gateway with Database Client, 或一些开源工具),该软件作为OPC客户端(DA或UA)从Intouch(作为OPC服务器)读取数据,然后作为数据库客户端将数据写入关系库。
    • 配置:
      • 在Intouch中启用并配置其内置的 OPC Server (DA 或 UA)。
      • 在桥接软件中配置:
        • OPC Client连接(指向Intouch OPC Server,订阅需要记录的标签)。
        • 数据库连接(配置目标数据库连接信息)。
        • 映射规则(定义如何将OPC标签值、时间戳、质量戳写入数据库表的特定列)。
        • 写入策略(定时、变化死区、批量插入等)。
    • 优点:
      • 性能更好: 专用软件通常支持批量插入、缓存、重试机制,效率远高于Intouch脚本。
      • 健壮性高: 独立进程运行,不影响Intouch HMI性能;具备错误处理和恢复能力。
      • 灵活性: 映射规则配置灵活,支持复杂转换、过滤。
      • 安全: 数据库凭据在专用软件中管理,更安全。
      • 支持多种源和目标: 通常支持从多个OPC源采集并写入多种数据库。
    • 缺点: 需要额外购买和部署软件,增加成本和维护点。
  3. 使用Wonderware/Aveva InSQL / Historian (再次强调,这是最佳实践):

    • 如前所述,配置Intouch通过SuiteLink或OPC将数据写入Historian。
    • 在Historian中配置存储。
    • 使用Historian的 “ToRDB” (To Relational Database) 功能或 “Historian Client for SQL Server”
      • 可以配置将整个标签的历史数据按计划(如每小时、每天)批量迁移到关系库的镜像表中。
      • 可以配置基于事件的插入(如当某个标签值变化或达到特定条件时,触发一条记录插入关系库的特定事件表)。
      • 可以使用Historian Analytics进行复杂计算后再写入关系库。
    • 优点: 高性能、高可靠性、厂商标配支持、与Wonderware/Aveva生态系统无缝集成、支持海量数据、提供丰富的查询和分析工具(如Historian Client, Information Server)。
    • 缺点: 需要额外购买和部署Historian及相关许可证,成本较高,架构相对复杂。

选择哪种方案?关键考虑因素

因素 Intouch SQL 脚本 第三方 OPC-DB 桥接 Wonderware/Aveva Historian + ToRDB
数据量/频率 极低 (事件、少量点) 中低 – 中 高 – 极高 (海量实时数据)
性能影响(HMI) 高 (严重影响) 低 (独立进程) 极低 (独立系统)
可靠性/健壮性 中 – 高 非常高
实现复杂度 简单 (脚本) 中等 (配置桥接软件) 较高 (部署配置Historian)
成本 低 (无额外软件) 中等 (桥接软件许可) 高 (Historian及相关许可)
厂商支持/标准 有限 (非最佳实践) 依赖第三方厂商 Wonderware/Aveva 标准方案
长期维护/扩展 困难 中等 容易 (生态系统内)
适用场景 低频事件记录、小测试 中小系统、预算有限 大中型系统、关键任务、高性能需求

总结与强烈建议

  • 对于绝大多数工业应用,尤其是涉及持续、高频过程数据记录到关系型数据库的场景,强烈推荐使用 Wonderware/Aveva Historian 作为中间层,并利用其内置的 ToRDB 或类似功能写入关系库。 这是符合工业标准、性能最优、最可靠、最受支持的方式。
  • Intouch 内置的 SQL 函数 (SQLInsert) 仅适用于非常低频、非关键、少量数据的插入。 务必意识到其对 HMI 性能和系统稳定性的潜在风险,并谨慎使用,切勿用于核心过程数据的连续记录。
  • 第三方 OPC-DB 桥接软件是一个折中的方案, 在预算有限且无法上 Historian 的中小型项目中,比 Intouch 脚本更可靠高效,选择信誉良好、支持完善的第三方产品。

重要安全与性能提示

Intouch如何连接数据库操作步骤

  • 最小权限原则: 数据库账户仅授予执行插入操作所需的最小权限(通常是特定表的 INSERT 权限)。
  • 安全连接: 尽可能使用加密连接(如ODBC over SSL/TLS, OPC UA)。
  • 密码管理: 避免在Intouch脚本中硬编码明文密码,使用加密存储或(更佳)集成Windows身份验证(如果数据库支持)。
  • 错误处理: 在脚本或桥接软件中实现完善的错误处理(连接失败、插入失败等),记录日志并考虑重试或报警机制。
  • 网络考虑: 确保HMI、桥接软件/Historian、数据库服务器之间的网络稳定且带宽足够。
  • 测试: 在生产环境部署前,务必在测试环境中充分验证所有方案的功能、性能和稳定性。

补充说明:历史数据迁移
如果需要将Intouch已有的历史数据(存储在.lgh文件或早期InSQL中)迁移到新的关系库,通常需要使用专门的迁移工具或脚本,或者通过Historian的导入/导出功能间接实现,这不是实时的“输入”过程。

理解Intouch在数据流中的位置以及利用合适的工具(特别是Historian)是成功实现高效、可靠数据库集成的关键,避免让HMI承担不合适的数据库写入负担。


引用说明:

  • Wonderware System Platform 2025 Documentation (Aveva 官方文档库 – 需登录) – 涵盖Intouch, Historian, System Platform架构与配置。
  • Aveva Historian Administration Guide (最新版本) – 详细说明Historian配置、存储、ToRDB功能。
  • InTouch HMI 2025 Help System (内置帮助文档) – 搜索 SQLConnect, SQLInsert, SQLDisconnect 函数说明及示例。
  • Microsoft ODBC Data Source Administrator Documentation – 关于配置系统DSN。
  • 《工业自动化系统集成技术与应用》(机械工业出版社) – 介绍工业数据集成模式与OPC、数据库技术应用(通用原理参考)。
  • Kepware KEPServerEX Documentation / MatrikonOPC Data Manager Documentation – 第三方桥接软件配置示例(具体参考对应厂商文档)。

(具体函数名、配置路径可能因Intouch/Historian版本不同略有差异,请务必查阅对应版本的官方文档。)

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/38334.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月24日 21:24
下一篇 2025年6月24日 21:32

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN