Rockwell Automation SLC 500 系列可编程控制器
处理器文件结构与地址系统
1. 核心文件类型与特性
文件类型 标识 用途 元素结构 地址格式示例
输出文件 O0: 存储外部输出信号 1 字 / 元素(16 位) O:3/15(槽 3,位 15)、O:5.1(槽 5,字 1)
输入文件 I1: 存储外部输入信号 1 字 / 元素(16 位) I:7/8(槽 7,位 8)、I:2.1/3(槽 2,字 1,位 3)
状态文件 S2: 存储系统状态与状态位 1 字 / 元素(16 位) S:1/15(元素 1,位 15,首次扫描位)
位文件 B3: 继电器逻辑、移位寄存器 1 字 / 元素(16 位),最大 256 元素 B3:3/14(元素 3,位 14)、B3/62(文件内第 62 位)
计时器文件 T4: 定时控制(TON/TOF/RTO) 3 字 / 元素(状态 + 预设 + 累加) T4:0/EN(使能位)、T4:0.PRE(预设值)
计数器文件 C5: 计数控制(CTU/CTD/HSC) 3 字 / 元素(状态 + 预设 + 累加) C5:0/CU(加计数使能)、C5:0.ACC(累加值)
控制文件 R6: 移位 /sequencer/ASCII 指令控制 3 字 / 元素(状态 + 长度 + 位置) R6:2/LEN(长度值)、R6:2.POS(位置值)
整数文件 N7: 整数数据存储与运算 1 字 / 元素(16 位) N7:2(元素 2)、N10:36(自定义整数文件 10,元素 36)
浮点文件 F8: 浮点数据存储与运算 2 字 / 元素(32 位) F8:2(元素 2),仅 SLC 5/03 及以上支持
2. 地址编码规则
通用格式:文件标识:槽号.字号/位号(如 T4:0.1/0 表示计时器文件 4,元素 0,字 1,位 0)
简化规则:字号为 0 时可省略(如 O:5/0 = O:5.0/0)
扩展配置:文件 9-255 可通过编程自定义为位 / 计时器 / 计数器 / 整数 / 浮点等类型,满足扩展存储需求
核心指令详细分类与功能
1. 基础指令(13 条)
核心用于位操作、定时与计数,是工业控制最基础的逻辑单元:
位操作指令:XIC(检查闭合)、XIO(检查断开)、OTE(输出 Energize)、OTL(输出锁存)、OTU(输出解锁)、OSR(上升沿单触发)
计时指令:TON(通电延时)、TOF(断电延时)、RTO(保持型定时),支持 0.01 秒时基,预设 / 累加值范围 0-32767
计数指令:CTU(加计数)、CTD(减计数)、HSC(高速计数,仅固定控制器 24VDC 输入),计数范围 - 32768 至 32767
复位指令:RES(重置计时器 / 计数器,不可用于 TOF 指令)
2. 比较指令(8 条)
用于数据逻辑判断,控制程序流程:
指令 功能 支持参数类型
EQU 等于比较 源 A(地址)、源 B(地址 / 常量)
NEQ 不等于比较 源 A(地址)、源 B(地址 / 常量)
LES/LEQ/GRT/GEQ 小于 / 小于等于 / 大于 / 大于等于 源 A(地址)、源 B(地址 / 常量)
MEQ 掩码等于比较 源、掩码(十六进制 / 地址)、参考值
LIM 范围测试 低限、测试值、高限(地址 / 常量)
3. 数学指令(22 条)
涵盖算术运算、数据缩放、三角函数等,支持整数 / 浮点运算:
基础运算:ADD(加)、SUB(减)、MUL(乘)、DIV(除)、DDV(双字除)
数据处理:CLR(清零)、SQR(平方根)、ABS(绝对值)、NEG(取反)、SWP(字节交换)
缩放指令:SCP(带参数缩放)、SCL(数据缩放),支持 4-20mA/0-10V 模拟信号转换
高级运算:RMP(斜坡生成)、CPT(表达式计算)、ASN/ACS/ATN(反三角函数)等,仅 SLC 5/03 及以上支持
4. 数据处理指令(20 条)
用于数据格式转换、传输、存储:
格式转换:TOD(整数转 BCD)、FRD(BCD 转整数)、DEG(弧度转角度)、RAD(角度转弧度)
编码解码:DCD(4 位解码 16 选 1)、ENC(16 位编码 4 位)
文件操作:COP(文件复制)、FLL(文件填充),最大长度 128 字(1 字 / 元素)或 42 元素(3 字 / 元素)
数据传输:MOV(移动)、MVM(掩码移动)、AND/OR/XOR/NOT(位逻辑运算)
堆栈操作:FFL/FFU(FIFO 入栈 / 出栈)、LFL/LFU(LIFO 入栈 / 出栈),支持 128 字堆栈
5. 程序流程指令(10 条)
控制程序执行顺序,优化扫描效率:
跳转指令:JMP(跳转)+ LBL(标签),支持前后跳转,避免死循环触发看门狗超时
子程序指令:JSR(调用)+ SBR(子程序)+ RET(返回),嵌套深度:固定 / SLC 5/01 为 4 级,其余为 8 级
控制区指令:MCR(主控制复位),关闭指定区域非保持型输出
调试指令:TND(临时结束)、SUS(暂停),用于程序调试与故障定位
I/O 刷新指令:IIM(立即输入掩码)、IOM(立即输出掩码)、REF(I/O 刷新),中断扫描更新 I/O
6. 应用特定指令(10 条)
针对特定工业场景设计:
移位指令:BSL(左移)、BSR(右移),支持最大 2048 位 bit 数组
序列器指令:SQO(序列输出)、SQC(序列比较)、SQL(序列加载),控制顺序化机器操作
时间戳指令:RHC(读取高速时钟)、TDF(计算时间差),10μs 精度,支持事件计时
诊断指令:FBC(文件位比较)、DDT(诊断检测),监控设备故障,记录不匹配位
校验指令:RPC(读取程序校验和),验证程序完整性
7. 块传输指令(2 条)
用于远程 I/O 设备数据传输(仅 SLC 5/03 及以上支持):
指令 功能 关键参数 错误代码
BTR 从远程设备读数据 数据文件、缓冲文件(M0/M1)、控制块 -6(非法长度)、-9(超时)等
BTW 向远程设备写数据 数据文件、缓冲文件(M0/M1)、控制块 -7(通信错误)、-11(无效设备)等
传输能力:最多 32 个块传输缓冲,单次传输 1-64 字,支持 RIO 链路
8. PID 指令
用于温度、压力、液位等过程控制:
控制模式:定时模式(自定义更新速率)、STI 中断模式(与 STI 间隔同步)
核心参数:比例增益 (Kc)、复位时间 (Ti)、速率时间 (Td)、死区 (DB)、输出限制 (CVL/CVH)
输入输出:过程变量 (PV)、设定值 (SP)、控制变量 (CV),支持 0-16383 缩放范围
功能特性:抗积分饱和、手动 / 自动切换、Feed Forward/Bias 偏移

指令执行与状态位机制
1. 核心状态位(存储于 S:0/0-3)
状态位 标识 功能
进位位 S:0/0 算术运算产生进位时置 1
溢出位 S:0/1 结果超出数据范围时置 1(如整数运算 > 32767)
零位 S:0/2 运算结果为 0 时置 1
符号位 S:0/3 结果为负数时置 1(最高位为 1)
2. 专用状态位
指令通用位:EN(使能, rung 为真时置 1)、DN(完成,操作结束置 1)、ER(错误,异常时置 1)
计时器专用:TT(计时中,累加 < 预设时置 1)
计数器专用:CU(加计数使能)、CD(减计数使能)、OV(溢出)、UN(下溢)
3. 错误处理机制
溢出陷阱位:S:5/0,检测到数学溢出或除零时置 1,需通过 OTU 指令复位避免重大错误(代码 0020)
块传输错误:控制块字 2 存储错误代码(-6 至 - 12),如 - 9 表示传输超时
故障清除:支持自动清除(如上电错误)和手动清除(如程序下载错误)
编程限制与兼容性
1. 处理器型号兼容性
指令类型 支持型号 限制说明
基础指令 全系列 HSC 仅支持固定控制器 24VDC 输入
数学高级指令(SCP/RMP/CPT 等) SLC 5/03 及以上 需 OS302/OS401/OS501 及以上固件
块传输指令 SLC 5/03(OS302)及以上 需 RSLogix 500 v4.10+
PID 指令 全系列 STI 模式仅支持 SLC 5/02 及以上
2. 操作限制
地址范围:位号 0-15,元素号 0-255,文件长度最大 2048 位(bit 数组)
扫描要求:计时器指令需每 2.5 秒扫描一次,避免计时误差;HSC 指令需无条件 rung,避免计数丢失
区域限制:禁止 JMP 指令跳入 MCR 区;MCR 区不可嵌套
数据类型:浮点运算仅支持 SLC 5/03 及以上,负数以二进制补码存储
故障排查与维护
1. 常见故障类型
上电错误:如电源异常、模块未识别,需检查硬件连接
运行错误:如指令参数错误、地址越界,通过错误日志定位
I/O 错误:如 I/O 模块故障、接线错误,通过 I/O 表错误标志(A261)检测
程序错误:如子程序嵌套溢出、MCR 指令不匹配,编译时提示
2. 维护要点
固件升级:OS300/OS400/OS500 系列固件支持功能扩展,需匹配 CX-Programmer 版本
电池维护:关键数据(DM/EM/HR)通过电池备份,需定期检查电池状态
数据备份:通过内存卡执行程序、参数、注释数据备份
故障日志:系统最多存储 20 条错误记录,含错误代码与发生时间
