ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

三菱Q/L系列串行通信模块实战:从缓冲存储器到用户登录帧

2026/9/17 13:22:59 拓冰建站 浏览量
三菱Q/L系列串行通信模块实战:从缓冲存储器到用户登录帧 简介《MITSUBISHI三菱MELSEC-Q/L串行通信模块用户手册(应用篇)》是面向 PLC 工程师、电气设计与现场维护人员的官方技术文档针对三菱 Q/L 系列串行通信模块的选型、安装、配线与运行维护提供完整指导重点解决现场通信异常、误接线及系统误动作等实际问题。内容覆盖 QJ71C24N、QJ71C24、LJ71C24 等常见型号并系统说明安全、设计、安装、配线、启动维护及废弃处理等注意事项可作为日常查阅与培训参考。资源共 1 个文件为 PDF 格式整包约 10.79MB便于存档和移动端阅读。目前已有 229 人学习适合需要快速掌握三菱串行通信模块应用要点、希望减少现场调试风险的使用者。1. 把QJ71C24N当透明串口用是多数通信故障的起点在MELSEC-Q/L系列项目里串行通信模块QJ71C24N、QJ71C24、LJ71C24经常被当成“透明转接卡”——上位机发什么PLC就收什么。实际并不是这样。C24是带独立CPU的智能功能模块数据先进它自己的缓冲存储器再由PLC的CPU用FROM指令搬运。协议识别、帧头帧尾剥离、响应超时这些工作模块本身就能做掉一大半。这本《MELSEC-Q/L串行通信模块用户手册(应用篇)》覆盖了QJ71C24N(-R2/R4)、QJ71C24(-R2)、LJ71C24(-R2)的CPU监视功能、调制解调器通信、中断接收、用户登录帧、半双工通信等应用场景。适合正在用Q/L系列对接仪表、扫码枪、变频器的调试工程师也适合刚接触Q系列、想把串口通信一次做对的人。手册虽然厚但决定通信成败的其实只有后面几章那几个关键点。2. 先分清QJ71C24N与LJ71C24的硬件边界2.1 型号后缀与接口选型Q系列和L系列的串行通信模块型号不少手册里一共出现了七个QJ71C24N、QJ71C24N-R2、QJ71C24N-R4、QJ71C24、QJ71C24-R2、LJ71C24、LJ71C24-R2。后缀的含义比较规律选型时先看接口再看通道数。型号接口通道数适用系列选型说明QJ71C24RS-2321Q基本型近距离点对点QJ71C24-R2RS-422/4851Q长距离、多站总线QJ71C24NRS-2321QN系列功能扩展QJ71C24N-R2RS-422/4851QN系列长距离型QJ71C24N-R4多通道4Q需要带多条链路时LJ71C24RS-2321LL系列基本型LJ71C24-R2RS-422/4851LL系列长距离型选型时先确认对端设备的电气接口。仪表和扫码枪绝大多数是RS-23215米以内问题不大超过这个距离或者现场有变频器、伺服驱动器这类干扰源就优先上RS-422/485。R2后缀的模块在现场存量很大就是因为项目初期把余量留出来了。手册第7到10页给出了L系列在安装、配线和维护上的额外要求比如L系列模块之间的连接器必须确认锁定挂钩到位这个在振动环境下尤其容易忽略。N系列在手册里有专门章节说明新增和更改功能。新设计里优先选N系列基本不会错。另外要注意QJ71C24N-R4这种四通道型号它的意义不只是一个板卡上多焊了几个接口而是让CPU通过一套缓冲存储器管理多条通信链路编程模型和单通道型号不同配置时多通道之间的地址分配要提前规划好。2.2 安装、配线与布线的硬规矩手册花了不少篇幅写安装和配线看起来像是例行安全说明但串口丢数据、偶发误动作的现场相当一部分能追溯到安装环节。最核心的一条控制线和通信电缆不能与主电路、动力线捆扎在一起间距要保持在100mm以上。这是噪声问题不是线缆质量问题。现场经常有人把RS-232线缆和变频器输出线走同一个线槽然后通信开始丢包把波特率降到9600还是丢最后把线分开就好了。安装方面模块下方有安装用杆固定时要把凸出部插进基板固定孔以固定孔为支点压下确保卡到位。手册明确写了模块与基板及端子排的拆装次数上限是50次依据IEC 61131-2超过这个次数接触可靠性会下降这是很多“用了好几年突然开始报模块异常”的隐性原因。振动大的环境要用螺栓紧固扭矩按手册规定来拧太松接触不良拧太紧损坏模块。还有一个容易踩的坑安装、配线之后通电之前必须装上产品附带的端子盖板。很多人调试阶段嫌盖板碍事不装等调试完又忘了生产线一开金属屑或线头掉进模块里故障非常难查。配线时模块上部贴有防止混入杂物的标签配线期间不要揭系统正式运行时才揭掉以利散热。接触模块之前先触摸接地金属释放静电这在干燥季节能避免很多莫名其妙的模块故障。2.3 通电前的安全检查清单把手册里的注意事项压缩成一份可执行的检查清单确认通信线缆的接口类型RS-232和RS-422/485引脚定义不同插错可能损坏模块或外部设备确认控制线与动力线间距大于100mm线槽内单独走线确认端子盖板已安装模块安装到位挂钩或卡扣锁定接触模块前先触摸接地金属释放静电通电后不要触碰端子也不要对缓冲存储器的系统区做任何写入清单最后一条需要单独强调。智能功能模块的缓冲存储器里有一块“系统区”手册用加粗文字警示不要对其写入同时CPU向模块输出的信号里有部分“禁止使用”信号不能置ON。对这个区域操作会直接导致PLC系统误动作而且不是每次都会报错隐蔽性很强。排查这类问题最快的方式是把程序里所有TO指令的目标地址对着手册的缓冲存储器地址表逐条核对。3. 无顺序协议通信的缓冲存储器与FROM/TO实现3.1 协议选型MC协议、无顺序协议与双向协议的分工C24支持的通信方式手册按应用场景分成几类。做项目之前先要把协议选对选错协议再调也调不通。MC协议用于上位机、触摸屏、组态软件以及三菱的MX Component组件库。PC端用MX Component读写PLC数据时C24侧的协议参数要选MC协议帧格式、站号、网络号的设置要和上位机程序里对得上。这一类场景对工程师来说相对简单因为帧格式是标准化的两边配置一致就能通。无顺序协议用于仪表、扫码枪、变频器这类“非标”外部设备。C24不做内容解析数据原样收发帧怎么组、怎么拆由CPU自己决定。很多三菱FX系列的老用户第一次接触Q系列会不习惯FX里用RS指令直接收发Q系列里要先理解缓冲存储器。实际给D700变频器发送运行频率按Modbus-RTU报文组装数据写入C24发送区模块按波特率发出去逻辑和FX3U的RS指令场景相似只是多了一层缓冲存储器的中转。排查思路也要跟着变数据没出去先查发送请求位有没有触发而不是查RS指令的软元件。双向协议是三菱PLC之间通信时用的常用于Q/QnA、L系列之间的数据交换。如果两端都是三菱PLC直接走双向协议比自己在无顺序协议上实现握手要省事得多手册第11章对通信步骤有完整说明。3.2 初始设置用GX Configurator-SC配置C24手册里的操作以GX Configurator-SC为例这是C24系列的配置工具在GX Works2或GX Developer环境中调用。初始化步骤按顺序执行在GX Works2里新建工程选择CPU型号和基板配置把C24模块分配到具体槽位启动GX Configurator-SC设置通信协议无顺序协议、MC协议或双向协议设置波特率、数据位、停止位、校验位这四个参数必须与对端设备完全一致设置帧格式包括是否使用起始帧、结束帧以及对应代码将参数写入模块执行初始化数据的登录给PLC重新上电或复位CPU确认参数从模块闪存加载第6步经常被漏掉。参数写入模块后有一部分设置要重启才能生效如果不重启就投入运行可能跑的还是上一次的参数现场就会出现“设置明明对了通信还是不对”的假象。波特率是特别值得核对的一项。仪表和变频器出厂默认速度偏低D700默认是9600但很多老工程师习惯按2400或19200去配对两边不一致时串口调试助手能看到乱码或干脆没响应。调试阶段可以从低速开始跑通了再往上提这样能排除一大半线缆和干扰因素。3.3 数据收发的核心缓冲存储器与FROM/TO指令C24的缓冲存储器是CPU和模块之间交换数据的唯一窗口。模块收到外部数据按顺序存放在缓冲存储器的接收区内并更新接收完成标志。CPU要把数据取走必须使用FROM指令。发送方向则相反CPU用TO指令把数据写入发送区再触发发送请求位模块读走并发送。下面是GX Works指令表视图下的收发指令序列配合梯形图使用; 接收处理每次扫描执行 LD M100 ; M100 模块接收完成标志 FROM H0 K100 D0 K32 M200 ; 从起始I/O号H0的模块、缓冲存储器地址K100开始 ; 读取32字到D0完成后M200置ON RST M100 ; 复位接收完成标志模块可以继续写入新数据 ; 发送处理触发执行 TO H0 K200 D100 K16 M210 ; 将D100起的16字数据写入模块缓冲存储器地址K200 ; 模块进入发送流程逻辑说明FROM指令里H0是C24的起始I/O号模块分配X/Y00-X/Y1F时起始地址就是H0。K100是接收数据区在缓冲存储器中的起始地址K32是读取的字数D0是CPU侧的数据存放区。M100是接收完成标志程序必须在标志未复位前把数据读完否则模块持续接收新数据旧数据会被覆盖。TO指令方向相反。K200是发送数据区的起始地址D100是CPU侧的源数据区K16是发送字数。写入发送区后还要按手册要求触发发送请求信号模块才会把数据发出去。很多第一次写C24收发程序的人在这里出错——数据写进去了发送请求没置位总线上一个字节都出不来。这里有两个容易踩的坑。一是地址编号必须以手册中的缓冲存储器地址分配表为准示例里的K100、K200是占位地址不同型号之间接收区、控制区的实际地址有偏移不要拿着QJ71C24的地址直接套到LJ71C24上。二是FROM/TO的字数和数据长度单位手册用了一整章讲字/字节单位设置当外部设备以字节为单位计数时CPU侧的读写长度要按这个设置换算否则会出现“收上来的数据少了一半”的现象。3.4 系统区禁写、闪存登录与参数生效验证前面安全检查清单里提到过系统区这里再具体说。缓冲存储器分为用户可用区和系统区手册反复强调对系统区写入、对禁止使用的信号输出ON可能引起PLC系统误动作。这个误动作不一定是“模块坏了”而是“CPU的输入输出状态被意外改写”。所以程序里所有TO指令的目标地址都要对着手册的地址表确认一遍。闪存登录是另一个高风险操作。把缓冲存储器的设置值登录到模块闪存时登录过程中严禁对安装站断电、严禁对CPU复位。手册描述得很直接登录过程中断电闪存内数据内容会变得不稳定需要重新设置并再次登录。实际项目中这个坑很容易踩——登录动作通常很快有人图方便在PLC运行中操作结果现场一断电模块里存的参数残缺系统起不来。验证参数是否真正生效推荐一个简单方法参数登录完成后断电重启打开GX Configurator-SC的初始数据监视把模块当前加载的参数和预期值逐项对比。这个方法成本低、执行快能在项目初期把“参数没生效”的问题拦下来比到现场拿着万用表量信号线高效得多。4. 用户登录帧让模块替你处理帧头帧尾4.1 默认登录帧与用户登录帧的区别C24出厂时内置了默认的通信帧也就是“不加工”模式外部设备发来的数据原样进入缓冲存储器CPU自己截取有效字段。这种模式最灵活但CPU开销高碰上带STX/ETX这类帧头帧尾的协议每帧都要自己判断边界。用户登录帧是把这项工作交给模块。模块内部可以预先登录多组帧格式每组定义起始帧、结束帧的组合方式。发送数据时模块自动在应用数据前加起始帧、后加结束帧接收数据时模块按帧格式从字节流里识别出完整一帧再把有效数据存进缓冲存储器。CPU不需要逐字节找帧头通信程序的扫描时间能明显降下来。手册第9章和第10章详细展开了用户登录帧的类型、数据结构以及和默认登录帧的配合方式。第10章专门讲了“通过用户登录帧发送接通请求数据”的用法——无顺序协议下CPU只需要把应用数据准备好组合帧的拼装完全交给模块这在需要频繁发送相同结构报文的场景里非常实用。4.2 发送侧自动附加起始帧与结束帧以常用的STX-ETX格式为例。没有用户登录帧时CPU要自己组帧; 未使用用户登录帧时的CPU组帧流程 D100 ← 02HSTX ; 起始帧 D101 ← 地址码 ; 从站地址 D102 ← 功能码 ; 例如06H写单寄存器 D103-D110 ← 寄存器地址 数据 D111 ← 03HETX ; 结束帧 D112 ← 校验码 ; LRC或CRC这种写法能跑但有两个问题。一是CPU数据区里每帧要多占几个字来放帧控制代码批量发送时缓冲区的预留长度要相应加大二是手工拼帧容易出现漏加ETX或错加校验码这种低级错误。使用用户登录帧后CPU侧的数据区里只需要准备地址码、功能码和数据部分STX和ETX在模块发送时自动插入校验码仍然由CPU计算并放在数据末尾。登录用户登录帧的操作在GX Configurator-SC里完成输入帧名称、选择帧类型、填入各字段的代码值然后写入模块。支持登录多个帧发送时通过指定帧号选择用哪一组。D700变频器这类设备的Modbus-RTU报文用这个方式处理很合适帧头帧尾交给模块CPU只维护协议数据单元本身。4.3 接收侧起始帧识别与穿透代码接收方向的用户登录帧有两种常见用法。一种是指定起始帧模块从检测到起始帧的位置开始把后续数据存入缓冲存储器另一种是起始帧加结束帧组合模块收到起始帧后开始积累数据遇到结束帧判定这一帧接收完成置位完成标志。用久了会遇到一个细节数据内容里出现了和起始帧相同的代码怎么办。比如仪表的报文字段里恰好有02H而02H正是STX起始帧代码模块会把数据内部的02H误判为另一帧的开始导致接收数据错位。手册针对这种情况引入了穿透代码的概念。登录帧格式时可以把某个代码定义为穿透代码模块在查找帧边界时跳过它把它当普通数据原样存入缓冲存储器。这个设计在和私有协议仪表通信时非常有用报文内部经常带有和帧控制代码重合的字节没有穿透代码就只能靠CPU在收到数据后二次加工又回到了逐字节处理的模式。4.4 登录、读取、删除与闪存写入注意事项用户登录帧的登录、读取、删除在GX Configurator-SC里对应三个操作入口逻辑上没有难度难点在登录后的持久化。帧数据默认存在缓冲存储器里掉电丢失要长期使用必须把帧数据登录到模块闪存。这里又回到手册反复强调的那条闪存登录过程中不能断电不能复位CPU。用户登录帧的容量不大登录操作瞬时完成但这几秒如果断电闪存数据变得不稳定只能重新登录。一般建议先在调试阶段把帧定义放到缓冲存储器里反复测试确认帧格式和收发效果都正确之后再统一写入闪存。这样既能快速迭代帧定义又避免多次写闪存带来额外风险。另外从模块读取已登录的帧数据进行备份也是好习惯老项目后期维护时手里有一份和现场模块一致的帧配置比对着旧图纸猜省时得多。还有一点容易被忽略同一台C24的多个通道可以分别使用不同的用户登录帧登录时要确认选择的通道编号正确。现场遇到过排查很久的案例帧格式配在通道1数据却从通道2收发模块一直按默认帧处理表现就是“该有的帧头帧尾没了”和传输链路半毛钱关系都没有。5. 中断接收、监视时间与验证技巧5.1 中断接收从轮询升级到事件驱动无顺序协议收发改用用户登录帧之后CPU要处理的帧逻辑已经足够简单但接收侧的数据搬运还是需要CPU主动执行。默认做法是每次扫描检查接收完成标志发现标志置ON就执行FROM读取。这个方法有个问题扫描周期不确定如果程序里逻辑很长接收标志置ON之后可能要等好几毫秒甚至几十毫秒才被读到。一般仪表通信没问题对上实时性要求高的设备就会出问题。中断接收把“检查标志”从循环扫描里拿出来改成由C24硬件触发。模块在满足中断条件时直接打断CPU当前程序跳转到对应的中断程序执行数据接收。手册第4章描述了中断启动时机和接收控制方法核心是两条接收数据个数达到设定值触发或者经过无接收监视时间后判定一帧结束触发。前者适用于定长报文后者适用于变长报文。中断程序里做三件事就够了读取接收区数据、复位接收完成标志、把数据转存到业务用全局寄存器。不要在中断里做CRC计算或协议解析这些放到主扫描里做否则中断占用时间过长会影响PLC其他任务。5.2 定时器0、1、2和报文等待时间的设置逻辑手册第6章把数据通信的监视时间拆成三个定时器和一段报文等待时间。定时器0是无接收监视时间决定“一帧数据结束”的判定标准接收过程中相邻两个字节间隔超过设定值模块就认为这一帧结束。这个值设短了低速设备字节间隔稍微拉长就会把完整报文截断设长了通信延迟变大。经验值从低速设备的几十毫秒开始高速设备从5到10毫秒开始再按抓包结果收敛。定时器1是响应监视时间发送后等待对端响应的最长时间超时后置位超时标志CPU据此做重发或报警。定时器2是发送监视时间检测发送动作本身是否卡住比如RS-485总线被对端设备拉死发送永远完成不了这时定时器2能兜底暴露故障。报文等待时间和定时器1容易混——它是发送完成之后、开始计时响应之前的固定延迟用于半双工链路上总线的方向切换不给这段延迟发送完立刻开始等响应很可能把自己发的残影误判为对端响应。5.3 现场最值得先动手的两个验证动作新装C24通信调不通先做两个动作。第一个是用串口调试助手在外部设备侧直接抓包把C24和设备的连接断开调试助手模拟C24收数据先确认外部设备到底有没有按预期报文往外发。这一步能把问题快速划分到“设备没发数据”还是“模块参数不对”两个范围之一。第二个动作是打开GX Configurator-SC的在线监视直接观察缓冲存储器接收区看模块侧是否已经在积累数据。接收区有数据、CPU侧读不到问题出在FROM指令地址或接收完成标志的复位逻辑接收区本来就是空的、但外部设备抓包有数据问题出在模块参数配置或线缆端子。两步配合大部分“数据丢了”“偶发超时”类问题能在十分钟内定位到具体环节。最后顺手检查半双工线的终端电阻和屏蔽层接地——RS-485长距离场景里这两个点出问题的概率比模块本身高得多。本文还有配套的精品资源点击获取