There are many good options for automation and controls redundancy out there. Here is an example we just recently used in the field. The customer specified a requirement of complete redundancy for all IT, networking, and HMI components of one of a large-scale manufacturing line. The system architecture we chose incorporated thin-client HMIs with server virtualization, off-the-shelf ICONICS redundancy solutions, dual KEPware OPC servers, a custom .NET service, and automatically backed-up SQL data storage. A diagram may help demonstrate our solution:
Starting from the bottom, we can see that our operator-side HMI is exposed anywhere on the internal company network (with the correct login information) via Internet Explorer. This provides a reduction in downtime, because if HMI hardware fails, any other computer can be put in its place right away. Technology used for this implementation was ICONICS WebHMI, which easily converts between local HMI projects and HTML ActiveX Web pages.
Via the production network, the thin client speaks to one of two ICONICS DataWorx servers to send and receive production tags. ICONICS DataWorx has built-in redundancy and failover options which determine which of two OPC servers should be used to communicate to production devices such as PLCs.
Recipe data as well as data acquisition and reporting are stored in SQL Server 2008 R2. SQL has built-in features for customizable back-up and storage, which we are using to minimize the possibility of data loss. The SQL server communicates with our OPC server via a custom, configurable .NET service we have written, deployed and tested on several previous systems.
The last important step in reducing downtime is virtualization. Each of our three servers is virtualized using VMWare. This allows us to save backups of entire servers on independent storage devices, preserving all program installations and configurations in the event of a total meltdown of the physical servers.
Complete redundancy is not a simple task. A lot of thought has to go into specific requirements, hardware/software architecture, network layouts, and program configurations. Testing is also key (for us, simulation off-site of various failure modes provided insight into software configuration requirements). After working on this and previous redundant systems, I would recommend repeating the fundamentals described above:
- Server-centric solutions with thin-client operation
- Off-the-shelf solutions where available
- Virtualization with independent back-ups of all servers
Happy programming!
Learn more about DMC's Iconics programming services.