★ 赵毅勇(杭州敏控自动化科技有限公司,浙江 杭州 310018)
关键词:SCADA系统;电子批记录;制药;C#语言;GMP;FDA
1 概述
随着生命健康产业与制药工业的快速发展, GMP(Good Manufacturing Practice)和FDA 21 CFR Part 11(U.S. FDA Regulation on Electronic Records and Electronic Signatures)对数据完整性的要求日益提高。传统工控屏和组态软件搭建的人机界面(Human-Machine Interface, HMI)在制药大生产产线上的应用缺陷已愈发明显,主要表现在以下5个方面:
(1)缺少严格的配方版本管控机制, 只有单一版本或版本发布管控流程缺失[1];
(2) 缺少不同配方版本中配方值的修改记录追溯[2];
(3)缺少可长久追溯的且包含各种关键生产数据的批次记录报表功能[3],这是关键痛点;
(4)缺少部分审计追踪记录功能,无法记录关键操作或变更,或无法提供完备细致且可长久追溯的审计追踪报告[4];
(5)缺少MES的软件接口 [5] ,包括实时数据通讯接口以及报表相关数据库检索服务接口,不利于企业生产信息化与智能化建设。
因此,如何让配备了传统HMI的制药产线设备符合合规与数据完整性要求,成为当前值得研究的课题。
随着企业生产信息化的推进, 制药产线SCADA (Supervisory Control and Data Acquisition,监控与数据采集)系统逐渐成为国内外制药设备厂家研究的热点。
当前,各设备厂家推出的基于传统组态软件开发的SCADA系统,其架构难以与法规要求深度契合,配备的功能易受到药监核查质疑,实际应用受到极大限制。
本文构建的集成电子批记录管理功能的制药产线SCADA系统,有效弥补了现有设备厂家设备HMI和传统SCADA的不足,能够高度契合法规与指南要求,具有较好的行业推广价值。
2 核心技术
本制药产线SCADA系统严格遵循GMP、FDA 21 CFR Part 11中关于数据完整性与合规性的相关准则,采用分布式微服务架构与桌面客户端富交互架构相融合的技术方案。其中, 系统核心服务层以ASP.NET Core技术为开发基础,客户端交互层则依托WPF技术构建,配合SQL Server关系型数据库、InfluxDB时序数据库及OPC UA工业通信协议,全面实现制药产线设备数据采集、配方版本管控、电子批记录管理、审计追踪、报警与曲线历史数据归档,以及MES系统对接功能。
2.1 ASP .NET Core技术
ASP .NET Core作为一款跨平台、高运行效率、可模块化扩展的开源开发框架,是本系统服务端核心功能模块的统一技术支撑载体,可适配工业物联网场景下的高并发数据处理、分布式服务通信需求[6] ,能够满足制药产线连续无间断运行的严苛要求。
在本制药SCADA系统中,通讯网关、Historian采集网关及OPC UA Server服务三大核心模块均基于ASP .NET Core技术开发,其核心技术优势及在制药场景中的应用价值具体体现在以下几方面:
(1)跨平台部署特性与高可靠运行能力:该技术打破了传统工控软件对Windows环境的单一依赖,具备轻量化、低系统资源占用的特点,可适配多种硬件设备,能够满足制药产线分布式架构需求,可有效保障系统服务长期稳定运行;
(2)高效的工业数据处理效能:该技术可同时接入数十台制药生产设备,实现毫秒级生产关键数据的通讯;具备较强的高并发数据吞吐能力,可应对多产线同时运行状态下的实时数据处理需求;
(3)OPC UA工业协议的深度适配与集成:基于ASP .NET Core技术开发的OPC UA Server,作为系统的标准化工业通信中间件,可兼容多种PLC协议及Modbus等工业通信协议,实现不同类型设备数据的统一采集与标准化解析, 有效解决了传统HMI设备协议不统一、数据无法互通共享的行业痛点;
(4)集成MQTT Server功能:系统可实时推送PLC值给多个客户端,也可同时接收客户端发送的消息,转发写入PLC。
2.2 Windows Presentation Foundation技术
WPF(Windows Presentation Foundation)是基于.NET框架构建的桌面客户端富交互开发技术,主要用于本系统客户端图形操作界面及自动备份与灾难恢复工具的开发。其设计定位贴合工业级桌面应用的开发需求,在保证界面美观性、操作便捷性的同时,重点强化了合规功能的设计。
其中客户端应用程序部分,开发了客户端图形设计工具,包括图形控件、电子签名、审计追踪、用户权限、批记录、配方管理、曲线等组态工具。
3 系统总体设计
3.1 系统功能结构
系统整体功能架构如图1所示,包括通讯网关、 Historian采集网关、客户端图形操作界面、OPC UA Server,以及自动备份与灾难恢复工具。其中,通讯网关、Historian采集网关以及OPC UA Server采用ASP .NET CORE技术开发;客户端图形操作界面和自动备份与灾难恢复工具采用WPF技术开发。

图1 系统功能结构图
数据存储层采用SQL Server关系型数据库和InfluxDB时序数据库组合实现系统数据存储。
其中, SQL Server数据库存储了所有关系型数据,包括:
(1)网关相关的配置信息,包括驱动库的加载路径、PLC接口的连接信息、系统内部变量和PLC变量的定义信息、PLC报警组和曲线组的定义;
(2)合规功能的配置信息,包括密码复杂度、密码代数、密码长度限制、密码过期天数、密码连续输错锁定用户次数、用户锁定时间、系统空闲后注销时间、电子签名关联的用户权限组;
(3)用户信息、配方信息、批次信息、审计追踪信息;
(4)多语言翻译信息。
InfluxDB数据库存储了所有时序型数据,包括报警信息和曲线过程值信息。
服务支撑层作为数据流转的核心处理单元,包括通讯网关、Historian采集网关以及OPC UA Server网关。
通讯网关包括:
(1)PLC通讯驱动程序,实现PLC控制器的实时读写;
(2)MQTT Server,所有PLC变量名和系统内部变量名组合在一起生成MQTT的Topic主题。
Historian采集网关可选订阅MQTT Server或直接与PLC通讯,功能包括:
(1)获取到报警变量值变化的时候把相关报警变量id和状态值存入数据库;
(2)获取到过程值变化或者周期性地把相关曲线变量id和数值存入数据库。
OPC UA Server通过订阅MQTT Server Topic的方式获取所有变量的值更改数据。所有PLC变量名和系统内部变量名组合在一起生成OPC UA Server变量地址的标识符值,向MES系统提供对接接口。
客户端应用层包含MQTT Client通讯库、图形操作客户端和自动备份与灾难恢复工具。
自动备份与灾难恢复工具严格遵循GAMP5指南的设计要求,具有在用户设定的闲置生产时间里自动备份SQL Server与InfluxDB数据库的功能,同时可同步备份文件到归档服务器上。系统发生宕机时,运维人员可以调取最新的数据库备份文件对历史生产数据进行一键恢复,保障了制药生产数据的完整性、连续性与可追溯性。
3.2 系统网络架构
系统的网络架构分为三层:设备层、网络层、中控室,如图2所示。

图2 系统网络架构图
中控室包含SCADA系统服务器(运行客户端与各种网关等服务程序)、数据库服务器(运行SQL Server与InfluxDB)、UPS和打印机。
网络层包括一个核心交换机:用来连接多台设备的交换机,同时也对外部MES系统等提供网络接口。
设备层包括现场生产设备、产线内的多台设备HMI与PLC,各设备通过各自的现场交换机与核心交换机进行网络连接。
3.3 客户端设计
系统客户端基于WPF技术开发,包括MQTT通讯库、客户端图形设计工具和客户端操作运行界面三部分。
MQTT Client通讯库:客户端启动后订阅通讯网关的MQTT Server的Topic,接收服务器端的消息推送以获取实时变量值和实时报警;
客户端图形设计工具内置可扩展的图形控件,如图3所示,集成电子签名、审计追踪、用户权限、批记录、配方管理、曲线等组态功能。
(1)ACAT控件库为PLC交互的文本框与按钮控件、配方控件;
(2)HMIControl控件库为一些工业应用场景的图形元素;
(3)SCADA控件库中包含配方控件、批次控件、用户管理控件、审计追踪控件、电子签名等合规控件。

图3 ACAT、HMIControl与SCADA图形控件图
客户端操作运行界面包含MQTT Client和操作界面两部分。
操作界面结构图如图4所示。

图4 客户端操作运行界面结构图
其中,(1)实时状态:MQTT Client订阅通讯网关的Topic,在获取到MQTT关联的PLC变量和系统内部变量的实时值更改后更新到绑定的各种图形控件中,对应的图形控件显示状态,示例参见图5。

图5 实时状态运行界面图
(2)配方管理:配方控件关联了SQL Server数据库的配方相关的数据表操作。配方控件中的操作按钮集成加载、新建、保存、发布、冻结当前配方操作功能。其中,加载按钮为加载配方列表中(见图6)当前选中配方的当前版本在数据库存储的配方值到客户端里,进入编辑页后,把数值绑定到配方文本框控件显示;新建按钮为新建一个配方;保存按钮为保存当前编辑的配方文本框的配方值到当前配方的草稿版本里,子版本号标记为A(代表草稿版本);发布按钮为把当前草稿版本释放为正式版本,释放同时将版本号加1;冻结按钮,把当前配方标记为不可被激活、不可写入PLC的废弃配方。另外,配方控件中的配方类别筛选按钮包括冻结可见、所有版本、可激活版本(当前配方的最新正式版本)、草稿版本及正式版本,用于筛选配方列表显示内容。

图6 配方列表图
(3)配方检索与报告:配方检索控件支持通过配方名关键词检索历史配方及其所有版本,可对任意版本的配方报表进行打印与PDF文件导出。
(4)批次管理:批次管理控件集成新建批次、启动批次、下发批次、停止批次、批准批次及拒绝批次操作功能。批次管理流程如图7所示,通过SCADA与设备HMI组合交互实现批次管理的全流程流转。

图7 批次管理处理流程
(5)批次检索与报告:报告包含批次基本信息、设备运行时间、当前批次激活的配方信息、批次启动期间的报警消息和审计追踪,以及其他统计信息(如灌装机出料的瓶数统计),如图8所示。

图8 批次报表内容
(6)实时报警:基于MQTT的报警消息推送,报警触发时,报警列表新增报警项;报警消失时,报警列表对应减少报警项。
(7)历史报警检索与报告:支持按不同机器、不同时间、不同消息关键词检索,联合查询SQL Server里报警变量表的配置信息和InfluxDB里的报警记录,检索结果列表和报告里的元素参照批次报表内容里的报警章节内容。
(8) 用户管理: 多级用户权限组(操作员权限组、工艺员权限组、主管权限组、验证员权限组、工程师权限组)分配,用户创建,用户冻结,修改密码。
(9)审计追踪检索与报告:支持按不同机器、不同时间关键词检索,检索结果列表和报告里的元素参照批次报表内容里的审计追踪章节内容。
(10)曲线检索与报告:曲线控件配置了曲线组信息,可根据批次的启动与结束时间检索InfluxDB数据库形成曲线,并支持PDF导出。
(11)系统设置:支持系统时间调整,调整前后的时间和调整人记录进审计追踪。
4 系统测试
在测试环境中 , 系统网关与客户端可兼容Windows 10和Windows 11操作系统,实时工艺数据、批次管理、合规功能及报告生成功能正常。系统异常断电重启后可正常运行,系统灾难恢复后运行正常。
5 结论
本文从核心技术、系统架构、网络结构及客户端图形组态功能等方面对集成电子批记录管理功能的制药产线SCADA系统进行了详细阐述。该系统有效弥补了传统工控软件的合规缺陷,提升了制药产线的信息化与规范化管理水平,已成功应用于恒瑞医药等多家知名药企进口制药产线上,并顺利通过欧盟和FDA机构审查,具备广阔的应用前景。
作者简介:
赵毅勇(1987-) ,男,浙江嵊州人, 中级工程师,硕士, 现就职于杭州敏控自动化科技有限公司,研究方向为装备制造自动化。
参考文献:
[1] 郭祺瑞, 徐剑, 张永萍. 贵州省药品生产企业计算机化系统及电子数据管理相关缺陷分析与对策研究[J]. 中国药业, 2025, 34 (22) : 7 - 11.
[2] Salunkhe P, et al. Data Integrity in Pharmaceutical Manufacturing: Evolving Global Regulatory Frameworks, Enforcement Trends,and Digital Governance Strategies[J]. International Journal of Pharmaceutical Sciences, 2026, 4 (2) : 3799 - 3818.
[3] 柳涛, 刘伟强, 颛孙燕. 浅谈电子批记录系统在药品质量保证中的作用[J]. 中国医药工业杂志 ,2018, 49 (10) : 1469 - 1474.
[4] Whitman S L. Establishing compliance of batch SCADA systems with FDA CGMP 21 CFR Part 11[J]. Pharmaceutical Engineering,2001, 21 (1) : 42 - 48.
[5] 杨裕相, 谢康. 制造执行系统(MES)在制药行业中的实施应用[J]. 机电信息, 2018, (32) : 9.
[6] 梁桐铭. 深入浅出ASP.NET Core[M]. 北京: 人民邮电出版社, 2020.
摘自《自动化博览》2026年7月刊








案例频道