上位机plc编程入门_上位机-使用C#编程语言编写PLC上位机软件-技术论坛-西门子中国...
使用C#编程语言编写PLC上位机软件(源码在文章最后)
本程序使用WPF做界面,C#做逻辑,为了界面美观使用了老外的一个开源皮肤框架,逻辑代码为了和S7-1200通讯使用了行内一位大神的库。
借鉴大神的框架在文章后面会提到(这里也是为了尊重原创作者的劳动成果)。
下面来看看界面,再一一介绍下程序框架:
主界面(使用一个win窗口来作为显示,界面左侧有弹出菜单,界面内容通过菜单按钮调用Page来实现界面内容转换)
控制界面使用了按钮和滑动条,按钮模拟了HMI的工作模式,弹起和按下事件分别置位复位PLC变量,滑块是自己做的一个Style,WPF这点还是很方便的。
参数输入界面模拟了 HMI的 IO域,编辑时不刷新变量,输入完成后写入变量,再更新变量里的内容;右边配方功能也是模拟的西门子HMI里配方功能,保存参数到序列化文件,读取的时候反序列化写入PLC变量
曲线记录界面使用了DynamicDataDisplay 开源控件来做为曲线显示,此控件比较强大。在曲线显示的同时后台还要记录数据,在此使用了list来缓存数据并保存到序列化文件,在记录完成后反序列化一次性写入access数据库。
数据查询界面利用日历控件来作为搜索access数据的条件,筛选出零件编号,再把零件编号的对应数据以曲线方式呈现出来,同时也可以以表格方式呈现
故障报警界面使用listbox控件做为显示,利用的消息队列来排序故障信息
更改皮肤颜色界面是这个UI框架附带的功能,效果蛮好。
下面来介绍下程序
界面初始化时连接PLC
PLC连接方法
建立一个实体类,作为需要读取的PLC变量,一次性读取多个变量数据。
曲线刷新使用了多线程,关于数据全部在后台线程里进行,不影响界面运行
曲线数据更新到list使用了linq语法来筛选出需要的数据进行读和写
序列化数据内容,写入到access,当时试过一遍读取数据一遍写入数据库,发现耗时很长,后来想到序列化,缓存再一次性写入,速度提高很多。
目前就介绍到这里,有需要做类似项目的同行可以在下面评论联系,相互学习。
QQ:8300877 QQ群:923525781
本程序源码github地址
如果喜欢可以star或是fork。
这里介绍一下PLC通讯库
HslCommunication组件库;
NuGet地址:
https://www.nuget.org/packages/HslCommunication/
Material DesignXamlToolKit 皮肤框架源码
github地址
https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit
上位机plc编程入门_上位机-使用C#编程语言编写PLC上位机软件-技术论坛-西门子中国...相关推荐
- 上位机plc编程入门_【新手入门】西门子PLC编程入门学习
一.S7-200PLC 的硬件结构及系统构成.安装与接线学习 1.学习什么内容?重点学习什么内容? (1)PLC的硬件结构 (2)PLC的系统构成及CPU和模块参数 (3)PLC的选型,安装及接线(重 ...
- plc维修入门与故障处理实例_电气控制基础+PLC编程入门+工程应用实例
以S7-300/400PLC为主线 电气控制基础+PLC编程入门+工程应用实例 点击图片 购买 编辑推荐1.西门子S7300/400PLC应用广.市场占有率高 2.本书通过大量的实验案例和真实的工程 ...
- plc模拟量与通信控制应用实践_电气控制基础+PLC编程入门+工程应用实例
以S7-300/400PLC为主线 电气控制基础+PLC编程入门+工程应用实例 点击图片 购买 编辑推荐1.西门子S7300/400PLC应用广.市场占有率高 2.本书通过大量的实验案例和真实的工程 ...
- 三菱plc pwm指令_电厂技术 | 学习三菱PLC编程入门应先学习什么?想学习三菱PLC的朋友一定要看的入门第一课...
欢迎转发朋友圈,欢迎文末留言 很多初学PLC的人都会问一个问题,如果学习三菱PLC编程入门应先学习什么?新手编程入门应该先学习三菱PLC编程与应用入门 ,主要内容包括三菱FX系列PLC的数字电路基础. ...
- s7填表指令att_这些PLC指令你会用吗?plc编程入门
这些plc指令你会用吗?plc编程入门 图1:使能=1时,TOF(T38)的触点动作图 图2:使能断开后,计数到设定值后,TOF(T38)的触点动作图(其中T38常开触点是在使能由1到0负跳变后计数器 ...
- PLC编程入门-01基础知识介绍
PLC编程入门-01基础知识介绍 PLC的组成结构 PLC编程语言: PLC输入输出的特点 输入 输出 PLC的组成结构 简图 明细图 CPU:控制器和运算器本身就是CPU主要组成部分,和PC的CPU ...
- 上位机plc编程入门_plc编程入门-看完你就懂了
1.PLC的发展历程 在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集.传统上,这些功能是通过气动或电气控制系统来实现的 ...
- fx5u mc协议_三菱PLC编程入门:FX5U系列常见问题!
FX5U是最新一代三菱小型可编程控制器.FX5U主机取消了原本FX传统的国形422编程口,但内置了以太网接口和2入1出模拟量以及RS-485接口.此PLC编程需要使用 GX-Works3软件. 本文为 ...
- rust 编程入门_面向初学者的Rust –最受欢迎的编程语言入门
rust 编程入门 Rust has been voted Stack Overflow's most loved programming language for five years in a r ...
- 【资源】OpenCV3编程入门_毛星云
OpenCV在计算机视觉领域扮演着重要的角色.作为一个基于开源发行的跨平台计算机视觉库,OpenCV实现了图像处理和计算机视觉方面的很多通用算法.<OpenCV3编程入门>以当前最新版本的 ...
最新文章
- 2022-2028年中国橡胶带行业市场运营格局及未来前景分析报告
- CTFshow 反序列化 web278
- SQL Server Window Function 窗体函数读书笔记二 - A Detailed Look at Window Functions
- springcloud的config
- 计算机表格怎么求面积,在wps表格中怎么把数据生成面积图?
- Chapter7-8_Deep Learning for Constituency Parsing
- Tomcat JVM 初始化加大内存
- 流媒体传输协议详解之---RTSP认证
- mysql mssql 性能对比_MySQL最新版8.0与5.7之性能对比,看看它是如何改进的
- 支持Win7的星号密码查看器的实现
- 数字滤波器设计工具_数字设计师和代理商的资源和工具
- Concurrency in C# Cookbook中文翻译 :c#的并发烹饪书
- 规格说明书练习-吉林市1日游
- 计算机专业男人喜欢什么样的女人,说实在的,其实男人真正喜欢的女人,就三个特征...
- 哈佛学者:这3本英文名著,每天小读10分钟,英语level暴涨....
- 如何在MMIT上使用WMLScript文件(How To Use WMLScript Files With MMIT)
- UE4 蓝图Structure与Xml的读取
- Delphi XE 10 跨平台三层数据库应用教程
- p620光耦接单片机_基于51单片机的可控硅调压调光程序-带过零检测
- RISC架构与CISC架构对比