OPC UA PubSub over TSN的确定性,在250微秒就碎了
“OPC UA over TSN能实现微秒级确定性通信。”这句话在方案书里很常见,但它缺了一个关键限定:确定性是相对于截止时间来定义的,不是绝对的。一篇2026年的论文用可复现的负载感知基准,对Modbus TCP、OPC UA PubSub over TSN和EtherCAT做了对比测试,覆盖从250微秒同步伺服控制到1秒状态监测的五种负载。结果值得逐条拆开看。EtherCAT在所有负载下都是1
Modbus并发压测:从开十几个窗口到一套可复现的体系
做配电房监控项目的兄弟大概都有过这种体验:现场三十二台多功能仪表要并发轮询测试,第三方调试工具开了十几个实例,电脑卡到动不了。偶尔出现的丢包和数据错乱,查了三天都没定位到根因。单设备调试用Modbus Poll确实顺手。但一到多设备并发压测,第三方通用工具的短板就暴露了:多设备支持差、异常排查困难、没法批量执行测试用例、不能自定义数据解析和日志持久化。压测不是“同时读几台设备”那么简单。它需要一套
EtherCAT标称1微秒同步,为什么百轴实际差一截?
EtherCAT的分布式时钟(DC)标称同步抖动低于1微秒。但多轴系统验收的时候,用示波器抓各轴的同步输出脉冲,实际偏差经常落在几微秒到十几微秒之间。这不是EtherCAT“虚标”。标称值描述的是时钟对齐的理想精度,而轴的物理同步走的是另一条链。这条链上有四处独立的损耗,每一处都不在“1微秒”这个数字的覆盖范围内。第一处:参考时钟选谁,决定了整条链的基准稳定度。EtherCAT DC的机制是主站选
你的博途工程文件,可能正在被勒索软件盯着
干工控的都有一个习惯:收到甲方发来的博途工程文件,双击就打开,看看程序逻辑、改改参数、下载到PLC。这个习惯,正在变成一个新的攻击入口。2026年,LockBit勒索软件的最新变种做了一件以前没人干过的事:把恶意代码藏进博途工程文件里。 工程师打开项目的那一刻,恶意代码同时感染工程师的上位机,然后通过上位机直接操控PLC。-2这不是“偷数据”。这是劫持工厂。攻击是怎么发生的?一个典型的场景是这样的
有人说AI时代不用看代码了,直接拿来用就行
一条让我愣了一下的评论 上篇“我开源的项目被人拿去卖钱了”的评论区,有一条:“问题是现在AI来了没人看你代码逻辑,直接拿了。”这条评论让我愣了半天。 不是因为它说得对,是因为它说出了很多人正在想但没说出口的话。AI确实在改变开源 先说事实:AI正在改变软件开发的很多环节。代码生成:Copilot、Cursor能写不少代码代码理解:AI能快速解释一段代码在干什么代码搜索:AI能根据自然语言找到相关代
干了8年,我最后悔的是太讲原则
我说这句话,可能会被骂。但我干了8年自动化,最后悔的事,就是“太讲原则”。什么叫“太讲原则”?项目做完了,甲方拖着尾款不给。我按照合同,发律师函、走法律程序。钱要回来了,甲方也拉黑我了。后来那个甲方有新的项目,再也没找过我。甲方要求改需求,合同里没有的。我说“要加钱”。甲方说“你先做,后面一起算”。我说“不行,先签补充协议”。甲方说“你这个人怎么这么死板”,项目给了别人。甲方请吃饭,我不去。甲方送
国内开源生态到底怎么了?说几句得罪人的话
一条评论引出的问题 上篇“我开源的项目被人拿去卖钱了”的评论区,有人问:“linyx不照样开源吗,国内哪家沿用人家的开源?”这条评论的潜台词是:国内公司用开源代码是常态,你抱怨什么?今天不说我的项目,说说国内开源生态的真实情况。说几句得罪人的话。第一件事:拿来主义 国内很多公司对开源的态度是:拿来就用,用完就改,改完就说是自研。你打开一些商业软件的关于页面,写着“自主研发”。但仔细一看,底层是Op
一个项目报价30万,甲方让我报80万
这件事过去三年了。我一直没说过。今天说出来,可能会得罪人。2022年,一个做市政工程的项目。甲方要上一套泵站远程监控系统——十几个泵站,每个泵站有PLC、仪表、摄像头,要把数据采集到中心平台。我报价30万。硬件、软件、施工、调试,全部包含。甲方的一个负责人私下找我,说了一句话:“你把报价做到80万。”我问:“为什么?”他说:“多出来的部分,我们这边要处理。”“处理”是什么意思,我懂。我沉默了一会儿
有人说开源了就别管别人怎么用,我不同意
一条让我想了很久的评论 上篇“我开源的项目被人拿去卖钱了”的评论区,有一条:“你开源了还管别人用来干啥。”3个赞。这条评论代表了很多人的想法:开源就是免费,免费就是随便用,作者管不着。我不同意。今天说说为什么。开源不等于“随便用” 开源协议是有条件的授权,不是无条件的放弃。你选MIT,别人可以商用、可以改、可以闭源,但必须保留你的版权声明。 你选GPL,别人可以商用、可以改,但衍生作品必须开源。
我坚持用开源方案,甲方说我不专业
去年一个项目,我差点因为“用开源软件”丢了单子。项目是一个汽车零部件厂的数据采集系统。20台设备,Modbus TCP和S7协议混着来,要把数据采集上来,存数据库,做实时监控画面。我出的方案是:用开源的边缘网关做采集,用开源的时序数据库存数据,上位机用开源框架开发。整个软件层面,除了操作系统,没有一项是收费的。报价出来,软件部分8万。甲方技术总监看了方案,说了一句话:“你用这些免费的东西,出了问题
JT/T 808 和 GB/T 32960 字段差异对照,一篇说清
同时做 JT/T 808 和 GB/T 32960 开发的人,最容易在这 5 个字段上翻车。差异一:终端手机号格式。JT/T 808 是 12 位 BCD 编码,GB/T 32960 是 18 位字符串。做设备管理时,两种格式混在一起,查询和去重逻辑全乱。差异二:时间格式。JT/T 808 用 BCD 时间,GB/T 32960 用字符串时间。做数据入库时,时间字段解析错一次,报表数据全错。差异三
我开源的项目被人拿去卖钱了,我没告他
一件事 上个月有个朋友发给我一个链接,说:“你看看这个,是不是你的项目?”点进去,是一家小公司的网站,卖一套“国标视频管理平台”,报价8万。功能介绍、界面截图、部署方式,跟我的开源项目一模一样。他们把PyGBSentry重新打包,换了个Logo,当商业软件卖。朋友问我:“你打算怎么办?告他们?”我想了几天,决定不追究。为什么不追究? 第一,AGPL v3.0协议管的是“修改后提供网络服务必须开源”
Netty实现MQTT Broker——从零构建到底值不值?
评论区“游客7511111111”说:“MQTT也可以用Netty实现啊。”这句话点出了一个很多人没想过的方向——不用现成的EMQX、Mosquitto,自己用Netty写一个MQTT Broker。这事我干过。说点真实感受。为什么要自己写MQTT Broker?现成的Broker不够用的时候,才会考虑自己写。什么情况不够用?第一种:需要深度定制。 现成的Broker不支持你的私有认证协议、不支持
纯Python做国标平台,到底是不是玩具?
一条让我印象很深的评论 上个月发了一篇纯Python SIP协议栈的文章,评论区有一条:“Python做信令,生产环境能用?别闹了,就是个玩具。”这条评论我没删,因为这个问题值得认真回答。先说结论 500路设备同时在线,稳定。并发点播200路,首帧平均480ms。持续运行4小时,无掉线,内存稳定。测试环境:8核16G云服务器,Docker部署,没做特殊调优。这个数据不算惊艳,但也不丢人。为什么Py
JT/T 808 终端注册不上平台,先别急着改代码
JT/T 808 设备注册失败,是联调阶段最常见的卡点。我做过统计,90% 的注册失败逃不出这 3 个原因。方向一:终端手机号格式不对。JT/T 808 的终端手机号是 12 位 BCD 编码,不是字符串。有人填了 13800001234,有人填了 013800001234,还有人填了 1380000123(只有 10 位)。格式不对,平台直接丢弃。方向二:注册报文的消息体长度不对。注册报文的消息
MQTT的Topic和Payload是自定义的?我正面回应
上篇文章评论区里,“雅华出品”说了一段话,点赞7个,是评论区最高的之一:“MQTT只是标准了传输协议,和HTTP一样,其数据协议(topic,payload)也是自定义。怎么做标准化?瞎特么扯淡。”这句话对不对?对了一半。 但恰恰是这“另一半”,决定了工业物联网项目里MQTT到底能不能用。他说的对的部分:MQTT确实只标准化了“信封”,没有标准化“信纸”。MQTT协议标准(OASIS MQTT 3
工业AI最大的谎言:必须上云
我在工业物联网行业待了几年,听过最多的一句话是:“边缘算力不够,AI必须上云。”说这话的人,要么是卖云服务的,要么是没在工厂待过的。先看一组真实数据 我统计了我们部署过的37个工业AI场景,推理任务分布是这样的:任务类型 占比 算力需求 异常检测(振动/温度/电流) 52% 极低,ONNX模型<10MB 趋势预测 21% 低,ONNX模型<50MB 视觉检测 18% 中,需NPU或GP
国标视频平台该不该收费?我开源后想明白了
一个让我想了很久的问题 上个月有个做集成的朋友找我,说想用我的开源国标平台,但有个顾虑。“你以后会不会突然收费?或者把核心功能藏起来,逼我买商业版?”我说不会,AGPL v3.0协议,代码全部开源,永远免费。他说:“那你图什么?”这个问题我被问过很多次。今天认真聊聊。开源不等于不赚钱 很多人对开源有个误解:开源就是做慈善,作者不赚钱,纯靠爱发电。不完全是。开源项目的商业模式有很多种:技术支持: 代
JT/T 808 校验码总算错?90% 的人卡在这 3 个地方
做 JT/T 808 开发,校验码算错是最高频的问题。我见过有人查了一整天,最后发现是转义处理漏了消息头。也见过有人把 BCD 高低位搞反,终端手机号解析出来全是乱码。今天把最常见的 3 个坑列出来,你对号入座。坑一:转义处理只做了消息体,没做消息头。JT/T 808 用 0x7E 作为帧头帧尾,0x7D 作为转义字符。很多人写转义处理时,只对消息体做了 0x7D02 和 0x7D01 的替换,忘
工业设备接入,到底要不要自己写协议?
评论区“林间隐居宁静致远”的项目,有一个细节值得深挖。他的校园洗衣机项目,用的是Netty + 自定义TCP协议。也就是说——协议是他自己设计的。“自己写协议”这个事,在工控圈里有争议。有人说:“有标准协议为什么不用?Modbus、MQTT、OPC UA都是现成的,非要自己造轮子。”有人说:“标准协议满足不了我的需求,我就自己写。”到底该不该自己写协议?先说一个真实案例。一个做充电桩的公司,早期用