(原创)使用C#开发高性能PLC上位机监控系统服务器应用程序
PLC服务器监控系统的特点:
1·使用微软C#面向对象开发语言开发应用程序。
2·使用了健壮性与性能良好的SUPER SOCKET服务器通信框架,实现自定义应用层通信协议,支持多台PC客户端访问服务器,实现管理层的电脑实时监控显示生产现场的所有PLC数据,不需要频繁行走车间,节约时间,提高工作效率。
3·使用了性能良好的MODBUS-TCP服务器通信组件HslCommunication.dll,支持数量众多的客户端主动同时访问读写服务器数据。
4·服务器端同时作为客户端采用西门子S7协议与西门子PLC进行高速通信,可主动连接多台西门子PLC(西门子S7协议),进行高速读写PLC数据。服务器端与PLC通信采用主动方式以100ms(可修改)的时间间隔刷写PLC数据,即使某次异常抖动通信失败都不会影响命令的执行,不会出现无反应的情况,保障长期运行的正确性。
5·使用了微软ADO.NET数据库访问技术和高性能的MYSQL8.0数据库,实现海量的PLC监控参数的实时保存功能。MYSQL支持并发数据写入与读取,可以频繁地同时进行保存PLC参数和读取参数用作界面的显示。
6·服务器作为上位机实现以下功能:多窗体快速切换,PLC参数的高低限报警功能,全局报警条的轮流闪烁显示,生产报表的打印,生产人员的用户管理,控件的操作权限设置功能,通信状态的全局显示,实时趋势图和历史趋势图功能同时显示多条参数曲线,电机控件动画显示等等。
7·多任务处理:使用微软多线程技术实现多任务处理。同时进行高速的PLC数据采集与控制,海量的PLC数据写入数据库,前台显示控件读取数据库,响应多客户端访问请求。
8·设置参数的掉电存储功能,运行状态的实时存储与恢复功能,当服务器出现异常或非正常关机(突然停电)后重新开机,电机,阀门等现场执行器件保持在掉电前的状态。
以下是服务器连接1台西门子S7-200SMART的截图,由于GIF图片和视频上传限制,只能用静态图片展示软件部分截图,图片质量损失较严重,动画播放损失严重。实际运行丝丝顺滑。流程图细节清晰,光影效果真实,可根据屏幕分辨率制作2k,4k超清流程图。
展示实时曲线和按钮开关,电机状态显示。


展示流程图和动画控件显示。

服务器窗口实时显示所有在线客户端,可以快速判断故障客户端。

展示实时参数报警功能,参数设置了高低限,当实时值超过限制值时进行报警显示,右下角有一条全局报警条轮流闪烁显示报警值。当参数恢复正常值,报警自动消失。可根据需求任意定制。

报表打印功能,可任意定制修改。


用户权限管理功能。生产人员,管理人员用户名密码和权限值添加后,保存至数据库。支持修改,删除操作。

(原创)使用C#开发高性能PLC上位机监控系统服务器应用程序的更多相关文章
- (原创)使用C#开发PLC上位机监控系统客户端应用程序
PLC客户端监控系统的特点: 0.客户端系统软件可部署在 多个管理层的PC机上,或者需要部署在距离服务器较远区域的PC机上,通过网线连接到服务器端的交换机. 1应用范围: (1)所有客户端都只有监视功 ...
- (原创)如何搭建PLC+上位机监控系统达到成本的最小化?
以西门子PLC举例; 西门子PLC有几个型号:S7-200SMART,S7-1200,S7-300,S7-400,S7-1500,价格从低到高. 1个项目中要求的IO数量:600点的DI+DO,若干个 ...
- 微信团队原创分享:iOS版微信的内存监控系统技术实践
本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...
- 基于QT的全自动超声波焊接机上位机追溯系统(已经在设备上应用)
应用说明: 本上位机程序是我在做锂电池产线项目的时候开发的,用于采集设备数据以及实现设备自动控制,下位机采用基恩士PLC,超声波机采用上海一家的超声波焊接机,实现电芯极耳的自动焊接,上位在设备焊接过程 ...
- openldap+openssh+jumpserver实现跳板机监控系统
首先感谢 http://www.jumpserver.org/ 提供的优秀跳板机系统. 我们把跳板机系统经过二次开发主要是 弃用角色功能使用ldap自动登录. 添加登录后临时认证. 上传下载我们自己在 ...
- Winform 快速开发框架,上位机开发,工控机程序开发,CS程序开发
1.当客户让你做个CS程序时,当你手上一穷二白,所有都要重复造轮,你是不是很烦. 2.但如果有一个通用的,快速开发框架,就可以把你从这些基础的工作解救出来,你专注做业务就好了. 3.本人其中一个项目的 ...
- 上位机开发之西门子PLC-S7通信实践
写在前面: 就目前而言,在中国的工控市场上,西门子仍然占了很大的份额,因此对于上位机开发而言,经常会存在需要与西门子PLC进行通信的情况.然后对于西门子PLC来说,通信方式有很多,下面简单列举一下: ...
- C#上位机开发(一)—— 了解上位机
在单片机项目开发中,上位机也是一个很重要的部分,主要用于数据显示(波形.温度等).用户控制(LED,继电器等),下位机(单片机)与 上位机之间要进行数据通信的两种方式都是基于串口的: USB转串口 — ...
- C# MODBUS协议 上位机(转)
源:C# MODBUS协议 上位机 C#写了一款上位机监控软件,基于MODBUS_RTU协议. 软件的基本结构: 采用定时器(Timer控件)为时间片. 串口采用serialPort1_DataRec ...
随机推荐
- RDD算子的使用
TransformationDemo.scala import org.apache.spark.{HashPartitioner, SparkConf, SparkContext} import s ...
- Linux 信号量之Posix有名字的信号量
信号量(semaphore),也和互斥锁一样提供了线程间或者进程间的同步功能. 信号量有三种: Posix有名字的信号量 Posix基于内存的信号量 System V信号量 信号量比互斥锁高级,互斥锁 ...
- Gmail Copilot是什么,有什么作用,好不好
Gmail Copilot是一个Chrome浏览器插件,它构建在Gmail之上; 它自动列出你和联系人的所有电子邮件和对话信息: 它是一个小型CRM,可以让你查看联系人的个人信息快照,以及过去的任何邮 ...
- CRT&EXCRT学习笔记
非扩展 用于求解线性同余方程组 ,其中模数两两互质 . 先来看一看两个显然的定理: 1.若 x \(\equiv\) 0 (mod p) 且 y \(\equiv\) 0 (mod p) ,则有 x+ ...
- BERT安装与使用
环境: python 3.5 tensorflow 1.12.1 bert-serving-server 1.9.1 bert-serving-cline 1.9.1 官网上说要保证Python &g ...
- MP支持的主键策略
MP 支持多种主键策略 默认是推特的“” 雪花算法“” ,也可以设置其他策略下面我演示主键策略使用 MP的主键定义在一个一个枚举类中 源码如下 public enum IdType { AUTO(0) ...
- StarUML 系列,静态图与动态图,用例图,类图
大部分: 静态图部分,即静态不动的图 1.用例图, Use case diagram 1.展示系统核心功能及与其交互的用户ACTOR 表示:椭圆
- python27期day05:字典、字典嵌套、作业题。
1.字典是python中的数据类型之一.唯一一种大括号{}键值对的数据. 2.存储大量的数据.将数据和数据之间进行关联. 3.通过键可以准确的找到值 4.哈希:可变数据类型就不可哈希 不可变数据类 ...
- Provider和Consumer的搭建(六)
创建三个Maven Project: dubbo-service:公共模块,包括服务接口(packaging:jar) dubbo-service-impl:服务提供方,提供服务接口的具体实现,需要依 ...
- Netty4的介绍(一)
Netty是由JBOSS提供给的一个java开源框架.Netty提供异步的.事件驱动的网络应用框架和工具,用以快速开发高性能.高可靠的网络服务器和客户端程序. 也就是说,Netty是一个基于NIO的客 ...