资讯动态

串口服务器固件升级:内置DLT645与IEC104协议解析

发布时间:2026/10/9 11:12:41 来源:尧图企业网站定制
1. 这次升级到底改了什么从能通到能懂的跨越GW系列串口服务器这次全系固件更新最核心的变化就一句话设备内置了DLT645和IEC104两种电力行业主流协议的解析能力。以前你要拿串口服务器接电表、接RTU、接配电终端得在后端平台或者前置机里再跑一层协议转换软件现在这部分工作直接下沉到串口服务器里完成了。我最早接触串口服务器是在一个能耗监测项目上现场有几十块多功能电表走的都是RS485总线上位机要读数据就得在工控机上装一堆协议转换工具配置繁琐不说工控机一死机整个数据链路就断了。GW系列这次把DLT645和IEC104吃进固件等于把原来工控机干的活揽到了串口服务器这个巴掌大的盒子里架构上少了一个故障点部署上少了一层配置。DLT645是什么它是国内电能表通信的行业标准规约1997版和2007版最常见。你家里或者厂里那种带RS485接口的智能电表十有八九说的就是645协议。它的帧格式很有特点——以0x68开头以0x16结尾中间是地址域、控制码、数据域和校验码。以前串口服务器只管把串口数据原封不动转成TCP发出去至于这串字节是什么意思它不关心。现在它关心了它能识别出这是在读A相电压还是这是在读正向有功总电能。IEC104协议则是电力系统远动通信的标配全称是IEC 60870-5-104用在调度主站和变电站RTU之间的通信。它基于TCP/IP有固定的APCI帧格式启动字符0x68、长度域、控制域传输原因、公共地址、信息对象地址这些概念是它的骨架。GW系列支持104之后你可以直接把变电站的RTU接到串口服务器上由串口服务器完成104协议的封装和解析主站侧收到的就是标准的104报文。这次升级解决的核心问题是协议落地最后一公里。很多现场设备只有串口但上层系统只认TCP或者只认104中间必须有个东西做翻译。以前这个翻译角色由软件承担现在由硬件承担。对于集成商来说这意味着项目交付时少装一套软件、少配一台工控机、少一个需要维护的环节。适合谁来关注这个更新做能耗监测、配电自动化、光伏电站监控、充电桩后台、智能楼宇BA系统的集成商和运维人员只要你的项目里同时出现了串口设备和DLT645或IEC104这两个关键词这次升级就跟你直接相关。哪怕你之前没用过GW系列理解这套逻辑对你选型也有参考价值。2. 为什么要把协议解析放进串口服务器架构选型的底层逻辑2.1 传统方案的三层架构与它的痛点在GW系列支持协议解析之前一个典型的电力数据采集架构是这样的现场电表或RTU通过RS485总线接到串口服务器串口服务器做透明传输把串口数据转成TCP报文发给工控机或数据网关工控机上跑协议转换软件把DLT645或IEC104报文解析成数据库记录或者MQTT消息再往上送给平台。这个三层架构设备层-传输层-解析层用了很多年有它的合理性——串口服务器只做透传固件简单、稳定、便宜协议解析放在软件层升级灵活、协议库丰富。但实际项目做多了就会发现几个绕不开的坑。第一个坑是工控机的可靠性。工控机是机械硬盘、有风扇、有操作系统现场灰尘大、温度高、电压不稳运行一年半载出故障的概率不低。工控机一挂整个数据链路就断了而串口服务器往往还在正常工作。你半夜接到电话说数据没了爬起来一看是工控机死机了这种经历做运维的都懂。第二个坑是配置维护的复杂度。工控机上要装协议转换软件软件要配置串口参数、TCP参数、协议参数、数据库连接每个项目现场都要重新配一遍。软件版本不一致、授权过期、操作系统兼容性问题都是隐形成本。更麻烦的是有些项目甲方不允许你在工控机上装第三方软件或者工控机是甲方资产你动不了。第三个坑是故障定位的困难。数据不通了是电表的问题、串口服务器的问题、还是工控机软件的问题排查起来要一层一层试。串口服务器只透传它不知道数据内容对不对工控机软件报错你又不知道是串口没数据还是协议解析错了。定位一个问题花半天时间是常事。2.2 协议下沉到边缘设备的优势GW系列把DLT645和IEC104解析放进串口服务器固件本质上是把解析层从工控机下沉到了边缘设备。这个思路跟这几年边缘计算的大方向是一致的——数据在靠近源头的地方处理减少中间环节。最直接的好处是架构简化。原来的三层变两层设备层电表/RTU→ 边缘层GW串口服务器完成采集解析转发→ 平台层。工控机这个环节可以省掉了或者工控机只做展示和存储不做协议转换。少一个环节就少一个故障点少一个需要维护的软件。第二个好处是响应实时性提升。串口服务器直接解析协议采集周期可以做到更短。以前工控机轮询几十块电表每块表要等响应、要处理超时一轮下来可能要几十秒。现在串口服务器内置的协议栈可以更高效地调度轮询实测下来采集周期能压缩不少。第三个好处是配置标准化。串口服务器的配置是固化的、结构化的你配好一个模板可以批量复制到同型号设备上。不像工控机软件每台机器都要单独装、单独配还容易出兼容性问题。对于有几十上百个站点的项目这个优势非常明显。第四个好处是数据可读性增强。透传模式下你在网络抓包看到的就是一串十六进制字节不知道什么意思。协议解析模式下串口服务器可以把解析后的数据以JSON或者Modbus寄存器映射的方式输出调试的时候一目了然。比如你看到{addr:000000000001,voltage_a:220.5,current_a:1.23}比看68 01 00 00 00 00 00 68 11 04 33 33 33 33要直观得多。2.3 为什么是DLT645和IEC104这两个协议电力行业协议很多GW系列首批选择DLT645和IEC104背后有明确的市场逻辑。DLT645对应的是电能计量场景。国内智能电表保有量以亿计几乎所有带通信功能的电表都支持645协议。能耗监测、电力抄表、预付费系统、充电桩计费这些场景都绕不开645。它的协议相对简单帧格式固定解析难度不大但应用面极广。IEC104对应的是电力自动化场景。变电站综合自动化、配电自动化、调度自动化这些系统的主站和终端之间通信用104。它的协议比645复杂有ASDU应用服务数据单元结构、有传输原因、有时标但它是电力系统远动的通用语言。这两个协议一个管计量一个管监控覆盖了电力行业最主流的两个数据采集需求。GW系列先支持这两个说明产品定位很明确——瞄准电力行业的数据采集和传输。后续如果扩展到Modbus RTU/TCP、IEC61850等协议那适用面会更广但那是后话。注意协议解析功能需要固件版本支持老设备可能需要升级固件。升级前务必确认硬件版本是否兼容以及升级后配置是否会丢失。建议先在测试环境验证再批量升级。3. DLT645协议解析的实操细节与参数配置3.1 DLT645帧结构快速理解要配好645协议解析你得先知道645的帧长什么样。一个标准的645帧由这几部分组成起始符1个字节固定为0x68地址域6个字节BCD码格式低位在前。比如电表地址是000000000001在帧里就是01 00 00 00 00 00起始符又是1个字节的0x68控制码1个字节表示帧类型。0x11是读数据0x91是读数据应答0x14是写数据0x94是写数据应答数据域长度1个字节表示后面数据域有多少字节数据域变长读数据时是数据标识编码4个字节应答时是数据标识数据校验码1个字节从起始符到数据域的累加和模256结束符1个字节固定为0x16举个例子读地址为000000000001的电表的A相电压数据标识02010100发送帧是68 01 00 00 00 00 00 68 11 04 33 33 34 33 XX 16其中33 33 34 33是数据标识02010100每个字节加0x33后的结果645协议规定数据域每个字节要加0x33传输。校验码XX是前面所有字节的累加和。电表应答帧类似只是控制码变成0x91数据域里多了电压值。3.2 GW串口服务器的645配置项在GW系列的管理界面里配置645协议解析通常需要设置这几个参数配置项说明典型值工作模式选择DLT645解析而非透明传输DLT645串口参数波特率、数据位、停止位、校验位2400/8/1/E645常见表地址范围轮询的电表地址起始和结束000000000001-000000000010轮询间隔每轮采集的时间间隔5-30秒数据标识需要采集的数据项02010100电压等超时时间等待电表应答的最长时间500-1000ms重试次数超时后重试次数2-3次转发协议解析后数据以什么格式输出JSON/MQTT/Modbus TCP这里重点说几个容易配错的点。波特率645电表常见的是2400bps但新表也有4800和9600的。配错了就是完全没数据或者收到乱码。最稳妥的办法是查电表说明书或者用串口调试工具试几个常见波特率看哪个能收到正确应答。校验位645标准规定是偶校验Even但有些厂家电表是无效验。如果配了偶校验收不到数据试试改成无效验。这个坑我踩过现场一批表有的要校验有的不要最后统一改成无效验才都通了。表地址范围不要设太大。如果你只接了10块表地址范围就设10个设成1-100的话串口服务器会去轮询不存在的地址每轮都要等超时采集效率极低。我见过有人设了1-255结果一轮采集要十几分钟。数据标识645的数据标识是4个字节常见的有02010100A相电压02020100A相电流02030000瞬时总有功功率00000000正向有功总电能00010000正向有功总电能费率1不同厂家的电表支持的数据标识可能略有差异配置前最好用调试工具读一下确认。3.3 实操用GW串口服务器采集645电表数据假设你有一块地址为000000000001的645电表接在GW串口服务器的RS485口上要采集A相电压和正向有功总电能转发给平台。第一步接线。RS485的A接AB接BGND接GND。如果总线长、设备多终端电阻要加上。GW串口服务器的RS485口一般有内置终端电阻通过拨码开关或者配置项控制。第二步登录GW管理界面。通常是通过浏览器访问串口服务器的IP地址默认IP看说明书。登录后找到串口设置或者工作模式。第三步配置串口参数。波特率2400数据位8停止位1校验位Even。流控无。第四步选择工作模式为DLT645。这时候界面会展开645相关的配置项。第五步配置轮询参数。表地址起始000000000001结束000000000001只有一块表。轮询间隔10秒。超时时间800ms。重试2次。第六步配置数据标识。添加两条02010100和00000000。给它们分别起个名字比如电压和总电能。第七步配置转发。选择MQTT转发填上平台地址、端口、主题。或者选择Modbus TCP把解析后的数据映射到寄存器地址。第八步保存并重启串口服务器。观察状态灯和数据日志。如果配置正确你应该能在日志里看到类似这样的输出[645] Poll addr000000000001, DI02010100 [645] Response: voltage220.5V [645] Poll addr000000000001, DI00000000 [645] Response: energy1234.56kWh如果收不到数据先检查接线和串口参数再用串口调试工具直接接电表确认电表本身能通信。实操心得645电表的地址有时候不是连续排列的现场可能有1、3、5、7这样的跳号。GW串口服务器如果只支持连续地址范围轮询跳号的表会被反复超时。解决办法是分多个轮询组每组设不同的地址范围。或者把不存在的地址的超时时间设短一点减少等待。4. IEC104协议解析的配置要点与调试方法4.1 IEC104的帧格式与传输机制IEC104的帧比645复杂它有三种帧类型I帧信息传输帧、S帧确认帧、U帧控制帧。每个帧都以0x68开头第二个字节是长度域最大253然后是4个字节的控制域。I帧的控制域第一个字节的bit0是0包含发送序号和接收序号。S帧的控制域第一个字节是0x01只包含接收序号。U帧的控制域第一个字节是0x03用于启动、停止、测试等控制功能。I帧的数据部分就是ASDU包含类型标识1字节、可变结构限定词1字节、传输原因2字节、公共地址2字节、信息对象地址3字节然后是信息元素。常见的类型标识有1单点信息遥信3双点信息9归一化测量值11标度化测量值13短浮点数测量值30单点信息带时标36短浮点数测量值带时标传输原因常见的有3突发突发上送5被请求响应总召20响应站召唤1周期、循环4.2 GW串口服务器的104配置项GW系列配置104协议解析时通常有两种角色可选104服务端模拟主站去采集串口设备和104客户端把串口设备的数据以104协议上送给主站。具体支持哪种取决于固件版本配置前要确认清楚。如果是104服务端模式配置项包括配置项说明典型值工作模式选择IEC104服务端IEC104 Server监听端口104服务监听的TCP端口2404公共地址ASDU公共地址1信息对象地址起始遥信/遥测的起始地址1/16385总召周期主站总召唤的间隔15分钟遥信映射串口设备的状态量映射到104遥信按位映射遥测映射串口设备的模拟量映射到104遥测按寄存器映射时标类型是否带时标CP56Time2a如果是104客户端模式配置项包括配置项说明典型值工作模式选择IEC104客户端IEC104 Client主站IP104主站的IP地址平台地址主站端口104主站的端口2404公共地址本设备在104网络中的地址1总召响应是否响应主站总召是突发上送数据变化时是否主动上送是4.3 104调试的常见坑与排查思路104协议调试比645麻烦因为它有握手过程、有序号确认、有超时重传。以下是我实际调试中遇到的几个典型问题。问题一TCP连上了但104不通。104建立连接后客户端会先发U帧启动帧0x68 0x04 0x07 0x00 0x00 0x00服务端回U帧确认0x68 0x04 0x0B 0x00 0x00 0x00。如果这一步没完成后面的I帧都不会发。排查方法是抓包看U帧有没有交互。如果没有检查端口对不对、防火墙有没有拦。问题二总召没响应。主站发总召类型标识100传输原因6设备应该回总召激活确认传输原因7然后逐个上送数据最后回总召激活终止传输原因10。如果设备没响应检查公共地址对不对、信息对象地址有没有配、总召响应开关有没有打开。问题三遥测值不对。104的遥测有归一化值、标度化值、短浮点数三种格式。归一化值是-1到1之间的小数标度化值是-32768到32767的整数短浮点数是IEEE754浮点数。如果主站收到的值明显不对先确认类型标识和值格式是否匹配。比如主站按短浮点数解析设备发的是归一化值那肯定不对。问题四序号不连续导致连接断开。104的I帧有发送序号和接收序号每发一个I帧发送序号加1每收一个I帧接收序号加1。如果序号乱了对方会认为连接异常并断开。这种情况常见于网络不稳定或者设备处理不过来。解决办法是增大超时时间、减少上送频率、检查网络质量。注意104协议对实时性要求高如果串口服务器同时处理多个串口设备的104上送要注意CPU负载。GW系列不同型号的处理能力不同选型时要确认带载能力。一般单串口型号处理几十个104信息对象没问题上百个就要考虑更高型号。5. 协议解析模式下的性能考量与选型建议5.1 轮询效率与响应时间的关系串口服务器做协议解析本质上是它在主动轮询串口设备。轮询效率直接决定了数据刷新速度。影响轮询效率的因素有波特率2400bps下一个645帧约20字节传输需要约83ms。9600bps下只需要约21ms。如果电表支持高波特率尽量用高的。设备数量轮询是串行的一块表响应完才轮询下一块。10块表每块响应50ms一轮就是500ms。100块表就是5秒。如果轮询间隔设得比一轮时间还短就会堆积。超时时间不存在的地址或者故障设备会等到超时才跳过。超时时间设太长一轮时间就被拉长。建议超时时间设为正常响应时间的2-3倍。重试次数重试会增加一轮的时间但能提高数据完整性。对于实时性要求不高的场景可以设2-3次重试对于实时性要求高的设1次或者不重试。一个实用的估算公式一轮时间 ≈ 设备数量 × (帧传输时间 设备处理时间 超时等待时间) / 成功率。比如20块表每块帧传输20ms、处理30ms、超时等待0ms都正常成功率100%一轮就是1秒。如果成功率90%有2块表要超时800ms一轮就变成1秒1.6秒2.6秒。5.2 不同型号的带载能力对比GW系列有多个型号串口数量、网络接口、CPU性能不同带载能力也不同。以下是根据常见配置的估算具体以官方规格书为准型号类型串口数典型带载645电表典型带载104信息对象单串口基础型120-30块50-100个双串口标准型240-60块100-200个四串口增强型480-120块200-400个八串口高性能型8150-200块400-800个这些数字是估算实际取决于轮询频率、数据量、网络状况。选型时建议留30%余量不要跑满。5.3 什么场景适合用协议解析模式不是所有场景都适合把协议解析放进串口服务器。以下是我的判断标准适合的场景现场没有工控机或者不想用工控机设备数量中等几十到上百轮询频率要求不高秒级需要标准化配置、批量部署对架构简洁性要求高不想维护多层软件不太适合的场景设备数量极大上千需要分布式采集需要复杂的业务逻辑处理如费率计算、需量统计需要存储历史数据、做趋势分析协议种类多需要灵活扩展对于复杂场景GW串口服务器可以作为边缘采集层把解析后的数据以MQTT或Modbus TCP送给上层平台由平台做业务处理。这样既利用了边缘解析的实时性和可靠性又保留了平台的灵活性。6. 从透传到解析升级迁移的注意事项6.1 固件升级前的准备工作如果你手上已经有GW系列串口服务器在跑透传模式想升级到协议解析模式有几件事必须先做。确认硬件版本不是所有硬件版本都支持协议解析。查一下设备标签上的硬件版本号对照官方发布说明确认。如果硬件不支持升级固件也没用。备份当前配置升级固件通常会清空配置或者配置格式会变。升级前把当前配置导出备份升级后重新配置。如果配置项多截图保存也行。准备测试环境不要直接在生产环境升级。找一台同型号设备或者在生产环境的备用设备上先升级测试。确认协议解析功能正常、转发正常、平台能收到数据再批量升级。通知相关人员升级过程中数据会中断如果平台有报警机制提前通知运维人员避免误报。升级时间选在业务低谷期。6.2 配置迁移的实操步骤假设你原来用透传模式串口服务器把电表数据透传给工控机工控机上的软件做645解析。现在要改成串口服务器直接解析工控机软件可以停掉或者改成只接收解析后的数据。第一步记录原来的串口参数。波特率、数据位、停止位、校验位这些不能变变了电表通信就不正常。第二步记录电表地址列表。原来工控机软件里配了哪些地址现在要配到串口服务器里。如果地址多整理成表格。第三步记录数据标识列表。原来工控机软件采集哪些数据项对应的645数据标识是什么。这个信息通常在软件的配置里能找到。第四步在串口服务器上配置协议解析。按前面章节说的步骤配串口参数、表地址、数据标识、转发方式。第五步配置转发目标。如果原来工控机软件把数据写数据库现在串口服务器直接发MQTT给平台那平台的接收端要相应调整。如果平台只认工控机软件的接口那可能需要在平台侧加一个MQTT接收模块。第六步测试验证。先接一块表测试确认数据正确。再逐步增加表数量观察轮询周期和成功率。最后全量切换。6.3 回退方案的设计任何升级都要有回退方案。如果协议解析模式跑起来有问题要能快速切回透传模式。保留原工控机软件升级后先不要卸载工控机上的协议转换软件保持它可用。如果串口服务器解析有问题把串口服务器切回透传模式工控机软件继续跑。保留原配置文件串口服务器的原配置导出保存回退时导入即可。分批次升级如果有多个站点先升级一个站点观察一周没问题再升级其他站点。不要一次性全升。监控关键指标升级后重点监控数据完整率、采集周期、设备在线率。如果数据完整率下降超过5%或者采集周期明显变长就要排查原因必要时回退。实操心得我一般会在升级前用串口调试工具把每块表的645应答抓一遍存成文件。升级后用串口服务器的日志对比看解析出来的值跟原始报文是否一致。这个方法能快速发现解析错误比只看平台数据靠谱。7. 协议解析功能的边界与后续扩展思路7.1 当前功能的适用边界GW系列的DLT645和IEC104解析功能虽然实用但要知道它的边界在哪里。645方面主要支持标准的读数据命令控制码0x11写数据命令0x14可能不支持或者需要特殊配置。费率数据、需量数据、事件记录这些复杂数据项的支持程度要看固件实现。不同厂家的645电表在数据标识上可能有差异不是所有表都能即插即用。104方面主要支持遥信、遥测的上送和总召响应。遥控类型标识45、46可能不支持或者需要额外授权。文件传输、参数设置这些高级功能通常不在串口服务器的支持范围内。104的平衡传输模式2bit和非平衡传输模式1bit的支持情况也要确认。性能方面串口服务器的CPU和内存有限同时解析大量设备、大量数据项时性能会下降。如果项目规模大建议用多个串口服务器分担或者用更高性能的型号。7.2 后续可能的扩展方向从产品迭代的角度看GW系列后续可能会在几个方向扩展。协议种类增加Modbus RTU/TCP是最有可能的下一步毕竟Modbus在工业领域的普及度比645和104还高。IEC61850是电力系统的新标准但实现复杂度高可能放在更高端型号上。BACnet、OPC UA这些楼宇和工业物联网协议也有可能。边缘计算能力增强现在只是协议解析后续可能加入简单的计算功能比如功率因数计算、需量统计、越限判断。这样串口服务器不仅能采集还能做初步的数据处理。云平台对接现在转发主要是MQTT和Modbus TCP后续可能直接对接主流云平台简化配置。安全功能增强104协议本身没有加密机制后续可能加入TLS加密、访问控制等安全功能。对于用户来说选型时不用等所有功能都齐全先看当前功能能不能解决你的核心问题。GW系列支持645和104对于大部分电力数据采集场景已经够用了。后续功能可以通过固件升级获得但前提是硬件支持。7.3 给集成商的选型建议如果你正在做项目选型以下几点供参考。先明确协议需求项目里到底用什么协议645还是104还是两个都有有没有Modbus协议确定了再选型号。估算设备数量和数据量多少块表、多少个104信息对象、采集频率要求多高这些决定了需要什么性能的型号。考虑现场环境温度范围、电磁干扰、安装空间、供电方式。工业现场和楼宇环境的要求不同选型时要看工作温度、防护等级、电源输入范围。确认平台接口串口服务器解析后的数据要送给谁平台支持MQTT还是Modbus TCP接口对不上就要加转换层那就失去简化架构的意义了。留扩展余量项目初期可能只有几十块表但后续可能扩容。选型时留30%-50%的余量避免后期换设备。测试后再批量不管选什么型号先拿一台测试。用实际设备、实际协议、实际平台联调确认没问题再批量采购。测试中发现的坑比规格书上的参数更有参考价值。我个人在实际项目中的体会是协议解析功能确实能简化架构、降低维护成本但它不是万能的。对于简单场景它能让你的方案更优雅对于复杂场景它可能只是整个方案中的一环。关键是想清楚你的核心需求是什么然后选择匹配的工具。GW系列这次升级给了做电力数据采集的人一个新的选择用不用、怎么用取决于你的具体场景。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑