背景
现有产品基本都是传统的产品,比如之前写的RTU还有基于Linux系统的物联网采集终端都是传统意义的产品,大家做的都差不多,能拼的除了价格之外就是软硬件的基本功了,好的产品肯定是要经过时间的磨合的。没有任何人可以写出来没有bug的软件,而且软件功能越多出现问题的概率就会越大。传统的设备已经趋于完备,市场存量也差不多了,厂家也玩不出来什么花样了。但客户的需求或者创造出来的客户需求还在不停变化,没法子开出来一款产品能满足所有客户的需求。在人工智能大模型盛行的情况下,设备的智能也显得很有必要,但是用智能来做啥,当然这个有很多种可能,比如预测性维护,多参数整合处理,图像识别和视频处理之类的,设备具备了1TOPS的算力,算力不算大,但跑一些专用的模型还是可以的。
需求
- 供电电压宽范围,DC9~36V;
- 支持上电自动开机,也可按键开机;
- 双路千兆以太网接口;
- 支持4G/5G;
- 支持WiFi/Bluetooth;
- 内嵌EtherCAT从站芯片,可实现实时控制;
- 支持标准Linux内核,并可添加实时补丁;
- 可定制安卓11系统;
- 支持扩展SSD,M.2接口;
- 支持PCIe3.0扩展,M.2接口;
- 支持USB3.0扩展,M.2接口;
- 支持SATA2.0扩展,M.2接口;
- 支持TF卡;
- 支持HDMI显示输出;
- 支持4路USB3.0接口;
- 支持音频接口;
- 支持4路继电器的常开常闭接点输出;
- 支持4路数字量采集,电压0~24V;
- 支持一路CAN-FD;
- 支持两路RS485接口;
- 支持type-c接口,用于调试;
- 软件可支持node-red;
- 设备内存2G,eMMC为16G,其他配置可定制,也可实现全部国产化。
技术难点
这个项目本来公司打算作为产品来开发,突发情况引入了一个项目需求,跟这个比较吻合,由于前面项目需求沟通错位耽误了很长时间,到我们介入时甲方已经丧失了信心,如果我们按照产品开发的流程走下来,这个项目基本就拜拜了。在我们介入后,当面跟甲方确定了对外接口的需求,因为当时处理器肯定是要用RK3568,如果能把接口定义清楚了,我们的工作就可以先开展起来。
甲方要求可以实时监控现有控制系统的数据,并能够将现有数据抓取回来。这个问题早期理解有点偏差,导致设计出现了点问题,抓取现场数据只要网线和处理器性能足够就可以了,现场控制总线都是网络,利用网络抓包工具的开源库,在其基础上实现数据分析处理就可以将现场数据抓回来。
本设备公司要求全工业级设计,任何器件的选型都要工业级。这几个通讯模块的选型是要命的。最终4G和5G模组都是选用的移远的模组,移远的品质还是值得信赖的。
对于替代PLC实现现场的实时控制,首先硬件肯定是没问题,软件层面需要过滤几个问题,第一个就是实时性,Linux系统加上实时内核补丁是可以满足的。第二个问题是怎么解决多变的现场环境导致的需求多变,在这里就得引入node-Red来实现可视化编程,让客户自己实现业务逻辑。
再一个就是实时组网控制,按说使用实时内核加千兆网络可以满足实时的控制,但是在设备交互式还是比不上硬件实现的实时性高,多节点联合控制时,每个节点的进出都会影响数据的实时性。这里增加了AX58100芯片,实现EtherCAT总线的实时操作。
对于简单的需求我们将物联网网关的那套软件移植了进来,具体请看《基于Linux系统的物联网智能终端》,可以实现现场基于Modbus协议的传感器,仅通过配置就可以接入,跟云端通讯可以用MQTT协议实现。
再一个难点就是关于NPU的使用,当前场景下我们不是最终用户,也不太清楚要跑什么模型在上面,首先让设备具备了这个能力,至于怎么用,就等后面需求明确了再从软件层面去实现吧。
产品实现细节以及相关信息待后续补充吧!