LED看板要显示产线实时数据,数据从哪来?最常见的就是PLC。但LED看板连PLC有两条路:Modbus直连,和数据库中转。两种我们项目上都用过,各有各的坑。
方式一:Modbus RTU直连
LED看板直接通过RS485/RS232连PLC的Modbus接口。PLC是Modbus从站,LED看板是主站,定时去读PLC的寄存器。
优点:省了一台电脑。不需要中间件,不需要跑数据库服务,看板和PLC直连,接线就完事。成本低,维护也简单。
缺点:
- 寄存器地址要手动配置:PLC里每个数据对应哪个寄存器,要查PLC程序里写的地址,配置到看板里。PLC程序一改,寄存器地址可能就变了,看板得跟着改。
- 走线问题:RS485线最长1200米理论值,实际车间里电磁干扰大,超过100米就要加中继器。而且RS485线要和动力线分开走,否则信号干扰严重。
- 数据格式:PLC寄存器里存的是16位整数,LED要显示浮点数或者字符串需要自己做转换。比如要显示"23.5℃",PLC里存的是235(放大10倍),看板这边要除以10再显示。
- 只能读不能写:看板只读PLC数据,不能反控。如果需要看板上按键触发PLC动作,Modbus直连做不到。
方式二:数据库中转
我们LED数据库同步软件走的就是这条路。PLC先把数据写到数据库(SQL Server/MySQL/PostgreSQL都行),我们的软件从数据库读数据,再推到LED看板上。
优点:灵活。数据库是中间层,PLC那边改了寄存器地址,只要更新写入数据库的映射关系就行,看板端不用动。而且数据库里可以存历史数据,看板想显示趋势图、当日产量、当月累计,数据都在库里随时取。
缺点:
- 多一台电脑:要跑数据库服务,至少一台工控机或者服务器。如果现场没有现成的,又多一笔硬件成本。
- 多一个故障点:数据库服务挂了,看板就不更新了。虽然我们软件有断线重连机制,但如果数据库本身宕机了,看板只能显示最后一次成功读取的数据。
- 配置更复杂:PLC→数据库这条链路要配,数据库→看板这条链路也要配,两段配置都要对才行。
实际项目怎么选
我们的经验:
- 单条线、数据少(10个以内数据点):Modbus直连,省事省钱
- 多条线、数据多、要显示汇总:数据库中转,灵活可扩展
- 要显示历史趋势:必须走数据库,Modbus没有历史存储能力
- 现场已有MES/SCADA系统:走数据库,直接从MES库里取数据,不用重复开发PLC通信
一个真实案例
有个汽车零部件厂,3条产线各1块LED看板,原本走Modbus直连。后来要加一条汇总看板,显示3条线的总产量和良率。Modbus方式做不了汇总(3个PLC的寄存器没法直接加),改成了数据库中转方案。3个PLC通过OPC UA把数据写到SQL Server,我们的LED软件从库里取数,4块看板全部搞定。
改完之后他们发现一个意外好处:数据库里有了历史数据,班组长可以直接在电脑上查每小时的产量曲线,不用跑到车间看LED了。
接线注意
不管走哪种方式,LED看板的RS485线要注意:
- 必须用屏蔽双绞线,屏蔽层单端接地
- 和动力线至少保持20cm间距,交叉时必须垂直交叉
- 终端加120欧匹配电阻
- 波特率9600足够,别追求高波特率,越高速越容易被干扰
选Modbus还是数据库,不是哪个更好,是哪个更适合你的场景。想清楚要显示什么、数据从哪来、以后会不会扩展,答案就很明确了。