
简介这份规格书面向工业物联网工程师、自动化集成人员及PLC数据上云方案设计者聚焦钡铼技术BL102 PLC转MQTT协议转换网关的完整技术资料。文档系统梳理了该网关的核心能力下行支持西门子、三菱、欧姆龙、台达等主流PLC协议及Modbus RTU/TCP主站上行可对接MQTT、华为云IoT、亚马逊云IoT、阿里云IoT、ThingsBoard与钡铼云最多支持10个设备、512个数据点采集。资源包为单一PDF文件大小约324KB内容涵盖产品简介、硬件接口布局、系统与软件参数、4G/WiFi/GPS选配规格、安规认证及订购信息等模块便于读者快速评估选型、核对接口定义与协议兼容性。目前已有80人学习下载适合需要落地PLC转MQTT网关配置、远程调试与工业数据采集方案的读者参考。1. 车间里那台老 PLC 要上云BL102 能省掉多少折腾车间里跑着几台西门子 S7-200 SMART 和三菱 FX 系列老板突然要在大屏上看实时产量还要把数据推到阿里云 IoT。你第一反应可能是加一台工控机跑采集软件装驱动、配 OPC、写脚本、做看门狗一套下来没个三五千块和两三天调试根本收不了场。BL102 这类 PLC 转 MQTT 协议转换网关就是冲着这个场景来的下行直接对接西门子、三菱、欧姆龙、台达的 PLC 协议以及 Modbus RTU/TCP上行把采集到的数据点打包成 MQTT 消息发到华为云 IoT、亚马逊云 IoT、阿里云 IoT、ThingsBoard 或者钡铼云。最多 10 个设备、512 个数据点对大多数中小型产线够用了。它跑的是嵌入式 ARM MCU 加 Linux OS不是那种裸机透传模块所以支持远程配置、远程升级固件、PLC 远程调试上传下载这些运维动作。供电 DC 936V 宽压带防反接DIN35 导轨卡扣安装30mm×83mm×110mm 的体积塞进电柜不占地方。适合谁手上有多品牌 PLC 混线、又不想为每种协议单独写采集程序的现场工程师想把 Modbus 电表、温控器数据一起汇进 MQTT 的集成商以及预算有限但要求数据能稳定上云的中小项目。下面按我实际拆机的顺序把配置流程、参数含义和踩过的坑一条条讲清楚。2. 拆开看硬件底子接口、供电与网络拓扑怎么定2.1 两路串口加双网口决定了你的接线方案BL102 的物理接口布局直接决定了现场怎么接线。它提供 2 路 RS232/RS485 可选串口订单时二选一默认 RS4851 路电源输入接线端子2 路 RJ45 以太网口1LAN 1WAN2 路 USB1 路下载程序、1 路程序调试另外选配 4G、WiFi、GPS 各带一个 SMA 孔式天线接口。SIM 卡是抽屉式 NANO 卡座内置 15KV ESD 保护。这里有个容易忽略的点WAN 口和 LAN 口都能直接采集设备也都能接级联交换机。常见做法是 LAN 口接车间内网交换机采集 PLCWAN 口接外网路由器或 4G 上行。如果你把两个口接反了采集能通但上云会出问题因为路由和 NAT 方向是反的。串口这边RS485 接 Modbus RTU 仪表时注意 A/B 线不要接反虽然芯片有保护不会烧但通信会一直超时。供电部分正常功耗 85mA12V最大 117mA12VDC 936V 都能吃。现场如果用 24V 开关电源直接并到端子上就行防反接设计意味着你接反了不会冒烟但设备不启动——这个特性救过我好几次电柜里光线暗端子又密接反是常事。2.2 4G、WiFi、以太网三选一的上行逻辑BL102 的上行优先级是插了网线且能通外网时走有线没有有线网络自动切到 4G。这个逻辑写在固件里不需要你手动切换。4G 版本分 L-E、L-CE、L-A、L-AU、L-AF、CAT-1 多个频段版本选型时要根据项目所在地确认频段覆盖。比如 L-CE 版本覆盖 GSM/EDGE 900/1800MHz、WCDMA B1/B8、TD-SCDMA B34/B39、FDD-LTE B1/B3/B8、TDD-LTE B38/B39/B40/B41国内项目一般够用。WiFi 是选配支持 802.11a/b/g/n mixed客户端模式2.4G Channel 1-13 和 5G Channel 36-165加密支持 Open、WPA、WPA2速率最大 150Mbps。室外无阻拦覆盖约 20 米。如果你的电柜在车间角落、网线拉不过去WiFi 可以作为过渡方案但工业现场 2.4G 干扰严重我一般建议优先走有线WiFi 只做备用。网络协议栈支持 IPv4、TCP/UDP、DHCP、DNSIP 获取方式支持静态 IP 和 DHCP。透明传输、域名解析、注册包、心跳包都支持自定义。网络缓存发送 8Kbyte、接收 8Kbyte这个缓存在数据突发时能顶一下但如果你的采集周期设得太密、数据点又多缓存会满后面讲避坑时会细说。2.3 指示灯状态与恢复出厂操作PWR 灯通电常亮RUN 灯系统正常运行闪烁、系统不运行时熄灭LINK 灯以太网通信闪烁、4G 或 WiFi 通信常亮、都不通信时熄灭。这三个灯是现场排查的第一手信息。RUN 灯不闪说明系统没跑起来先查供电电压和电流够不够LINK 灯不亮说明上行链路断了查网线、查 4G 天线、查 SIM 卡。RESET 按键在开机状态下长按直到 RUN 指示灯熄灭就能恢复出厂设置。这个功能在参数配错导致设备失联时是后悔药。我遇到过把 WAN 口 IP 配成和 LAN 口同网段结果路由表乱了设备完全连不上就是靠长按 RESET 救回来的。注意要在开机状态长按断电按没用。3. 从 PLC 到 MQTT采集配置与数据点映射实操3.1 下行采集PLC 协议与 Modbus 的配置差异BL102 下行支持西门子 PLC、三菱 PLC、欧姆龙 PLC、台达 PLC、Modbus RTU Master、Modbus TCP Master。配置入口在 PC 配置软件里支持 WIN 7、WIN 8、WIN 10。以采集西门子 S7-200 SMART 为例你需要填 PLC 的 IP、机架号、槽号然后定义数据点。数据点就是你要采集的寄存器地址和数据类型。# 下行采集配置示例西门子 S7-200 SMART [PLC_Device_1] protocol Siemens_S7 ip 192.168.1.10 rack 0 slot 1 poll_interval 1000 # 采集周期单位毫秒 timeout 3000 # 单次采集超时单位毫秒 retry 2 # 失败重试次数 [DataPoint_1] name motor_speed address VW100 # V 区字地址 data_type uint16 scale 0.1 # 原始值乘 0.1 得到工程值 unit rpm [DataPoint_2] name tank_level address VD200 # V 区双字地址 data_type float32 scale 1.0 unit mm这段配置的逻辑是先定义 PLC 设备连接参数再逐个定义数据点。poll_interval设 1000ms 意味着每秒采集一次512 个数据点如果都挂在一个设备上实际轮询一遍的时间会超过 1 秒所以周期要按数据点数量合理放大。scale是缩放系数PLC 里存的原始整数乘上它变成工程值这个在 MQTT 上报时直接发工程值云端不用再算。Modbus RTU 的配置略有不同需要指定串口号、波特率、数据位、校验位、停止位。BL102 串口波特率支持 2400bps-115200bps数据位 7 或 8校验 None/Even/Odd停止位 1 或 2。常见组合是 9600/8/N/1 或 19200/8/E/1。从站地址、功能码、寄存器起始地址、寄存器数量这些按仪表手册填。# Modbus RTU 采集配置示例 [Modbus_Device_1] protocol Modbus_RTU serial_port COM1 baudrate 9600 data_bits 8 parity None stop_bits 1 slave_id 1 poll_interval 2000 timeout 1000 [DataPoint_3] name temperature address 40001 # 保持寄存器地址 function_code 03 # 读保持寄存器 data_type int16 scale 0.1 unit ℃function_code03 是读保持寄存器04 是读输入寄存器01 是读线圈02 是读离散输入。地址 40001 对应保持寄存器 0有些仪表手册写的是 40001 有些写 0配置时要确认清楚差一位就读不到数据。3.2 上行 MQTT连接参数与主题设计上行配置的核心是 MQTT Broker 地址、端口、客户端 ID、用户名密码、发布主题。BL102 支持 MQTT、华为云 IoT、亚马逊云 IoT、阿里云 IoT、ThingsBoard、钡铼云。以标准 MQTT 为例# 上行 MQTT 配置示例 [MQTT_Upstream] broker mqtt.example.com port 1883 client_id BL102_001 username device001 password your_password keepalive 60 # 心跳间隔单位秒 clean_session true qos 1 # 服务质量等级 topic_publish factory/line1/plc1/data topic_subscribe factory/line1/plc1/cmd heartbeat_payload {status:online} register_payload {device:BL102_001,type:gateway}qos设 1 表示至少一次送达适合大多数工业数据场景。设 0 可能丢消息设 2 开销大且 BL102 不一定支持。keepalive60 秒是常见值如果网络不稳定可以适当加大但太大会导致断线检测变慢。topic_publish是数据上报主题topic_subscribe是下行控制主题云端可以通过订阅主题给设备发指令。数据点的 MQTT 上报格式一般是 JSONBL102 会把配置好的数据点按名称和值打包。比如{ timestamp: 1710000000, device: BL102_001, data: { motor_speed: 1450.0, tank_level: 2350.5, temperature: 26.3 } }这个 JSON 结构是网关内部拼的你不需要写代码只要在配置软件里把数据点名称填好就行。云端收到后按data里的 key 解析。3.3 华为云、阿里云、ThingsBoard 的接入差异华为云 IoT 和阿里云 IoT 都要求设备三元组ProductKey、DeviceName、DeviceSecret或者证书认证。BL102 的配置界面里选对应的云平台模板填入三元组网关会自动计算 MQTT 连接参数。亚马逊云 IoT 需要上传证书ThingsBoard 支持 Access Token 方式。这里有个坑不同云平台的 MQTT 主题格式不一样。阿里云 IoT 的主题是/sys/{productKey}/{deviceName}/thing/event/property/post华为云是$oc/devices/{deviceId}/sys/properties/reportThingsBoard 是v1/devices/me/telemetry。BL102 内置了这些模板选对平台后主题自动生成但如果你手动改过主题要确保和云平台要求一致否则数据发出去云端收不到。4. 避坑与排查现场最容易翻车的五个点4.1 采集周期太密导致数据丢包现象MQTT 云端看到的数据时有时无或者某些数据点一直不更新。原因poll_interval设得太小比如 100ms而 512 个数据点轮询一遍需要的时间远超 100ms网关内部队列积压网络缓存 8Kbyte 满了之后新数据覆盖旧数据。解决按数据点数量估算轮询时间一般每个 Modbus 寄存器读取约 10-50ms512 个点至少留 5-10 秒的轮询周期。如果确实需要高频采集减少单设备数据点数量分多个设备配置。4.2 WAN/LAN 口接反导致上云失败现象PLC 数据能采到但 MQTT 连不上 Broker或者连上后频繁掉线。原因WAN 口和 LAN 口功能不同WAN 口负责上行路由和 NATLAN 口负责下行采集。接反后路由方向错误MQTT 连接走不通。解决确认接线LAN 口接采集网络WAN 口接上行网络。如果不确定看 LINK 灯状态以太网通信时闪烁4G/WiFi 通信时常亮。4.3 4G 信号弱导致心跳超时现象设备白天正常晚上或阴雨天频繁离线。原因4G 信号强度波动keepalive60 秒内没发出心跳包Broker 判定离线。解决把keepalive加大到 120-180 秒同时检查 4G 天线是否拧紧、是否放在电柜金属屏蔽处。BL102 支持芯片温度、内存、网口设备、串口设备、4G 信号等状态信息上报可以在云端监控 4G 信号强度低于阈值时告警。4.4 数据点地址偏移导致读错值现象读到的数据明显不对比如温度显示 6553.5 或者负数。原因Modbus 寄存器地址偏移搞错40001 和 0 的对应关系因仪表而异或者数据类型选错把 int16 当成 uint16 读负数变成大正数。解决先用 Modbus 调试工具单独读一次确认地址和数据类型再填进 BL102 配置。浮点数要注意字节序有些仪表是 ABCD有些是 CDABBL102 配置里一般有字节序选项。4.5 恢复出厂后配置丢失现象长按 RESET 恢复出厂后之前的所有配置都没了设备连不上。原因RESET 是彻底恢复不是重启。解决恢复出厂前先导出配置文件备份BL102 的 PC 配置软件支持配置导入导出。如果已经恢复了重新配一遍这次记得备份。我现在的习惯是每次改完配置就导出一份存到项目文件夹文件名带日期。5. 进阶技巧远程运维与固件升级的稳妥做法BL102 支持远程配置参数和远程升级固件还支持 PLC 远程调试上传和下载。这个功能在设备已经装到现场、不方便去人的时候特别有用。但远程升级有个前提设备必须在线且网络稳定。如果升级过程中断网设备可能变砖只能现场用 USB 线救。我一般会按这个流程走远程升级先在办公室用同型号设备验证新固件没问题再选一个现场网络最稳定的设备试点升级前确认 4G 信号强度或以太网延迟升级时盯着 LINK 灯和 RUN 灯升级完成后等 5 分钟再远程读一次配置确认没丢。BL102 支持 SNMP V1/V2可以接进现有的网管系统把芯片温度、内存、网口状态、串口状态、4G 信号这些指标一起监控。远程 PLC 调试上传下载这个功能本质是网关做了一层透传把 PC 上的编程软件请求转发到 PLC。用的时候要注意透传会占用网关的串口或网口资源如果同时还在采集数据可能会互相干扰。常见做法是调试时临时把采集周期放大或者用另一个串口专门做调试。还有一个细节BL102 支持路由功能和级联交换机数据采集。这意味着你可以把多台 BL102 串起来或者通过交换机扩展采集范围。但级联层数多了之后网络延迟会增加MQTT 心跳包可能超时。我一般建议级联不超过两层超过两层就考虑加交换机而不是继续串网关。最后说一个我自己的习惯每次新项目上 BL102我都会先在办公室用一台同型号 PLC 把下行采集跑通再用 MQTT Explorer 或者 mosquitto_sub 确认上行数据格式正确最后才装到现场。现场调试只调网络和电源不调协议。这样能把大部分问题挡在办公室现场一次成功率会高很多。从那以后我每次配完网关都强制走一遍「本地采集→本地 MQTT→云端订阅」的验证链路确认三个环节都通了才收工。希望帮到你。本文还有配套的精品资源点击获取