会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
镜花水月
但愿最后不会是白忙一场
博客园
首页
新随笔
联系
订阅
管理
2025年8月26日
C#数据日志中文乱码
摘要: 背景是客户是台企,他们电脑默认编码格式是big5,繁体中文,不支持简体。写入的文件是CSV文件没有相应的编码格式,如果是xlsx的话是能正常显示的, //以前写入log日志的方式 StreamWriter sw = new StreamWriter(fs, Encoding.Default); //
阅读全文
posted @ 2025-08-26 18:18 悲伤的攻城狮
阅读(8)
评论(0)
推荐(0)
2025年8月1日
关于C#事件回收导致的内存泄漏
摘要: 公司之前的项目有一段代码是主窗体新建子窗体,并且订阅子窗体的事件,每次打开子窗体都要订阅一次,导致打开多少次子窗体就会返回多少条信息。。。就像是下图打开过六次就一次性返回了六条信息。。。。 最后排查问题发现是因为子窗体里的事件写成了static静态类,导致窗体关闭后没有销毁事件,并且也没有任何地方是
阅读全文
posted @ 2025-08-01 19:02 悲伤的攻城狮
阅读(14)
评论(0)
推荐(0)
2025年7月21日
C#上位机配置信息加载功能
摘要: 最开始的加载方式是用了一个全局类,里面存了各种的静态变量,在程序打开后会读取文件里的数据,存入全局静态变量里,需要的时候调用,修改配置的时候再重新写入文件。旧项目中是这样实现的,并且读取还是用了一个循环,存入了中间数组变量里。经常出现的问题呢,就是过程太过于繁琐,不仅修改的时候要时刻牢记整个流程,一
阅读全文
posted @ 2025-07-21 19:45 悲伤的攻城狮
阅读(19)
评论(0)
推荐(0)
2025年7月18日
C#上位机MES上传(杂谈
摘要: 一般我现在接触最多的就是这几个关键词,http,post,Web APi,RESTful APi,json,Socket HTTP(协议) │ ├── POST(方法之一,用于提交数据) │ ├── Web API(基于HTTP的接口服务) │ │ │ └── RESTful API(一种优雅的We
阅读全文
posted @ 2025-07-18 19:19 悲伤的攻城狮
阅读(36)
评论(0)
推荐(0)
2025年7月14日
上位机界面设计(随笔一
摘要: —————————————————————————————————————————————————————————————————————————————————————————————————————— 我借鉴了一下厂商的界面设计,用了很多grouppanel来布局,左边一栏功能栏,中间主要内容信
阅读全文
posted @ 2025-07-14 19:26 悲伤的攻城狮
阅读(62)
评论(0)
推荐(0)
2025年6月25日
基于TCP协议的Socket通讯
摘要: 目的是为了实现与读码器设备进行通讯,同时有些mes系统也会用socket协议来进行通讯,一般是mes那边做服务器,然后设备上位机这边会作客户端,而对于读码器也是读码器服务器然后软件去读取,但是也有软件作服务器的情况,比如基恩士。。手册上是这么写的有什么办法) C#中利用socket通讯有两个类,so
阅读全文
posted @ 2025-06-25 20:00 悲伤的攻城狮
阅读(21)
评论(0)
推荐(0)
2025年6月17日
C#上位机读取PLC报警
摘要: 我目前见到的PLC工程师会把报警点位存储在D或者M,M的话就是布尔值0和1嘛,D的话因为是16位的(也有32位)只能以short类型(或者byte[])读取出来再按位转换成布尔数组进行循环判断,为了方便一般都会让PLC工程师将报警点位写在一起,不连续的报警点位只是增加了读取的复杂度。。连续的点位可以
阅读全文
posted @ 2025-06-17 19:44 悲伤的攻城狮
阅读(66)
评论(0)
推荐(0)
依赖注入与事件
摘要: 最开始我接手的公司代码是用了事件来进行窗口间值的传递,并且将所有的方法写到了主窗口里,于是我就像优化下将不同功能的代码进行分类,比如与PLC连接相关的方法放到PLC类里面。但是出现了一个问题,就是当我想在plc类中进行更新UI的时候,没办法像所有方法都在一起那样随意调用,于是就有了两种实现的模式,事
阅读全文
posted @ 2025-06-17 19:21 悲伤的攻城狮
阅读(11)
评论(0)
推荐(0)
2025年6月16日
状态机在C#上位机中使用总结
摘要: 本以为状态机是很高深的知识,没想到在平时项目中早就用到了。虽然只是最简单的使用,但逻辑是相同的,于是就学习了一下状态模式的写法,方便以后在复杂的项目中使用。 基本概念 状态(State):系统在特定时刻所处的状况或模式 例如上位机的"停止"、"运行"、"暂停"、"紧急停止"等状态 事件(Ev
阅读全文
posted @ 2025-06-16 18:41 悲伤的攻城狮
阅读(123)
评论(0)
推荐(0)
2025年6月7日
C#上位机与PLC和触摸屏通讯中字符串编码问题
摘要: 实现功能:Mes下发报警数据后上位机进行截取,然后发送给PLC并在触摸屏上显示 ———————————————————————————————————————————————————————————————————————— 主要是字符串编码格式的问题,C#默认的字符串是UTF16编码,PLC是三菱
阅读全文
posted @ 2025-06-07 17:17 悲伤的攻城狮
阅读(55)
评论(0)
推荐(0)
公告