Project: Biopharmaceutical filtration automation (November 30, 2005)
November 30, 2005
Project Status Summary:
1. Control software development code complete 100%
2. HMI software code complete 100%
3. HMI external application configuration 98%
4. MF beta testing 50%
5. UF beta testing 40%
One of the most difficult aspects of an automation project these days happens outside of the traditional core of an automation project– process control and user interface. Customers expect systems to capture operator actions, and provide electronic work instructions, continuous data and alarm historians, shift reports, use reports, batch reports, or batch recipe management. While these functions are not necessary for successfulplant operation, users depend upon system-generated data to verify that product is manufactured under the designed process conditions of time, temperature, pressure, flow, pH, dissolved oxygen, and other parameters. Exceptional conditions must be easily identified in the captured data with the meansto determine cause and effect of such exceptions. In the realm of FDA regulated industry, bad or missing data may result in a batch that cannot be brought to market.
Integrating these applications into the HMI environment for operator access can be very difficult. The fundamental minimum requirements we have developed for integrating an application into the HMI are as follows:
External applications must not permit access to the file system. Applications that provide a File/Open, File/Save, or other file-browsing dialog introduce a potential system security loophole. To prevent this loophole, an application should not provide such features or it should be manageable through the same security mechanism employed by the HMI application.
External applications should run without obscuring the alarm banner. The HMI is designed so the operator may always view active alarm activity. Rapid response to an alarm may be critical to personnel safety, product quality, or equipment safety and should never be obscured by an external application such as a batch report.
External applications that can be hosted in the HMI are more suitable than those that must run as a stand-alone executable. This may be done either through a Web interface or through a programmatic interface such as ActiveX. This type of application can be hosted as a standard graphic display. We have a single graphic used for Web-based applications. The graphic uses Internet Explorer ActiveX control which, when given a URL, can display a Web page without the IE toolbar. As a graphic, the Web page fits nicely between the HMI toolbar and the alarm banner. Our toolbar also has a pair of Previous/Next buttons that function just like the IE Forward/Back buttons. All HMI graphics participate in the page history (Previous/Next) function but stand-alone executables cannot participate in this navigation scheme.
An external application that is not hosted in a graphic must not leave multiple orphaned windows open behind the HMI. Either the application must remain above the HMI at all times or opening the application will use an existing instance that may be hidden instead of creating a new instance and leaving a previous instance orphaned.
To meet customer expectations and essential HMI security requirements, we have found that Web-based technology is the easiest means of integrating external functionality into the HMI. A tangential benefit of using Web technology is that the same applications are available outside of the HMI for supervisors, engineers, and plant management.
We have created our own browser application, called CascadeBrowserX, to meet requirement number 4. This application is a single VB6 form with an Internet Explorer control for viewing Web pages. What makes CascadeBrowserX special is that it has no toolbar, no menu, always stays above the HMI, and an open instance is always reused to eliminate the chance of an orphaned window. The application is an ActiveX EXE application that accepts command line arguments including a URL, window height and width (in percent of screen height and width), horizontal and vertical positioning (in percent of screen height and width), title bar text, and allows or prevents window resizing.
We will be integrating a number of applications into the HMI using a variety of methods. TagEvents is a data retrieval Web application that runs in a windowed CascadeBrowserX. Our LogViewer application is a more functional Web data access application hosted in an HMI graphic display. The BatchEM recipe editor application is a stand-alone external executable that will never open more than a single instance.
Testing continues. I'll provide more information about these three applications and how they interface with system data.