(原创)使用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 ...
随机推荐
- 其他综合-CentOS 7 命令行显示优化
CentOS 7 命令行显示优化 1.实验描述 通过 CentOS 7.6 的显示优化,为实现命令行显示提供良好视觉体验. [基于此文章的环境]点我快速打开文章 2.实验环境 使用软件的版本:VMwa ...
- PDFium-PDF开源之旅
1.安装python 2.7 https://blog.csdn.net/lzfly/article/details/27077487 https://www.jianshu.com/p/8bb348 ...
- 使用angularJS接收json数据并进行数据的显示
1.引入JS <script type="text/javascript" src="../plugins/angularjs/angular.min.js&quo ...
- django settings实现原理及自定义项目settings配置
基于django 中的settings实现原理,实现自己项目配置文件的可插拔式设计 ##首先说一下django中settings.py中的实现原理 ''' 应该明确一点,django暴露给用户一个自定 ...
- 关于c# 中读取系统内存大小的问题。
在程序中,调用WMI的时候,出现一个问题,就是我系统有插了两条内存条,共4G.然而自己只能在程序中查到安装内存为2G,感觉有点不淡定.这是之前的代码. static ManagementObjectS ...
- 【day06】css
一.背景(Background) 1. background-color 背景颜色 2. background-image:url(图像URL);背景图片 3. background-repeat: ...
- Linux构建DNS主从服务器
所有服务器:iptables -Fsystemctl stop firewalldsetenforce 0 配置yum 主服务器:[root@localhost ~]# yum -y install ...
- cf 1182 E - Product Oriented Recurrence
当时脑残了, 不会写矩阵快速幂中更改的系数, 其实把他扔到矩阵里同时递推就好了 #include<cstdio> #include<algorithm> #include< ...
- CF1175D Array Splitting
题目链接 题意 给出一个长度为\(n\)的序列\(a\),要求分为恰好\(K\)段.第\(i\)个点的贡献是\(a_i \times f(i)\),\(f(x)\)表示x所属的是第几段. 思路 非常巧 ...
- HTTP协议,到底是什么鬼?
作者 | Jeskson 来源 | 达达前端小酒馆 了解HTTP HTTP是什么呢?它是超文本传输协议,HTTP是缩写,它的全英文名是HyperText Transfer Protocol. 那么什么 ...