拓冰建站拓冰建站
首页 / 资讯中心 / 正文

踩坑实战:资源受限场景C#对接国产PLC,轻量采集架构百点稳跑18M内存

上个月做了几个小型灌区泵站的远程监控改造,现场用的是低端ARM架构嵌入式工控机,标配64M内存,跑Linux精简系统,要对接国产小型PLC做数据采集,一共八十多个模拟量、二十多个开关量,合计百来个点位,还要做本地逻辑控制和4G数据远传。一开始图省事,直接用了常用的第三方Modbus库,加上业务逻辑,程序跑起来内存直接占了50多M,再加上系统和其他服务,内存所剩无几,偶尔GC卡顿一下,数据就跟着丢包,低算力CPU还经常跑到100%卡半天。本来觉得百八十个点的采集是个很小的活,结果在资源受限的场景下,常规的重型方案完全水土不服。后来干脆推倒重来,基于最小依赖原则做了一套极简轻量采集架构,协议自己实现、调度自己做、内存全复用,最终百点采集稳定运行在18M内存左右,CPU占用常年10%以内,现场连续跑了三个月零故障。今天把这套完整的轻量方案分享出来,针对低算力、小内存的资源受限场景,对接国产PLC做数据采集,全是极致优化的工程干货,做嵌入式、边缘采集、小型站点的朋友可以参考。一、为什么常规采集方案在资源受限场景水土不服很多人做采集,上来就找第三方框架、成熟库,功能越全越好。但在资源受限的嵌入式、低端工控场景,功能冗余的重型方案,往往是问题的根源。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门