




已阅读5页,还剩274页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章S7 200PLC的指令系统 本章要点 5 1编程基础5 2基本指令及编程方法5 3功能指令及编程方法 学习要求 重点 难点 学习要求掌握梯形图和语句表的编程方法熟悉功能块图的编程方法 能做到相互转换 掌握基本指令的使用方法掌握常用功能指令的使用方法了解其他指令本章重点梯形图和语句表的程序结构 程序执行的逻辑控制 逻辑堆栈 指令的寻址方式 数据区存储器的类型 数据类型等 S7 200基本指令和常用功能指令 本章难点逻辑堆栈 指令的寻址方式等 5 1编程基础 一 编程语言二 数据类型三 存储器区域四 寻址方式五 用户程序结构六 编程的一般规则 5 1编程基础 一 编程语言 1 梯形图编程语言 2 功能块图 FBD 编程语言 一 编程语言 3 语句表 STL 编程语言 语句表 LDI0 0OQ0 0ANI0 1 Q0 0 一 编程语言 1 数据的类型与长度 在计算机中使用的都是二进制数 其最基本的存储单位是位 bit 8位二进制数组成1个字节 Byte 其中的第0位为最低位 LSB 第7位为最高位 MSB 两个字节 16位 组成1个字 Word 两个字 32位 组成1个双字 Doubleword 把位 字节 字和双字占用的连续位数称为长度 二 数据类型 1 数据的类型与长度 PLC对数据类型检查有助于避免常见的编程错误 数据类型检查分为三级 完全数据类型检查简单数据类型检查无数据类型检查S7 200PLC的SIMATIC指令集不支持完全数据类型检查 使用局部变量时 执行简单数据类型检查 使用全局变量时 指令操作数为地址而不是可选的数据类型时 执行无数据类型检查 1 数据的类型与长度 完全数据类型检查时 用户选定的数据类型和等价的数据类型 简单数据类型检查时用户选定的数据类型和等价的数据类型 1 数据的类型与长度 在无数据类型检查时 用户选定地址与分配的等价数据类型 1 数据的类型与长度 2 数据长度与数值范围 三 存储器区域 PLC的存储器分为程序区 系统区 数据区 数据区包括 输入映像寄存器 I 输出映像寄存器 Q 变量存储器 V 内部标志位存储器 M 特殊标志位存储器 SM 局部存储器 L 定时器存储器 T 计数器存储器 C 模拟量输入映像寄存器 AI 模拟量输出映像寄存器 AQ 累加器 AC 高速计数器 HC 1 数据区存储器的地址表示格式 1 位编址的指定方式为 区域标志符 字节号 位号如I0 0 Q0 0 I1 2 2 字节 字 双字地址格式用VB100 VW100 VD100表示字节 字 双字的地址 VW100 由VB100 VB101两个字节组成 VD100 由VB100 VB103四个组成 1 数据区存储器的地址表示格式 3 其它地址表示格式 区域标识符 元件号定时器存储器 T 计数器存储器 C 累加器 AC 高速计数器 HC 如 T24C2AC1AC2 1 数据区存储器的地址表示格式 2 数据区存储区域 1 输入 输出映像寄存器 I Q 输入映像寄存器 I 外部输入设备的映像区 PLC通过输入映像区与外部物理设备建立联系 执行程序时 对输入点的读取通常是通过输入映像寄存器区 而不是通过实际的 物理 输入端子 接触器 外部输入电路 SB1 SB2 PLC I0 0 I0 1 I0 0 I0 1 0 0 Q0 0 Q0 1 0 0 1M 输入映象寄存器 输出映象寄存器 I0 2 I0 2 0 Q0 0 Q0 1 1L Q0 2 外部输出电路 输出接口电路 Q0 2 0 输入接口电路 1 输入 输出映像寄存器 I Q 注意 输入映像寄存器的状态只能由外部输入信号驱动 而不能由程序来改变其状态 即在程序中 只能出现输入映像寄存器的触点 而不能出现其线圈 输入映像寄存器 I 的地址格式 位地址 I 字节地址 位地址 如I0 0字节 字 双字地址 I 数据长度 起始位字节地址 如IB4 IW6 ID10 CPU224输入映像寄存器 I 的有效地址范围 I 0 0 15 7 IB 0 15 IW 0 14 ID 0 12 1 输入 输出映像寄存器 I Q 输出映像寄存器 Q 输出映像寄存器是PLC用来向外部负载发送控制命令的窗口 每一个输出端子与输出映像寄存器 Q 的一个相应位想对应 并有无数对常开和常闭触点供编程时使用 PLC的输出映像寄存器区实际上就是外部输出设备的映像区 PLC通过输出映像区与外部物理设备建立联系 执行程序时 对输出点的改变通常是通过输出映像寄存器区 而不是通过实际的 物理 输出端子 1 输入 输出映像寄存器 I Q 接触器 外部输入电路 SB1 SB2 PLC I0 0 I0 1 I0 0 I0 1 0 0 Q0 0 Q0 1 0 1 1M 输入映象寄存器 输出映象寄存器 I0 2 I0 2 0 Q0 0 Q0 1 1L Q0 2 外部输出电路 输出接口电路 Q0 2 0 输入接口电路 输出映像寄存器 Q 的地址格式 位地址 Q 字节地址 位地址 如Q0 0字节 字 双字地址 Q 数据长度 起始位字节地址 如QB4 QW6 QD10 CPU224输出映像寄存器 Q 的有效地址范围 Q 0 0 15 7 QB 0 15 QW 0 14 QD 0 12 1 输入 输出映像寄存器 I Q 2 内部标志位存储器M 内部标志位存储器 用来保存控制继电器的中间操作状态 其作用相当于继电器控制中的中间继电器 注意 内部标志位存储器在PLC中没有输入 输出端子与之对应 其线圈的通断状态只能在程序内部用指令驱动 内部标志位存储器 M 的地址格式 位地址 M 字节地址 位地址 如M0 0字节 字 双字地址 M 数据长度 起始位字节地址 如MB4 MW11 MD26 CPU224内部标志位存储器 M 的有效地址范围 M 0 0 31 7 MB 0 31 MW 0 30 MD 0 28 2 内部标志位存储器M 3 变量存储器V 变量存储器主要用于存储全局变量 或者存放数据运算的中间运算结果或设置参数 变量存储器V的地址格式 位地址 V 字节地址 位地址 如V10 5字节 字 双字地址 V 数据长度 起始位字节地址 如 VB4 VW100 VD320 CPU224变量存储器V的有效地址范围 V 0 0 5119 7 VB 0 5119 VW 0 5118 VD 0 5116 4 局部变量存储器L 局部变量存储器L用来存放局部变量 即变量只能在特定的程序中使用 局部变量存储器L的地址格式 位地址 L 字节地址 位地址 如L1 5字节 字 双字地址 L 数据长度 起始位字节地址 如LB21 LW44 LD55 CPU224局部变量存储器L的有效地址范围 L 0 0 63 7 LB 0 63 LW 0 62 LD 0 60 5 顺序控制继电器S 顺序控制继电器是使用步进顺序控制指令编程时的重要状态元件 通常与步进指令一起使用以实现顺序功能流程图的编程 顺序控制继电器S的地址格式 位地址 S 字节地址 位地址 如S3 1字节 字 双字地址 S 数据长度 起始位字节地址 如SB4 SW10 SD21 CPU224顺序控制继电器S的有效地址范围 S 0 0 31 7 SB 0 31 SW 0 30 SD 0 28 6 特殊标志位存储器SM 特殊标志位存储器是用户程序和系统程序之间的界面 为用户提供特殊的控制功能及系统信息 SM0 0 RUN监控 PLC在RUN方式时 SM0 0总为1 又称常ON继电器 SM0 1 初始脉冲 PLC由STOP转为RUN时 SM0 1接通一个扫描周期 SM0 3 PLC开机后进入RUN方式时 SM0 3接通一个扫描周期 SM0 5 周期为1秒钟 占空比为50 的时钟脉冲 7 定时器存储器T PLC所提供的定时器作用相当于继电器控制系统中的时间继电器 每个定时器可提供无数对常开和常闭触点供编程使用 其设定时间通常由程序设置 地址格式 T 定时器号 如T37有效地址范围 T 0 255 S7 200PLC提供了三种定时器 TON 通电延时TONR 有记忆通电延时TOF 断电延时 S7 200PLC提供了三种定时精度 1ms10ms100ms 8 计数器C 计数器用于累计计数输入端接收到的脉冲电平由低到高的脉冲个数 计数器可提供无数对常开和常闭触点供编程使用 其设定值通常由程序赋予 地址格式 C 计数器号 如C5有效地址范围 C 0 255 S7 200PLC提供了三种计数器 CTU 增计数器CTD 减计数器CTUD 增减计数器 9 模拟量输入映像寄存器 AI S7 200的模拟量输入电路是将外部输入的模拟量信号转换成1个字长的数字量 存入模拟量输入映像寄存器区域 模拟量输入映像寄存器 AI 的地址格式为 AIW 起始字节地址 如AIW4 注 模拟量输入映像寄存器 AI 的地址必须用偶数字节地址 如AIW0 AIW2 AIW4 来表示 CPU226模块模拟量输入映像寄存器 AI 的有效地址的范围为 AIW 0 62 10 模拟量输出映像寄存器 AQ CPU将运算的结果存放在模拟量输出映像寄存器中 供D A转换器将1个字长的数字量转换为模拟量 以驱动外部模拟量控制设备 模拟量输出映像寄存器 AQ 的地址格式为 AQW 起始字节地址 如AQW10 注 模拟量输出映像寄存器 AQ 的地址必须用偶数字节地址 如AQW0 AQW2 AQW4 来表示 CPU226模块模拟量输出映像寄存器 AQ 的有效地址的范围为 AQW 0 62 11 累加器AC 累加器是用来暂存数据的寄存器 它可以用来存放运算数据 中间数据和结果 CPU提供了4个32位的累加器 其地址编号为AC0 AC3 累加器的可用长度为32位 可采用字节 字 双字的存取方式 按字节 字只能存取累加器的低8位或低16位 双字可以存取累加器全部的32位 12 高速计数器HC 一般计数器 计数频率受扫描周期的影响 不能太高 高速计数器 可用来累计比CPU的扫描速度更快的事件 注 高速计数器的当前值是一个双字长 32位 的整数 且为只读值 四 寻址方式 1 立即寻址 S7 200PLC的寻址方式有 立即寻址 直接寻址 间接寻址 定义 指令直接给出操作数 操作数紧跟着操作码 举例 十进制常数 30112十六进制常数 16 42FASCII常数 INPUT 实数或浮点常数 1 1E 10二进制常数 2 01011110 为常数的进制格式说明符 2 直接寻址 定义 指令直接使用存储器或寄存器的元件名称和地址编号 注意 指令中 数据类型应与指令标识符相匹配 不同数据长度的寻址指令举例如下 位寻址 ANDQ5 5字节寻址 ORBVB33 LB21字寻址 MOVWAC0 AQW2双字寻址 MOVDAC1 VD200 3 间接寻址 定义 指令给出了存放操作数地址的存储单元的地址 也称地址指针 注意 可作为地址指针的存储器有 V L AC 1 3 可间接寻址的存储器区域有 I Q V M S T 仅当前值 C 仅当前值 对独立的位 BIT 值或模拟量值不能进行间接寻址 1 建立指针指针 为双字长 是所要访问的存储单元的物理地址 可用作指针的存储器 只能使用 变量存储器 V 局部存储器 L 累加器 AC1 AC3 AC0不能用作间接寻址的指针 建立指针的方法 MOVD VB200 AC1 32位物理地址 双字长 MOVD VD200 AC1 2 间接存取依据指针中的内容值作为地址存取数据 使用指针可存取字节 字 双字型的数据 建立指针和间接存取的应用方法 MOVD VB200 AC1MOVW AC1 AC0MOVD AC1 AC0 3 修改指针存取连续地址的存储单元中数据时 通过修改指针可以非常方便地存取数据 在S7 200PLC中 指针的内容不会自动改变 可用自增或自减等指令修改指针值 这样就可连续地存取存储单元中的数据 修改指针值时 应根据存取的数据长度来进行调整 若对字节进行存取 指针值加1 或减1 若对字进行存取 或对定时器 计数器的当前值进行存取 指针值加2 或减2 若对双字进行存取 则指针值加4 或减4 把指针增加两次 指向下一个字 把AC1 VW202 所指向的字数值送到AC0 五 用户程序结构 用户程序可分为三个程序分区 主程序 子程序 中断程序主程序 OB1 用户程序的主体 每一个扫描周期都要执行一次 子程序 程序的可选部分 只有主程序调用时 才能够执行 中断程序 程序的可选部分 只有中断事件发生时 才能够执行 六 编程的一般规则 1 网络 在梯形图中 程序段被网络分开 在一个网络中 只能放一个程序段 梯形图 LAD 功能块图 FBD 母线 梯形图中左 右垂直线称为左 右母线 梯级 在左 右母线之间是由触点 线圈或功能框组合的有序排列 触点与左母线相连 线圈或功能框终止右母线 从而构成一个梯级 注意 在一个梯级中 左 右母线之间是一个完整的 电路 不允许 短路 开路 也不允许 能流 反向流动 六 编程的一般规则 3 允许输入端 允许输出端在梯形图 LAD 功能块图 FBD 中 功能框的EN端是允许输入端 功能框的允许输入端必须存在 能流 即与之相连的逻辑运算结果为1 即EN 1 才能执行该功能框的功能 在语句表 STL 程序中没有EN允许输入端 但是允许执行STL指令的条件是栈顶的值必须是 1 在梯形图 LAD 功能块图 FBD 中 功能框的ENO端是允许输出端 允许功能框的布尔量输出 用于指令的级联 如果执行过程中存在错误 那么 能流 就在出现错误的功能框终止 即ENO 0 六 编程的一般规则 4 条件 无条件输入条件输入 在梯形图 LAD 功能块图 FBD 中 与 能流 有关的功能框或线圈不直接与左母线连接 无条件输入 在梯形图 LAD 功能块图 FBD 中 与 能流 无关的功能框或线圈直接与左母线连接 例如LBL NEXT SCR SCRE等 5 无允许输出端的指令在梯形图 LAD 功能块图 FBD 中 无允许输出端 ENO 的指令方框 不能用于级联 如CALLSBRN N1 子程序调用指令和LBL SCR等 六 编程的一般规则 5 2S7 200PLC的基本指令及编程方法 5 2 1基本逻辑指令5 2 2立即操作指令5 2 3复杂逻辑指令5 2 4取非触点指令和空操作指令5 2 5定时器和计数器指令5 2 6顺序控制继电器指令5 2 7移位指令5 2 8比较操作指令 S7 200程序的控制逻辑S7 200CPU在执行程序中的指令时要使用逻辑堆栈来解决控制逻辑 用STL编程时 必须熟知逻辑堆栈的结构和堆栈过程 如LDI0 0 AM10 0 LAD和FBD编辑器自动插入处理逻辑堆栈操作所需的指令 在STL中 必须自己插入这些指令处理逻辑堆栈 S7 200PLC逻辑堆栈的结构逻辑堆栈是一组能够存储和取出数据的连续位存储单元 PLC的逻辑堆栈与通用计算机中的堆栈结构相同 堆栈的存取特点是 后进先出 Last In First Out 数据只能从栈顶进出 S7 200PLC主机的逻辑堆栈结构如下表所示 49 一 基本逻辑指令 一 基本逻辑指令 逻辑堆栈结构 是由九个堆栈存储器位组成的串联堆栈 栈顶 是布尔型数据进出堆栈的必由之路 进栈 数据由栈顶压入出栈 数据从栈顶被取出 栈顶 网络1LDI0 0 装载指令 进栈LDI0 1 装载指令 进栈LDI2 0 装载指令 进栈AI2 1 与指令 只改栈顶值OLD 逻辑堆栈指令 栈装载或ALD 逻辑堆栈指令 栈装载与 Q5 0 不影响堆栈 栈底 栈顶 逻辑堆栈中的变化情况 LAD程序 丢失 丢失 丢失 1 装入常开指令 逻辑取 LD LD load 常开触点逻辑运算的开始 LDI0 OQ0 0ANI0 2 Q0 0LDT37 Q0 1 1 标准触点指令 一 基本逻辑指令 LDN loadnot 常闭触点逻辑运算的开始 对操作数的状态取反 LDNI0 1ONQ0 0AI0 2 Q0 0LDT37 Q0 1 2 装入常闭指令LDN 1 标准触点指令 LDI0 0 Q0 0LDNI0 0 M0 0 2 装入常闭指令LDN 1 标准触点指令 触点代表CPU对存储器的读操作 用户程序中 触点可以使用无数次 2 装入常闭指令LDN 1 标准触点指令 线圈驱动 赋值指令 功能 将逻辑运算的结果输出到指定存储器位或输出继电器对应的映像寄存器位 以驱动线圈 线圈 代表CPU对存储器的写操作 用户程序中同一线圈只能使用一次 3 输出指令 1 标准触点指令 A And 串联常开触点 AN Andnot 串联常闭触点 LDI0 0 装入常开触点AM0 0 与常开触点 Q0 0 输出线圈LDQ0 0 装载常开触点ANI0 1 与常闭触点 M0 0 输出线圈AT37 与常开触点 Q0 1 输出线圈 4 触点串联指令A And AN Andnot 1 标准触点指令 并联常开触点 并联常闭触点 LDI0 0OI0 1ONM0 0 Q0 0 5 触点并联指令 O ON 1 标准触点指令 SB2 I0 1 Q0 0 PLC SB1 SB3 I0 2 I0 0 KM1 EL2 Q0 2 Q0 1 1M 1L M3 L1L2L3 QS FU KM1 FR 例1 电动机M 要求两地控制 即在两个不同的地点都能启动和停止 设计梯形图 SB4 I0 3 EL1 例2 电动机M 要求两地控制 在两个不同的地点需同时按下SB1和SB3才能启动电动机 按下SB2和SB4都能使电动机停止 设计梯形图 例3 两台电动机M1 M2 要求顺序控制 即启动时M1启动后M2才能启动 停止时M2停止后M1才能停止 设计梯形图 例4 用PLC实现三组抢答器控制 每组一个按钮 按下后本组的指示灯亮 并且别人按下不再起作用 另有一按钮按下所有的指示灯复位 可重新抢答 设计梯形图 正跳变 指令格式 EU负跳变 指令格式 ED 正跳变触点每检测到一个正跳变 由OFF变为ON 能让其后的触点或线圈接通一个扫描周期 负跳变触点每检测到一个负跳变 由ON变为OFF 能让其后的触点或线圈接通一个扫描周期 2 正负跳变指令 一 基本逻辑指令 LDI0 1EU Q0 0 LDI0 1ED Q0 1 2 正负跳变指令 一 基本逻辑指令 置位指令S 使能输入有效后从起始位S bit开始的N个位置 1 并保持 复位指令R 使能输入有效后从起始位S bit开始的N个位清 0 并保持 3 置位 复位指令S R 一 基本逻辑指令 LDI0 2SQ0 0 1LDI0 3RQ0 0 1 3 置位 复位指令S R 一 基本逻辑指令 指令应用 自锁电路 3 置位 复位指令S R 一 基本逻辑指令 指令使用说明 对同一元件 同一寄存器的位 可以多次使用S R指令 由于是扫描工作方式 当置位 复位指令同时有效时 写在后面的指令具有优先权 操作数N为 VB IB QB MB SMB SB LB AC 常量 取值范围为 0 255 数据类型为 字节 操作数S bit为 I Q M SM T C V S L 数据类型为 布尔 置位复位指令通常成对使用 也可以单独使用或与指令盒配合使用 3 置位 复位指令S R 一 基本逻辑指令 二 立即操作指令 立即指令允许对输入输出点进行快速和直接存取 当用立即指令读取输入点的状态时 相应的输入映像寄存器中的值并未发生更新 当用立即指令访问输出点时 访问的同时 相应的输出映像寄存器的内容也被刷新 只有输入继电器I和输出继电器Q可以使用立即指令 这类指令有立即触点指令 立即输出指令 立即置位指令 立即复位指令 接触器 输入电路 程序执行 SB1 SB2 读取输入 PLC I0 0 I0 1 I0 0 I0 1 1 0 0 0 Q0 0 Q0 1 0 0 COM 输入电路 输入映象寄存器 输出电路 输出映象寄存器 接触器 输入电路 SB1 SB2 程序执行 PLC I0 0 I0 1 I0 0 I0 1 1 0 0 0 Q0 0 Q0 1 1 0 I0 0 I0 1 Q0 0 Q0 0 Q0 0 Q0 1 COM 输入电路 输入映象寄存器 输出电路 输出映象寄存器 接触器 输入电路 SB1 SB2 程序执行 PLC I0 0 I0 1 I0 0 I0 1 1 0 0 0 Q0 0 Q0 1 1 0 I0 0 I0 1 Q0 0 Q0 0 Q0 0 Q0 1 COM 输入电路 输入映象寄存器 输出电路 输出映象寄存器 接触器 输入电路 SB1 SB2 程序执行 PLC I0 0 I0 1 I0 0 I0 1 1 0 0 0 Q0 0 Q0 1 1 1 I0 0 I0 1 Q0 0 Q0 0 Q0 0 Q0 1 COM 输入电路 输入映象寄存器 输出电路 输出映象寄存器 接触器 输入电路 SB1 SB2 改写输出 PLC I0 0 I0 1 I0 0 I0 1 1 0 1 1 Q0 0 Q0 1 1 1 I0 0 I0 1 Q0 0 Q0 0 Q0 0 Q0 1 COM 输入电路 输入映象寄存器 输出电路 输出映象寄存器 接触器 输入电路 SB1 SB2 立即指令读取输入 PLC I0 0 I0 1 I0 0 I0 1 1 0 0 0 Q0 0 Q0 1 0 0 I0 0 I0 1 Q0 0 Q0 0 Q0 0 Q0 1 COM 输入电路 输入映象寄存器 输出电路 输出映象寄存器 I 接触器 输入电路 SB1 SB2 立即输出指令 PLC I0 0 I0 1 I0 0 I0 1 1 0 0 1 Q0 0 Q0 1 1 1 I0 0 I0 1 Q0 0 Q0 0 Q0 0 I Q0 1 COM 输入电路 输入映象寄存器 输出电路 输出映象寄存器 1 立即触点指令 指令执行时 立即读取物理输入点的值 但不刷新相应的输入映像寄存器中的值 指令格式 LDII0 0 立即输入指令 LDI LDNI AI ANI OI ONI 二 立即操作指令 指令执行时 立即指令访问输出点的同时 刷新相应的输出映像寄存器中的值 指令格式 IQ0 0 2 立即输出指令 二 立即操作指令 立即置位指令访问输出点时 从指令所指出的位 bit 开始的N个 最多128个 物理输出点立即被置位 同时 相应的输出映像寄存器中的内容也被刷新 指令格式 SIbit n例 SIQ0 2 3 3 立即置位指令 二 立即操作指令 立即复位指令访问输出点时 从指令所指出的位 bit 开始的N个 最多128个 物理输出点立即被复位 同时 相应的输出映像寄存器中的内容也被刷新 指令格式 RIbit n例 RIQ0 2 3 4 立即复位指令 二 立即操作指令 应用举例 LDI0 0 装入常开触点 Q0 0 输出触点 非立即 IQ0 1 立即输出触点SIQ0 2 1 Q0 2始的1个点被立即置1LDII0 0 立即输入触点指令 Q0 3 输出触点 非立即 应用举例 LDI0 0 Q0 0 IQ0 1SIQ0 2 1LDII0 0 Q0 3 基本逻辑指令涉及可编程元件的触点和线圈的简单连接 不能表达在梯形图中触点的复杂连接结构 复杂逻辑指令主要用来描述对触点进行的复杂连接 同时 它们对逻辑堆栈也可以实现非常复杂的操作 本类指令包括 ALD OLD LPS LRD LPP和LDS 这些指令中除LDS外 其余指令都无操作数 三 复杂逻辑指令 定义 ALD ndload 用于串联连接并联触点组成的电路块 指令格式 ALD 1 栈装载与指令ALD 三 复杂逻辑指令 LDI1 0 装入常开触点OI1 2 或常开触点LDI1 1 装入常开触点OI1 2 或常开触点ALD 块与操作 Q0 0 输出线圈 ALD指令使用说明 并联电路块与前面电路串联连接时 使用ALD指令 分支的起点用LD LDN指令 并联电路结束后使用ALD指令与前面电路串联 如果有多个并联电路块串联 顺次使用ALD指令与前面支路连接 支路数量没有限制 ALD指令无操作数 ALD指令应用 练习1 写出以下梯形图的语句表语言形式 ALD指令应用 练习2 写出以下梯形图的语句表语言形式 问题 以上例题说明了什么 定义 OLD ORLOAD 用于并联连接串联触点组成的电路块 指令格式 2 逻辑环节 电路块 的并联指令OLD 三 复杂逻辑指令 OLD指令使用说明 2 逻辑环节 电路块 的并联指令OLD 三 复杂逻辑指令 几个串联支路并联连接时 其支路的起点以LD LDN开始 以OLD结束 如需将多个支路并联 从第二条支路开始 在每一条支路后面加OLD指令 OLD指令没有操作数 S0 I1 4 I0 3S1 I3 2 T16S2 S0 S1S3 C24 I1 2 2 逻辑环节 电路块 的并联指令OLD 三 复杂逻辑指令 2 逻辑环节 电路块 的并联指令OLD 三 复杂逻辑指令 指令格式 LPS 逻辑推入栈指令 分支或主控指令 堆栈操作 用于复制栈顶的值并将这个值推入栈顶 原堆栈中各级栈值依次下压一级 作用 在梯形图中的分支结构中 用于生成一条新的母线 左侧为主控逻辑块时 第一个完整的从逻辑行从此处开始 返回 3 逻辑推入栈指令 三 复杂逻辑指令 指令格式 LRD 逻辑读栈指令 堆栈操作 把堆栈中第二级的值复制到栈顶 堆栈没有推入栈或弹出栈操作 但原栈顶值被新的复制值取代 作用 在梯形图中的分支结构中 当左侧为主控逻辑块时 开始第二个和后边更多的从逻辑块 注意 LPS后第一个和最后一个从逻辑块不用本指令 4 逻辑读栈指令 三 复杂逻辑指令 指令格式 LPP 逻辑栈弹出指令 分支结束或主控复位指令 堆栈操作 堆栈作弹出栈操作 将栈顶值弹出 原堆栈中各级栈值依次上弹一级 堆栈第二级的值成为新的栈顶值 作用 在梯形图中的分支结构中 用于将LPS指令生成的一条新母线进行恢复 应注意 LPS与LPP必须配对使用 5 逻辑栈弹出指令 三 复杂逻辑指令 指令格式 LDS 装入堆栈指令 堆栈操作 复制堆栈中的第级的值到栈顶 原栈中各级栈值依次下压一级 栈底值丢失 6 装入堆栈指令 三 复杂逻辑指令 LPS LRD LPP LDS指令的操作过程 应用举例 LDI0 0 装入常开触点OI2 2 或常开触点LDI0 1 被串的块开始LDI2 0 被并路开始AI2 1 与常开触点OLD 栈装载或 并路结束ALD 栈装载与 串路结束 Q5 0 输出触点 LDI0 0 装入常开触点LPS 逻辑推入栈 主控AI0 5 与常开触点 Q7 0 输出触点LRD 逻辑读栈 新母线LDI2 1 装入常开触点OI1 3 或常开触点ALD 栈装载与 Q6 0 输出触点LPP 逻辑弹出栈 母线复原LDI3 1 装入常开出触点OI2 0 或常开触点ALD 栈装载与 Q1 3 输出触点 NOT 取非触点指令 用来改变能流的状态 能流到达取非触点时 能流就停止 能流未到达取非触点时 能流就通过 在语句表中 取非触点指令对堆栈的栈顶作取反操作 改变栈顶值 栈顶值由0变为1 或者由1变为0 取非触点指令无操作数 四 取非触点指令和空操作指令 1 取非触点指令 指令格式 NOPN 空操做指令 作用 使能输入有效时 执行空操作指令 空操做指令不影响用户程序的执行 注意 操作数N为空操作执行的次数 是一个0 225的常数 LDI0 0 使能输入NOP30 空操作指令 标号为30 四 取非触点指令和空操作指令 2 空操作指令 编程注意事项及编程技巧 梯形图语言中的语法规定 程序应按自上而下 从左至右的顺序编写 同一操作数的输出线圈在一个程序中不能使用两次 不同操作数的输出线圈可以并行输出 线圈不能直接与左母线相连 如果需要 可以通过特殊内部标志位存储器SM0 0 该位始终为1 来连接 梯形图语言中的语法规定 适当安排编程顺序 以减少程序的步数 1 串联多的支路应尽量放在上部 如图所示 2 并联多的支路应靠近左母线 如图所示 编程注意事项及编程技巧 定时器编程时提前输入时间预设值 在运行时 当定时器的输入条件满足时开始计时当前值从0开始按一定的时间单位增加当定时器的当前值达到预设值时 定时器发生动作 发出中断请求 以便PLC响应而作出相应的动作 此时它对应的常开触点闭合 常闭触点断开 系统提供3种定时指令 TON 通电延时 TONR 有记忆通电延时 和TOF 断电延时 S7 200定时器的分辨率 时间增量 时间单位 分辨率 有3个等级 1ms 10ms和100ms 分辨率等级和定时器号关系如表所示 五 定时器和计数器指令 1 定时器指令 定时时间的计算 T PT S T为实际定时时间 PT为预设值 S为分辨率等级 例如 TON指令用定时器T33 预设值为125 则实际定时时间T 125 10 1250ms 1 定时器指令 说明 每个定时器均有一个16位的当前值寄存器用以存放当前值 16位符号整数 一个16位 1 32767 的预置值寄存器用以存放时间的设定值 一个位状态位 反应其触点的状态 1 定时器指令 1 接通延时定时器指令 TON T37 编号 定时器名和它的常数编号 0 255 IN 使能输入端 当使能输入端接通 即有能流流到定时器时 开始定时 使能输入端断开 定时器复位 PT 预设置 指定定时器的定时时间 数据类型为INT型 寻址范围可以是常数 IW QW MW等 1 定时器指令 LDI0 0TONT37 100LDT37 Q0 0 1 接通延时定时器指令 TON 1 定时器指令 工作原理 当I0 0接通时即使能端 IN 输入有效时 驱动T37开始计时 当前值从0开始递增 计时到设定值PT时 T37状态位置1 其常开触点T37接通 驱动Q0 0输出 其后当前值仍增加 但不影响状态位 当前值的最大值为32767 当I0 0分断时 使能端无效时 T37复位 当前值清0 状态位也清0 即回复原始状态 若I0 0接通时间未到设定值就断开 T37则立即复位 Q0 0不会有输出 1 接通延时定时器指令 TON 1 定时器指令 例1 一台电动机 要求按下启动按钮SB110分钟后 电动机自行启动 按下按钮SB2后电动机停止 设计梯形图 例2 三只灯泡 按下启动按钮SB1 10S后EL1自动点亮 20S后EL2自动点亮 30S后EL3自动点亮 按下停止按钮SB2 全部灭 例3 一只灯泡 按下启动按钮SB1后 EL1亮 2分钟后 自动熄灭 例4 三只灯泡 按下启动按钮SB1后 三只灯全亮 10S后EL1自动灭 20S后EL2自动灭 30S后EL3自动灭 例5 有一台电动机 要求按下启动按钮SB160分钟后 电动机自行启动 按下停止按钮SB2后停止 例6 一台电动机 按下启动按钮SB1后 电动机正转 10秒后反转 反转10秒后又正转 并循环 按下按钮SB2后停止 例6 KM1 KM2 例6 KM1 KM2 例6 KM1 KM2 例6 KM1 KM2 例6 KM1 KM2 例6 KM1 电动机正转 KM2 例6 KM1 电动机正转 KM2 0秒 10 t 例6 KM1 电动机正转 KM2 0秒 10 t 例6 KM1 KM2 0秒 10 t 例6 KM1 KM2 0秒 10 t 例6 KM1 KM2 电动机反转 0秒 10 t 例6 KM1 KM2 电动机反转 0秒 10 t 20 例6 KM1 KM2 电动机反转 0秒 10 t 20 例6 KM1 KM2 电动机反转 0秒 10 t 20 例6 KM1 KM2 0秒 10 t 20 例6 KM1 KM2 0秒 10 t 20 例6 KM1 KM2 0秒 10 t 20 例6 KM1 KM2 0秒 10 t 20 例6 KM1 电动机正转 KM2 0秒 10 t 20 例6 KM1 电动机正转 KM2 0秒 10 t 20 例6 KM1 电动机正转 KM2 0秒 10 t 20 例6 KM1 电动机正转 KM2 0秒 10 t 20 例6 KM1 电动机正转 KM2 0秒 10 t 20 30 例7 三只彩灯 依次点亮10秒钟 并循环 例8 三只彩灯 按下启动按钮SB1后 绿灯点亮42秒钟后灭 接着黄灯点亮3秒钟后灭 接着红灯点亮45秒钟后灭 接着又是绿灯亮 并循环 断电延时型定时器用来在输入断开并延时一段时间后 才断开输出 使能端 IN 输入有效时 定时器输出状态位立即置1 当前值复位为0 使能端 IN 断开时 定时器开始计时 当前值从0递增 当前值达到预置值时 定时器状态位复位为0 并停止计时 当前值保持 如果输入断开的时间 小于预定时间 定时器仍保持接通 IN再接通时 定时器当前值仍设为0 断电延时定时器的应用程序及时序分析如图所示 2 断开延时定时器指令TOF 1 定时器指令 实例 一台电动机 要求按下启动按钮SB1后立即启动 按下按钮SB2后 电动机延时10分钟后停止 设计梯形图 工作原理 使能端 IN 输入有效时 接通 定时器开始计时 当前值递增 当前值大于或等于预置值 PT 时 输出状态位置1 使能端输入无效 断开 时 当前值保持 记忆 使能端 IN 再次接通有效时 在原记忆值的基础上递增计时 注意 TONR记忆型通电延时型定时器采用线圈复位指令R进行复位操作 当复位线圈有效时 定时器当前位清零 输出状态位置0 3 保持型接通延时定时器 TONR 1 定时器指令 小结1 以上介绍的3种定时器具有不同的功能 接通延时定时器 TON 用于单一间隔的定时 有记忆接通延时定时器 TONR 用于累计时间间隔的定时 断开延时定时器 TOF 用于故障事件发生后的时间延时 小结2 应用定时器指令应注意的几个问题 不能把一个定时器号同时用作断开延时定时器 TOF 和接通延时定时器 TON 使用复位 R 指令对定时器复位后 定时器位位 0 定时器当前值为 0 有记忆接通延时定时器 TONR 只能通过复位指令进行复位 对于断开延时定时器 TOF 需要输入端有一个负跳变 由on到off 的输入信号启动计时 1 1ms分辨率定时器启动后 定时器对1ms的时间间隔 时基信号 进行计时 定时器当前值每隔1ms刷新一次 在一个扫描周期中要刷新多次 而不和扫描周期同步 2 10ms分辨率定时器启动后 定时器对10ms的时间间隔进行计时 程序执行时 在每次扫描周期开始对10ms定时器刷新 在一个扫描周期内定时器当前值保持不变 3 100ms分辨率定时器启动后 定时器对100ms的时间间隔进行计时 只有在定时器指令执行时 100ms定时器的当前值才被刷新 不同精度的定时器 它们当前值的刷新周期是不同的 具体情况如下 小结3 在图a中 T32定时器1ms更新一次 当定时器当前值100在图示A处刷新 Q0 0可以接通一个扫描周期 若在其他位置刷新 Q0 0则用永远不会接通 而在A处刷新的概率是很小的 若改为图b 就可保证当定时器当前值达到设定值时 Q0 0会接通一个扫描周期 图a同样不适合10ms分辨率定时器 小结4 在子程序和中断程序中不易使用100ms定时器 子程序和中断程序不是每个扫描周期都执行的 那么在子程序和中断程序中的100ms定时器的当前值就不能及时刷新 造成时基脉冲丢失 致使计时失准 在主程序中 不能重复使用同一个100ms的定时器号 否则该定时器指令在一个扫描周期中多次被执行 定时器的当前值在一个扫描周期中多次被刷新 这样 定时器就会多计了时基脉冲 同样造成计时失准 因而 100ms定时器只能用于每个扫描周期内同一定时器指令执行一次 且仅执行一次的场合 计数器 用来累计输入脉冲的次数 是应用非常广泛的编程元件 经常用来对产品进行计数 计数器编程时 输入它的预设值PV 计数的次数 计数器累计它的脉冲输入端电位上升沿 正跳变 个数 当计数器达到预设值PV时 相应状态发生变化 计数器指令有3种 增计数CTU 增减计数CTUD和减计数CTD 指令操作数有4方面 编号 预设值 脉冲输入 复位输入 五 定时器和计数器指令 2 计数器指令 1 加计数器指令CTU 首次扫描 计数器位OFF 当前值0 在增计数器的计数输入端 CU 脉冲输入的每个上升沿 计数器计数1次 当前值增加1个单位 当前值达到预设值时 计数器位ON 当前值继续计数到32767停止计数 复位输入有效或执行复位指令 计数器自动复位 即计数器位OFF 当前值为0 指令格式 CTUCxxx PV 例 CTUC20 3 2 计数器指令 LDI0 0LDI0 1CTUC4 4 格式 1 加计数器指令CTU 2 计数器指令 梯形图指令符号中 CU为加计数脉冲输入端 R为加计数复位端 PV为预置值 Cxxx为计数器的编号 范围为 C0 C255 LDI0 0LDI0 1CTUC4 4 格式 1 加计数器指令CTU 2 计数器指令 PV预设值最大范围 32767 PV的数据类型 INT PV操作数为 VW T C IW QW MW SMW AC AIW 常数 I0 1 C4的当前值 0 1 I0 0 C4 I0 1 C4的当前值 0 1 I0 0 C4 2 I0 1 C4的当前值 0 1 I0 0 C4 2 3 I0 1 C4的当前值 0 1 I0 0 C4 2 3 4 I0 1 C4的当前值 0 1 I0 0 C4 2 3 4 5 I0 1 C4的当前值 0 1 I0 0 C4 2 3 4 5 0 I0 1 C4的当前值 0 1 I0 0 C4 2 3 4 5 小结 当R 0时 计数脉冲有效 当CU端有上升沿输入时 计数器当前值加1 当计数器当前值大于或等于设定值 PV 时 该计数器的状态位C bit置1 即其常开触点闭合 计数器仍计数 但不影响计数器的状态位 直至计数达到最大值 32767 当R 1时 计数器复位 即当前值清零 状态位C bit也清零 加计数器计数范围 0 32767 例1 按下按钮SB310次 EL亮 按下按钮SB4 EL灭 设计梯形图 例2 按下按钮SB350000次 EL亮 按下按钮SB4 EL灭 设计梯形图 方法一 I0 2 CTU 25000 CU PV C1 R Q0 0 C2 CTU CU PV C2 R C1 I0 2 I0 3 I0 3 25000 方法二 I0 2 CTU 10000 CU PV C1 R Q0 0 C2 CTU CU PV C2 R C1 方法二 I0 2 CTU 10000 CU PV C1 R Q0 0 C2 CTU CU PV C2 R C1 C1 方法二 I0 2 CTU 10000 CU PV C1 R Q0 0 C2 CTU CU PV C2 R C1 C1 5 I0 2 CTU 10000 CU PV C1 R Q0 0 C2 CTU CU PV C2 R C1 C1 5 I0 3 I0 3 方法二 例3 一台电动机M1 要求按下启动按钮SB110分钟后 电动机自行启动 按下按钮SB2后电动机停止 设计梯形图 用计数器指令实现 例3 CTU CU PV C1 R Q0 0 C1 SM0 5 CTU CU PV C1 R Q0 0 C1 例3 SM0 5 CTU CU PV C1 R Q0 0 C1 600 例3 SM0 5 CTU CU PV C1 R Q0 0 C1 600 I0 1 启动按钮 SM0 5 CTU CU PV C1 R Q0 0 C1 600 I0 1 I0 0 M0 0 I0 1 M0 0 M0 0 例3 例4 一台电动机M1 要求按下启动按钮SB110小时后 电动机自行启动 按下按钮SB2后电动机停止 设计梯形图 用一个定时器和一个计数器实现 Q0 0 C1 CTU CU PV C1 R I0 0 M0 0 I0 1 M0 0 M0 0 IN TON 100 PT IN T37 100ms PT TON T37 18000 Q0 0 C1 CTU CU PV C1 R I0 0 M0 0 I0 1 M0 0 M0 0 IN TON 100 PT 18000 IN T37 100ms PT TON T37 20 Q0 0 C1 CTU CU PV C1 R I0 0 M0 0 I0 1 M0 0 M0 0 IN TON 100 PT IN T37 PT TON T37 20 T37 18000 100ms LDI0 0LDI0 1CTDC5 3 CD为减计数脉冲输入端 LD为减计数复位端 PV为预置值 2 减计数器指令CTD 2 计数器指令 3 I0 0 I0 1 C5当前值 C5 3 I0 0 I0 1 C5当前值 C5 2 3 I0 0 I0 1 C5当前值 C5 2 1 3 I0 0 I0 1 C5当前值 C5 2 0 1 3 I0 0 I0 1 C5当前值 C5 2 0 1 3 I0 0 I0 1 C5当前值 C5 2 0 1 3 3 I0 0 I0 1 C5当前值 C5 2 0 1 3 3 I0 0 I0 1 C5当前值 C5 2 0 1 3 2 功能总结 在复位脉冲I0 1有效时 即I0 1 1时 当前值等于预置值 计数器的状态置0 当复位脉冲I0 1 0 计数器有效 在CD端每来一个脉冲的上升沿 当前值减1计数 当前值从预置值开始减至0时 计数器的状态位C bit 1 Q0 0 1 在复位脉冲I0 1有效时 即I0 1 1时 计数器CD端即使有脉冲上升沿 计数器也不减1计数 LDI1 0LDI1 1LDI1 2CTUDC5 3 CU为加计数脉冲输入端 CD为减计数脉冲输入端 R为计数复位端 PV为预置值 2 加减计数器指令CTUD 2 计数器指令 0 I1 0 I1 1 I1 2 C5当前值 C5状态位 1 2 3 4 5 4 3 4 5 0 4 首次扫描 定时器位OFF 当前值为0 CU输入的每个上升沿 计数器当前值增加1个单位 CD输入的每个上升沿 都使计数器当前值减小1个单位 当前值达到预设值时 计数器位ON 增减计数器计数到32767 最大值 后 下一个CU输入的上升沿将使当前值跳变为最小值 32768 反之 当前值达到最小值 32768 时 下一个CD输入的上升沿将使当前值跳变为最大值 32767 复位输入有效或执行复位指令 计数器自动复位 即计数器位OFF 当前值为0 2 加减计数器指令CTUD 2 计数器指令 计数器总结 可以用复位指令对3种计数器复位 复位的结果是 使计数器位变为OFF 同时当前值复位 在一个程序中 同一个计数器编号只能使用一次 脉冲输入和复位输入同时有效时 复位优先 六 顺序控制继电器指令 S7 200CPU含有256个顺序控制继电器 SCR 用于顺序控制 S7 200包含顺序控制指令 可以模仿控制进程的步骤 对程序逻辑分段 可以将程序分成单个流程的顺序步骤 也可同时激活多个流程 可以使单个流程有条件地分成多支单个流程 也可以使多个流程有条件地重新汇集成单个流程 从而对一个复杂的工程可以十分方便地编制控制程序 系统提供3个顺序控制指令 顺序控制开始指令 LSCR 顺序控制转移指令 SCRT 顺序控制结束指令 SCRE 返回 1 段开始指令 LSCR 定义一个顺序控制继电器段的开始 操作数为顺序控制继电器位Sx y Sx y作为本段的段标志位 当Sx y位为1时 允许该SCR段工作 一个SCR段必须用该指令来结束 返回 六 顺序控制继电器指令 1 顺序继电器指令 2 段结束指令 SCRE 该指令用来实现本段与另一段之间的切换 操作数为顺序控制继电器位Sx y Sx y是下一个SCR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 审核岗位笔试题目及答案
- 2025年标准车位销售合作伙伴协议
- 编程大赛考试题及答案
- 2024关于食品安全主题班会教案高中
- 2025奶粉采购合同范文
- 2025年乡村电商入门测试题及答案解析
- 2025年商务办公桌椅采购协议范本
- 2025年退休人员医疗保健续签合同
- 2025年大数据分析伙伴关系协议
- 叉车培训理论知识试题及答案
- (正式版)JBT 9229-2024 剪叉式升降工作平台
- 沃特玛通信基站用铁锂电池
- 曲臂车操作规程含曲臂式高空作业车专项施工方案报审表
- 2019版新人教版高中英语必修+选择性必修共7册词汇表汇总(带音标)
- 熟食行业食品安全培训
- 度假村项目策划书
- 黑龙江小学生诗词大赛备考试题库400题(一二年级适用)
- 《HSK标准教程1》第4课课件
- 混凝土裂缝处理的讲座
- 物理化学实验:实验一 溶解热的测定
- 高一数学开学第一课(纯课件版)
评论
0/150
提交评论