Required Software Dev tools:
Initial version must compile and run on Linux Debian later milestone Win 32
Components of project:
1. Server program for communication, processing, log database updates and client authentication via radius. Configuration should be stored in a plain text file. CLI interface for monitoring and config / initial setup.
2. Client QT GUI for system monitoring, display and setpoints of control values and setup in menu to connect to server. Should be able to run on same box but should not have to.
Server program requirements:
1. Connect six unique Modbus TCP slaves simultaneously. framework should be scalable for future slaves.
2. Configure IP / hostname and ports for slaves via menu.
3. Read / Write all values to arrays from modbus tables.
4. Process values from / to arrays to real values then write / write SQL tables for logs or recipes.
5. Send read and write status for each modbus device and user / client connects and disconnects to log heartbeat.
6. Config should be plain text file for easy editing.
Client QT GUI
1. Connect to server program over ssh auth for user or admin.
2. Display read only values output only boxes and set points R/W 3. values in I/O boxes that can be locked out with menu selected lockout in admin mode.
4. Display heartbeat of all devices on screen.
Future improvements after initial milestones are met:
1. Modbus RTU
2. Alarms function on server Screen / Email
3. Display Alarms on client.
4. Lode and save recipes on client