dathlin / RemoteMonitor

本项目是一个利用HslCommunication组件读取PLC的示例项目,演示了后台从PLC循环读取到前台显示,并推送给在线客户端,客户端同步显示并画实时曲线图。支持web端同步的数据显示,支持web端远程操作PLC,安卓端数据显示,远程操作PLC

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RemoteMonitor

本项目是一个利用HslCommunication组件读取PLC的示例项目,演示了后台从PLC循环读取到前台显示,并推送给在线客户端,客户端同步显示并画实时曲线图。

NetFramework Visual Studio License status

Android Studio

特性支持

  • 本项目基于服务器和客户端组成
  • 支持多客户端在线同步监视
  • 服务器支持日志记录,路径为当前目录 Logs 文件夹
  • 服务器的数据支持缓存
  • 服务器支持查看所有在线客户端信息,查看在线时间
  • 服务器支持强制启动停止
  • 客户端支持远程强制启动停止
  • 客户端演示了曲线显示及仪表盘控件的使用
  • 提供了一个web版本的实时监控界面
  • 支持从浏览器进行远程启动或是停止设备
  • 支持没有任何设备情况下的虚拟读取(数据随机)
  • 支持安卓客户端的同步在线显示
  • 支持安卓进行远程操作启停
  • 支持安卓显示曲线,显示仪表盘示例

测试读取为西门子PLC,客户端的程序可以部署在局域网下其他的任何windows电脑,修改下连接的服务器IP地址,就可以实现远程同步实时监视效果,安卓端测试需要更改服务器的IP地址,不然会出现连接失败,测试图片如下:

服务器端的图片

server

winform客户端

client

web界面

client

安卓界面

android

所有同时打开界面

all

web端技术说明

  • 数据订阅推送功能,从服务器订阅 采用了 HslCommunication 组件的订阅实现
  • 数据推送给浏览器客户端,采用了 SignalR 技术实现
  • 数据图表的显示,采用了百度开源的 ECharts 实现仪表盘和曲线显示
  • 按钮的点击采用 jQuery Ajax 实现,在当前的页面直接返回是否成功
  • web端后台的启动停止PLC操作,采用了 HslCommunication 组件的网络功能实现

安卓端的技术说明

如果需要客户端支持更高级的内容账户登录,版本控制,消息群发,权限控制等等功能,可以参考下面的项目:

https://github.com/dathlin/ClientServerProject

About

本项目是一个利用HslCommunication组件读取PLC的示例项目,演示了后台从PLC循环读取到前台显示,并推送给在线客户端,客户端同步显示并画实时曲线图。支持web端同步的数据显示,支持web端远程操作PLC,安卓端数据显示,远程操作PLC

License:MIT License


Languages

Language:JavaScript 88.9%Language:Java 5.0%Language:C# 4.8%Language:HTML 1.2%Language:CSS 0.1%Language:ASP 0.0%