随笔分类 - C#工控上位机编程
摘要:
前言 最近有一些学员问到了一些关于序列化的问题,今天这篇文章,跟大家分享一下在C#上位机开发中,常用的三种序列化的方式。 很多小伙伴一提到序列化,都会想到二进制序列化,但其实序列化并不仅仅只是二进制序列化,我们常说的对象序列化有三种方式,分别是二进制序列化、XML序列化及JSON序列化,这三种方式各
阅读全文

摘要:
前言 大家好,我是新阁教育韩工,前几天在网上看到了一个比较好看的环形控件,今天我们来尝试使用GDI+的方式来绘制一下。 创建项目 上位机开发中,自定义控件库其实本质上就是一个类库,所以我们在创建项目时直接创建类库项目。 在创建好的类库项目中添加“用户控件”。 实现思路 整个控件其实是由四个部分组成的
阅读全文

摘要:
我看很多学习上位机开发的小伙伴已经开始迫不及待的安装VS2022了,虽然我也安装了VS2022,但是我依旧使用VS2019。因为我觉得适合我的才是最好的,并非是最新的,所以大家在使用的时候,根据实际需求选择开发工具,不要一味追求最新,要考虑是否符合你当下的开发。下面我把VS2022开发工具安装教程分
阅读全文

摘要:
前言最近西门子PLC价格大幅上调,在工控界引起了不小的风波,不仅涨价,甚至还缺货,导致很多人不得不更改方案。听说最近已经完成了芯片替换,希望不久能够恢复供货,并把价格回调。 通过这件事,从侧面可以看出,西门子在工控领域的市场占有率很大,那么对于上位机开发人员来说,使用西门子PLC作为下位机,我们应该
阅读全文

摘要:
前言 大家好,我是新阁教育韩工,这几天有小伙伴问我关于上位机开发中,comboBox控件如何绑定数据的问题,我们今天简单来看一下几种不同的绑定方法。 绑定List集合 首先创建数据绑定方法,在方法中创建一个string类型的List集合。并将集合赋值给控件的DataSource(数据源)完成数据绑定
阅读全文

摘要:前言 最近有学员咨询,如何实现串口设备的插拔检测。 传统的方式是不断地通过SerialPort.GetPortNames方法获取所有串口,判断是否有变化。 但是更合适的方式,应该是通过Windows消息来实现。 代码
阅读全文
摘要:
-Begin- 起因 很多C#初学者,都遇到过这样的问题——线程间操作无效,从不是创建控件的线程访问它。 今天就这个问题,展开分析。 溯源 先说下这个问题产生的根源。 大家都知道,程序运行起来之后,首先会有一个主线程,主线程用于处理控件生成、界面渲染、事件响应、逻辑处理等操作,因此我们可以理解为窗体
阅读全文

摘要:
前言 很多小伙伴在学习OPC的时候,不知道如何创建一个OPC服务器的环境,今天这篇文章跟大家分享一下,如何基于KEPServer结合Modbus快速搭建一个OPCDA/OPCUA的环境,便于后续学习OPC通信。 Modbus从站 首先搭建一个Modbus从站,这里需要用到两个软件,一个是VSPD(V
阅读全文

摘要:
前言 有学员提出要求,上位机程序启动之后,可以禁用Win组合,防止操作人员无操作或者退出程序。 实现思路 首先我们要了解一下键盘在PC上的工作原理,Windows系统所有的操作都是基于消息机制的,也就是说我们键盘上的每个按键其实都是往Windows底层发送一个消息,所以如果想要屏蔽掉某个按键或者功能
阅读全文

摘要:
前言 大家好,我是付工。 今天以西门子V20变频器为例,从电机试运行、快速调试、通信测试、上位机通信、串口服务器等几个方面,带大家一步一步玩转西门子V20变频器。 内容写的比较详细,着急的小伙伴,可以直接跳转到文末看实现效果哦。 电机试运行 1、手动控制,将M和OK键一起按一次,屏幕上会出现手状,说
阅读全文

摘要:
大家好,今天跟大家分享一下关于事务提交经常出现的一个错误。 【1】经常有学员在进行事务提交多条SQL语句处理时遇到这样的问题,错误提示如下图所示。错误提示内容:保存失败!发生异常:+变量名‘@StudentName’已声明。变量名在查询批次或存储过程内部必须唯一。 【2】原因分析 造成以上错误的原因
阅读全文

摘要:
-Begin- 前言 .NET很早可以跨平台了,从早期的Mono到.Net Core,再到现在的.NET 5,以及下个月即将发布的.NET 6,.NET也是在一直稳步发展。 今天跟大家分享一下,基于Linux系统实现西门子PLC的数据采集。 准备 VS版本升级到最新,至少在v16.8以上。 基于.N
阅读全文

摘要:
-Begin- 前言 微软在2020年9月发布了.NET 5 正式版,距离现在已经一年多了。 .NET 5是一个历史性的版本,实现了.NET Framework和.NET CORE的统一,意味着未来只有一个.NET版本,可以支持 Windows、Linux、macOS、iOS、Android、tvO
阅读全文

摘要:
-Begin- 前言 不可否认,目前工业现场仍然会有很多串口设备的存在,对于这些串口设备,如果想要联网,就必须要转换成网络接口,这时候就会用到串口服务器。 串口服务器作用 串口服务器内置CPU,可以实现串口和网络接口之间的互相转换,能将传统的RS-232/422/485设备立即联网,使用串口服务器可
阅读全文

摘要:
-Begin- 前言 经常遇到还没开始学习C#的学员问我: Winform和WPF,我应该先学什么? 在很多人眼里,WPF是一门高级技术,而Winform是比较Low的。 今天跟大家聊聊,关于WPF和Winform。 简单聊聊 首先我认为Winform不算是过时的技术,WPF也不算是新技术,两者并不
阅读全文

摘要:
前言 大家好,初学者遇到数据库连接不上,是很常见的情况,可能会以各种形式呈现出来,今天跟大家分享一下,如何解决C#连接不上数据库的问题。 本文主要针对的是SQLServer数据库,采用sa账户登录,配置文件采用appconfig,本地数据库的情况,如果情形不一样,可能无法涵盖。 常见错误 以下这几种
阅读全文

摘要:
背景 前段时间,有个学员找我咨询了一个上位机项目报价: 一个小项目,接4个温度传感器,显示出来,再加个报警检测。 按照工作量,2-3个小时应该是可以搞定的,所以我建议的报价是1000元。 后来,过了两天,他跟我说1500元做了,挺开心,毕竟是自己接的第一个上位机项目,算是学有所用了。 硬件 我感觉这
阅读全文

摘要:
-Begin- 前言 大家好,我是新阁教育韩工,今天跟大家分享一个上位机开发中很常用的技能——基于ListView快速搭建日志系统。 步骤 1、首先,我们创建一个WinForm窗体,在窗体中拖放一个listView控件。 2、然后我们点击控件右上角的三角标,弹出listView任务对话框。点击编辑列
阅读全文

摘要:
前言 在开发上位机时,我们经常需要用到配置的相关功能,我们可以选择的方案也很多,包括INI、txt、json、xml,今天跟大家分享的另外一种方式——Settings。 步骤 1、首先,通过展开Properties,里面有个Settings.settings,双击打开,如下图所示: 如果你打开不是这
阅读全文

摘要:
-Begin- 有好几个小伙伴告诉我,在B站上搜Modbus,第一个搜到就是我的Modbus讲解视频,也是通过这个视频对Modbus协议开始有所了解。 我搜了一下,确实是排在第一个。 看了一下播放量、点赞量和投币收藏量,说明这个视频对大家还是有一定帮助的。 所以我将这个视频继续分享给公众号的小伙伴们
阅读全文
