- 博客(707)
- 资源 (17)
- 问答 (3)
- 收藏
- 关注
原创 C#上位机框架免费开源,这框架简直逆天!
马工给大家写了一个C#上位机软件框架,包含配方管理、权限管理、日志管理、等功能,该框架已经上传Gitee,给初学者一些参考,大家可以免费下载!
2025-04-16 21:07:12
5446
2
原创 手把手教你从入门到精通C#与PLC通信
本文是C#与PLC通信专栏的导读,详细介绍了本专栏将会介绍C#与哪些PLC进行通信,是C#与PLC通信不可多得的实战经验教材!
2024-08-07 23:19:20
9811
2
原创 手把手教你从入门到精通C# 操作MySql数据库
本文是《C#操作MySql数据库从入门到精通》专栏的导读,帮助大家知道学习本专栏能够获取什么!
2024-06-09 15:20:36
1926
原创 手把手教你从入门到精通C# MES通信
本文是C#与MES通信通信的目录,使用C#与各种MES系统通信的方法我都会在专栏中讲到,比如WebService、Http、Ftp、共享文件夹、串口通信等,绝对是上位机软件工程师实现与MES系统通信的必备教程!
2024-04-05 17:57:19
8730
3
原创 手把手教你从入门到精通C# Socket通信
本文以我开发的TCP/UDP调试助手为例,详细介绍《C#Socket通信从入门到精通》专栏的目录内容,本专栏由一个高级工程师多年实战经验总结,绝对是C# TCP/UDP通信的葵花宝典!带您从入门到精通C#TCP/UDP通信!
2024-01-17 23:16:03
7845
13
原创 手把手教你从入门到精通C# Modbus通信
本文是《Modbus通信从入门到精通》的导读,本专栏将会详细介绍ModusRTU 、ModbusASCII、ModbusTCP这三种协议的C#实现,由一个高级工程师多年实战经验总结而成,绝对干货!
2023-05-25 21:03:22
16541
38
原创 手把手教你从入门到精通C#串口通信
本文以我开发的串口助手SComTool为例,详细介绍《C#串口通信从入门到精通》专栏的目录内容,本专栏由一个高级工程师多年实战经验总结,绝对是c#串口通信的葵花宝典!带您从入门到精通C#串口通信!
2021-08-26 16:25:37
30637
60
原创 手把手教你做学生信息管理系统——数据库设计(MySql)
一、需求整理系统功能设计在本系统的设计中,主要实现如下一些功能:增加记录、修改记录、删除记录、使用学号查询。学生记录包括:学号、姓名、性别、专业、出生年月、联系电话。界面要求欢迎界面、登录界面、管理界面。...
2020-09-22 19:39:02
49159
2
原创 C#串口通信从入门到精通(31)——丢包解决
开发串口通信程序时,如果发送端发送的数据特别快,接收端接收的比较慢的情况下,就会导致部分数据来不及接收从而丢失,本文就来讲解如何解决这个数据丢失问题
2026-11-06 11:57:44
2
原创 C#串口通信从入门到精通(30)——粘包/分包/半包解决之固定长度法
在开发串口通信程序时,我们常常会遇到这样的情况:单片机或传感器发送数据的速度特别快,假设一帧数据只有 3 个字节,而上位机一次性就接收到了 6 个字节;又或者发送速度特别慢,一帧数据有 8 个字节,我们却分多次才收齐这 8 个字节。这样一来,我们就无法顺利解析收到的数据。在之前的文章中,我介绍了用结束符法解决粘包问题,但这种方法在数据本身含有结束符时就无能为力了。本文讲解另一种更强大的方案——固定长度法,来解决这个问题。
2026-10-31 11:59:47
17
原创 C#串口通信从入门到精通(29)——粘包/分包/半包解决之结束符法
我们在开发串口通信程序时,有时候会遇到比如单片机或者传感器发送的数据速度特别快,假设一帧数据是3个字节,但是我们使用上位机一次性接收了6个字节;或者发送数据特别慢,一帧数据8个字节,我们分多次收到这8个字节,这样我们就没办法顺利的解析收到的数据。
2026-10-30 20:52:21
13
原创 halcon实战-圆测量
我们有时候需要对圆的圆心位置以及圆的半径进行测量,尤其是对圆形标定板上的圆心坐标和圆半径进行计算时就需要使用圆测量,本文就来讲解Halcon中的圆测量
2026-10-29 17:59:31
201
原创 C#上位机项目实战——控制弹出winform窗体的位置
在 WinForm 开发中,我们经常需要控制弹出窗体的显示位置,控制这个显示位置的关键在于理解窗体的 `StartPosition` 属性。该属性是一个枚举类型,共包含 5 个取值,不同的取值决定了窗体弹出时所处的位置,本文就来详解介绍这5种不同情况。
2026-10-27 20:52:33
134
1
原创 C#上位机项目实战——exe项目调试更改dll中源代码
我们有时候自己封装了一个C#的dll,然后引用了这个dll里面的方法,当我们发现这个方法有问题的时候,可以通过一些手段进入到这个dll的方法中进行单步调试,从而找到错误的原因,本文使用的是Visual Studio2019
2026-10-21 20:36:54
123
原创 C#上位机项目实战——上位机与汇川H5U系列PLC通信
汇川PLC在工业自动化领域的使用率越来越高,所以从事上位机掌握与汇川PLC的通信成为了必须要掌握的技能,本文讲解如何在没有真实PLC的情况下搭建仿真测试环境,以及如何使用马工开发的专用与PLC通信的MgCommunication通信库实现数据读写
2026-10-15 10:12:43
178
1
原创 mysql中的事务
SQL 事务(Transaction)是指一组要么全部成功、要么全部失败的操作,它是保证数据一致性的核心机制,以银行转账为例:A 给 B 转 100 元,A 的账户减 100,B 的账户加 100,如果第 1 步成功、第 2 步失败,钱就凭空消失了。事务的作用就是:这两步必须一起成功,或者一起失败。
2026-09-20 09:51:35
30
原创 C#上位机项目实战——Task.Run执行带参数的方法
Task.Run方法中默认接受的是 Action 或 Func<TResult> 委托,这两种委托都是不能传递参数的,但是实际开发中我们肯定是需要调用有参数的方法,这时候就可以通过lambda闭包实现
2026-09-19 15:36:43
97
原创 halcon获取区域特征region_features
求出面积等于10000,相当于10000个像素,上面的代码中总共有100行,每行100个像素,所以总的像素个数=100*100=10000.求出周长等于294,上面的代码中轮廓上面和下面都是50个像素,距离都是49;轮廓左边和右边像素是100,距离都是99,所以最终的距离就是49。获取多个区域的多个特征时,数组先存储第1个区域的多个特征,然后存储第2个区域的多个特征,如下图所示。周长计算区域最外侧的轮廓所在的像素与像素之间的距离,2个像素距离就是1。面积计算区域总共有多少个像素。一、同时获取区域多个特征。
2026-09-12 18:42:34
232
原创 tuple_max求数组中的最大值
下面的代码中,tuple_max 就是用来求数组中的最大值的,数组a中的最大值是5,tuple_max算子有两个参数,第一个为输入的数组,第二个为输出的最大值。
2026-09-08 23:32:28
35
原创 C#上位机项目实战——参数持久化之MessagePack二进制序列化
我们开发的上位机经常需要将一些参数保存到电脑本地,从而方便下次打开软件时把上一次保存到本地电脑的参数读取出来,本文就来讲解参数持久化之MessagePack二进制序列化来实现这个功能
2026-09-02 15:22:55
261
原创 C#上位机项目实战——C#的dll项目编译时拷贝到指定目录下
上位机软件开发中,有时候需要将一个dll类型的项目编译生成的dll拷贝到一个指定的目录下,如果每次编译都需要人为的手动拷贝非常麻烦,本文就来讲解一种自动拷贝的方法,一劳永逸的解决这个问题。
2026-08-26 20:50:49
188
原创 wpf之TreeView
在wpf中TreeView是一个展示层级关系的控件,比如公司有很多部门,每个部门有很多员工,面对这种层级关系的数据,就可以使用TreeView来展示。
2026-08-16 11:57:33
231
原创 C#上位机项目实战——Modbus通信发送或读取字符串
上位机软件开发中Modbus通信是上位机软件工程师必须精通的一种通信协议,大家最常见的是使用Modbus读取bool类型、int16整数、Int32整数、float32浮点数,其实Modbus也可以发送或读取字符串,只不过实际使用的频率不高,但是也要掌握
2026-08-07 20:45:25
308
原创 线扫相机的行触发原理讲解
行触发决定了是否进行采集图像,一个行触发信号就是一个脉冲信号,有脉冲信号就采集一行图像,没有就不采集,即使给了帧触发信号。
2026-08-06 11:07:34
115
原创 线扫相机之采集图像高度
线扫相机采集的图像高度可以由上位机软件开发人员通过相机sdk来设置,因为线扫相机理论上可以采集无限长的图像,但是我们实际开发中都是采集指定长度的图像,多了我就不需要了。
2026-08-03 23:20:45
74
原创 C#上位机项目实战——事件实战之报警弹窗
上位机软件开发中很多新手对于C#的事件如何应用于实际项目感到无从下手,很多人对于事件的理解仅仅停留在winform的Button这些按钮的自带事件上,并不知道如何自定义事件并加以使用,本文就来讲解一种自定义事件的实际项目应用案例,在自动流程中使用事件来触发报警弹窗,让上位机新手对事件的理解更加深刻!
2026-07-23 21:06:23
191
原创 C#上位机项目实战——委托实战之更新界面日志
上位机软件开发中很多新手对于C#的委托如何应用于实际项目感到困惑,本文就来讲解一种委托的实际项目应用案例,在多线程中使用委托更新界面日志,让上位机新手对委托的理解更加深刻!
2026-07-14 17:43:05
237
原创 C#上位机项目实战——启动、停止按钮界面设计
上位机软件开发中启动和停止按钮几乎是每个上位机软件必须具备的功能,使用传统winform开发时如果仅仅给Button按钮添加文本作为启动和停止按钮,这样会让上位机软件界面开起来很丑,本文就来讲解一种美化启动、停止按钮界面的方法,该方法可以扩展到所有需要美化的按钮,为提高上位机软件的逼格提供了有效的途径!
2026-07-07 19:14:03
255
原创 C#项目中打包文件的三种方式
我们在Visual Studio 编译和打包你的项目时,如何处理文件以及将其放置在哪里,比如现在winform软件界面使用到了一些图标,我们发布项目时,是将这些图标嵌入到exe中还是如何?在vs中“生成操作”的类型决定了编译和打包你的项目的方式,本文就来讲解几种方式。
2026-05-15 20:02:06
402
原创 wpf附加事件
1)定义附加事件下面的代码中 EventManager.RegisterRoutedEvent方法注册路由事件,该方法第一个参数是“事件名称”;第二个参数是路由策略,路由策略分为冒泡、隧道、直接三种;第3个参数是委托类型,这个委托类型不是固定的,RoutedEventHandler是标准的写法;第4个参数是事件所在的类。2)定义附加属性。
2026-04-25 17:06:28
328
原创 halcon的dilation1和dilation2的区别
dilation1 和 dilation2 的核心区别在于能否指定结构元素的锚点(参考点)。dilation1:自动将结构元素的重心作为锚点。结构元素的形状决定了它的重心位置(如圆形的重心在圆心,矩形的重心在中心),这决定了膨胀的方向和效果。dilation2:允许你通过 Row、Column 参数手动指定锚点的位置,可以实现对膨胀方向的精确控制。halcon代码运行结果:结构元素:结构元素Rectangle1是一个宽为1高为10的矩形。
2026-04-23 17:46:17
208
原创 wpf路由事件
1)注册路由事件路由事件也是定义在控件自身的类当中,使用EventManager.RegisterRoutedEvent方法注册路由事件,该方法第一个参数是“事件名称”;第二个参数是路由策略,路由策略分为冒泡、隧道、直接三种;第3个参数是委托类型,这个委托类型不是固定的,RoutedEventHandler是标准的写法;第4个参数是事件所在的类。2)添加CLR事件包装器事件包装器与属性包装器类似,它是为路由事件提供一个标准的 .NET 事件访问接口,让开发者能够用熟悉的方式使用事件。
2026-04-23 10:08:17
496
Socket调试助手,该助手可用于调试socket通信,包含socket客户端,socket服务器,udp客户端,udp服务器
2023-10-28
本资源是SQLite数据库管理软件SQLiteStudio软件的安装包,该软件用于对SQLite数据库进行方便的管理
2023-10-28
c#实现不同画面之间的切换.zip
2020-08-18
ilspy_exe.zip
2020-03-30
zedgraph的dll+demo+文档.zip
2020-03-27
EmgucvReadImageTest.zip
2019-12-22
MotionControlParameterConfig.zip
2020-04-21
cSharp调用c++.zip
2020-04-28
ha_dllexp.opdown.com.rar
2020-04-28
CShap判断网络是否连接成功.zip
2020-03-27
工厂方法模式.zip
2020-04-10
dm642如何配置为rs485
2016-04-03
dm642的IO口输出的电压信号频率多高?和cpu主频一样吗?
2016-03-12
dm642的i/o口的电压信号频率多高啊?
2016-03-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅