We are a strong proponent of open source which provides greater latitude in our HMI designs. Among the tools that we use are:
- Apache HTTP server for multiple client web browser connections
- Firebird DBMS an open source version of Interbase
- Python programming for multiple operating systems
- Lazarus/FPC a pascal compiler which has proven to be our most useful programming package for developing integrated HMI and fully automated PC-based automation processes
- PascalSCADA Lazarus/FPC for industrial control systems.
This is a working example (development screenshot) of Lazarus/FPC with Firebird database HMI development where a computer (Windows 10 Professional OS) program polls eight individual electric motor RTD temperature transducers and four digital motor protection relays through a couple of balanced serial communication lines (RS485). Data gathered populates various window text display objects. An alarm relay on each temperature transducer is hard wired to the stop command for each motors MCC (motor control center). Notice the use of standard Lazarus database objects to connect to Firebird database. A Lazarus timer object sets the device poll sequence cycling through each data field of a Firebird database, which in turn is formed into a Modbus/RTU register request message, filling all the text windows with pertinent data for that electric pump motor.
This is another Lazarus/FPC coded project for an commercial/industrial building in Honolulu. This program runs on a Windows 8.1 Mini PC running an Atom processor with 2-day battery backup. The program checks a Firebird database table, then locks or unlocks door according to a 7-day schedule. It also monitors card readers located next to each door, does a quick lookup, and verifies card access authorization. All assembled with standard Lazarus/FPC components. Notice the LazSerial component which provides connectivity with all the door locks and card readers.
Our latest project created with Lazarus/FPC and PascalSCADA library is to monitor three 750 kW generators at a standby power plant. This is a screenshot of the running program on a Dell Inspiron i3 running Windows 10. The program connects to three GE 90-30 PLCs, GE SR489 generator protection relays, and GE MVT circuit breaker trip units. A mouse click on a generator or circuit breaker symbol opens the information windows shown below.
Circuit breaker trip unit information screen after clicking on the M3 circuit breaker symbol on the main SCADA screen.
Clicking on a generator symbol on the main SCADA screen produces this protection relay information screen. This was created with Lazarus/FPC and an additional library PascalSCADA which provided the connectivity to the four balanced serial lines and the Ethernet network.
One of the handiest tools we have come across is VirtualBox by Oracle. Here a command-line program GE LM90 for programming the legacy GE Series 90-30 PLCs runs in it’s own virtual WinXP environment which is in turn running in a Windows 10 operating system. This essential legacy program would not run in Windows 10 but in a virtual environment it runs quickly and smoothly.