电气控制ppt课件

上传人:钟*** 文档编号:5866983 上传时间:2020-02-10 格式:PPT 页数:118 大小:6.03MB
返回 下载 相关 举报
电气控制ppt课件_第1页
第1页 / 共118页
电气控制ppt课件_第2页
第2页 / 共118页
电气控制ppt课件_第3页
第3页 / 共118页
点击查看更多>>
资源描述
第5章S7 200PLC的指令系统 1 5 1S7 200PLC编程基础 SIMATIC指令集是西门子公司专为S7 200PLC设计的编程语言 可用梯形图LAD 功能块FBD和语句表STL LAD和FBD是一种图形语言 STL是一种类似于汇编语言的文本型语言 5 1 1编程语言 2 1 梯形图 LAD 编程语言 梯形图是与电气控制相呼应的图形语言 触点 代表逻辑 输入 条件 例如开关 按钮 内部条件能量流仅在触点闭合时通过 通常代表逻辑 输出 结果 如灯 接触器 中间继电器等 当有能量流输入时才会有输出 起始母线 3 类似于普通逻辑功能图 一般一种功能框表示一种特定的功能 2 功能块 FBD 编程语言 输入端是功能块的条件 输出端是功能块的运算结果 4 用助记符来表示PLC的各种控制功能的 3 语句表 STL 编程语言 5 5 1 2数据类型 基本数据类型及数据类型检查 1位布尔型BOOL 8位字节型BYTE 16位无符号型WORD 16位有符号整数INT 32位无符号双字整数DWORD 32位有符号双字型DINT 32位实数型REAL 6 数据类型检查 完全数据类型检查 简单数据类型检查 无数据类型检查 SIMATIC指令集不支持完全数据类型检查 使用局部变量时 执行简单数据类型检查 使用全局变量时 执行无数据类型检查 7 2 数据长度与数值范围 不同的数据类型 具有不同的数据长度和数值范围 见表5 4指令的操作数具有一定的数据和长度 如整数乘法指令的操作数是字型数据 编程时需要注意操作数的数据类型和指令识志符相匹配 8 程序区 系统区 数据区程序区用于存放用户程序系统区用于存放有关PLC配置结构的参数数据区是S7 200CPU提供的存储器的特定区域包括 输入映像寄存器 I 输出映像寄存器 Q 变量存储器 V 内部标志位存储器 M 顺序控制继电器存储器 S 特殊标志位存储器 SM 局部存储器 L 定时器存储器 T 计数器存储器 C 模拟量输入输出映像寄存器 AI AQ 累加器AC 高速计数器HC 5 1 3存储区域 9 1 数据区存储器的地址表示格式 1 位地址格式数据区存储器区域的某一位的地址格式为 Ax yA 存储区域标识符 编程元件的名称x 字节地址 若有相邻多字节 它总是低字节y 字节内的位地址 Q4 6地址格式 可以编程的元件有 输入继电器I 输出继电器Q 辅助继电器M 特殊继电器SM 变量寄存器V等 10 数据区存储器区域的字节 字 双字地址格式为 ATxA 存储区域标识符 编程元件的名称T 数据长度x 字节 字或双字的起始地址VB100表示字节地址VW100表示字地址 两个字节VB100 VB101 VD100表示的是哪几个字节地址 2 字节 字 双字地址格式 11 地址格式 AyA 存储区域标识符 模拟相关的电气元件的名称y 元件号如定时器T37 T表示定时器 37定时器号计数器C1 累加器AC1等 3 其他地址格式 12 1 输入输出映像寄存器 I Q 输入映像寄存器IPLC输入端子是从外部接收输入信号的窗口 每一个输入端子与输入映像寄存器 I 的相应位相对应 输入映像寄存器的状态只能由外部输入信号驱动 而不能由程序指令修改地址格式如 I0 1 IB4 IW6Cpu226有效范围 I 0 0 15 7 IB 0 15 IW 0 14 ID 0 12 2 数据区存储器区域 13 输出映像寄存器QPLC输出端子是PLC向外部负载发出控制命令的窗口每一个输出端子与输出映像寄存器的相应位相对应 地址格式如 Q0 1 QB4 QW6 QD7Cpu226有效范围 Q 0 0 15 7 QB 0 15 QW 0 14 QD 0 12 在程序的执行过程中 对于输入输出的存取通常是通过映像寄存器 而不是实际的输入 输出端子 系统在执行程序时完全和外界隔开 提高系统抗干扰能力 14 2 内部标识存储器 M 也称为内部线圈 是模拟继电 接触器控制系统中的中间继电器 存放中间操作状态 或存储其他相关的数据 M以位为单位使用 也可以字节 字 双字为单位使用如M26 7CPU226模块内部标志位存储器的有效范围为 M 0 0 31 7 MB 0 31 MW 0 30 MD 0 28 15 S7 200中有大量的变量存储器 用于模拟量控制 数据运算 参数设置及存放程序执行过程中控制逻辑操作的中间结果 变量存储器可以位为单位使用 也可以按字节 字 双字为单位使用 全局有效变量存储器的数量与CPU的型号有关 CPU222为V0 0 V2407 7 CPU224为V0 0 5119 7 CPU226为V0 0 V5119 7 3 变量存储器 V CPU226的V按字节 字 双字有效地址范围为 16 局部存储器用来存放局部变量 局部有效 可以用作暂时存储器或为子程序传递参数 可以作为间接寻址的指针 不能作间接寻址的存储器区 如L0 0 LB33 LW44 LD55CPU226模块内部标志位存储器的有效范围为 L 0 0 63 7 LB 0 63 LW 0 62 LD 0 60 4 局部存储器 L 17 S用于顺序控制 或步进控制 顺序控制继电器指令提供控制程序的逻辑分段 从而实现顺序控制 S3 1 SB4 SW10 SD20CPU226模块内部顺序控制继电器存储器的有效范围为 S 0 0 31 7 SB 0 31 SW 0 30 SD 0 28 5 顺序控制继电器存储器 S 18 特殊标志位 特殊继电器 即特殊内部线圈 PLC通过特殊继电器为用户提供一些特殊的控制功能和系统信息 用户也可以将对操作的特殊要求通过特殊继电器通知PLC 例如可以读取程序运行过程中的设备状态和运算结果信息 利用这些信息实现一定的控制动作 6 特殊标志位存储器 SM 19 有只读区域 SM0 0 SM29 7 用户只能利用其触点 和可读写区域 SM0 0 RUN监控 PLC在RUN时总为1 SM0 1 初始脉冲 PLC有STOP转为RUN时 SM0 1接通一个扫描周期 SM0 3 PLC上电进入RUN方式时 SM0 3接通一个扫描周期 SM0 5 秒脉冲 占空比为50 周期为1s 6 特殊标志位存储器 SM 20 定时器是模拟继电 接触器控制系统中的时间继电器定时器的设定值通过程序预先输入 当满足定时器的工作条件时 定时器开始计时 定时器的当前值从0开始按照一定的时间单位 定时精度 增加 例如对于10ms定时器 定时器的当前值每隔10ms加1 当定时器的当前值到达设定值时 定时器动作 三种 1ms 10ms 100msCPU22X中的定时器数量为256个 即T0 T255 7 定时器 T 21 它是用来对输入的脉冲个数进行累计 实现计数操作 使用计数器 要事先在程序中给出计数的设定值 也称预置值 当满足计数器的触发输入条件时 计数器开始累计计数输入端的脉冲前沿的次数 当到达设定值时 计数器动作 3种类型 增计数 减计数 增减计数CPU22X中有256个计数器 即C0 C255 8 计数器存储器 C 22 当高速脉冲信号的频率比CPU扫描的速度更快时必须要用高速计数器 CPU226模块高速计数器的有效范围 HC 0 5 9 高速计数器 HC 23 累加器是用来暂时存放计算中间值的存储器 也可向子程序传递参数或返回参数 S7 200PLC提供了四个32位的累加器 10 累加器 AC 24 1 立即寻址立即寻址 指令直接给出操作数 操作数紧跟操作码 在取出指令的同时也就取出了操作数 立即寻址可以用来提供常数 设置初始值等 CPU以二进制形式存储所有常数指令中可用十进制 十六进制 ASC 码或浮点数形式表示30216 42F INPUT 2 01011101 5 1 4寻址方式 指令中如何提供操作数或操作数地址 25 2 直接寻址 所谓直接寻址就是明确指出存储单元的地址 在程序中直接使用编程元件的名称和地址编号 使用户程序可以直接存取这个信息 AQ0 1ORBVB33 LB21ORBAC0 VB33MOVWAC0 AQW2MOVDAC1 VD200 26 所谓间接寻址是指不是在指令中直接使用名称和地址编号 而是通过使用指针来存取存储器中的数据 可间接寻址的编程元件有 I Q M V S T和C的当前值 对独立的位值和模拟量值不能进行间接寻址 建立指针对某一地址间接寻址 必须先为该地址建立指针 指针的长度是双字长 可用作指针的编程元件有 变量存储器V 局部变量存储器L 累加器AC AC0不能 3 间接寻址 27 如 MOVD VB200 VD32MOVD MB10 AC2MOVD AC2 LD14 是地址符号 与编程元件编号组合表示对应单元的32位物理地址 VB200只是一个直接地址编号 并不是它的物理地址 指令中的第二个地址数据长度必须是双字长 如 VD LD AC将指令中 VB200改为 VW200或 VD200 由于它们的起始地址相同 所以效果完全相同 28 间接存取在操作数前加 表示该操作数为一个指针 例 建立指针和间接寻址的应用方法MOVD VB200 AC1MOVW AC1 AC0 29 修改指针指针的内容不会改变 可用自增或自减等指令修改指针MOVD VB200 AC1INCDAC1INCDAC1 把指针增加两次指向下一个字MOVW AC1 AC0 INCDAC1INCDAC1 30 5 1 5用户程序结构 用户程序分为 31 5 1 6编程的一般规则 1 梯形图由多个梯级组成 每个线圈可构成一个梯级 每个梯级有多条支路 每个梯级代表一个逻辑方程 2 梯形图中的继电器 接点 线圈不是物理的 是PLC存储器中的位 1 ON 0 OFF 编程时常开 常闭接点可无限次引用 线圈输出只能是一次 3 梯形图中流过的不是物理电流而是 概念电流 只能从左向右流 4 用户程序的运算是根据PLC的输入 输出映象寄存器中的内容 逻辑运算结果可以立即被后面的程序使用 5 PLC的内部继电器不能做控制用 只能存放逻辑控制的中间状态 6 输出线圈不能直接驱动现场的执行元件 通过I O模块上的功率器件来驱动 32 33 PLC梯形图语言的编程原则 1 梯形图由多个梯级组成 每个线圈可构成一个梯级 每个梯级有多条支路 每个梯级代表一个逻辑方程 2 梯形图中的继电器 接点 线圈不是物理的 是PLC存储器中的位 1 ON 0 OFF 编程时常开 常闭接点可无限次引用 线圈输出只能是一次 3 梯形图中流过的不是物理电流而是 概念电流 只能从左向右流 4 用户程序的运算是根据PLC的输入 输出映象寄存器中的内容 逻辑运算结果可以立即被后面的程序使用 5 PLC的内部继电器不能做控制用 只能存放逻辑控制的中间状态 6 输出线圈不能直接驱动现场的执行元件 通过I O模块上的功率器件来驱动 34 5 2S7 200PLC的基本指令及编程方法 编程时 应注意各操作数的数据类型及数值范围 35 基本指令 起初是指取代传统继电器控制系统的那些指令 随着PLC越来越强 基本指令包含的内容也不断扩充 现在 基本指令包括 位操作指令 运算指令 数据处理指令 表功能指令 转换指令等 基本指令中 位操作指令是最重要的 是其它指令的基础 其它指令反映了PLC对数据运算和数据处理的能力 36 5 2 1基本逻辑指令 基本逻辑指令在语句表语言中是指对位存储单元的简单逻辑运算 在梯形图中指对触点的简单连接和对标准线圈的输出1 标准触点指令有LD LDN A AN O ON NOT 37 1 装入常开指令LD 梯形图中梯级必须开始于LD LDN 本指令对各类内部编程元件的常开触点都适用格式 LDbit 2 装入常闭指令LD 格式 LDNbit 3 与常开指令A 与常开指令 即串联一个常开触点 梯形图最多有7个常开触点串联格式 Abit 38 4 与常闭指令AN 与常闭指令 即串联一个常闭触点 梯形图最多有6个常闭触点串联格式 ANbit 5 或常开指令O 或常开指令 即并联一个常开触点 梯形图最多有7个常开触点并联格式 Obit 6 或常闭指令ON 格式 ONbit 39 7 输出指令 将逻辑运算结果输出到指定存储器位或输出继电器对应的映像寄存器位 以驱动本线圈 指令格式 bit 指令不能用于输入继电器 并联的 指令可以连续使用 指令的操作数不能重复使用 例如 在程序中多次出现 Q0 0 是非法的 40 41 逻辑堆栈是S7 200可编程控制器用来分析控制逻辑 用语句表编程时必须要根据这一堆栈逻辑进行组织程序 用相关指令来实现堆栈操作 堆栈 是一组能够存储和取出数据的暂时存储单元特点 后进先出 类似于计算机中的堆栈 进栈时 数据由栈顶压入 堆栈中数据被串行下移一层 栈底 STACK8 原有数据丢失 出栈时 数据从栈顶取出 所有数据被串行上移一层 在STACK8中装入一个随机数 8 可编程控制器中的堆栈 42 栈顶是布尔型数据进出堆栈的必由之路 栈顶在位运算中兼做累加器 对于简单的逻辑指令 通常是执行进栈 出栈操作或简单的位运算 这些运算是栈顶与第二个堆栈的内容进行与 或 非等逻辑运算 43 设I0 0 1 I0 1 0 I0 2 0 依次执行LD O A指令后 堆栈的变化如下表 说明 执行LDN AN ON指令时 是先将操作数进行取反 再进行LD A O操作 每执行一次LD或LND指令 自动进行一次进栈操作 执行A或AN O或ON指令 是将栈顶值与操作数做相应的逻辑运算 运算结果存放在栈顶 当一个梯级扫描结束 或 指令执行完毕 PLC自动进行出栈操作 将栈顶值存入相应的存储区 44 45 2 正负跳变指令 正负跳变指令在梯形图中以触点形式使用 用于检测脉冲的正跳变 上升沿 或下跳变 下降沿 利用跳变让能流接通一个扫描周期 即可产生一个扫描周期长度的微分脉冲 用来触发继电器线圈 1 正跳变指令 EU 无操作数 46 2 正负跳变指令 2 负跳变指令 ED 无操作数 47 3 置位和复位指令S Set R Reset 置位即置1 复位即置0 在使用时需指明三点 操作性质 开始位和位的数量 1 置位指令 将由操作数指定的位开始 1位至最多255位置 1 并保持 指令格式 Sbit N 2 复位指令 将由操作数指定的位开始 1位至最多255位置 0 并保持 指令格式 Rbit N如果对定时器计数器复位 则复位的同时 T或C的当前值被清零 48 说明 与 指令不同 S或R指令可以多次使用同一个操作数 用S R指令可构成S R触发器 或用R S指令构成R S触发器 使用S R指令 需指定操作性质 S R 开始位 bit 和位的数量 N 开始位的操作数为 Q M SM T C V S 数量N的操作数为 VB IB QB MB SMB LB SB AC 常数等 操作数被置 1 后 必须用R指令清 0 记忆 49 立即操作指令允许对输入和输出点进行快速和直接存取 当用立即指令读取输入点的状态时 相应的输入映像寄存器中的值并未发生更新 用立即指令访问输出点时 访问的同时 相应的输出寄存器的内容也发生更新 操作数只有 I Q1 立即触点指令在LD LDN A AN O ON后加 I 形成立即读输入指令 执行该指令 只是立即读取物理输入点的值 不改变输入映像寄存器的值 LDII0 0 5 2 2立即操作指令 50 2 立即输出指令 I执行该指令 是将栈顶值立即复制到指令所指定的物理输出点 同时刷新输出映像寄存器的内容 IQ0 03 立即置位指令SI执行该指令 将从指令指定的位开始至最多128个物理输出点同时立即置 1 并且刷新输出映像寄存器的内容 SIQ0 0 24 立即复位指令RI执行该指令 将从指令指定的位开始至最多128个物理输出点同时立即置 0 并且刷新输出映像寄存器的内容 RIQ0 0 2 51 52 例1 直接启动停车控制 继电器控制电路图 I O分配 I0 0 停车I0 1 启动Q0 1 KM 语句表LDI0 1OQ0 0ANI0 0 Q0 0 53 例2 要求用一个按钮启动 停止运转设备方案1 设I0 0是与按钮相连的输入继电器的触点 M0 0 M0 1 M0 2是辅助继电器 Q0 0是驱动设备的输出继电器 程序和时序如下 54 方案2 这里采用了上升沿触发指令 55 当梯形图的结构比较复杂 例如涉及触点块的操作或者涉及分支结构时 简单的位操作指令就无法描述 此时应使用堆栈操作指令包括 ALD OLD LPS LRD LPP LDS 有操作数 1 堆栈载与指令 触点块串联指令 ALDALD用于将并联电路块进行串联 5 2 3复杂逻辑指令 56 57 2 堆栈载或指令 触点块并联指令 OLDOLD用于将串联电路块进行并联连接 58 59 60 3 逻辑入栈指令 分支或主控 LPSLPS用于复制栈顶的值并将这个值推入栈顶 原堆栈中各级栈值一次下压一级 LPS用于分支开始 61 4 逻辑出栈指令 分支结束或主控复位指令 LPPLPP用于将栈顶的值弹出 堆栈第二级的值成为新的栈顶值 LPP用于将LPS生成的新母线进行恢复 因此必须和LPS配对使用 62 5 逻辑读栈指令LRDLRD 用于把堆栈中第二级的值复制到栈顶 6 装入堆栈指令LDSLDS指令在编程时很少使用 63 应用堆栈操作指令对复杂逻辑结构的编程举例 64 1 取非触点操作 逻辑结果取反指令 NOTNOT 用来改变能流的状态 NOT指令用于将NOT指令左端的逻辑运算结果取非 NOT指令无操作数 5 2 4取非触点指令和空操作指令 在语句表中 取反触点指令对堆栈的栈顶作取反操作 改变栈顶值 65 2 空操作指令NOPNNOP 不影响用户程序的执行 N是标号 0 255 LDI0 0NOP30 66 1 定时器是由集成电路构成 是PLC中重要硬件编程元件 定时器编程时提前输入时间预定值 当前值达到预定值时 定时器发出动作 有3种类型定时器 通电延时TON 有记忆 保持型 通电延时TONR 断电延时TOF 共256个 即T0 T255定时精度3级 1ms 10ms 100ms 与编号有对应关系 定时时间T PT S 分辨率等级 5 2 5定时器和计数器指令 67 68 对定时器分辨率的几点说明 1ms分辨率定时器启动后 定时器对1ms的时间间隔进行计时 当前值每隔1ms刷新一次 不和扫描周期同步 10ms分辨率定时器启动后 对10ms时间间隔计时 在每个扫描周期内对定时器当前值刷新一次 100ms分辨率定时器启动后 对100ms时间间隔计时 只有在定时器指令执行时才对当前值刷新 69 定时器指令需3个操作数 编号 设定值 允许输入 接通延时定时器指令TON On DelayTimer 指令格式 TONTxxx PT 编号 用定时器名称和它的常数编号 T1 设定值PT 数据类型为INT型 使能输入 BOOL型 IN端为ON时 开始计时 当定时时间到 定时器被置位 其动合触点接通 动断触点断开 当前值递增 只要IN端为OFF 定时器当前值立即复位到0 相应的 动合触点断开 动断触点闭合 70 定时器TON举例 71 上电周期或首次扫描 定时器为OFF 当前值保持指令格式 TONRTxxx PT 有记忆接通延时定时器指令TONR Retentive 可用于多个时间间隔的累计定时 IN端为ON时 开始计时 到设定值时置位 如果当前值小于设定值而IN端变为OFF 当前值保持 不复位 当IN端又变为ON时 当前值继续计数 当到达设定值时 置位 当前值并不停止计数 它的复位 需用复位指令R 72 定时器TONR举例 73 断开延时定时器指令TOF Off DelayTimer 用于断开后的单一间隔定时 故障发生后的时间延时 指令格式 TOFTxxx PT IN为ON 定时器位为ON 当前值为0 IN为OFF 开始计时 只要当前值小于设定值 定时器始终为0N 当到达设定值 定时器为OFF 当前值等于预定值 停止计数 动合触点断开 动断触点闭合 如果使能IN在有从ON到OFF的负跳变 则可再次启动 74 定时器TOF举例 75 举例 书P75第9题 第一台电动机启动10S后 第二台电动机自动启动 运行5s后 第一台电动机停止 同时第三台电动机自动启动 运行15s后 全部电动机停止 试编程 76 2 计数器指令计数器用来累计输入脉冲的数量 编程时累计它的脉冲输入端电位上升沿 正跳变 个数 达到预定值PV时 发出中断信号 普通计数器有3种类型 递增计数器CTU 递减计数器CTD 增减计数器CTUD 共256个 编号C0 C255 线圈编号只能使用1次 不能重复使用 最大计数值为32767 77 当R端为OFF时 计数器对CU端的输入脉冲上升沿累加计数 当前值小于设定值 计数器状态始终为OFF 一旦到达设定值 计数器状态变为ON 当计到32767 停止计数 当R端为ON时计数器复位 递增计数器指令CTU CounterUp 指令格式 CTUCxxx PV 78 LDI0 0LDI0 1CTUC20 3 79 首次扫描时 计数器位OFF 当前值为预设值PV 计数器检测到每个CD输入的上升沿时 计数器当前值减小一个单位 减到0时 计数器位ON 复位端有效时 计数器位OFF 当前值为预设值 而不是0 递减计数器指令CTD CounterDown 指令格式 CTDCxxx PV 80 LDI0 0LDI0 1CTDC8 3LDC8 Q0 0 81 首次扫描时 计数器状态为OFF 当前值为0 当R端为OFF对CU端脉冲上升沿加1计数 对CD端脉冲减1计数 到达设定值时 状态位为ON R端为ON 计数器复位 当前值寄存器清0 当计数器计到最大值32767后 CU端端再输入1个脉冲 在这个脉冲的上升沿 当前值寄存器跳变到最小值 32768 如果计数到最小值后 CD端又输入1个脉冲 在这个脉冲的上升沿 当前值跳变到最大值32767 增减计数器指令CTUD指令格式 CTUDCxxx PV 82 83 84 3 定时器及计数器的应用和扩展 1 扩大定时范围单个定时器最大定时范围是32767 S 定时精度 可通过扩展的方法来扩大定时范围 a定时器的串级组合如图 T35延T1 10S T36延时T2 20S 总的延时T T1 T2 30S n个定时器串级组合 可扩大延时范围为T T1 T2 Tn 85 b定时器与计数器的串级组合 如图T34延时10S M0 0每10S接通1次 即计数器每10S计数1次 当计数到达设定值2000时 已实现延时2000 10S 20000S 86 2 扩大计数范围单个计数器的最大计数范围是32767 可通过计数器的串级组合来扩大计数器计数范围 如图C1设定值为1000C2设定值为2000当达到C2的设定值时 对输入脉冲I0 0的计数次数已达1000 2000 2000000次 87 举例1 纽子开关合上后 延时10小时 灯亮 开关拨下后 灯灭 88 例 计数器应用举例 产品数量检测 每24个产品机械手动作1次 要求 每24个产品机械手动作1次 延时2s 机械手电磁铁切断 进入下一个循环 89 电机起动后 R1产生宽度为一个扫描周期的正脉冲 使C10和T37复位 每检测到一个产品 I0 2产生一个正脉冲 使C10计一个数 此程序机械手动作时传送带并为停 如果机械手动作 带停会怎样进入下一个循环 90 举例 南北方向的红绿黄灯 启动之后 红灯亮 亮了30s 后3s闪亮 闪亮的规律是亮0 5s灭0 5s 红灯灭 黄灯亮 亮3s 绿灯亮 亮50s 后3s闪亮 之后循环 试编程 91 5 2 6顺序控制继电器指令 所谓顺序控制 是使生产过程按工艺要求事先安排的顺序自动地进行控制 S7 200CPU含有256个顺序控制继电器 S 用于顺序控制 顺序控制开始指令LSCR 顺序控制转移指令SCRT 顺序控制结束指令SCRE 92 1 顺序控制开始指令LSCR 段开始指令定义一个顺序控制继电器段的开始 操作数为顺序控制继电器位Sx y 为本段的段标志位 为1时 允许SCR段工作 2 顺序控制转移指令SCRT该指令用来实现本段和另一段之间的切换3 顺序控制结束指令SCRE一个SCR段必须用该指令来结束 指令格式 LSCRbitSCRTbitSCRE 93 例 控制红 黄 绿三色灯 要求红灯先亮 2s后绿灯亮 再过3s后黄灯亮 全亮后3min后全部熄灭 当Sbit使能位为1时 允许SCR段工作 SCR是段开始 SCRE是段结束 94 95 5 2 7移位寄存器指令 如果移位操作使数据变为0 则零存储器 SM1 0 自动置位 移位指令影响特殊存储器位 SM1 0 零 SM1 1 溢出 移位次数N为字节型数据 如果超过移位数据字长 无效 特点 移位数据存储单元的移出端与SM1 1相连 所以最后移出的位被放到SM1 1位存储单元 移位时 移出位进入SM1 1 另一端自动补0 SM1 1始终存放最后一次被移出的位 96 1 字节右移指令SRBOUT N 1 右移位指令 SHR是右移符号 该指令可用数据类型为 B W DW N是数据移的位数 这条指令是将IN端的输入数右移N位 并对移出位自动补零 最大可移位数等于数据类型指定的位数 使能有效时 把字节输入数据右移N位后 将结果输出到OUT所指的字节存储单元 最多可移位8次 97 2 字右移指令SRWOUT N 最多16次 3 双字右移指令SRDOUT N 98 SHL是左移符号 该指令可用数据类型为 B W DW N是数据移的位数 这条指令是将IN端的输入数左移N位 并对移出位自动补零 最大可移位数等于数据类型指定的位数 2 左移位指令 1 字节左移指令SLBOUT N 使能有效时 把字节输入数据左移N位后 将结果输出到OUT所指的字节存储单元 最多可移位8次 99 2 字左移指令SLWOUT N 最多16次 3 双字右移指令SLDOUT N 100 例 VB200中内容是10101010 执行指令SLBVB200 3之后内容变为 SM1 0的内容为 SM1 1的内容为 101 移位数据存储单元的移出端与另一端相连 同时又与SM1 1 溢出 相连 所以最后被移出的位被移到另一端的同时 也被放在SM1 1位存储单元 实际移位次数 移位次数设定值 移位数据的位数 3 循环左移 循环右移 循环移位结果是0 SM1 0置位 最后移动位的值同时进入SM1 1 102 1 字节循环左移和字节循环右移指令 RLB RRB 指令格式 RLBOUT NRRBOUT N 103 2 字循环左移和字循环右移指令 RLW RRW 指令格式 RLWOUT NRRWOUT N 104 3 双字循环左移和双字循环右移指令 RLD RRD 指令格式 RLDOUT NRRDOUT N 105 例 设AC0 0100000000000001VW200 1110001010101101试求梯形图程序执行后AC0和VW200中的值 并确定SM1 0和SM1 1中的值 106 107 在梯形图中 这个指令以功能框的形式编程 有3个输入端 DATA为移位寄存器的数据输入端 S BIT为组成移位寄存器的最低位 N为移位寄存器的长度 4 寄存器移位SHRB 特点 移位寄存器的数据类型无字节型 字型 双字型之分 它的长度N 64 由程序指定 可正可负 移位寄存器的组成 最低位为S BIT最高位为从最低位算起 向高位数 第N位就是最高位 108 例如 移位寄存器最低位是S BIT V33 4 N 14那么移位寄存器的组成为 V33 4 V33 7 V34 0 V34 7 V35 0 V35 1 最高位是V35 1 指令格式 SHRBDATA SBIT N SHRBI0 1 V33 4 14 109 N 0时 为正向移位 即从最低位向最高位移位 N 0时 为反向移位 即从最高位向最低位移位 移位寄存器指令的功能是 当允许输入端EN有效时 如果N 0 则在每个EN的前沿 将数据输入DATA的状态移入移位寄存器的最低位S BIT 如果N 0 则在每个EN的前沿 将数据输入DATA的状态移入移位寄存器的最高位 移位寄存器的其它位按照N指定的方向 正向或反向 依次串行移1位 移位寄存器的移出端与SM1 1 溢出 连接 对特殊继电器的影响是 当移位操作结果为0时 SM1 0自动置位 SM1 1 溢出 的状态由移出位决定 110 例 移位寄存器指令应用如下 111 112 举例 根据下面的梯形图 试问这个移位寄存器共有几位 组成情况如何 移位前移位寄存器各位为0 根据I0 0和M0 0的波形画出Q0 0的波图 113 举例 用寄存器移位指令 SHRB 设计一个路灯照明系统的控制程序 4路灯按照L1 L2 L3 L4的顺序依次点亮 时间间隔为1小时 114 5 2 8比较操作指令 比较指令是一种比较判断 用于比较两个符号数或无符号数 在梯形图中以带参数和运算符号的触点的形式编程 当这两个数比较式的结果为真时 该触点闭合 运算符有 不等于 115 指令格式 LDB VB10 VB20ABMB0 MB1OB AC1 116 1 字节比较 比较两个字节型整数值 2 整数比较 比较两个一字长整数值 指令格式 LDW VW10 VW20AWMW0 MW2OW AC2 1160 116 3 双字整数比较 比较两个双字长整数值 指令格式 LDD VD10 VD14ADMD0 MW4OD AC0 1160000 4 实数比较 比较两个双字长实数值 指令格式 LDR VD10 VD18ARMD0 MW4OR AC0 1160 008 117 5 应用举例一个自动仓库存放某种杂货 最多6000箱 需对所存的货物进出计数 货物多于1000箱 灯L1亮 多于5000箱 灯L2亮 L1 L2分别用Q0 0 Q0 1控制 数值1000和5000存储在VW20和VW30字存储单元中 118
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!