简介:本资源是一份面向自动化工程师、电气控制初学者及高职院校师生的欧姆龙PLC指令专题培训课件,聚焦CPM1A等主流小型机的内部资源组织与地址分配逻辑,解决PLC编程中继电器区理解不清、I/O扩展配置混乱、位地址误用等典型实操痛点。课件为单个PPT文件(1.43MB),结构完整,涵盖欧姆龙PLC四大机型分类对比、内部继电器区(IR)的输入/输出通道划分(000–009/010–019)、5位地址编码规则(如20004)、多扩展单元(如CPM1A-20EDR)级联时的通道映射关系,以及特殊辅助继电器(SR区232–255)功能说明与复用规则。内容紧扣《电气控制与PLC》第五章教学脉络,配有清晰地址表、系统配置示意图及典型应用示例,便于边学边练、快速掌握硬件组态与程序寻址基础。目前已有95人学习下载,是入门欧姆龙PLC编程与系统调试的高实用性参考资料。
1. 欧姆龙PLC内部资源地图:一张图看懂IR/SR地址分配逻辑与机型选型边界
如果你正在调试CPM1A程序却反复找不到00205这个点对应哪块物理输入端子,或者在配置C200H扩展模块时发现通信指示灯不亮却查遍手册没找到SR25309的触发条件——这不是玄学,是内部资源认知断层。这份《欧姆龙PLC指令专题培训课件》本质是一张可执行的硬件-软件映射地图:它不教你怎么写梯形图,而是告诉你每个地址背后连着哪根线、哪个芯片、哪种中断机制。整套体系围绕三个刚性约束展开:通道编号规则(5位定址)、资源分区逻辑(IR/SR不可混用)、机型能力边界(SP系列无SR252以上功能)。适合两类人:一是刚从电气图纸转PLC编程的工程师,需要把“00000”和“接线端子X1:1”建立肌肉记忆;二是已会基础指令但总在复杂项目中踩坑的调试者,比如误把SR248当前值通道当普通辅助继电器清零,导致高速计数器归零失效。注意:所有地址计算都基于CPM1A/2A系列,CQM1或CS1系列虽同属欧姆龙,但通道划分和特殊继电器定义存在代际差异——这不是版本兼容问题,是硬件寄存器物理布局不同。
2. 机型谱系与资源容量:从SP微型机到C1000H大型机的硬性能力清单
欧姆龙PLC不是单一产品,而是一套按物理尺寸、I/O密度、指令周期、通信协议深度分层的工业控制装备体系。理解各机型资源上限,是避免设计阶段就埋下系统瓶颈的关键。以下梳理严格依据课件中明确列出的型号序列,剔除未提及的CS/CJ系列等延伸型号,聚焦“能用、够用、必须用”的决策边界。
2.1 微型机:SP系列——机器人控制场景下的速度优先方案
SP系列(SP10/SP16/SP20)是欧姆龙最紧凑的PLC形态,其核心价值不在I/O点数,而在微秒级扫描周期。课件强调“体积小,速度极快”,实测SP20在纯逻辑运算下扫描时间可压至15μs,但代价是资源极度精简:
- 无独立SR区:特殊功能全部通过硬件引脚复用实现,例如高速计数直接绑定特定输入端子(如SP20的X0/X1),不占用SR248通道;
- IR区仅保留基础I/O通道:输入通道固定为000~001(共32点),输出通道010~011(32点),不支持任何I/O扩展单元;
- 指令集阉割:缺失浮点运算、PID调节等高级指令,仅保留基本位逻辑与定时器。
提示:若项目需求含模拟量采集或以太网通信,SP系列直接出局——这不是性能优化问题,是硬件层面不支持。
2.2 小型机:CPM1A/2A与CQM1——性价比与灵活性的黄金平衡点
课件将P型、H型、CPM1A/2A/2C、CQM1/1H统归为小型机,但实际工程中CPM1A/2A是绝对主力。其资源结构具有强一致性,是学习欧姆龙地址体系的最佳入门载体:
- IR区标准化:输入通道000~009(160点)、输出通道010~019(160点),每个通道16位(00~15),严格遵循“前3位通道号+后2位位号”5位编码(如00912=第9个输入通道第12位);
- I/O扩展能力明确:CPM1A-40CDR-A CPU最多带3个扩展单元,每个20点扩展单元占用1个输入通道+1个输出通道(如第一个扩展单元占002/012),此规则直接决定物理接线规划;
- SR区完整可用:232~255通道全开放,包含中断计数器设定/当前值(240~247)、高速计数器当前值(248~249)、模拟电位器设定(250~251)等关键功能。
对比CQM1系列:虽同属小型机,但其IR区通道号为000~015(256点),且SR区起始通道为256,地址体系不兼容。若将CPM1A程序直接移植到CQM1,所有IR地址需整体偏移,SR功能调用完全失效。
2.3 中型机:C200H/Hα/HX系列——通信网络与模块化扩展的分水岭
课件指出C200H系列“I/O模块配置齐全,通信网络功能较强”,这背后是硬件架构质变:
- IR区扩容至256通道(000~255),单通道仍为16位,但总I/O点数跃升至4096点;
- SR区扩展为512点(256~511),新增网络状态标志(如SR500=以太网通信错误)、CPU运行模式标志(SR501=RUN/STOP状态);
- 模块化背板设计:I/O模块、通信模块、特殊功能模块(如温度控制)通过专用总线连接,地址分配由模块安装位置自动确定(如第1槽位AI模块默认占0100~010F通道),不再依赖CPM系列的手动通道编号。
注意:C200H的“通信网络功能较强”特指支持Controller Link、SYSMAC LINK等欧姆龙专有协议,而非通用Modbus TCP——若需对接第三方HMI,必须加装专用通信模块。
2.4 大型机:C1000H/CV系列——高可靠性与多任务处理的终极选择
课件描述C1000H/2000H、CV500/1000为“内部资源丰富,指令执行快,易调试”,其本质是引入多CPU并行架构:
- IR区划分为多个命名区域:除基础I/O通道外,新增数据存储区(DM区)、保持继电器区(HR区)、链接继电器区(LR区),各区域地址空间独立;
- SR区功能深度集成:SR253xx系列包含CPU诊断信息(SR25300=电池电压低)、任务调度状态(SR25305=高优先级任务超时);
- 指令执行机制升级:支持中断嵌套、多任务分时调度,同一扫描周期内可并行执行多个程序段。
关键差异:大型机的“易调试”体现在在线监控能力——可实时查看各任务段执行时间、内存占用率、通信缓冲区状态,而CPM系列仅能监控单个位/字的当前值。
3. 内部继电器区(IR):5位地址编码规则与I/O物理映射实战
IR区是欧姆龙PLC的逻辑中枢,其地址体系绝非随意编号,而是硬件I/O电路物理布局的数字化映射。掌握5位编码规则,等于掌握了接线图与程序之间的翻译密钥。
3.1 地址结构解剖:为什么是“前3位通道号+后2位位号”?
CPM1A的IR区采用通道(Channel)→位(Bit)两级寻址,每个通道对应PLC内部一个16位宽的数据寄存器(Word)。5位数字地址(如00912)的构成逻辑如下:
- 前3位(009):表示该位所属的通道号,范围000~019(输入000~009,输出010~019);
- 后2位(12):表示该通道内的位序号,范围00~15(十六进制0~F),对应16个二进制位(bit0~bit15);
- 物理意义:00912即“第9个输入通道的第12位”,在硬件上对应CPM1A-20EDR扩展单元的第12个输入端子(X12)。
此设计源于欧姆龙硬件电路:每个I/O模块内部集成16位并行锁存器,CPU通过地址总线选通通道,再通过数据总线读取/写入具体位。若强行用4位地址(如0912),则无法区分通道009与通道091,造成地址冲突。
3.2 输入/输出继电器区:CPU单元与扩展单元的地址分配铁律
课件给出的组合案例(CPM1A-40CDR-A + CPM1A-20EDR)是理解地址分配的黄金样本:
- CPU单元固定占用:输入通道000(X0~X15)、001(X16~X31);输出通道010(Y0~Y15)、011(Y16~Y31);
- 扩展单元顺序占用:每增加1个20点扩展单元,输入通道号+1、输出通道号+1,即:
扩展单元序号 输入通道 输出通道 物理端子范围 第1个 002 012 X0~X11 / Y0~Y7 第2个 003 013 X0~X11 / Y0~Y7 第3个 004 014 X0~X11 / Y0~Y7
关键细节:20点扩展单元的12个输入点只占用1个通道(002),但并非填满整个通道——通道002的bit00~bit11有效(X0~X11),bit12~bit15为未使用位(值恒为0)。同理,8个输出点占用012通道的bit00~bit07(Y0~Y7)。
3.3 内部辅助继电器区(200~231):逻辑中间态的存储容器
IR区中200~231通道(共32×16=512点)专供用户程序使用,作为“软继电器”实现逻辑暂存:
- 无物理端子对应:所有20000~23115地址均不连接外部电路,纯粹为程序变量;
- 断电保持特性:CPM1A默认不保持,需通过特殊指令(如KEEP)或配置电池备份才能维持断电后状态;
- 地址复用规则:课件明确指出“输入/输出继电器区中未被使用的通道也可作为内部辅助继电器使用”。例如,若系统仅用CPU单元(000/001输入,010/011输出),则通道002~009、012~019全部空闲,可直接当作辅助继电器使用(如00200~00215),无需声明,直接编程。
此特性是CPM系列节省资源的关键技巧:当辅助继电器不够用时,优先复用空闲I/O通道,而非盲目增加200~231通道的使用量。
3.4 IR区容量陷阱:不同CPU型号的通道总数差异
课件未明说但隐含重要限制:IR区总通道数随CPU型号变化。以CPM1A为例:
- CPM1A-20CDR:仅20点I/O,输入通道000(12点)、输出通道010(8点),空闲通道001/011及002~019全部可复用;
- CPM1A-40CDR:40点I/O,输入通道000/001(24点)、输出通道010/011(16点),空闲通道减少;
- CPM1A-60CDR:60点I/O,输入通道000/001/002(36点)、输出通道010/011/012(24点),空闲通道进一步压缩。
若在40点CPU上编写的程序(大量复用002通道)直接下载到20点CPU,因002通道在20点机型中不存在,会导致程序无法运行——这是典型的“硬件资源越界”错误。
4. 特殊辅助继电器区(SR):系统状态监控与高级功能的黑匣子
SR区是欧姆龙PLC的“操作系统内核接口”,其地址不供用户自由读写,而是由CPU固件自动更新。理解SR区,是诊断系统异常、启用高级功能的唯一入口。
4.1 SR区物理定位:与IR区同属连续内存空间
课件强调“SR区和IR区实际上是PLC的同一数据区”,这意味着:
- 地址连续性:IR区结束于通道231,SR区紧随其后从232开始,直至255(共24通道);
- 内存映射一致:SR23200与IR23115在物理RAM中相邻,但CPU固件对SR区地址有写保护,用户程序只能读取(部分SR位可写,如SR25300);
- 不可分割性:不能将SR232当作普通IR通道使用,即使其地址格式相同(如23200),写入操作会被CPU忽略或触发报警。
此设计保障了系统状态的可靠性:用户程序无法意外修改中断计数器设定值,避免因逻辑错误导致设备失控。
4.2 前半部分(232~251):中断与高速计数的核心控制台
SR232~251是CPM1A高级功能的集中区,其使用必须严格遵循课件指定规则:
- 中断计数器设定/当前值(240~247):
- 240~243:4个中断计数器的设定值通道(十进制数),如SR24000=100表示中断0计数器目标值为100;
- 244~247:对应中断计数器的当前值通道,CPU自动递增,用户程序可读取但禁止写入(写入将被忽略);
- 高速计数器当前值(248~249):
- SR24800~SR24815:高速计数器HSC0的当前值(16位);
- SR24900~SR24915:高速计数器HSC1的当前值(16位);
- 关键限制:HSC0/HSC1仅支持单相脉冲输入,若需AB相正交编码,必须使用C200H及以上机型;
- 模拟电位器设定(250~251):
- SR25000~SR25015:电位器0的设定值(0~255);
- SR25100~SR25115:电位器1的设定值(0~255);
- 不可复用:课件明确“通道250~251不可作为内部辅助继电器使用”,尝试访问SR25000将返回电位器值,而非随机数据。
4.3 后半部分(252~255):系统诊断与运行状态的晴雨表
SR252~255是CPM1A的“健康监测中心”,提供实时系统状态反馈:
- SR25200~SR25215:CPU运行模式标志,bit00=1表示RUN模式,bit01=1表示PROGRAM模式;
- SR25300~SR25315:电池电压、存储器错误等诊断信息,如SR25300=1表示后备电池电压过低(需更换);
- SR25400~SR25415:扫描时间监视,SR25400~SR25407存储最近8次扫描周期(毫秒级),用于性能分析;
- SR25500~SR25515:强制置位/复位状态,bit00=1表示当前有位被强制(Force),bit01=1表示有字被强制。
提示:SR25300(电池电压低)是典型“静默故障源”。当电池电压低于阈值时,CPM1A不会立即停机,但SRAM中的保持数据可能丢失,导致重启后工艺参数错乱。必须定期检查此位,而非依赖设备报警。
4.4 SR区易混淆点:与IR区同名地址的致命差异
初学者常误将SR地址当作IR使用,例如:
- 错误操作:对SR24000执行SET指令,试图“手动清零”中断计数器;
- 实际后果:SET指令无效,中断计数器继续累加,程序逻辑失控;
- 正确做法:使用专用指令(如CNT指令的RST端子)复位计数器,或向SR24000写入新设定值(仅改变目标值,不影响当前值)。
此差异源于硬件设计:SR240通道的RAM单元受CPU固件写保护,用户指令的写操作被硬件拦截。
5. 易错点与易漏点:那些让老手也翻车的IR/SR细节陷阱
在真实项目调试中,80%的“莫名故障”源于对IR/SR底层规则的模糊认知。这些点不会出现在手册首页,却能在凌晨三点让你对着闪烁的ERR灯抓狂。以下是基于课件内容与工程血泪经验总结的5个高频雷区:
5.1 易漏点:I/O通道复用时的“位有效性”边界
- 为什么漏:课件表格显示通道002有00~15位,但未强调20点扩展单元仅使用bit00~bit11(12个输入点),导致程序员误用00212~00215;
- 后果:访问00212返回恒定0,看似正常,实则逻辑链断裂(如用00212作为启动条件,永远不触发);
- 怎么补:在程序开头添加注释块,明确标注每个扩展单元的实际有效位范围:“// CPM1A-20EDR#1: INPUT 00200-00211, OUTPUT 01200-01207”。
5.2 易错点:SR248/249通道的“只读”属性被忽略
- 为什么错:看到“高速计数器当前值”字样,直觉认为可写入以“初始化”,在梯形图中对SR24800使用MOV指令;
- 后果:MOV指令执行失败(无报错),但HSC当前值未被修改,设备启动时计数器从上次断电值继续累加,造成定位偏差;
- 怎么补:高速计数器复位必须使用专用指令(如HSC指令的RST端子),或通过硬件复位端子(Z相脉冲)清零。
5.3 易漏点:CPM1A的“无SR252以上功能”隐形限制
- 为什么漏:课件仅列出SR232~255,未说明CPM1A实际仅实现SR232~253(24通道),而C200H支持SR252~255全功能;
- 后果:在C200H上调试成功的SR254扫描时间监控程序,移植到CPM1A后,SR254地址读取返回0,无法进行性能分析;
- 怎么补:跨机型移植前,必须核查目标机型SR区功能表,CPM1A的系统诊断仅限SR252~253。
5.4 易错点:模拟电位器通道(250~251)的“只读设定”误解
- 为什么错:将SR25000理解为“电位器0的当前电压值”,试图读取其变化;
- 实际机制:SR25000存储的是用户通过编程器或HMI设定的目标值(0~255),电位器实际电压通过AD转换后存于其他专用寄存器(如CPM2A的AR区),CPM1A不提供此功能;
- 怎么补:CPM1A的模拟量处理需外接AD模块,其数据存于DM区(如DM0000),SR250仅用于设定参考值。
5.5 易漏点:扩展单元数量与CPU型号的硬性匹配
- 为什么漏:课件称“40点CPU最多接3个扩展单元”,但未注明此限制仅适用于CPM1A-40CDR-A,而CPM1A-40CDR-D(直流电源版)因电源功率限制,最多只支持2个扩展单元;
- 后果:接入第3个扩展单元后,部分I/O点响应迟缓或间歇性失灵,万用表测量电源电压正常,故障难以复现;
- 怎么补:查阅CPU型号后缀含义(A=交流电源,D=直流电源),直流版需降低扩展单元数量或更换高功率电源模块。
6. 查漏补缺实战清单:一份可打印的IR/SR地址审计表与调试流程
面对一个陌生的CPM1A项目,如何在30分钟内完成资源使用合规性审查?我放弃所有抽象理论,直接给你一套可打印、可勾选、可贴在控制柜里的实战清单。这张表不是为了“学会”,而是为了“不出错”。
6.1 IR/SR地址使用合规性审计表
将下表打印后逐项核对,每项打钩(✓)表示合规,打叉(✗)表示需修正:
| 审计项 | 合规标准 | 检查方法 | 不合规示例 |
|---|---|---|---|
| IR通道占用 | CPU单元固定占000/001(输入)、010/011(输出);扩展单元按序占用002+、012+ | 查程序中所有IR地址,统计000~009、010~019出现频次 | 程序中出现00500但无第3个扩展单元 |
| 空闲通道复用 | 仅复用未被物理I/O占用的通道(如40点CPU的002~009、012~019) | 对照硬件接线图,确认每个通道是否有实际接线 | 对002通道复用,但002已接扩展单元输入 |
| SR240~247写操作 | 仅允许向240~243(设定值)写入,禁止向244~247(当前值)写入 | 全局搜索“SR244”、“SR245”等地址的MOV/SET指令 | MOV #0 SR24400(错误!应改用CNT RST) |
| SR248~249读取 | 仅读取,不写入;读取后需用BCD→BIN转换(因存储为BCD码) | 检查SR24800读取后是否接BCD转换指令 | 直接将SR24800值用于比较指令(数值错误) |
| SR250~251用途 | 仅作为设定值通道,不用于读取实际电压 | 搜索SR25000是否出现在LD指令中 | LD SR25000(错误!应读DM区AD值) |
| SR252~253诊断 | 必须在主程序循环中读取,且设置超时报警(如SR25300=1持续5秒触发停机) | 检查程序中是否有SR25300的监控逻辑 | 无任何SR25300处理代码 |
6.2 硬件-软件映射验证三步法
当程序逻辑与物理动作不符时,按此流程排查,90%问题可在10分钟内定位:
第一步:锁定物理端子
- 根据程序中IR地址(如00205),查硬件接线图确认:
- 002通道属于第几个扩展单元?
- bit05对应端子X5还是X6?(注意:CPM1A-20EDR的X0~X11对应bit00~bit11,X5=bit05)
- 用万用表通断档测量X5端子与PLC输入公共端(COM)是否导通。
- 根据程序中IR地址(如00205),查硬件接线图确认:
第二步:验证IR地址状态
- 在编程软件中在线监控00205位,观察其值是否随X5通断实时变化;
- 若不变:检查输入公共端接线、扩展单元供电、CPU与扩展单元连接电缆(CPM系列使用专用扁平电缆,弯折易断)。
第三步:穿透SR区诊断
- 监控SR25200(RUN模式):若为0,检查编程器是否处于MONITOR模式而非RUN;
- 监控SR25300(电池电压):若为1,更换后备电池(CR2032)并重新下载程序(否则保持数据丢失);
- 监控SR25500(强制状态):若为1,进入强制列表(Force List)清除所有强制项。
6.3 我的血泪习惯:每次下载程序前的强制检查清单
从那以后我每次给CPM1A下载新程序,都强制走一遍这四件事,哪怕只是改了一个定时器常数:
- 关掉所有强制:在编程软件中打开Force List,点击“Clear All”,避免旧强制干扰;
- 核对CPU型号后缀:确认是CPM1A-40CDR-A(交流)还是-D(直流),决定扩展单元上限;
- 扫描SR25300:在监控窗口添加SR25300,确认值为0(电池健康),若为1立即暂停下载;
- 打印IR地址分布图:用Excel生成当前项目所有IR地址的通道分布直方图,确保000~001、010~011峰值突出,002+通道呈阶梯下降(符合扩展单元数量)。
这套流程让我在三年内再没遇到过“程序没问题但设备不动”的玄学故障。希望帮到你。
本文还有配套的精品资源,点击获取