
工控开发
组态、PLC、伺服相关的开发
汪宁宇
我想大抵是累了,横竖都没有精神,漫不经心的看着代码,眼皮倦倦的。仔细看了半夜的符号,才从字缝里看出来,满眼都是吃人的bug......
(有多年C/C++上下位机开发经验,熟悉三菱FX1S/1N/2N/3U、MODBUS等常见通讯协议,可兼项目顾问等方式合作有意私信!)
展开
-
Win7系统USB串口安装驱动出现“系统找不到指定的文件”或“inf中的服务安装段落无效”解决方案
Win7系统USB串口安装驱动出现“系统找不到指定的文件"解决方案原创 2023-04-21 20:30:00 · 3771 阅读 · 1 评论 -
QT启动时设定QDockWidget初始化窗口大小
这个功能是为了保留软件上一次的布局设置等信息,比如软件窗口上次的大小或坐标位置、停靠栏大小与位置、表格控件的行高列宽信息等等,从这些细节上优化易用性,在QT4与5中实现方法均不相同:原创 2022-12-21 20:15:00 · 2122 阅读 · 0 评论 -
Ubuntu忘记root密码解决办法
Ubuntu刚装完root是没有密码,可以通过如下方式设置密码:sudo passwd root .设置完密码之后会有一个问题,比如平时都是通过sudo操作,时间长了就会忘记root密码。这时该怎么办呢?之前我就遇到过这个问题,在网上也没有找到合适的解决方法,后来自己忽然想出了一个办法解决这个问题。 Linux系统中,用户的密码文件是存放在/etc/shadow文件中的,每一个用户一原创 2009-11-09 09:53:00 · 6167 阅读 · 5 评论 -
Ubuntu图文安装教程
Ubuntu 9.10(Karmic Koala)已经于2009年10月29日发布,它也是Ubuntu系统的第十个发行版。科技网站Softpedia近日撰文指导Linux新手安装Ubuntu 9.10系统。 下载地址:1、官方下载 http://www.ubuntu.com.cn/getubuntu/download/2、新浪下载(推荐站点) h原创 2009-11-09 08:46:00 · 1883 阅读 · 3 评论 -
在Ubuntu下配置C/C++ 开发环境 —— HelloWorld !
虽然Ubuntu 的版本已经是9.10了,但不想去升级,毕竟256内存真的折腾不起。对于我来说,稳定才是最重要的,硬件不需要追求太高,所以还是老老实实的呆在9.04上,于是今天我也尝试去配置了Ubuntu C/C++ 开发环境:1、配置GCC其实刚装好的系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包原创 2009-11-10 08:16:00 · 28544 阅读 · 5 评论 -
Go语言环境搭建方法(Windows)
1、安装go语言msi安装包2、安装GIT1.90安装包3、运行git bash,安装你需要的rpg4、编写HelloWorld.go原创 2014-04-01 12:12:18 · 3352 阅读 · 0 评论 -
Go语言网络编程示例-客户端篇
// occlient project main.gopackage mainimport ( "crypto/md5" "encoding/hex" "flag" "log" "os" "runtime" "time")func MD5(b []byte) string { h := md5.New() h.Write(b) x := h.Sum(nil) y转载 2014-04-03 11:38:23 · 3235 阅读 · 0 评论 -
go网络编程示例,服务器端
package rtmpimport ( "bufio" log "github.com/cihub/seelog" "net" "runtime" "sync" "time")var shandler ServerHandler = new(DefaultServerHandler)func ListenAndServe(addr string) error { sr转载 2014-04-03 11:37:12 · 3128 阅读 · 0 评论 -
[freetype] 关于ttf字库文件说明
1、此库并不是所有truetype字库都支持,特别是微软系统(>=win7)以上的ttc类型并不支持,因为ttc是类似多个ttf文件的合集2、每一种字库对应一种code page编码,因此加入你非要在软件的宋体(simsun.ttf)里面去提取一个日韩等文字的话,这样也是不太现实的,但是在WinGDI TextOut里面是可以这样干的,字库编码详情参考: 因为你的软件里面的宋体,实际上对应的是simsun.ttc,而当TextOut选取这个字库时,是可以正常显示任何unicode编码文件..原创 2022-01-13 18:45:00 · 1261 阅读 · 0 评论 -
关于STM32烧录工具STMFlashLoader开发避坑指南
官方提供了一份V2.8的命令行源码版,API文档里本来也没几个函数,但是命令行的参数多到离谱,如果新手刚接触的话,最难的是理解它的整个烧录流程!现在就只能根据命令行的所有参数,不断尝试测试出下正确的流程了!只要串口打开过一次,关闭串口后芯片就得断电复位了,这是什么奇葩的规则!经过一个小时的摸索,可以总结了以下几点:1、先设置串口参数 (调用一次即可,不用的时候调COM_Close) TARGET_SetComInitType(0); SetCOMSetting...原创 2021-11-07 12:00:00 · 2626 阅读 · 0 评论 -
施耐德PLC蠕虫技术
背景在前一段时间,国外的研究人员发现了施耐德的PLC代码注入漏洞(CVE-2020-7475),该漏洞可以使得施耐德PLC蠕虫化。如果成功利用该漏洞,可以让PLC充当一个小型PC机执行恶意的网络活动,充当内网跳板或者网络扫描器对工业系统进行隐蔽性更高的渗透活动。设计缺陷该漏洞是很明显的设计缺陷,接下来会从西门子PLC和施耐德PLC对于组态程序的设计来阐述漏洞发生的根本原因。西门子PLC西门子S7系列PLC提供了不同方式的PLC组态编程,例如原理图表示(LAD或FBD)、类似于Pascal转载 2021-11-04 19:00:00 · 757 阅读 · 0 评论 -
[开源] PLC梯形图转指令表的算法源代码
今晚确实很纠结的,七点多回家,项目经理打电话过来,明后天由于公司电力网络维护故休假两天,杯具!更杯具的:到了九点多,又一电话敲过来,明后天XXO正常上班......////////////////////////////////////////////////////////////////////////////////////////////////////////////原创 2010-04-19 23:15:00 · 15471 阅读 · 22 评论 -
PLC梯形图可视化编辑与语句表的自动生成
摘 要:介绍了PLC梯形图可视化编辑器的设计及由PLC梯形图自动生成语句的算法,详细描述了实现主要数据结构及梯形图向语句表转换的具体算法。关 键 词:可编程控制器(PLC) 梯形图语句表有向图原文地址:http://www.sipai.com/hyfw/pdf/050309.pdf 0 引言可编程控制器PLC是一种专门为工业自动控制而开发的通原创 2010-04-09 10:40:00 · 13256 阅读 · 0 评论 -
串口程序调试总结
最近,这一个月都在看公司一份近60W行的代码,因为自己算法、硬件等基础很差,看起来不是一般的累..... 只能靠F5、F10来不停的调试,勉强看完这份代码,我自己只能是从心底里拜模!我的一些心得,希望能给友友帮助: 调试能否成功一方面在于方法,另外很大程度上取决于个人的经验。但是在调试的时候,通常要遵循以下一些原则: 1、确定错误的性质和位置分析、思考与错误原创 2010-04-29 19:10:00 · 2254 阅读 · 0 评论 -
Visual C++实践与提高 —— 串口通信与工程应用篇[配套源码]
之前没有接触过串口编程,现在突然要做,特别还要涉及复杂的通信协议,确实很纠结!这本书只能算是Hello World入门级的书籍,对像我这样刚接触串口的确实是福音, 编辑推荐 首次引入虚拟串口软件协助调试,通过新的方法增强调试的效果,广泛使用程序流程图理清程序执行的次序,融入作者多年工作实践经验,以独到的角度对串口通信技术进行讲解,帮助读者掌握Visual C++开发串原创 2010-05-07 00:04:00 · 5833 阅读 · 3 评论 -
很方面的串口类 CComAccess
网上这方面三方类多如牛毛,真不知道用哪个好,不过不管用哪个,一定要在严格检查完善后再使用,不然给以后通信埋下隐患,只会让以后的调试会更痛苦! ComAccess.h////////////////////////////////////////////////////////////////////////// ComAccess.h: interface for the CC原创 2010-05-10 21:04:00 · 1938 阅读 · 1 评论 -
dll导出中函数中使用CString类型的参数引发的ESP出错
今天下午花了很久去调试这个bug,因为自己一个dll函数参数的疏忽,导致浪费很多的时间去调试。 这个参数直接使用了CString类型,后面会造成两次析构而引发ESP出错,直接崩掉... 回来的时候,抽空分析了一下,大致过程是这样的,先写个简单的伪代码来调试吧: Dll源码://///////////////////////////////////////原创 2010-05-19 22:05:00 · 3812 阅读 · 2 评论