Currently I am working within a team responsible for providing a realistic test environment to ensure that newly designed HMI (human machine interface) software is bug free prior to delivery and commissioning. The existing GE IFix software is being gutted and replaced with a Wonderware Archestra based system without a “transition” period so it is vital that the new software be fully tested under conditions as close as possible to reality in order to detect defects in programming or design. The PLC (Programmable Logic Controller) type used at each station is the Modicon Quantum communicating to the HMI via Modbus Protocol through the MBTCP DAS server.
All 39 station software packages must be fully tested, debugged, delivered, commissioned and made operational by years end meaning that 3 stations per week will be under test making it obvious that a solid automated test process would be required.
Some basic criteria:
- Both HMI applications would need to be viewed side by side during testing and visually inspected for differences in either response or command.
- Every input and output to the field controllers would need to be analyzed and validated.
- Some method of simulating the modbus data traffic would be required and a front end devised to allow granular control of each input and output in an isolated manner, this way we would know that one and only one connection was under test per sequence.
- Command testing would need to be connected to the actual Programmable Controller and validated using timestamped logs to ensure the command transmitted actually hit the address specified.
- All analog values would need to be tested for scaling as well as mapping.
After a bit of whiteboard brainstorming we settled on a basic plan of attack.
- All input/output information would be dumped from the Archestra galaxy in the form of CSV (comma separated variable) files and imported into an Excel Workbook for processing.
- Macros would be used to generate Analog and Digital information worksheets containing all of the data consolidated into a meaningful representation of the HMI database.
- Additional macros would generate files that would load into the test environment to establish a method for articulating each individual IO point in either automated or manual sequences.
- A QA HMI would be developed to drive the test sequences.
- A modbus simulator would be used to transmit and receive test data in order to analyze expected against actual results.
- Historical data would be used to validate all tests and tools.
Here is the whiteboard image created during our session: