2024年4月26日

C#同步方法中如何调用异步方法

摘要: 最近看了个关于同步方法中调用异步方法的文章,有感而发,先把代码放在这里,有时间再补充理解 namespace 同步方法中调用异步方法 { internal class Program { //static void Main(string[] args) //{ // Console.WriteLi 阅读全文

posted @ 2024-04-26 12:43 hanzq_go 阅读(162) 评论(0) 推荐(0) 编辑

2023年9月9日

使用ScottPlot库绘制曲线

摘要: 解决问题: 上位机需要展示历史数据和实时数据。可以使用原生chart控件,这里推荐使用ScottPlot控件,ScottPlot使用更简单。 准备,下安装ScottPlot库, winform程序,在NuGet中安装ScottPlot.WinForms库,在安装ScottPlot.WinForms时 阅读全文

posted @ 2023-09-09 08:12 hanzq_go 阅读(2307) 评论(3) 推荐(0) 编辑

将一组变量数据转换为json格式保存到数据库中

摘要: 解决问题: 在上位机开发中,需要每秒将实时数据插入到数据库中,以便于后期查询历史数据。 例如,上位机每秒从PLC中读取100个变量的实时数据,然后再将这100个变量数据保存到数据库中,如何操作? 第一种方法,数据库中的数据表设计为1+100列,第一列为插入时间,后100列为每个变量的数据。 这种方法 阅读全文

posted @ 2023-09-09 07:59 hanzq_go 阅读(157) 评论(0) 推荐(0) 编辑

使用SqlSugar保存数据

摘要: 使用sqlSugar库进行数据库操作,相比原生ADO.NET要简单很多,这里演示使用SQLsugar进行简单的增删改查的使用方法。 1、通过NuGet安装sqlsugar; 2、创建一个SqlSugarClient对象,并设置相关参数,如下: //建立数据库连接 SqlSugarClient db 阅读全文

posted @ 2023-09-09 00:11 hanzq_go 阅读(384) 评论(0) 推荐(0) 编辑

2023年9月8日

使用NLog记录上位机操作日志

摘要: 在上位机中一些重要日志信息需要保存到日志中,比如登录信息,操作信息等。 用于日志的库常用的有NLog、Log4Net等,相较而言NLog库配置简单,学习成本低。 使用方法如下: 1、NuGet下载安装NLog库; 2、修改或创建配置文件,方法有两种,分别如下: 方法1:创建一个“nlog.confi 阅读全文

posted @ 2023-09-08 23:30 hanzq_go 阅读(188) 评论(0) 推荐(0) 编辑

从excel读取变量信息到实体类

摘要: 上位机组态过程中,需要将变量信息读取到实体类中,如下图所示: 需要做的是:将左图中的变量信息读取到右边的Model类中,保存为List<Model>,以便用于数据解析和数据存储。 方法1,可以将变量信息保存为XML文件,通过读取xml文件将数据保存到List<Model>中。 该方法的缺点:所有数据 阅读全文

posted @ 2023-09-08 21:44 hanzq_go 阅读(88) 评论(1) 推荐(0) 编辑

2023年8月14日

C#通过PLCSIM ADVANCED与博图连接

摘要: 上位机,这里使用C#做上位机程序; 在实际项目中,一般上位机可以直接与西门子PLC连接通信; 在项目调试阶段,没有PLC的情况下可以通过PLCSIM ADVANCED仿真软件与博图连接,实现仿真调试。 步骤如下: 第一步、创建博图项目并设置相关参数。 1、右键项目树中的项目名称➡属性➡保护➡勾选块编 阅读全文

posted @ 2023-08-14 11:39 hanzq_go 阅读(1088) 评论(0) 推荐(0) 编辑

2023年6月30日

winform控件开发一之复合控件开发(8)管道(pipe)

摘要: 上位机中的管道控件分两种,分别是静态管道和动态管道。 静态管道,不显示液体的流动和流动方向,如下所示: 动态管道,可以显示液体的流动速度和流动方向,如下所示: 管道控件的实现方法如下? 1、使用label实现一个简单的管道,效果如下: 将label标签的autosize属性设置为false,调整la 阅读全文

posted @ 2023-06-30 16:07 hanzq_go 阅读(576) 评论(0) 推荐(0) 编辑

winform控件开发一之复合控件开发(7)设备图片

摘要: 在使用winform做上位机开发时,除了平时使用的交互类控件外,还需要一些只用于显示的图片,用于使UI更美观 如:泵,设备,平台等,如下所示: 这些图片不要与数据进行交互,只是需要显示设备形状即可。 这些图片需要使用PNG格式,具体实现方法如下: 1、制作一个风机: 第一步,在ppt(我这里使用的是 阅读全文

posted @ 2023-06-30 14:33 hanzq_go 阅读(158) 评论(0) 推荐(0) 编辑

2023年6月26日

winform控件开发一之复合控件开发(6)切换按钮(Switch)

摘要: 使用自定义控件,实现一个切换按钮,显示效果如下: 通过双击实现切换操作 实现代码如下: using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; namespace 各种C_sharp功能测试 阅读全文

posted @ 2023-06-26 15:03 hanzq_go 阅读(509) 评论(0) 推荐(0) 编辑

导航