- 博客(562)
- 资源 (17)
- 问答 (3)
- 收藏
- 关注

原创 手把手教你从入门到精通C#与PLC通信
本文是C#与PLC通信专栏的导读,详细介绍了本专栏将会介绍C#与哪些PLC进行通信,是C#与PLC通信不可多得的实战经验教材!
2024-08-07 23:19:20
5998
2

原创 手把手教你从入门到精通C# MES通信
本文是C#与MES通信通信的目录,使用C#与各种MES系统通信的方法我都会在专栏中讲到,比如WebService、Http、Ftp、共享文件夹、串口通信等,绝对是上位机软件工程师实现与MES系统通信的必备教程!
2024-04-05 17:57:19
5066
3

原创 手把手教你从入门到精通C# Socket通信
本文以我开发的TCP/UDP调试助手为例,详细介绍《C#Socket通信从入门到精通》专栏的目录内容,本专栏由一个高级工程师多年实战经验总结,绝对是C# TCP/UDP通信的葵花宝典!带您从入门到精通C#TCP/UDP通信!
2024-01-17 23:16:03
6428
13

原创 手把手教你从入门到精通C# Modbus通信
本文是《Modbus通信从入门到精通》的导读,本专栏将会详细介绍ModusRTU 、ModbusASCII、ModbusTCP这三种协议的C#实现,由一个高级工程师多年实战经验总结而成,绝对干货!
2023-05-25 21:03:22
13817
37

原创 手把手教你从入门到精通C#串口通信
本文以我开发的串口助手SComTool为例,详细介绍《C#串口通信从入门到精通》专栏的目录内容,本专栏由一个高级工程师多年实战经验总结,绝对是c#串口通信的葵花宝典!带您从入门到精通C#串口通信!
2021-08-26 16:25:37
26372
49

原创 手把手教你做学生信息管理系统——数据库设计(MySql)
一、需求整理系统功能设计在本系统的设计中,主要实现如下一些功能:增加记录、修改记录、删除记录、使用学号查询。学生记录包括:学号、姓名、性别、专业、出生年月、联系电话。界面要求欢迎界面、登录界面、管理界面。...
2020-09-22 19:39:02
46247
2
原创 C#按照矩形中心获取缩放矩形,搞这行的都得懂!
我们先获取原始矩形的中心点坐标,由于缩放矩形是按照矩形中心点缩放的,所以缩放前后矩形的中心点坐标不变,变化的只是矩形的宽度和高度(这里只讲解没有角度的矩形),所以我们解决该问题的思路就是先获取中心点坐标,然后按照缩放倍数获取新的矩形宽度和高度,最后根据中心点以及宽度、高度推算出矩形左上角的坐标。
2025-03-31 21:56:24
344
原创 C#元组Tuple,这操作简直逆天!
我们在开发C#程序的时候,有时候需要一个方法返回多个参数,我们可以自定义一个类型来存储多个参数,但是如果这个方法用的比较少,那也就没必要单独自定义一个类,那我们就可以使用元组tuple来解决这个问题!
2025-03-23 23:25:58
299
1
原创 C#随机数,真香啊!
大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发C#程序的时候,有时候需要模拟一些随机性的结果,比如某个产品的检测结果分为Ok、NG两种情况,在前期测试时软件产生的可能只是NG(比如客户只提供了NG品给我们测试),但是我们又需要测试Ok、NG两种情况下时气缸的动作是否正常,这时候就需要软件能够模拟出OK、NG两种情况,本文就来帮助大家解决这个问题!
2025-03-18 20:29:12
285
原创 winform中chart控件解决显示大量曲线数据卡顿方法——删旧添新法
我们在开发winform窗体程序的时候,有时候会往chart控件中添加大量的数据用于显示曲线,当数据太多时,会出现程序界面卡顿甚至软件崩溃的情况,本文就来帮助大家解决这个问题!
2025-03-12 22:55:46
700
1
原创 WinForm模态与非模态窗体
模态窗体:适合需要用户立即处理的场景,会阻塞主窗体的操作。非模态窗体:适合需要长时间显示或与其他窗体同时操作的场景,不会阻塞主窗体的操作。根据具体需求选择合适的窗体显示方式,可以提升用户体验和应用程序的交互性。
2025-03-09 22:53:14
537
原创 如何利用DeepSeek的AI技术来提高C#开发效率,人人都要学会的技术!
最近DeepSeek非常火爆,由于AI的迅速发展,AI已经在各个方面都得到了广泛的应用,我们作为C#开发工程师也要学会利用AI来帮我们解决问题,这样才能达到事半功倍的效果,本文就来介绍如何利用DeepSeek来解决我们C#开发中的各种问题!
2025-03-05 21:01:30
353
原创 C#从入门到精通(36)—如何实现winform窗体最大化最小化,大佬都要会的技术!
我们在开发winform窗体程序的时候,有时候觉得winform窗体的默认边框比较丑,这时候我们可以去掉自带的边框,去掉边框以后,我们想要自己设计一个边框,这个边框一定是需要最大化或者最小化功能的,本文就来讲解如何实现winform窗体的最大化或者最小化!
2025-03-02 23:09:13
647
1
原创 C#从入门到精通(35)—如何防止winform程序因为误操作被关闭
我们在开发的上位机软件运行起来以后,一般在右上角都有一个关闭按钮,正常情况下点击关闭按钮就能关闭软件,但是不排除我们不想关闭软件,但是因为不小心把鼠标点到了关闭按钮,如果这是一个正在生产的机器,突然关闭软件可能会导致产品损坏,那么我们如何去解决这个误操作的问题呢,本文就来讲解解决方案!
2025-02-25 21:33:16
297
1
原创 C#从入门到精通(34)—如何防止winform程序被同时打开多次
我们在开发上位机软件的过程中,评判一个人软件写的好不好,有一个细节就是这个软件会不会被重复打开多次,因为上位机软件一般连接了多个硬件,比如扫码器、控制卡、相机等,一旦软件被同时打开多个应用,特别是上位机软件一般都是在工厂给操作员使用,多次打开软件难免发生,一旦发生就会出现软件各种异常,甚至造成不可预知的异常导致设备损坏,本文就来讲解如何解决这个问题。
2025-02-23 00:03:35
535
原创 C#运动控制——轴IO映射
该功能允许用户对专用 IO 信号的硬件输入接口进行任意配置,比如轴的急停信号,通过映射以后,可以将所有轴的急停信号映射到某一个IO输入口上,这样,我们只要让一个IO信号有效就可以触发所有轴的急停。如果第4个参数为原点信号时,这个参数是轴的索引;如果第四个参数是6,则这个参数是IO输入的索引。设置io映射的函数dmc_set_axis_io_map总共有6个参数。看下图我们可以实现将轴2的原点作为轴0的正限位信号。2为原点信号,6是通用输入端口。3)指定轴的IO信号类型。5)轴IO映射的索引。
2025-02-13 11:38:09
291
原创 急停信号的含义
马工2017年硕士毕业,一直从事上位机软件开发工作,在我工作的第四年年薪突破了40万+,为了帮助跟我一样从底层出身的上位机软件工程师早日达到高级工程师的水平,早日找到30万+的工作,我根据多年项目经验,总结出了一系列可直接用于项目的C#上位机实战教程推荐给大家,目前在优快云已经超过一千人订阅,如果你不甘贫庸,想像我一样早日拿到高薪,马工强烈推荐你早日学这套教程,雷军曾说这个世界上有99%的问题别人都遇到过,你要做的不是闷头干!而是找这个领域的专家问一下,这是最快速提升自己的方法!
2025-02-12 23:37:19
1992
原创 C#运动控制编程——脉冲当量含义
马工2017年硕士毕业,一直从事上位机软件开发工作,在我工作的第四年年薪突破了40万+,为了帮助跟我一样从底层出身的上位机软件工程师早日达到高级工程师的水平,早日找到30万+的工作,我根据多年项目经验,总结出了一系列可直接用于项目的C#上位机实战教程推荐给大家,目前在优快云已经超过一千人订阅,如果你不甘贫庸,想像我一样早日拿到高薪,马工强烈推荐你早日学这套教程,雷军曾说这个世界上有99%的问题别人都遇到过,你要做的不是闷头干!而是找这个领域的专家问一下,这是最快速提升自己的方法!
2025-02-12 22:10:11
639
原创 伺服报警的含义
对于雷赛的脉冲卡,使用自带的Motion软件打开以后,在单轴参数设置中可以找到关于伺服报警相关的设置,如下图:在程序中设置报警信号的高低电平总共5个参数,如下:1)报警启用一般情况下报警是启用的2)有效电平这个有效电平的意思是,比如设置为高电平有效,则伺服存在报警时,该信号的电平为高电平,在上位机软件开发中,我们需要设置该有效电平是高电平有效还是低电平有效,对应于雷赛脉冲控制卡,使用dmc_set_alm_mode函数设置报警有效电平,对应参数如下:(1)卡索引(2)轴索引。
2025-02-12 16:50:42
413
原创 伺服使能的含义解析
伺服使能以后伺服电机处于启动状态,我们这时候使用运动控制卡的控制轴运动的指令就可以控制轴的运动;如果此时伺服电机没有处于使能状态,我们使用运动控制卡发送控制轴的运动,轴是不运动的。
2025-02-10 22:14:36
522
2
原创 winform跨线程更新界面
我们在开发C#程序的时候,有时候需要在非Ui主线程更新界面,为了避免跨线程更新ui的异常,下面进行详细介绍如何实现这一需求!
2024-11-30 18:08:30
734
2
原创 如何让控件始终处于父容器的居中位置(父容器可任意改变大小)
马工2017年硕士毕业,一直从事上位机软件开发工作,在我工作的第四年年薪突破了40万+,为了帮助跟我一样从底层出身的上位机软件工程师早日达到高级工程师的水平,早日找到30万+的工作,我根据多年项目经验,总结出了一系列可直接用于项目的C#上位机实战教程推荐给大家,目前在优快云已经超过一千人订阅,如果你不甘贫庸,想像我一样早日拿到高薪,马工强烈推荐你早日学这套教程,雷军曾说这个世界上有99%的问题别人都遇到过,你要做的不是闷头干!而是找这个领域的专家问一下,这是最快速提升自己的方法!
2024-11-28 15:25:22
829
原创 运动控制回原点每次位置不同的解决方法
我们有时候对一个轴设定了一个固定的坐标,比如100mm,结果实际测试中发现每次自动测试过程中不是准确的100mm,比如有时候是99.8,有时候是100.1,这时候最大可能是我们回原点以后得机械位置不同导致起始坐标为0的位置发生了变化导致,那按理说回原点以后轴所在的位置是固定的,为什么回出现位置不同的情况呢?
2024-11-13 11:07:36
931
1
原创 雷赛DMC5X10系列脉冲运动控制卡——极限开关接常开还是常闭?
大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在C#开发运动控制软件的时候,也要了解极限开关的接线方式,下面进行介绍!
2024-11-12 14:40:58
456
原创 禾川SV-X2E A伺服驱动器参数设置——脉冲型
P00.14,代表编码器输出每转脉冲数,然后如果需要2倍频或者4倍频,需要在运动控制卡的轴参数中设置编码器模式,比如设置了4倍频,则设置该值为2500,假设每转一圈,实际运动控制卡会收到4*2500=10000个脉冲,这里还要注意电机转速太高时,每秒输出的脉冲数不能超过1百万个。假设轴的导程为5mm,那么可以设置PA0.08的值为10000,设置PA0.11的值为2000,则运动控制卡输出多少脉冲,则编码器返回同等数量的脉冲,并且脉冲当量为10000/5=2000pulse/mm。2、编码器反馈脉冲设置。
2024-10-26 18:09:00
2082
原创 雷赛L6N伺服驱动器基本参数设置——EtherCAT 总线型
PA0.11,代表编码器输出每转脉冲数,实际反馈的脉冲数做了4倍频处理,设置该值为2500,假设每转一圈,实际运动控制卡会收到4*2500=10000个脉冲,这里还要注意电机转速太高时,每秒输出的脉冲数不能超过1百万个。假设轴的导程为5mm,那么可以设置PA0.08的值为10000,设置PA0.11的值为2000,则运动控制卡输出多少脉冲,则编码器返回同等数量的脉冲,并且脉冲当量为10000/5=2000pulse/mm。2、编码器反馈脉冲设置。
2024-10-26 17:35:31
1283
原创 雷赛DMC5X10系列脉冲运动控制卡——原点开关接常开还是常闭?
轴先运动,由于原点开关损坏,所以无法实现闭合,所以轴找到极限后反向,然后继续寻找原点闭合信号,但是由于一直找不到。常闭(NC):平常状态下信号输出线为闭合状态,持续信号输出,当感应到物体才断开,关闭信号1。轴先运动,由于当前位置原点开关已断开,所以会把当前位置误认为是达到了原点,这样就导致原点位置错误!轴先运动,一直到碰到原点开关后,原点开关闭合,轴停止。轴先运动,一直到碰到原点开关后,原点开关断开,轴停止。所以一般情况下会将原点设置为常开。1)原点开关正常工作。1)原点开关正常工作。
2024-10-26 15:06:37
546
原创 雷赛DMC5X10系列脉冲运动控制卡——机械原点和工作原点原理
原点开关通常具有高精度和高可靠性的检测能力,能够满足各种复杂运动控制的需求,所以运动控制软件运行的第一步就是回原点,只有回到了原点,轴才能找到一个基准位置,并将这个基准位置设置为物理坐标为0的点,这个基准位置如果是在原点开关,则称之为机械原点,此时工作原点和机械原点重合。2)然后通过绝对运动移动一定距离到达工作原点位置,然后设置工作原点坐标为0。2)然后通过相对运动移动一定距离到达工作原点位置,然后设置工作原点坐标为0。1)将轴通过回原点模式回到机械原点,然后设置机械原点位置为0;一、原点开关的基本概念。
2024-10-25 10:02:11
821
原创 C#判断点是否在多边形内
GraphicsPath path = new GraphicsPath();path.FillMode = FillMode.Winding;//指示填充的模式path.AddLine(new Point(10, 10), new Point(110, 10));path.AddLine(new Point(110, 10), new Point(60, 100));path.AddLine(new Point(60, 100), new Point(10, 10));this.CreateGr
2024-10-24 09:32:42
535
原创 C#判断点是否在矩形内
大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在C#开发中经常需要对平面中的坐标位置进行一些判断,比如判断坐标点是否在某个矩形范围内,本文就是介绍如何实现这个功能。
2024-10-22 20:58:49
1283
原创 C#算法(16)—获取上升沿和下降沿信号
我们在上位机软件开发的时候有时候需要抓取一个信号的上升沿或者下降沿,这时候就需要我们自己编写程序来实现抓取上升沿和下降沿的功能
2024-09-25 22:09:10
683
1
本资源是SQLite数据库管理软件SQLiteStudio软件的安装包,该软件用于对SQLite数据库进行方便的管理
2023-10-28
Socket调试助手,该助手可用于调试socket通信,包含socket客户端,socket服务器,udp客户端,udp服务器
2023-10-28
c#实现不同画面之间的切换.zip
2020-08-18
cSharp调用c++.zip
2020-04-28
ha_dllexp.opdown.com.rar
2020-04-28
MotionControlParameterConfig.zip
2020-04-21
工厂方法模式.zip
2020-04-10
ilspy_exe.zip
2020-03-30
CShap判断网络是否连接成功.zip
2020-03-27
zedgraph的dll+demo+文档.zip
2020-03-27
EmgucvReadImageTest.zip
2019-12-22
dm642如何配置为rs485
2016-04-03
dm642的IO口输出的电压信号频率多高?和cpu主频一样吗?
2016-03-12
dm642的i/o口的电压信号频率多高啊?
2016-03-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人