马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有帐号?立即注册 
x
抛开GMP不说,一个计算机控制系统应用项目,当然有他自己的生命周期,像GAMP5那么高大上的指南,我还是先放一放,说一些比较简单的步骤吧: 不论一个计算机系统多么的简单(一个智能仪表),还是这个系统多么的复杂(一个庞大如“全国电网”这样的计算机控制、管理系统),他们的开发大概都可分为6个阶段: ①准备阶段:功能需求的提出,功能规范的制定。 ②设计阶段:系统总体方案,硬件总体设计,软件总体设计,硬件和软件的具体设计,技术途径的选择与实现。 ③模拟与调试阶段:软件仿真模拟和硬件调试,单独分别进行。 ④现场安装调试阶段:硬件、软件安装后的系统联合调试。 ⑤投入运行和日常硬件、软件维护。 ⑥硬件更新与软件升级直至最后的报废。 一般来说,参与一个计算机控制系统应用项目生命周期的有: 1、终端用户(比如制药厂) 2、设备制造商(没有计算机系统开发能力,可以请专业的计算机公司来开发) 3、计算机系统开发商 在整个计算机系统的生命周期中,每一个参与者的工作重点肯定都不一样,有些终端用户和设备制造商有能力自己开发计算机系统,而有些终端用户甚至日常的维护都需要外包,所以,我们不能要求每一个用户都具备相当丰富的计算机系统知识和能力,这样也不符合社会化分工要求,也不利于专业的人做专业的事儿。 以下大概描述一下这六个阶段的主要内容: 1.准备阶段 作为终端用户,我需要计算机帮我干什么?计算机所控制的对象是什么?这就是系统所能实现的功能,这就需要功能规范,目标系统的性能规范,系统的可靠性、可维护性,系统的运行环境、系统与外部生产过程、环境、人……的接口关系。 2.设计阶段 系统总体方案设计,硬件总体设计,软件总体设计,硬件和软件的具体设计,技术途径的选择与实现。 (1)硬件总体设计。 总体设计的方法是"黑箱"设计法。所谓"黑箱"设计,就是画方块图的方法。用这种方法做出的系统结构设计,只见方块之间的信号输入输出关系和功能要求,而不需知道"黑箱"内的具体结构。 (2)软件总体设计。 软件设计的方法和硬件一样,也是采用结构化的"黑箱"设计方法,先画出较高一级的方框图,然后再将大的方框分解成小的方格,直到能表达清楚为止。 (3)系统总体方案设计。 将硬件总体方案和软件总体方案合在一起构成系统的总体方案。 硬件和软件的设计是互相有机联系的,相互往往有影响,要经过多次的协调和反复,最后才能形成合理、统一的总体方案设计。 (4)技术途径的选择。 技术途径是指系统所采用的技术水平。 可以分为两 种:①全部自主设计。②硬件由OEM产品组成,系统软件由厂家提供或从市场上购买,而应用软件由自己开发。 (5)硬件和软件的具体设计。 (此处省略1万字,我想,作为终端用户的我们,根本不想知道这个过程!) 3.模拟与调试阶段 采用仿真软件和硬件调试程序。程序调试是程序设计的最后一步,同时也是最关键的一步。在实际编程中,即使有经验的程序设计者,也需要花费总研制时间的50%用于程序调试和软件修改。 4.现场安装调试阶段 在硬件和软件分别调试通过以后,就要进行系统联调。 系统联调通常分两步进行: (1)在实验室里,对已知的标准量进行采集相比较,以验证系统设计是否正确和合理。 (2)到现场进行实际数据采集试验。在现场试验中,测试各项性能指标,修改并完善程序,直至系统能正常投入运行为止。 % |3 B' Z/ e: f; q. g! z
5.投入运行和日常硬件、软件维护。 6.硬件更新与软件升级直至最后的报废。 5、6很简单,我想我不需要再详细描述了。
3 u/ D. d# `* [0 q, A }6 C 当然,开发一个计算机系统,中间的过程肯定是复杂的甚至枯燥的,比如要把纷繁复杂的被控制对象的所有动作都计算机化,要编写上万、几十万条的机器语言,要几天几夜甚至几个月夜以继日的调试,反复的修改程序…… 这其中的艰辛,当然不是我们这些外行所能体会的。 “干得比驴累,吃得比猪差,起得比鸡早,睡得比狗晚,看上去比谁都好,五年后比谁都老”,很多程序员都曾这样感慨和抱怨过自己的生活状态。 作为药厂,你们公司有这样的程序员吗?我想,大概99%的药厂不会有。 实际上,有很多前期准备阶段的计算机系统控制功能,其实也并不都是终端用户提出来的,而是设备制造商先开发出来、技术成熟以后才向终端用户推广的,所以,很多时候,终端用户只是做了一个选型,URS中提出的,也都是已经形成的功能,即使有一些特殊的要求,也是增加了一点点微不足道的修改而已,终端用户根本没有参与到计算机系统的开发过程中。 比如,压片机的PLC控制系统,比如洁净环境在线监测的FMS系统,比如DCS控制系统的基本框架、中药自动化系统的设计,你以为供应商都会完全彻底的按照你提出的URS来一条一条编辑程序和开发功能模块吗?NO,他们都有成熟的东西,至少他们会有一个一个的控制模块程序,当然也需要花费大量的时间来满足不同的个性化要求,他们需要把现成的程序模块串联起来,让他们顺利的安全的工作。 然后,我们再来说一下GAMP5。 GAMP5叫做《良好自动化生产实践指南》,就像GMP《良好药品生产管理规范》用于指导药品生产过程控制一样,顾名思义,GAMP5是用于自动化系统的“生产制造过程”控制的,而不是简单用于指导自动化设备的终端用户的应用和验证的。 如果计算机系统的开发非要和GMP拉上关系,那么可能我们作为终端用户,更关注的是“我需要计算机帮我干什么?计算机所控制的对象是什么?目标系统的性能规范,系统的可靠性、可维护性,系统的运行环境、系统与外部生产过程、环境、人……的接口关系。” 至于如何去开发这个计算机系统,硬件如何配置、软件如何编程、如何进行仿真模拟调试、如何进行系统联合调试,都不是我们需要密切关注的。当然,如果你希望了解、有能力监控开发过程(包括编程、仿真……)、有能力审核每一条机器语言、审核每一个芯片级的配置,你完全可以做的更深,或者干脆自己来做计算机系统开发也未尝不可。 我想,计算机系统作为一种电子设备,首先它是设备,和机械设备没有什么本质的不同。 计算机系统是为用户服务的,我们只关注它的服务质量,就够了。 而我们所讲的,计算机系统对药品质量的影响,应该是计算机系统所控制的“对象”对药品质量的影响,是计算机系统所实现的“功能”对于药品质量的影响。 那么,我们终端用户所需要验证的,就是计算机系统所控制的“对象”以及计算机系统所实现的“功能”是否能够满足我们的URS要求。 我们完全没有必要去关注“计算机语言、数据流程图、运算法则、总线结构……”
- @6 R2 x+ z6 m# Y2 K |