自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曾经的我也很优秀,现在的我一无所有。

资深程序猿,知名上位机软件开发讲师。当了两年大学教师,现在软件开发工程师一枚。

  • 博客(119)
  • 收藏
  • 关注

原创 学习上位机软件开发必看

首先简单介绍一下我自己,,,我在北京上班。是一名军工航天软件上位机开发,那么为什么要写这篇文章呢?就是觉得最近好像很多人都想转行干上位机,然后呢,又一头雾水。我作为一名IT系()毕业的瓜皮佬,那我就简单介绍一下,我毕业以后是如何干这行的,以及这行大概需要什么,怎样才能快速上手,或者说怎样才能转行并快速找到一份工作。

2023-10-03 11:27:43 2656 7

原创 西门子系列PLC与C#winform通信类

欢迎讨论,最近一版的西门子PLC通信类,包含PLC连接、发送数据、接收数据、关闭PLC连接四个函数,支出大多数类型,不定期更新,有需要评论。支持的PLC有s7-200、s7-300、s7-1200、s7-1500

2023-09-16 09:15:37 888 2

原创 基于Ollama+DeepSeek+AnythingLLM轻松投喂打造本地大模型知识库

基于Ollama+DeepSeek+AnythingLLM轻松投喂打造本地大模型知识库

2025-02-25 22:29:31 110

原创 C# winform 浮点数“1.5”获取小数部分的“5”

C# winform 浮点数“1.5”获取小数部分的“5”最佳性能,最快的去获取。

2025-01-17 16:56:16 114

原创 C# winform 文件被占用的问题

3、文件中数据读取,创建字典的键重复。1、文件真的被其他软件打开。

2025-01-17 10:04:45 217

原创 C# winform 多线程 UI更新数据 报错:无法访问已释放的对象。

Message=无法访问已释放的对象。异常通常发生在尝试访问一个已经被释放的对象时。在你提供的错误信息中,这个异常发生在尝试通过方法调用一个委托时。这通常是因为在多线程环境下,尝试更新 UI 控件而没有正确地同步访问导致的。

2025-01-09 08:56:28 837

原创 C# winform Excel中处理数据的公式,替换字符

=SUBSTITUTE(SUBSTITUTE(B13,"[","_"),"]","")

2025-01-05 09:22:14 93

原创 C# winform 西门子报错S7.net:The size of the class is less than 1 byte and therefore cannot be read

System.Exception HResult=0x80131500 Message=The size of the class is less than 1 byte and therefore cannot be read Source=S7.Net StackTrace: at S7.Net.Plc.ReadClass(Object sourceClass, Int32 db, Int32 startByteAdr) at System.Threading.Tasks.T

2024-12-25 15:47:11 221

原创 C# winform 报错:类型“System.Int32”的对象无法转换为类型“System.Int16”。

Message=类型“System.Int32”的对象无法转换为类型“System.Int16”。

2024-12-25 15:46:08 436

原创 C# winform 热键代码,捕捉“tab”按键,执行相应的操作

/ 例如,你可以检查哪个TabControl是可见的,或者哪个TabControl是当前焦点所在的父控件。// 阻止进一步处理“Tab”键,例如不要让它移动焦点到下一个控件。// 这里需要根据你的具体需求来实现获取当前激活的TabControl的逻辑。// 设置TabControl选中下一个标签页。// 获取当前激活的TabControl。// 获取当前选中的标签页索引。// 计算下一个标签页的索引。// 以下代码仅为示例,需要根据实际情况调整。// 检查是否按下了“Tab”键。

2024-12-20 12:52:41 358

原创 C# winform 字符串通过枚举类型转成int类型的数据

来获取枚举的整数值。第一个例子中,我们首先将字符串转换为枚举类型,然后再转换为整数。第二个例子中,我们直接将。因此,在实际应用中,你可能需要添加异常处理来确保程序的健壮性。枚举的有效成员,程序将捕获异常并输出错误信息,而不是崩溃。的结果转换为整数,这是一个更直接的方法。请注意,如果字符串不是枚举的有效名称,在这两个例子中,我们都是通过字符串。

2024-12-20 12:48:35 602

原创 使用redmibook pro 24 第三题,系统卡死N次。

CPU和内存,经常到达100%,持续时间很长,10秒左右。我在想,是不是电脑风扇散热不行,断电就切换到均衡模式。我发现,是不是风扇的问题,导致电脑的卡死。在极致的性价比面前,电脑一次一次的卡死。感觉开发程序够用了。轻薄本 + 性能猛兽。从外壳上看,电脑温度不高不烫。1T固态,又外加了1T固态。这两种模式下,都卡死过。我想手动开关风扇,散热。插电就可以到狂飙模式。没想到 直接 入棺。

2024-12-05 15:46:41 200

原创 QT开发之版本选择

对于初学者来说,选择最新的稳定版本,如Qt 6.2或Qt 5.15,通常是一个不错的选择,因为它们包含了最新的功能和改进,并且会得到更好的支持。3. **Qt6版本**:Qt6是最新的大版本,虽然它增加了更多的功能和性能优化,但目前可能不如Qt5稳定,且要求Windows 10及以上版本。5. **版本特性**:不同版本的Qt5引入了不同的特性和改进。1. **稳定性和广泛使用**:Qt5系列是目前使用最广泛的版本,其中一些长期支持(LTS)版本因其稳定性和长期维护而受到推荐。

2024-11-16 13:49:31 3134

原创 Windows CE 5.0 for VMWare虚拟机和BSP下载

通常我个人写的非商业用途的程序和源代码都愿意共享出来给大家用,只是一直以来困扰我的问题是找不到合适的免费空间host这些东西,现在我发现google pages可以干这个使。BSP是在EMULATOR的BSP基础上修改而成,主要是增加了对USB 1.1 HOST和VMWare虚拟网卡的支持。用VMWare打开压缩包里的虚拟机配置文件,运行后可以自动引导到Windows CE桌面。这次放了两个东西:CE 5.0的VMWare虚拟机,和CE 5.0 for VMWare的BSP。

2024-11-14 08:48:25 322

原创 C# winform 的数据采集,采集周期是间隔10ms、100ms等等,但始终都有1ms的误差,并不是精准的10ms,哪些原因呢

C# winform 的数据采集,采集周期是间隔10ms、100ms等等,但始终都有1ms的误差,并不是精准的10ms,哪些原因呢。请注意,由于Windows本身的非实时性,完全消除误差可能是不可能的,但可以通过上述方法尽量减少误差。

2024-11-08 09:28:29 704

原创 玲珑艾橘 - 不喜欢但不行

玲珑艾橘,是指的八面玲珑,始终戴着面具,不喜欢戴着,但为了生存不得不迎合,有点大众心理,且不得不这么做。不戴面具始终找不到同频共振的那个人,戴了面具找到了一个同频共振的面具人。每个人都戴着面具,面对不同的人戴不同的面具,相比这面具不错。那个不戴面具的自己,是否还会喜欢自己。会的,这就是我的答案。如果不想让不戴面具的自己消失,就得找个地方,存放自己的记忆。

2024-11-08 09:27:26 174

原创 C# .net6 winform 报错:由于从未加载设计器的文档,因此无法显示设计器。

C# .net6 winform 报错:由于从未加载设计器的文档,因此无法显示设计器。

2024-11-02 12:04:33 202

原创 许久未更新 1024程序员节快乐呀

在这个特别的日子里,让我们向所有的程序员说一声:节日快乐!愿你们在代码的海洋中乘风破浪,不断探索和创新,用技术的力量点亮未来。1024程序员节,不仅是对程序员的致敬,也是对数字时代的一种庆祝。让我们共同期待,程序员们将继续用他们的智慧和创造力,为我们的世界带来更多的惊喜和可能。再次祝愿所有的程序员们节日快乐,愿你们的代码永远无bug,愿你们的创意永远无限!🎉👨‍💻👩‍💻。

2024-10-24 08:42:42 511

原创 C# winform 上位机报错:Message=InvalidArgument=“1”的值对于“index”无效。

Message=InvalidArgument=“1”的值对于“index”无效。

2024-10-24 08:37:55 650

原创 C# winform 大数据计算 得出 双色球 :01 07 20 29 30 32 07必中,但不知道是哪期。

C# winform 大数据计算 得出 双色球 :01 07 20 29 30 32 07必中,但不知道是哪期。双色球 :01 07 20 29 30 32 07。

2024-10-09 08:36:50 477

原创 C# winform 报错:The size of the class is less than 1 byte and therefore cannot be read

System.Exception HResult=0x80131500 Message=The size of the class is less than 1 byte and therefore cannot be read Source=S7.Net StackTrace: at S7.Net.Plc.ReadClass(Object sourceClass, Int32 db, Int32 startByteAdr) in at System.Windows.Forms

2024-10-09 08:31:05 642

原创 C# winform S7.net 报错:Received error from PLC: Address out of range.

S7.Net.Plc.ReadBytesWithSingleRequest(S7.Net.DataType, int, int, byte[], int, int) (位于 PlcSynchronous.cs 中)S7.Net.Plc.ValidateResponseCode(S7.Net.Protocol.ReadWriteErrorCode) (位于 PLC.cs 中)S7.Net.Plc.AssertReadResponse(byte[], int) (位于 PLC.cs 中)

2024-09-28 10:32:34 963

原创 C# winform s7.net 类读取 报错:数组不是一维数组。

Message=数组不是一维数组。

2024-09-28 10:31:15 644

原创 C# .net6 开发数据采集软件(三)零零散散

4、统计数据,数据条数、上传次数、下载次数等等。1、获取电脑的CPU使用率和剩余内存以及核数。2、Excel模板上传至服务器,FTP。3、用户和设备及数据绑定,上传服务器。

2024-09-22 19:50:59 237

原创 C# .net6 开发数据采集软件(二)主界面

完成了布局设计和SunnyUI的DEMO一样,需要啥用啥,最小化设计。根据分辨率不同,更新最大化的尺寸。理解了SunnyUI的设计意图。软件自适应(完成了50%吧,)软件启动后,会加载所有界面。

2024-09-22 18:36:09 723

原创 C# .net6 开发数据采集软件(一)

后续介绍本次只做一些记录,便于查询。欢迎投稿和评论,一起交流。

2024-09-21 17:14:40 878

原创 Qt/C++开发经验

Qt和msvc编译器常见搭配是Qt5.7+VS2013、Qt5.9+VS2015、Qt5.12+VS2017、Qt5.15+VS2019、Qt6.2+VS2019,按照这些搭配来,基本上常用的模块都会有,比如webengine模块,如果选用的Qt5.12+msvc2015,则很可能官方没有编译这个模块,只是编译了Qt5.12+msvc2017的,如果一定要用msvc2015不想换msvc2017则只能选择Qt5.9+msvc2015套件,或者自行源码重新编译(这个难度超大,初学者绕过)。

2024-09-21 08:14:30 907

原创 Qt/C++开发经验

Qt在开发阶段不支持中文目录(运行阶段可以,比如打包发布的程序放到中文目录运行是ok的),切记,这是无数人可能犯的错误,在安装Qt集成开发环境以及编译器的时候,务必记得目录必须英文,Qt项目源码也必须是英文目录,否则很可能不正常,建议尽量用默认的安装位置。在Qt的学习过程中,学会查看对应类的头文件是一个好习惯,如果在该类的头文件没有找到对应的函数,可以去他的父类中找找,实在不行还有爷爷类,肯定能找到的。Qt界的中文乱码问题,版本众多导致的如何选择安装包问题,如何打包发布程序的问题,堪称Qt界的三座大山!

2024-09-21 08:13:41 625

原创 QT 6.8 C++ snap库 连接西门子PLC

按照网上的方法去弄,就是运行不了,后来发现,使用Release模式就可以,流程网上有。QT 6.8 C++ snap库 连接西门子PLC。按照网络流程配置,都是这么配置。运行模式修改为Release就可以了。两种转换方式,仅供参考;byte[]转int。

2024-09-13 09:03:39 644

原创 C# winform 字符串模糊查询,也就是查找子串

C# winform 字符串模糊查询,也就是查找子串。

2024-09-11 13:35:49 614

原创 System.NullReferenceException:“未将对象引用设置到对象的实例

如果value传进来为Null的时候,就出现了上面的错误。

2024-09-11 13:34:31 477

原创 qt C++ 连接西门子PLC,读取整个DB块数据

以上步骤和代码示例结合了多个搜索结果中提供的信息,包括如何建立连接、读取和写入DB块数据,以及如何处理连接和数据转换。在Qt C++中连接西门子PLC并读取整个DB块的数据,可以使用第三方库Snap7。

2024-09-07 11:45:44 1376

原创 C++ 上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的方法

C++ 上位软件通过Snap7开源库访问西门子S7-1200/S7-1500数据块的方法。

2024-09-07 11:43:48 360

原创 实现内外网物理隔离的具体方案有哪些?

实现内外网物理隔离的具体方案有哪些?

2024-09-03 17:24:05 208

原创 用winform写个生产制造系统

用winform写个生产制造系统,一个搞笑既伟大的项目。

2024-09-03 17:22:46 555

原创 C# winform 加载窗体有卡顿,可以先显示动画,等窗体全部加载完成,在显示窗体,关闭动画

C# winform 加载窗体有卡顿,可以先显示动画,等窗体全部加载完成,在显示窗体,关闭动画Load。

2024-08-29 10:14:11 1436

原创 C# winform 西门子PLC 数据采集

数据大概30000~42万个,是6000byte左右,大概60kb左右。解析数据,可还可以,挺快的,存储至Excel就需要大IO了。如果优化采集速度,或是UI界面数据刷新率,降低数据个数即可。读取数据,参考数据个数,数据个数/10,单位ms。C# winform 西门子PLC 数据采集。100个数据,10ms的速率。

2024-08-29 09:49:49 611

原创 byte[] 转float,float转byte[]

2024-08-27 17:13:26 141

原创 byte[]字节数组转int/float/double等类型的值

结果是:32831。

2024-08-27 11:42:17 310

原创 引发的异常:“S7.Net.PlcException”(位于 S7.Net.dll 中)异常:Received 12 bytes: ‘32-02-00-00-00-00-00-00-00-00-81-

引发的异常:“S7.Net.PlcException”(位于 S7.Net.dll 中)异常:Received 12 bytes: '32-02-00-00-00-00-00-00-00-00-81-04', expected 960 bytes.原因是: 西门子PLC未开启远程访问。

2024-08-27 08:04:30 781

红外热像仪软件 SDK 开发包及使用说明

红外热像仪软件 SDK 开发包及使用说明 C++ C# Python 这些版本都有

2025-01-10

OPC UA通讯协议数据采集

OPC UA通讯协议,采集OPC服务器的目标数据然后存入SQL Server数据库,其他数据库可自行开发或者定制

2024-04-24

C#实现PID模拟仿真波形显示实例

用C#写的PID调试软件,用于模拟、仿真及学习。可自行调整P I D三个参数,然后看到波形显示,初学者学习好工具。

2024-04-24

斑马打印机ZPL编程,MODBUS通信指令

斑马打印机ZPL编程,MODBUS通信指令

2024-04-24

C#综合开发的报表系统结合数据库操作

C#综合开发的报表系统结合数据库操作

2024-04-24

异步UI更新,进度条显示,滑动文本框,日志文件读写

异步UI更新,进度条显示,滑动文本框,日志文件读写 自己的小项目中这几个小东西在其他项目中应该也会用到, 里面所有的ui更新都是异步更新的,不到导致程序看起来不流畅,文本框的几个属性配置一下就可以达到文本追加,焦点在最新行,还是挺不错的 大家按照需要从代码中copy就行

2024-04-24

QT 多线程开发demo实例

C -QT框架多线程计数运行简单例子:基于QT开发的主线程与子线程同时启动运行程序,并同时计数,可任意拖动窗口界面不卡顿,多线程之间界面传递数据。

2024-04-24

C# winform 开发的License功能

C# winform 开发的License功能,根据网卡判断注册,c#纯源码,vs2005

2024-04-23

c#中使用委托按升序和降序对一组随机生成的整型数组元素进行排序

c#中使用委托按升序和降序对一组随机生成的整型数组元素进行排序 要按升序和降序对一组随机生成的整型数组元素进行排序。要求:不提供单独的升序和降序排序方法(不分别定义一个升序和一个降序方法),而只提供一个排序方法SortArray(),它接受一个委托类型的参数compare,该参数...

2024-04-23

C# winform 门诊管理系统

该门诊管理系统采用层次实现如下模块: 1\自定统计项目 2\收费项目管理 3\人员资料管理 4\前台收费管理 5\库存管理 6\合同管理 7\处方退款 8\处方查询 9\参数设置 并且附带权限操作 ------------ 该系统附带数据库 ...

2024-04-23

C#+halcon模板识别+SMT贴片机源程序+相机标定+MARK点4点校正2点补偿+贴合补偿算法+csharp

C#+halcon模板识别+SMT贴片机源程序+相机标定+MARK点4点校正2点补偿+贴合补偿算法+csharp,包括 飞达坐标、机械参数、视觉参数、坐标调试等功能

2024-04-23

AES加密文件/解密文件程序(C#)

AES加密文件/解密文件程序(C#) aes加密算法C#程序,可直接对各类文件加密

2024-04-23

VisionPro 和CommunityToolKit

VisionPro 和CommunityToolKit

2024-04-23

神经网络控制的坦克大战游戏下载Unity-Neural-Network-Tanks-AI

Unity-Neural-Network-Tanks-AI 这是一个简单的坦克大战游戏。不同于普通的坦克游戏,这款游戏中的每个AI玩家都是由神经网络控制的,它们能够通过遗传算法进行学习和进化,从而在游戏中表现出更加复杂和有趣的行为。 如果你对这款游戏的详细介绍感兴趣,可以观看相关视频介绍,注意视频内容为中文。 这款游戏不仅能够提供给玩家娱乐体验,同时也是研究神经网络和人工智能在游戏设计中应用的一个极好示例。通过这款游戏,开发者和学习者可以深入了解如何将神经网络技术应用于实际的游戏开发中,以及如何通过遗传算法来训练和优化AI的行为。

2024-04-23

C#,Wifi搜索与连接,断开​

C#,Wifi搜索与连接,断开​

2024-04-23

洗衣机PLC控制及上位机显示

洗衣机PLC控制及上位机显示

2024-04-23

C# winform 大恒和海康相机sdk二次开发

增加了海康的sdk 修复了点自己使用过程中遇到的小bug 增加了相机当前帧率获取和采集图片张数获取

2024-04-23

安川控制卡,上位机操作寄存器

读取寄存器、复位寄存器、置位寄存器

2024-04-23

C#winformOPCUA通讯实例

C#winformOPCUA通讯实例

2024-04-23

C# winform 曲线图

c# 数据曲线图展示

2024-04-23

C#写的文件MD5校验工具

计算任意文件类型的MD5值,以校验文件是否被修改过。 每个文件只有一个MD5值,这个值是随着文件的改变而改变的。

2024-04-23

IP摄像头RTSP流实时监控软件下载(C#源码)

【实例简介】 这款IP摄像头RTSP流实时监控软件允许用户在网格模式下查看任何流媒体视频源,适用于监控IP摄像头。软件目前处于Beta测试阶段。 软件安装简便,只需下载执行文件并解压,同时您需要知道摄像头的RTSP流URL以添加至摄像头列表中。软件依赖于Windows XP或更高版本以及.NET Framework 4.0或更高版本,还需要安装VLC 2.1.3 / 2.1.5。 软件特色包括:通过双击流窗口实现全窗口扩展、自动切换高/低分辨率流、支持命令行参数、可在指定编号的屏幕上全屏启动、自定义源名称以及视频丢失警报。 支持的格式有UDP/RTP单播、UDP/RTP多播、HTTP / FTP、TCP/RTP单播、DCCP/RTP单播等,几乎支持所有视频格式,如file:////Movies/Shrek.mkv。 软件支持英文和俄文界面。

2024-04-23

C#实现Http post方式 服务端+客户端源码

【核心代码】 Server: //提供一个简单的、可通过编程方式控制的 HTTP 协议侦听器。此类不能被继承。 httpobj = new HttpListener(); //定义url及端口号,通常设置为配置文件 httpobj.Prefixes.Add("http:// :886/"); //启动监听器 httpobj.Start(); //异步监听客户端请求,当客户端的网络请求到来时会自动执行Result委托 //该委托没有返回值,有一个IAsyncResult接口的参数,可通过该参数获取context对象 httpobj.BeginGetContext(Result, null); Console.WriteLine("服务端初始化完毕,正在等待客户端请求,时间:" DateTime.Now.ToString() "\r\n");

2024-04-23

C# winform 串口助手(SerialPort源码)

【实例简介】 一款基于C#的串口调试助手,可在此基础上进行串口相关程序开发

2024-04-23

c# winform 读取xml文件

【核心代码】 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml; using System.Collections; namespace eg107 { public partial class

2024-04-23

C# 实现面部检测与识别源码(EmguCV)

【实例简介】 面部检测与识别技术在安全、监控和人机交互等领域有着广泛的应用。EmguCV 是一个跨平台的 .Net 封装库,可以让开发者在 .NET 兼容语言中调用 OpenCV 的图像处理功能。 本文将介绍如何使用 C# 和 EmguCV 进行面部检测与识别,涵盖了 Eigenfaces、Fisherfaces 和 LBPH 三种算法。 什么是 Emgu CV? Emgu CV 是 OpenCV 图像处理库的一个跨平台 .Net 封装。它允许从 .NET 兼容的语言(如 C#、VB、VC 、IronPython 等)调用 OpenCV 函数。该封装库可以在 Visual Studio、Xamarin Studio 和 Unity 中编译,能够在 Windows、Linux、Mac OS X、iOS、Android 和 Windows Phone 上运行。 算法简介 Eigenfaces、Fisherfaces 和 LBPH 是面部识别中常用的几种算法,它们各自有着不同的特点和应用场景。Eigenfaces 方法依据人脸图像集合中的变化来捕捉信息,通过这些信息来

2024-04-23

C#联合halcon海康威视相机(缩放,平移)实现模板匹配

开发环境:vs2022 halcon 23.0.5 海康提供的类;MVCamera.cs 实例化海康提供的类,获取图像,然后在halcon 中实现模板匹配。 自己做一个test.shm模板存储在debug文档中,就可以实现模板匹配。 【核心代码】 1.定义相机对象,可以实现图像缩放平移,有些smartwindow 不稳定,可以换成Hwindcontrol控件显示 public Form1() { InitializeComponent(); hwindow = hSmartWindowControl1.HalconWindow;//初始化窗口变量s w_width = hSmartWindowControl1.Size.Width; w_height = hSmartWindowControl1.Size.Height; this.MouseWheel = new System.W

2024-04-23

Atlas通信例程(拧紧枪)程序demo

Atlas通信例程(拧紧枪),简易demo,获取扭矩和角度,环境是.net framework 4.5.2,可以升级至4.8,资料很少,为数不多的案例啦。阿特拉斯基于开放协议通信获取拧紧枪的数据。

2024-04-23

西门子S7通信协议dll

西门子S7通信协议dll 西门子S7通信协议dll 西门子S7通信协议dll 西门子S7通信协议dll 西门子S7通信协议dll 西门子S7通信协议dll 西门子S7通信协议dll

2024-01-04

Appendix for PowerFocus 6000 Open Protocol【阿塔拉斯开放协议】

Appendix for PowerFocus 6000 Open Protocol【阿塔拉斯开放协议】

2024-01-04

倍福PLC通信TcAds.dll

倍福PLC通信TcAds.dll

2023-10-03

ScottPlot 强大winform图形数据展示

ScottPlot is a free and open-source plotting library for .NET that makes it easy to interactively display large datasets. Line plots, bar charts, pie graphs, scatter plots, and more can be created with just a few lines of code.

2023-10-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除