在工业自动化与信息化深度融合的今天,一个典型的场景反复出现在各类制造企业中:生产线上运行着西门子S7-1500 PLC,而企业的管理决策层需要在SQL Server数据库中实时查看关键工艺参数、产量数据或设备状态。
本文将从技术实现的角度,详细拆解Kepware采集西门子S7-1500 PLC数据并写入SQL Server的全过程,揭示其背后的设计逻辑与工程要点。
技术架构:
整个数据链路由三个核心环节构成:
数据源端:西门子S7-1500 PLC,通过以太网对外提供实时数据。
采集与分发中枢:Kepware服务器,利用Siemens驱动从PLC读取数据,并通过Data Logger插件将数据转发至数据库。
数据目标端:SQL Server数据库,作为企业级数据存储中心,供MES、ERP、BI等上层应用消费。
Kepware在此架构中扮演了协议转换器与数据网关的双重角色。它不仅解决了西门子专有协议(如S7通信)与IT标准协议(ODBC/SQL)之间的异构问题,更提供了工业级的可靠性保障——包括断线重连、数据缓存、质量戳标记等关键特性。
西门子S7-1500 PLC端配置:
要实现Kepware与PLC的通信,PLC端的配置是前提。这一环节的配置正确与否,直接决定了后续所有工作的成败,同时也是工业网络安全的重要关口。

IP地址固定与网络可达:S7-1500 PLC必须配置为固定的IP地址(如192.168.250.20),并确保Kepware服务器与该IP地址处于同一子网或路由可达的网络中。


访问权限的精确控制:在S7-1500的“保护”设置中,必须将“访问级别”设置为“访问权限”,并将“连接机制”勾选为“允许来自远程对象的PUT/GET通信访问”。

DB块的属性设置:在DB块的属性中,必须取消勾选“优化块访问”选项。
Kepware端配置:
通道创建:在Kepware中右键“连接性”新建通道,协议选择“Siemens TCP/IP Ethernet”。
若Kepware版本为6.11及以上,且购买了西门子PLUS工业套装,推荐使用“Siemens S7 Plus Ethernet”驱动。该驱动支持自动标签生成功能——连接PLC后,Kepware可自动扫描并导入所有PLC变量,免去手动建点的人力成本,尤其适用于变量数量庞大的大型项目。

设备配置:在添加设备时,需要准确填写设备ID、端口号、机架号(Rack)、槽号(Slot)。
标签创建:完成设备添加后,需要手动创建标签并填写正确的PLC地址。


数据监控:通过Kepware的Quick Client工具,可以实时监控标签值的变化,验证采集链路的完整性。
数据写入SQL Server:
数据采集完成后,接下来通过Data Logger插件将数据写入SQL Server。Data Logger是Kepware的高级插件,其带来的配置灵活性和可靠性,在正式项目中非常重要。

DSN配置:DSN(Data Source Name)是ODBC连接的关键配置,它定义了如何找到数据库以及使用哪种驱动程序。因此,需要为SQL Server创建系统DSN。配置完成后,务必执行“测试数据源”直至成功,这一步不可跳过。
日志组配置:创建日志组(Log Group),定义表选择、表格式、更新速率、列映射、触发器。
触发器配置是控制写入行为的核心:
始终触发:每个更新周期均写入。适用于连续记录场景,如温度、压力等过程变量。
基于时间:在指定时间段内写入。例如,仅记录白班生产数据,夜班不记录。
基于条件:仅当特定条件满足时写入。这是工程价值的模式。例如,设置一个“产量完成”信号标签作为触发条件,当该信号变为TRUE时,将当前所有工艺参数作为一条完成记录写入数据库。这种方式极大地减少了无效数据的存储。


启停验证与故障恢复:启用日志组后,数据开始流入SQL Server。在验证阶段,在QuickClient中观察标签值变化,在SQL Server Management Studio中执行查询,确认新记录按照预期的频率和字段值写入。
若SQL Server数据库临时不可用(如网络中断、数据库重启),DataLogger会将未能成功写入的数据缓存至本地磁盘(需提前在日志组属性中配置存储路径)。待数据库恢复后,Kepware会自动将缓存数据写入,确保数据零丢失。这一机制对于无人值守的工业环境至关重要。
北京东方鼎晨作为作为kepware中国区代理商,提供产品选型报价、技术支持服务,想要试用或了解更多,欢迎随时与我们联系