RemoteMonitor
This project is a sample project that uses the HslCommunication component to read PLC. It demonstrates the background reading from the PLC to the foreground display, and pushes it to the online client, which synchronizes the display and draws a real-time curve chart.
Feature Support
- This project is based on server and client
- Supports multi-client online synchronous monitoring
- The server supports logging, the path is the current directory Logs folder
- Server data support cache
- The server supports viewing all online client information and viewing online time
- Server supports forced start and stop
- The client supports remote forced start and stop
- The client demonstrates the use of curve display and dashboard controls
- Provides a web version of real-time monitoring interface
- Support remote start or stop device from the browser
- Supports virtual reading without any device (data random)
- Supports synchronous online display of Android clients
- Supports Android remote operation start and stop
- Supports Android display curves, display dashboard example
The test reads as Siemens PLC. The client's program can be deployed on any other Windows computer under the LAN. After modifying the IP address of the connected server, you can realize the remote synchronization real-time monitoring effect. The Android test needs to change the IP address of the server, otherwise the connection will fail. The test picture is as follows:
Server-side pictures

Winform client

Web interface

Android interface

All interfaces are opened at the same time

Web-end technical description
- Data subscription push function, subscription implementation using HslCommunication component from server subscription
- Data is pushed to browser clients, and implemented using SignalR technology
- The display of data charts uses Baidu's open source ECharts to realize dashboard and curve display.
- The button click is implemented using jQuery Ajax , and it will directly return whether it is successful on the current page.
- The web-end backend starts and stops PLC operation, and uses the network function of the HslCommunication component to implement it.
Technical description for Android
- Data subscription uses the subscription implementation of the HslCommunication.jar component
- The startup and stop PLC operation in the background is implemented using the network function of the HslCommunication component.
- The dashboard uses an open source technology: http://dditblog.com/itshare_536.html
- Curve controls use an open source technology: https://github.com/jjoe64/GraphView
If the client needs to support more advanced content account login, version control, mass message sending, permission control and other functions, you can refer to the following items:
https://github.com/dathlin/ClientServerProject