
近期在接入PLC,当然依旧是让Claude Code为主力,Cursor&antiGravity帮着我进行开发。对它们的满意度还是比较高,但是遇到一个它们无法解决的问题,后来是经过分析自己解决的。
问题是这样的,上位机和PLC需要通过ModBus协议进行通信,主要是通过建立TCP长连接后,然后基于此,进行应用协议通信。但遇到的问题是,当上位机跟PLC长连接成功后,应用层的通信无法成功。
于是我开始了Debug。解决问题,其实就是定位问题。
-
先试用py模拟一段基于ModBus的应用程序,包含TCP长连接和应用通信。结果是长连接可以成功,但是应用通信无法成功;
-
使用wireshark抓包分析,发现跟程序的调试结果一样,TCP可长连接,但是应用的读取操作超时;
-
使用一个上位机测试应用尝试,依旧是TCP可连接,但是无法应用层通信;
-
寻找硬件人员支持。他VPN远程使用上位机测试应用,可TCP长连接,应用层通信也成功。
到此为止,问题原因基本浮现出来了。解决此问题转移为了,成功连接和非成功连接两者的区别。
经排查,两个上位机测试应用区别在于网段不同,一个IP是192.168.88.100,一个IP是192.168.0.88,而PLC的IP为192.168.88.1。虽然三者同处于一个局域网,但是不同网段,这时候用GPT去做了查询,以下为搜索结果:
可以理解为PLC自己并未设置网关,那么就会存在TCP可以长连接,但是ModBus应用层是无法通信的。
这时候,将我的开发机网络调整为静态IP:192.168.88.101后,跟PLC ModBus通信成功。
这个问题,Claude是无法独立解决的,只能让其协助。
同样下一个问题,也是Claude或者其他AI无法解决的:自律问题。
到目前为止,已经坚持跑步有一年半了,做到这点,并不是靠小时候被洗脑的"意志论"来决定的,而是一段话触动的。
当时无意中观看一个访谈节目。
主持人问嘉宾,为什么在50岁的"高龄",还能继续做计算机科技类的创业,因为对于国内的程序员,由于成天久坐电脑前,颈椎,腰椎都会出毛病,35岁是一把悬在头上的达摩斯神剑,35岁就代表着失业或者前景暗淡。嘉宾回答说:当我觉得我的精力不行或者身体不适时,我会关掉电脑和手机,去跑步5KM,当我每次跑完后,都是神清气爽,元气满满,做到了充电的效果。
就因为这段对话的触动,我开始坚持每周2-3次的5KM中长跑。以前跑步总要做一番心理建设,而如今说跑,抬腿就跑。
这一坚持,跑掉了的各种体检不合格指标:甘油三酯不正常,胆固醇偏高,轻度脂肪肝等。
而最近朋友的一段话,让我开始早起早睡。
她是一个中医,对于早睡,她的看法是:早睡能让人休息过来,其他任何药都无法替代。试想,如果早睡可以让你在80岁时,还拥有可以继续工作的身体,熬夜可能让你60岁,甚至更早就"夭折"。那么你的选择是什么?
确实,如果能够让人80岁还有"尊严"的活着,那么为什么不把这个习惯养成?
也就是从此刻起,我在21:30就开始睡觉的准备工作:洗漱、远离手机等,然后进行睡觉这个"艰巨的任务"。这对于一个长期工作在互联网公司的人来说,是无法想象的,而现在我轻而易举地已经做到了。
这就是言语的力量,也是价值转乾坤。价值转乾坤就是当你发现一件事的价值,已经到了你无法抗拒的状态时,那么你就会执行它。
以上的事情,都是AI Agent无法替你做到的。