已阅读5页,还剩120页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章可编程序控制器的基本指令及程序设计 一 基本指令二 程序控制指令三 PLC编程规则四 典型环节程序示例五 PLC程序的简单设计法 逻辑取及线圈驱动指令触点串联指令触点并联指令串联电路块的并联连接指令并联电路块的串联连接指令置位复位指令RS触发器指令立即指令边沿脉冲指令逻辑堆栈操作指令定时器计数器比较指令NOT及NOP指令 一 PLC的基本逻辑指令及举例 一 PLC基本逻辑指令及举例 S7 200系列PLC逻辑指令共有106条 厂家提供了梯形图 LAD 语句表 STL 功能块图 FBD 和顺序流程图几种编程语言 其中LAD和STL是最基本的也是最常用的编程语言 本章以这两种语言为例介绍其应用 1 装入触点指令及驱动指令LD LOAD 装入触点指令 用于网络块逻辑运算开始的常开触点与母线的连接 LDN LOADNOT 取反指令 用于网络块逻辑运算开始的常闭触点与母线的连接 OUT 线圈的驱动指令图3 1为上面三条指令的用法注意事项 3 LD LDN指令不只是用于网络块逻辑计算开始时与母线相连的常开和常闭触点 在分支电路块的开始也使用LD LDN指令 与后面要讲的LD OLD指令配合完成块电路的编程 指令不能用于输入继电器 指令可连续使用任意次 在同一线圈中不要使用双线圈输出 LD LDN操作数为I Q M SM T C V S 的操作数为Q M S V 2 触点串联指令 A And 与指令 用于单个常开触点的串联连接 AN AndNot 与反指令 用于单个常闭触点的串联连接 注意事项 A AN是单个触点串联连接指令 可连续使用 编程时只受到打印宽度和屏幕显示的限制 例中可以反复使用 指令 但次序必须正确 A AN指令的操作数为 I Q M SM T C V S和L LDM0 0LPSAM0 1 Q0 0LPP Q0 1 网络1 I0 0 M0 1 网络2连续输出 I0 2 Q0 0 M0 3 T5 Q0 3 M0 4 Q0 1 LDI0 0AM0 0 Q0 0LDM0 1ANI0 2 M0 3AT5 Q0 3ANM0 4 Q0 1 a 梯形图 b 语句表 M0 0 3 触点并联指令 O or 或指令 用于单个常开触点的并联连接 ON ornot 或反指令 用于单个常闭触点的并联连接 单个触点的O ON指令可连续使用O ON指令的操作数为 I Q M SM T C V S 和L 注意事项 M0 0 M0 1 M0 2 I0 1 I0 0 Q0 0 LDM0 0OM0 1ONM0 2AI0 0OI0 1 Q0 0 a 梯形图 b 语句表 网络1触点的并联电路举例 4串联电路块的并联连接指令 OLD orload 或块指令 用于串联电路块的并联连接两个以上触点串联形成的支路叫串联电路块 在电路块的开始也要使用LD LDN指令每完成一次块电路的并联时要写上OLD指令OLD指令无操作数 注意事项 I0 0 I0 1 I0 2 M0 0 M0 1 M0 2 M0 3 Q0 0 LDI0 0AM0 0LDI0 1ANM0 1OLDLDNI0 2AM0 2OLDAM0 3 Q0 0 a 梯形图 b 语句表 网络1OLD指令使用举例 5并联电路块的串联连接指令 ALD AndLoad 与块指令 用于并联电路块的串联连接两条以上支路并联形成的电路叫并联电路块 注意事项 在块电路开始时要使用LD和LDN指令在每完成一次块电路的串联连接后要写上ALD指令ALD指令无操作数 网络1ALD指令使用举例 I0 0 I0 1 M0 0 M0 2 M0 1 M0 3 Q0 0 LDI0 0OI0 1LDM0 0AM0 1LDM0 2ANM0 3OLDALD Q0 0 a 梯形图 b 语句表 6 置位 复位指令 表1置位复位指令的功能表 网络1置位 网络2复位 I0 0 Q0 0 LDI0 0SQ0 0 2LDI0 1RQ0 1 2 I0 0 I0 1 a 梯形图 b 语句表 c 时序图 Q0 0 Q0 1 对元件来说一旦被置位 就保持在通电状态 除非在对它复位 而一旦被复位 就保持在断电状态 除非在对它置位S R指令可以互换次序使用 但由于PLC采用扫描工作方式 所以写在后面的指令具有优先权如果对记数器和定时器复位 则记数器和定时器的当前值被清零N的常数范围为1 255 N也可为 VB IB QB MB SMB SB LB AC 常数 VD AC LD 一般情况下使用常数S R指令的操作数为 I Q M SM T C V S 和L 注意事项 7 RS触发指令 SR setdominantbistable 置位优先触发指令 当置位信号和复位信号都为真时 输出为真 RS resetdominantbistable 复位优先触发指令 当置位信号和复位信号都为真时 输出为假 R S1 SR OUT bit R1 S RS OUT bit RS触发器指令的真值表 网络1 网络2 I0 0 I0 1 I0 0 I0 1 Q0 0 Q0 1 a 梯形图 b 时序图 8 立即指令 Immediately 立即指令是为了提高PLC对输入 输出的响应速度而设置 不受PLC循环工作方式的影响 允许对输入和输出点进行快速直接存取 对I操作 相应的输入映像寄存器的值并未更新 当用立即指令访问输出点时 对Q操作 新值同时写到PLC的物理输出点和相应的输出映像寄存器 网络1立即指令举例 LDI0 0 Q0 0 IQ0 1SIQ0 2 1LDII0 0 Q0 3 a 梯形图 b 语句表 扫描周期n n 1 n 2 n 3 Q0 0映像寄存器 Q0 1映像寄存器 Q0 2映像寄存器 Q0 3映像寄存器 Q0 0物理触点 Q0 1物理触点 Q0 2物理触点 Q0 3物理触点 c 时序图 输入采样 输出刷新 I0 0 注意 用立即输出指令访问输出点时 在输入采样时刻 对Q进行操作 新值既写物理输出点 也写输出映像寄存器 t t 9 边沿脉冲指令 P N 网络1边沿脉冲指令举例 网络2 网络3 网络4 I0 0 M0 0 I0 1 M0 1 M0 1 M0 0 LDI0 0EU M0 0LDM0 0SQ0 0 1LDI0 1ED M0 1LDM0 1RQ0 0 1 I0 0 a 梯形图 b 语句表 c 时序图 10 逻辑堆栈操作指令 LPS logicpush 逻辑入栈指令 LRD logicread 逻辑读栈指令 LPP logicpop 逻辑出栈指令 LDS loadstack 装入堆栈指令 使用举例1 使用举例2 使用举例3 s7 PLC使用9层堆栈来处理所有的逻辑操作 逻辑堆栈指令主要完成对触点进行的复杂连接 注意事项 分支电路开始指令 其作用是把栈顶值复制后压入堆栈 开始第二个以后的从逻辑块的编程 其作用是读取最近LPS压入堆栈的内容 而本身不进行PUSH和POP工作 分支电路结束指令 其作用把堆栈弹出一级 堆栈内容依次上移 复制堆栈中的n个值到栈顶 而栈底丢失 STL LDSn n为0 8的整数 网络1LPS LRD LPP指令使用举例1 M1 2 Q0 3 M1 1 Q0 2 M1 0 M0 5 M0 4 Q0 1 M0 3 M0 2 M0 1 Q0 0 M0 0 I0 0 LDI0 0LPSLDM0 0OM0 1ALD Q0 0LRDLDM0 2AM0 3LDNM0 4 AM0 5OLDALD Q0 1LPPAM1 0 Q0 2LDM1 1ONM1 2ALD Q0 3 a 梯形图 b 语句表 BACK 网络1LPS LRD LPP指令使用举例2 Q0 0 Q0 1 Q0 2 Q0 3 M0 3 M0 6 M0 5 M0 4 M0 2 M0 1 M0 0 LDM0 0LPSAM0 1LPSANM0 2 Q0 0LPPAM0 3 Q0 1 a 梯形图 b 语句表 LPPAM0 4LPSAM0 5 Q0 2LPPANM0 6 Q0 3 网络1LPS LRD LPP指令使用举例3 LDM0 0LPSAM0 1LPSAM0 2LPSAM0 3 Q0 0 LPP Q0 1LPP Q0 2LPP Q0 3 a 梯形图 b 语句表 注意事项 受堆栈空间的限制 9层堆栈 LPS LPP指令连续使用时应少于9次 LPS和LPP指令必须成对使用 它们之间可以使用LRD指令 LPS LRD LPP指令无操作数 LDS指令使用举例 例 LDS3 11 定时器 1 种类定时器可分为2 分辨率与定时时间的计算单位时间的时间增量称为定时器的分辨率 定时器定时时间T的计算 T PT ST 实际定时时间PT 定时时间S 分辨率PT数据类型为INT型 操作数可为 VW IW QW MW SW SMW LW AIW T C AC VD AC LD和常数3 定时器的编号定时器的编号用定时器的名称和它的常数编号 最大为255 即TXXX 如T40定时器的编号包含两方面的信息 定时器位和定时器当前值 定时器位 当定时器的当前值达到设定值PT时 定时器的触点动作 定时器当前值 存储定时器当前所累计的时间 它用16位符号的整数来表示 最大计数值为32767使能输入 BOOL型 可以是I Q M SM T C V S L 定时器的分辨率与编号 4 定时器指令使用说明 1 接通延时定时器TON On DelayTimer 接通延时定时器用于单一时间间隔的定时 其LAD符号 STL格式 TONTXXX PT 如 TONT120 8 8 100ms IN TXXX位 T 2 记忆接通延时定时器TONR RetentiveOn DelayTimer 记忆接通延时定时器具有记忆功能 它用于对许多间隔的累计定时 上电周期或者首次扫描时 定时器位为OFF 当前值保持在掉电前的值 当输入接通时 当前值从上次所保持值继续计时 当累计当前值达到设定值时 定时器为ON 当前值可继续计数到32767 需注意TONR定时器只能用复位指令R对其进行复位操作 LAD STL TONRTXXX PT如TONRT20 63 IN TXXX位 T 3 断开延时定时器TOF Off DelayTimer 断开延时定时器用于断电后的单一间隔时间计时 上电周期或首次扫描 定时器位为OFF 当前值为0 输入接通时 定时器位为ON 当前值为0 当输入端由接通到断开时 定时器开始计时 当达到设定值时 定时器位为OFF 当前值等于设定值 停止计时 输入端再次由OFF ON时 TOF复位 如果 输入端再从ON OFF 则TOF可实现再次启动 LAD STL TOFTXXX PT如TOFT35 6 IN TXXX位 T LDI0 0TONT35 4 接通延时定时器TONRT2 10 有记忆接通延时定时器TOFT36 3 断电延时定时器 应用举例 5 定时器的刷新方式和正确使用 1 定时器的刷新方式1ms定时器 1ms定时器由系统每隔1ms刷新一次 与扫描周期及程序处理无关 它采用的是中断方式 10ms定时器 10ms定时器由系统在每个扫描周期开始时自动刷新 由于每个扫描周期只刷新一次 故在一个扫描周期内定时器位和定时器的当前值保持不变 100ms定时器 100ms定时器在定时器指令执行时被刷新 它仅用在定时器指令在每个扫描周期执行一次的程序中 2 定时器的正确使用 1ms定时器的使用 10ms定时器的使用 100ms定时器的使用 12计数器 1 几种基本概念 1 种类S7 200系列PLC的计数器有3种 增计数器CTU 增减计数器CTUD 减计数器CTD 2 编号计数器的编号用计数器名称和数字组成 如C6 计数器的编号包含两方面的信息 计数器的位和计数器当前值 计数器位 表示计数器是否发生动作的状态 计数器当前值 用来存储计数器当前所累计的脉冲数 用16位符号整数表示 最大值为32767 2 计数器指令使用说明 1 增计数器CTU CountUp CU 脉冲输入端 R 复位信号端 PV 预设定端 首次扫描 计数器位为OFF 当前值为0 在计数脉冲输入端CU的每个上升沿 计数器计数一次 当前值增加一个单位 当前值达到设定值时 计数器位ON 当前值可继续计数到32767后停止计数 复位输入端有效 计数器自动复位 计数器位为OFF 当前值为0 STL指令格式 CTUCXXX PV例CTUC20 3 I0 0 I0 1 C20 Q0 0 C20 CU CTU 3 R PV a 梯形图 b 语句表 LDI0 0 计数脉冲信号输入LDI0 1 复位脉冲信号输入CTUC20 3 增计数 设定计数值LDC20 计数值为3时输出 Q0 0 c 时序图 举例 2 增减计数器CTUD CountUp Down CU 脉冲递增计数输入端 CD 脉冲递减计数输入端 R 复位信号端 PV 预设定端 首次扫描时 计数器位为OFF 当前值为0 CU输入的每个上升沿计数器当前值增加一个单位 CD输入的每个上升沿 计数器当前值减少一个单位 当前值达到设定值时 计数器位置位为ON 32768 32767 0 CU CD STL指令格式 CTUDCXXX PV例CTUDC30 5 3 减计数器CTD CountDown CD 脉冲递减输入端 LD 复位输入端 PV 预设定端 首次扫描 计数器位为OFF 当前值等于预设值PV 计数器检测到CD输入端的上升沿时 计数器当前值减少一个单位 当前值减为0时 计数器位为ON 复位输入端有效时 计数器位为OFF 当前值为PV STL指令格式 CTDCXXX PV例CTDC40 4 a 梯形图 b 语句表 LDI0 0 减计数脉冲信号输入LDI0 1 复位脉冲信号输入CTDC40 4 减计数 设定计数值LDC40 计数值为0时输出 Q0 0 注意 以上三种计数器如果将计数器位作为复位输入信号 则可实现循环计数 13比较指令 比较指令类型 字节比较 整数比较 双字节比较 实数比较和字符串比较 数值比较指令的运算符 和等6种 而字符串比较指令只有 和两种 对比较指令可进行LD A和O编程 LAD XX 比较关系符 T 数据类型符 B I D R 当IN1 IN2满足由 XX 确定的关系时 比较触点闭合 IN1与IN2的寻址范围 IB QB MB SB SMB LB VB AC LD和常数 STL LDTXXIN1 IN2ATXXIN1 IN2OTXXIN1 IN2 T B W D RXX 注意 对于LAD的 在STL为 对于LAD的整数比较 数据类型为I 而STL为W BACK 梯形图 语句表 LDW C30 30 Q0 0LDI0 0ARVB1 VB2 Q0 2 14NOT及NOP指令 1 取反指令NOT将复杂逻辑结果取反 为用户使用反逻辑提供方便 该指令无操作数 其LAD和STL形式如下 STL形式 NOTLAD形式 NOT 2 空操作指令NOP NoOperation 该指令用在跳转指令结束处 或在调试程序中使用 其对用户程序的执行无影响 其LAD和STL形式如下 STL形式 NOPNN的范围 0 255LAD形式 使用说明 1 结束指令只能用在主程序中 不能在子程序和中断程序中使用 而有条件结束指令可用在无条件结束指令前结束主程序 2 在调试程序时 在程序的适当位置插入无条件结束指令可实现程序的分段调试 3 可以利用程序执行的结果状态 系统状态和外部设置切换条件来调用有条件结束指令 使程序结束 4 使用Micro Win32编程时 编程人员不需手工输入无条件结束指令 该软件会自动在内部加上一条无条件结束指令到主程序的结尾 STOP指令有效时 可以使主机CPU的工作方式由RUN切换到STOP 从而立即中止用户程序的执行 STOP指令可以用在主程序 子程序和中断程序中 LAD STOP STL STOP 结束指令和停止指令的用法如下图所示 1 结束指令END 有条件结束指令 和MEND 无条件结束指令 LAD END 或 MEND STL END或MEND 二 程序控制指令 1结束及暂停指令 2 停止指令STOP STOP和END指令通常在程序中用来对突发紧急事件进行处理 网络1STOP END WDR使用举例 SM5 0 STOP I0 3 网络2 I0 5 END 网络3 M0 4 WDR LDSM5 0 检查I O错误OSM4 3 运行时检查编程OI0 3 外部切换开关STOP 条件满足 由RUN切换到 STOP方式LDI0 5 外部停止控制ENDLDM0 4 用触点重新触发WDR 看门狗定时器 图结束 停止及看门狗指令举例 SM4 3 2看门狗指令 WRD WatchdogReset 称为看门狗复位指令 也称为警戒时钟刷新指令 它可以把警戒时钟刷新 即延长扫描周期 从而有效地避免看门狗超时错误 使用WDR指令时要特别小心 如果因为使用WDR指令而使扫描时间拖的过长 如在循环结构中使用WDR 那么在中止本次扫描前 下列过程将被禁止 1 通信 自由口I O除外 2 I O刷新 直接I O除外 3 强制刷新 4 SM位刷新 SM0 SM5 SM29的位不能被刷新 5 运行时间诊断 6 扫描时间超过25s时 使10ms和100ms定时器不能正常计时 7 中断程序中的STOP指令 返回 3跳转及标号指令 跳转指令可以使PLC编程的灵活性大大提高 使主机可根据对不同条件的判断 选择不同的程序段执行程序 跳转指令JMP JumptoLabel 当输入端有效时 使程序跳转到标号处执行 标号指令LBL Label 指令跳转的目标标号 操作数N为0 255 1 跳转指令和标号指令必须配合使用 而且只能使用在同一程序块中 如主程序 同一个子程序或同一个中断程序 2 执行跳转后 被跳过程序段中的各元件状态为 Q M S C等元件的位保持跳转前的状态 计数器C停止计数 当前值存储器保持跳转前的计数值 对定时器来说 因刷新方式不同而工作状态不同 跳转指令的使用方法如下图所示 使用说明 LAD STL JMPN LBL N LAD STL LBLN I0 0 3 JMP 3 LBL LDI0 0JMP3 LBL3 图跳转指令使用举例 4循环指令 1 循环指令 循环开始指令FOR 用来标记循环体的开始 循环结束指令NEXT 用来标记循环体的结束 无操作数 FOR和NEXT之间的程序段称为循环体 每执行一次循环体 当前计数值增1 并且将其结果同终值作比较 如果大于终值 则终止循环 循环指令的引入为解决重复执行相同功能的程序段提供了极大的方便 并且优化了程序结构 特别是在进行大量相同功能的计算和逻辑处理时 循环指令非常有用 循环指令的LAD和STL形式如图 FOR EN ENO INDX INIT FINAL NEXT FORINDX INIT FINAL NEXT 图循环指令的LAD和STL形式 2 参数说明 从图中可以看出 循环指令盒中有三个数据输入端 当前循环计数INDX indexvalueorcurrentloopcount 循环初值INIT startingvalue 和循环终值FINAL endingvalue 在使用时必须给FOR指令指定当前循环计数 INDX 初值 INIT 和终值 FINAL INDX操作数 VW IW QW MW SW SMW LW T C AC VD AC 和 CD 这些操作数属INT型 INIT和FINAL操作数 VW IW QW MW SW SMW LW T C AC 常数 VD AC CD 这些操作数属INT型 使用说明 1 FOR NEXT指令必须成对使用 2 FOR和NEXT可以循环嵌套 最多8层 各嵌套不可有交叉现象 3 每次使能输入 EN 重新有效时 指令将自动复位各参数 4 初值大于终值时 循环体不被执行 5 注意在循环体中对INDX的控制 循环指令使用举例如下图所示 网络5 I1 0 FOR EN ENO INDX INIT FINAL VW100 1 100 A B FOR EN ENO INDX INIT FINAL VW225 1 2 网络10 I1 1 网络15 网络20 NEXT NEXT a 梯形图 LDI 0FORVW100 1 100 LDI1 1FORVW225 1 2 NEXT NEXT b 语句表 图循环指令使用举例 返回 5子程序 子程序在结构化程序设计中是一种方便有效的工具 S7 200PLC的指令系统具有简单 方便 灵活的子程序调用功能 与子程序有关的操作有 建立子程序 子程序的调用和返回 建立子程序是通过编程软件来完成的 对于CPU226XM 最多可以有128个子程序 对其余的CPU 最多有64个子程序 1 子程序调用指令 CALL 在使能输入有效时 主程序把程序控制权交给子程序 子程序的调用可以带参数 也可以不带参数 它在梯形图中以指令盒的形式编程 指令格式如表下表所列 在使能输入有效时 结束子程序的执行 返回主程序中 返回到调用此子程序的下一条指令 梯形图中以线圈的形式编程 指令不带操作数 指令格式如表下表所列 3 应用举例 如后图所示 使用说明 2 子程序的调用 1 建立子程序 2 子程序返回指令 无条件返回 RET 用于子程序结束 条件返回 CRET 只能用于子程序内部 表子程序调用指令格式 指令 子程序调用指令 子程序返回指令 LAD SBR 0 EN RET 或 STL CALLSBR 0 RET或CRET 网络1 I0 0 网络2 I0 1 WYH EN EN SBR 0 a 梯形图 LDI0 0 使能输入CALLWYH 调用子程序WYHLDI0 1 使能输入CALLSBR 0 调用子程序WYH b 语句表 返回 图5 25所示的程序实现用外部控制条件分别调用两个子程序 CRET 使用说明 CRET多用于子程序的内部 由判断条件决定是否结束子程序调用 RET用于子程序的结束 如果在子程序的内部又对另一子程序执行调用指令 则这种调用称为子程序的嵌套 子程序的嵌套深度最多为8级 当一个子程序被调用时 系统自动保存当前的堆栈数据 并把栈顶置1 堆栈中的其他值为0 子程序占有控制权 子程序执行结束 通过返回指令自动恢复原来的逻辑堆栈值 调用程序又重新取得控制权 累加器可在调用程序和被调用程序之间自由传递 所以累加器的值在子程序调用时既不保存也不恢复 返回 3 带参数的子程序调用 子程序最多可以传递16个参数 参数在子程序的局部变量表加以定义 参数包含下列信息 变量名 变量类型和数据类型 变量名变量名最多用8个字符表示 第一个字符不能是数字 变量类型变量类型是按变量对应数据的传递方向来划分的 可以是传入子程序 IN 传入和传出子程序 IN OUT 传出子程序 OUT 和暂时变量 TEMP 等4种类型 4种变量类型的参数在变量表中的位置必须按照一定的先后顺序 数据类型局部变量表中还要对数据类型进行声明 数据类型可以是 能流 布尔型 字节型 字型 双字型 整数型 双整数型和实型 常数参数必须声明数据类型 输入或输出参数没有自动数据类型转换功能 参数在调用时必须按一定的顺序排列 1 子程序参数 2 参数子程序调用的规则 3 变量表的使用 按照子程序指令的调用顺序 参数值分配给局部变量存储器 起始地址是L0 0 使用编程软件时 地址分配是自动的 参数子程序调用指令格式 CALL子程序名 参数1 参数2 参数n 4 程序实例 下图为一个带参数调用的子程序实例 其局部变量分配如表下表所列 说明 下图中的STL程序并不是从下图中的LAD转换过来的 而是单独编写的 同样从图STL也转换不成图中的LAD LDI0 0CALLSBR 1 I0 1 VB10 I1 0 VB100 AC1 VD200 L地址 参数名 参数类型 数据类型 说明 无 L0 0 LB1 LW7 LD3 LB2 0 EN IN1 IN2 IN3 IN4 IN OUT1 IN IN IN IN IN IN OUT BOLL BOLL BOLL BYTE DWORD WORD 指令使能输入参数 第1个输入参数 布尔型 第3个输入参数 布尔型 第2个输入参数 字节型 第4个输入参数 双字型 第1个输入 输出参数 字型 表局部变量表 返回 VB100 LD9 OUT DWORD 第1个输出参数 双字型 OUT1 6与ENO指令 ENO是LAD中指令盒的布尔能流输出端 如果指令盒的能流端有效 则执行没有错误 ENO就置位 并将能流向下传递 ENO可以作为允许位表示指令成功执行 STL指令没有EN输入 但对要执行的指令 其栈顶值必须为1 可用 与 ENO AENO 指令来产生和指令盒中的ENO位相同的功能 指令格式 AENOAENO指令无操作数 且只在STL中使用 它将栈顶值和ENO位的逻辑进行与运算 运算结果保存到栈顶 AENO指令使用较少 AENO指令的用法如图3 27所示 图3 27AENO指令用法举例 网络1与ENO使用举例 I0 0 ADD I EN EN ATCH ENO ENO IN1 IN2 INT EVNT INT 0 10 VW204 VW200 VW204 LDI0 0 使能输入 IVW200 VW204 整数加法 VW200 VW204 VW204AENO 与ENO指令ATCHINT 0 10 如果 I指令执行正确 则调用中断程序INT 0 中断事件号为10 三 PLC初步编程指导 1 梯形图编程的基本规则 梯形图编程的基本规则如下 1 PLC内部元器件触点的使用次数是无限制的 2 梯形图的每一行都是从左边母线开始 然后是各种触点的逻辑连接 最后以线圈或指令盒结束 触点不能放在线圈的右边 线圈连接时必须用并联 不能出现串联形式 如图所示 但如果是以有能量传递的指令盒结束的指令 可以使用AENO指令在其后面连接指令盒 较少使用 如图所示 3 27 3 28 3 线圈和指令盒一般不能连接在左边的母线上 如需要的话可通过特殊的中间继电器SM0 0 常ON特殊中间继电器 完成 如图所示 4 在同一程序中 同一编号的线圈使用两次及两次以上称为双线圈输出 双线圈输出非常容易引起误动作 所以应避免使用 S7 200PLC中不允许双线圈输出 如图所示 5 内外触点的配合 在LAD中应正确选择设备所连的输入继电器的触点类型 使用常开触点还是常闭触点与外部触点有关 如图所示 6 在手工编写梯形图程序时 触点应画在水平线上 从习惯和美观的角度来讲 不要画在垂直线上 如图 使用编程软件则不可能把触点画在垂直线上 3 29A 3 30 3 29B 3 35 7 不包括触点的分支线条应放在垂直方向 不要放在水平方向 以便于读图和图形的美观 如图所示 使用编程软件则不可能出现这种情况 8 应把串联多的电路块尽量放在最上边 把并联多的电路块尽量放在最左边 这样一是节省指令 二是美观 如图所示 9 图所示为梯形图的推荐画法 3 31 3 32 3 33 2 LAD和STL编程形式的区别利用PLC指令对梯形图编程时 可以把整个梯形图程序看成由很多网络块组成 每个网络块均起始于母线 所有的网络块组合在一起就是梯形图程序 这是S7 200PLC的特点 LAD程序可以通过编程软件直接转换为STL形式 S7 200PLC用STL编程时 如果也以每个独立的网络块为单位 则STL程序和LAD程序基本上是一一对应的 而且两者可以通过编程软件相互转换 如果不以每个独立的网络块为单位编程 而是连续编写 则STL程序和LAD程序不能通过编程软件相互转换 大家在使用时要注意 LAD是使用最多的编程语言 它非常直观易懂 对每个人都适用 特别老练的人在某些情况下会直接使用STL形式编程 用STL形式编写的程序简短 但不直观 但不管怎么说 大家对这两种形式的程序都应该熟悉 特别是会用手工把一个LAD程序转换为STL程序 这对进一步理解PLC程序执行的原理有很大的帮助 下面的一个典型例子说明了从LAD到STL的转换步骤 对每一个独立的LAD网络块中的程序 可分成若干小块 对每个小块按照从左到右 从上到下的原则进行编程 然后将程序块连接起来 就完成了该网络块的STL编程 图详细介绍了语句表编程的步骤 3 34 a 错误 b 错误 1 2 4 3 1 2 2 3 4 4 图3 28梯形图画法示例1 返回 4 5 c 正确 1 2 3 4 4 4 5 a 错误 b 正确 Q0 0 SM0 0 Q0 0 返回 图3 29A梯形图画法示例 I0 0 I0 1 Q0 0 PLC 24V I0 0 I0 1 Q0 0 Q0 0 L L N 启动 停止 I0 0 I0 1 Q0 0 PLC 24V I0 0 I0 1 Q0 0 Q0 0 L L N 启动 停止 图3 35 返回 M0 0 M0 0 I0 0 I0 1 返回 图3 29B梯形图画法示例 a 错误 b 正确 图3 30梯形图画法示例3 返回 a 不好 b 正确 图3 31梯形图画法示例4 返回 a 把串联多的电路块放在最上边 b 把并联多的电路块放在最左边 图3 32梯形图画法示例5 返回 图3 33梯形图的推荐画法 返回 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 8 5 6 7 9 10 11 12 1 LD1AN2 2 LD3A4 3 OLD 4 O5 5 LD6A7 6 LD8AN9 7 OLD 8 ALD 9 A10 10 12 11 A11 12 13 a 梯形图 b 语句表编写顺序示范 图3 34语句表编写举例 四 典型的简单电路编程 1延时脉冲产生电路2瞬时接通 延时断开电路3延时接通 延时断开电路4脉冲宽度可控制电路5计数器的扩展6长定时电路7闪烁电路8报警电路9抢答器电路10多个传送带控制示例 1 延时脉冲产生电路在有输入信号后 停一段时间产生一个脉冲 主要用于获取启动或关断信号 电路的程序及时序 2瞬时接通 延时断开电路 在输入信号有效时 马上有输出 而输入信号OFF后 输出信号延时后才OFF 电路的程序及时序 3 延时接通 延时断开电路 该电路要求有信号输入后 停一段时间输出信号才为ON 而输入信号OFF后 输出信号延时一段时间才OFF 电路的程序及时序 4 脉冲宽度可控制电路 在输入信号宽度不规范的情况下 要求每一个输入信号的上升沿产生一个宽度固定的脉冲 该脉冲的宽度可以调节 注意 如果输入信号的两个上升沿之间的距离小于脉冲的宽度 则忽略输入信号的第二个上升沿 电路的程序及时序 5 计数器的扩展一个计数器最大计数值为32767 实际应用中 如果计数范围超过该值 就需要对计数器进行扩展 计数器扩展电路的程序 6长定时电路S7 200PLC中的定时器最长定时时间不到1h 但在一些实际应用中 往往需要几小时甚至几天或更长时间的定时控制 这样仅用一个定时器就不能完成该任务 在输入信号I0 0有效后 经过10h30min后将输出Q0 0置位 定时电路的梯形图程序 7 闪烁电路也称为振荡电路 用在报警 娱乐等场合 闪烁电路实际上就是一个时钟电路 它可以是等间隔的通断 也可以是不等间的通断 闪烁电路的程序及时序图 8 报警电路报警是电气自动控制中不可缺少的重要环节 标准的报警功能应该是声光报警 当故障发生时 报警指示灯闪烁 报警电铃或蜂鸣器鸣响 操作人员知道故障发生后 按消铃按钮 报电铃关掉 报警指示灯从闪烁变为长亮 故障消失后 报警灯熄灭 另外设置试灯 试铃按钮 用于平时检测报警指示灯和电铃的好坏 标准报警电路 9试设计一个抢答器电路程序 出题人提出问题 3个答题人按动按纽 仅仅是最早按的人面前的信号灯亮 然后出题人按动复位按纽后 带自锁的按键 引出下一个问题 梯形图 10多个传送带启动和停止示意如图下所示 初始状态为各个电机都处于停止状态 按下启动按纽后 电动机M1通电运行 行程开关SQ1有效后 电动机M2通电运行 行程开关SQ2有效后 M1断电停止 其它传动带动作类推 整个系统循环工作 按停止按纽后 系统把目前的工作进行完成后停止在初始状态 试设计出LAD 货车 货车 SQ1 SQ2 SQ3 SQ4 SQ6 M1 M2 M2 LAD 网络1延时脉冲产生电路 I0 0 P M0 0 网络2 M0 1 M0 0 Q0 0 M0 1 网络3 T37 Q0 0 INTONPT 20 LDI0 0EU M0 0LDM0 00M0 1ANQ0 0 M0 1TONT37 20LDT37 Q0 0 梯形图 语句表 注释 时序图 T37 2s I0 0 M0 0 T37 Q0 0 注释 时序图中利用脉冲指令在I0 0的上升沿产生一个计时启动脉冲接下来就是一个非常典型的环节 因为定时器没有瞬动触点 不可能用自身的触点组成自锁回路 所以必须用一个中间继电器M0 1组成延时逻辑 T37定时到时 产生一个宽度为一个扫描周期的脉冲Q0 0 然后Q0 0使T37复位 网络1瞬时接通 延时断开电路 I0 0 Q0 0 INTONPT 30 网络2 Q0 0 I0 0 T37 Q0 0 梯形图 LDNI0 0AQ0 0TONT37 30LDI0 0OQ0 0ANT37 Q0 0 语句表 时序图 I0 0 Q0 0 注释 T37 3S 注释 在时序图中 关键的问题是找出定时器T37的计时条件 在本例中T37的计时条件是I0 0为OFF且为ON 因为I0 0变为OFF后 Q0 0仍要保持通电状态3s 所以Q0 0的自锁触点是必须的 网络1延时接通 延时断开电路 30 I0 0 网络2 I0 0 Q0 0 Q0 0 网络3 T37 T38 Q0 0 梯形图 LDI0 0TONT37 30LDNI0 0AQ0 0TONT38 50LDT37OQ0 0ANT38 Q0 0 语句表 I0 0 Q0 0 注释 时序图 T37 3S 5S TON IN PT TON IN PT T38 50 注释 和瞬时接通 延时断开电路相比 该电路多加了一个输入延时 T37延时3s作为Q0 0的启动条件 T38延时5s作为Q0 0的关断条件 两个定时器配合使用实现该电路的功能 网络1脉冲宽度可控制电路 20 INTONPT I0 0 P S M0 0 Q0 0 M0 1 1 T37 网络2 M0 0 M0 1 网络3 T37 R Q0 0 1 LDI0 0EUSQ0 0 1 M0 0LDM0 0OM0 1ANT37 M0 1TONT37 20LDT37RQ0 0 1 梯形图 语句表 I0 0 Q0 0 时序图 注释 T37 注释 此例中 我们使用了上升沿脉冲指令和S R指令 关键是找出Q0 0的开启和关断条件 使其不论在I0 0的宽度大于或小于2S时 都可使Q0 0的宽度为2s 定时器T37的计时输入逻辑在上升沿之间的距离小于该脉冲的宽度时 对后产生的上升沿脉冲无效 T37在计时到后产生一个信号复位Q0 0 然后自己复位 此例中 通过调节T37设定值PT的大小 就可控制Q0 0的宽度 该宽度不受I0 0接通时间长短的影响 计数器扩展电路 网络1 I0 0 I0 1 C20 C20 I0 1 C21 C21 I0 1 C22 Q0 0 网络2 网络3 网络4 C20 C21 C22 CU R CTU PV 1000 CU CTU R PV 100 CU CTU R PV 2 梯形图 LDI0 0 计数脉冲输入LDI0 1 公共复位信号OC20 自复位逻辑CTUC20 1000 增计数器 设定值1000LDC20 C21计数脉冲输入LDI0 1 公共复位信号OC21 自复位逻辑CTUC21 100 增计数器 设定值100LDC21 C22计数脉冲输入LDI0 1 公共复位信号CTUC22 2 增计数器 设定值2LDC22 总计数为200000时 C22位置为ON Q0 0 输出 语句表 注释 在电路中 计数信号为I0 0 它作为C20的计数端输入信号 每一个上升沿使C20计数1次 C20的常开触点作为计数器C21的计数输入信号 C20计数到1000时 使计数器C21计数1次 C21的常开触点作为计数器C22的计数输入信号 C21每计数到100时 计数1次 这样当C总1000 100 2 200 000时 即当I0 0的上升沿脉冲数到200000时 Q0 0才被置位 注意 计数器复位输入端逻辑的设计 要保证能准确及时复位 长延时电路 网络11min定时器T37 网络21h定时器C21 网络3C22定时时间10h 网络4在10h到时 C23再计时30min 网络510h30min到时 Q0 0输出 IN T37 PT C21 C22 C23 TON 600 60 10 30 CU R PV CTU CU R PV CTU CU R PV CTU I0 0 T37 T37 SM0 1 I0 1 C21 SM0 1 I0 1 C21 C22 SM0 1 I0 1 T37 C23 Q0 0 LDI0 0ANT37TONT37 600LDT37LDSM0 1OI0 1OC21CTUC21 60LDC21LDSM0 1OI0 1CTUC22 10LDC22AT37LDSM0 1CTUC23 30LDC23 Q0 0 梯形图 语句表 注释 在电路中 T37每一分钟产生一个脉冲 所以是分钟计时器 C21每小时产生一个脉冲 故C21为小时计时器 当10h计时到时 C22为ON 这时C23再计时30min 则总的定时时间为10h30min Q0 0置位成ON 网络1 网络2 网络3 I0 0 T38 T37 T37 Q0 0 T37 T38 IN TON PT IN TON PT 20 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025~2026学年江苏省江阴市某校高三下学期模拟预测生物试卷
- 2025~2026学年山西省晋中市榆次第一中学校高一下学期期末考试生物试卷
- 2026 四川 政府服务中心事业编含解析
- 2026年山西省职业院校技能大赛-中职组(焊接技术赛项)考试题库(带答案)
- 2026年山东省职业院校技能大赛-中职组(动漫制作赛项)考试题库(带答案)
- 沪科版数学2026-2027学年八年级上册期中模拟测试卷
- 第一单元 游戏歌 第2课时 唱游、表演《小傩面》 教学设计(表格式)-2025-2026学年二上音乐接力版
- 2026年ICU 中心静脉置管配合护理试卷及答案
- 第10课课件教学课件
- 第三单元准备课件
- 2026年特种设备安全使用与管理考试题库(附答案)
- 2027贵州航天电器秋季招聘284人考试备考题库及答案解析
- 电网工程限额设计控制指标(2025年水平)
- 地理信息数据分类分级工作指南试行全文
- 《输电线路岩石地基基础施工方案》
- GA/T 2369-2026公安视频图像信息数据分类分级指南
- 油漆工劳务分包合同
- 自信自强勇成长,小学主题班会课件
- T/CEC 227-2019 火力发电建设项目全过程工程咨询导则
- 2025年新疆交投笔试题目及答案
- 技工院校英语课程标准
评论
0/150
提交评论