S7-200减法一条指令的执行过程为什么没有被执行

西门子s7-200中的加一指令和减一指令_百度知道
西门子s7-200中的加一指令和减一指令
西门子S7-200中的加一指令和减一指令是怎么用的?在什么情况下用?还有ENO是怎么用的?谢谢希望详细介绍
我有更好的答案
就是输入IN加一或者减一,结果储存在OUT里ENO显示运算的结果,如果SM1.0有输出则表示结果为0,如果SM1.1有输出则表示运算有溢出,如果SM1.2有输出则表示运算结果为负
采纳率:29%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。S7-200指令大全_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
S7-200指令大全
&&S7-200指令大全
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩62页未读,
定制HR最喜欢的简历
你可能喜欢S7-200的表指令使用例程
S7-200的表指令使用例程
原文地址:
&&对于使用西门子工控产品的客户来说,每当遇到难题或是没有思路时,常想到的就是拨打400-810-4288号码。而这些年来,热线支持也确实给力,对于大家来说算亦师亦友了。
某日,客户打进电话来:“麻烦工程师,给一个编程的思路。我用的S7-200PLC,我想实时采集数据,如何才能实现永远记录最新的几条数据。”
答曰:“运用表指令,就能够实现。”
那么表指令怎么实现,下面我们来细说一下。
首先,需要将实时采集的数据,建立一个指定长度的表格(ATT填表指令)。实时记录最新数据,那么就要求这个表格具有先进先出的功能(FIFO)。
1.ATT填表指令:向表格(TBL)中加入字值(DATA)。表格中的第一个数值是表格的最大长度(TL)。第二个数值是表格的实际条目数。每次向表格中增加新数据后,条目计数加1。新数据被增加至表格中的最后一个条目之后,即无法再向表格中添加数据,报溢出。表格最多可包含100个条目,不包括指定最大条目数和实际条目数的参数。
FIFO先进先出指令:从表(TBL)中移走第一个数据,并将此数输出到DATA。剩余数据依次上移一个位置。每执行一条本指令,表中的数据数减1。
3.将这两个指令结合起来,先通过数据建表,当表格满了之后,再移出老的数据,填入最新数据。如下图所示:
注意:所有的表格读取和表格写入指令必须用边缘触发器指令激活。
好啦,如果您需要实现实时记录最新数据,请参考吧。
================================================
工控老鬼技术Blog:
启程自动化培训中心&&
联系电话:2
工控老鬼的QQ空间:
启程&&&&&&&&&&
================================================
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。 上传我的文档
 下载
 收藏
粉丝量:15
该文档贡献者很忙,什么也没留下。
 下载此文档
S7-200功能指令表全集
下载积分:30
内容提示:S7-200功能指令表全集
文档格式:PDF|
浏览次数:753|
上传日期: 12:41:03|
文档星级:
全文阅读已结束,如果下载本文需要使用
 30 积分
下载此文档
该用户还上传了这些文档
S7-200功能指令表全集
关注微信公众号当前位置: >>
S7-200基本指令系统简介
第7章 SIMATIC S7-200系列 PLC基本指令系统第7章SIMATIC S7-200系列PLC基本指令系统返回总目录1.1 第7章 SIMATIC S7-200系列 PLC基本指令系统7.1编程软件STEP7-Micro/WIN32简介STEP7-Micro/WIN32是运行在计算机Windows系统环境下的SIMATIC S7-200系列PLC的编程软件,其功能强大,界面简单实用,容易掌握和使用。 如图7.1所示,通过PC/PPI编程电缆连接计算机的RS-232串口和PLC的RS-485 通信接口后,编程软件就可以向PLC下载或从PLC上载所编写的应用程序。在 程序运行时还可对PLC的运行情况进行监控,或通过强制命令对PLC进行调试 。PC/PPI编程电缆上有拨档开关,可以组态设置数据传输的波特率。1.2图7.1 计算机与PLC的连接 第7章 SIMATIC S7-200系列 PLC基本指令系统7.1编程软件STEP7-Micro/WIN32简介STEP7-Micro/WIN32编程软件是西门子PLC用户不可缺少的开发工具 ,它具有Windows应用软件的通用界面,可以在短时间内学会使用,节省编 程时间,能够对S7-200的所有功能进行编程,解决复杂的自动化任务。 图7.2为STEP7-Micro/WIN32编程软件的主界面。系统菜单和工具栏可 提供各种功能,指令树结构列出了整个程序编辑所涉及的资源。包括所有的 程序块、符号表、状态图、数据块、通信块等,还列出了所有可用指令。在 程序编辑区,可打开相关的各种窗口,进行程序编辑。编程软件的程序编辑 窗口中包括3个页面:MAIN、SBR_0、INT_0分别表示主程序、子程序0、中 断程序0,而且子程序和中断程序页面可根据需要添加。这种结构使用了模块 化编程体系,使程序结构简单、层次清楚、组织方便,十分有利于编写规模 较大的程序。1.3 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构1. 梯形图编辑器中指令的组成与使用 如图7.3所示,在梯形图编辑器中,程序被分为一个个的网络段(Network n)。每一个网络中是具体功能的实现。在整个程序中包括许多注释,如程序 块的注释、网络段的注释、每一个元件的注释等,能够使他人方便地读懂整 个程序的内容和功能。图7.3 梯 形图编辑 器中指令 的组成1.4 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2。 (2) 触点 代表逻辑“输入”条件。如开关、按钮等闭合或打开动作,或者 内部条件。 (3) 线圈 代表逻辑“输出”结果。如灯的亮灭、电动机的启动停止,中间 继电器的动作,或者内部输出条件。 (4) 功能框/指令盒 代表附加指令。如定时器、计数器、功能指令或数学 运算指令等。 梯形图编辑方式方便初学者使用,易于理解,可以建立与电气接线图类似 的程序,而且全世界通用。可以使用指令表编辑器显示所有用梯形图编辑器编 写的程序。 2. 指令表编辑器中指令的组成与使用 如图7.4所示,在指令表编辑器中,程序也分为一个个的网络段,这样可 方便地与梯形图进行转换。当然也可以不分网络段,此时指令表程序不能转换 。注释部分和梯形图编辑器中相同。1.5指令及其结构梯形图指令中的基本内容如下。 (1) 左母线 梯形图左侧的粗竖线,它是为整个梯形图程序提供能量的源头 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构图7.4 指令表编辑器中指令的组成 指令表程序的基本构成为指令助记符+操作数。如LD I0.0,LD为指令助 记符,表示具体需要完成的功能;I0.0为操作数,表示被操作的内容。指令表 属于文本形式的编程语言,和汇编语言类似,可以解决梯形图指令不易解决的 问题,适用于对PLC和逻辑编程的有经验程序员。1.6 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.27.2.2 寻址方式指令及其结构PLC最大的特点是可以利用其内部软元件的逻辑组合代替由继电器盘实现 的硬件逻辑,软元件没有使用次数的限制,可以无限次使用。所谓软元件实际 上就是PLC内部的各存储单元,为方便编程使用,各存储单元根据功能的不同 分配了不同的名称,如输入过程映像寄存器(I)、输出过程映像寄存器(Q)、变量 寄存器(V)等。每一个存储器单元都编有唯一的地址,通过这个地址,用户可以 方便地在程序中使用该存储单元进行数据存储或传输。 一个完整的地址包括存储器标识符、字节地址及位地址。如I6.3,I表示输 入过程映像寄存器;6表示第6个字节;3表示该字节中的第3位。字节与位地址 之间用“.”分隔。S7-200系列PLC可以使用直接寻址方式和间接寻址方式对数 据进行操作。 1.直接寻址方式 直接寻址是指在编程过程中直接使用各存储单元的地址编号存取数据的寻 址方式。直接寻址方式可以对各存储器区进行位地址、字节地址、字地址、双 字地址的数据操作。图7.5以变量存储区(V)为例,介绍位地址、字节地址、字地 址、双字地址的表示方法。1.7 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构以下具体介绍的各类存储单元中,前7种的寻址方式可以参照图7.5中变量 存储区的寻址方式。下面就S7-200系列PLC中可以直接寻址的各存储单元的功 能进行说明(名称后面括号中字母为寄存器功能标识)。V6.3字节的位号:0~7 字节与地址之间的间隔 字节地址(BYTE) 存储器标识符(a) 位地址1.8 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2VB100 VB100指令及其结构V B100字节地址 字节标识 寄存器标识V W100字地址 VW100 VB100 VB101 字标识 寄存器标识V D100VD100 VB100 VB101 VB102 VB103 双字地址 双字标识 寄存器标识(b) 字节地址、字地址、双字地址 图7.5 变量存储区(V)直接寻址的表示方法1.9 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构1) 输入映像寄存器(I) 输入映像寄存器(I)中的每一个位地址对应PLC的一个输入端子,用于存放 外部传感器或开关元件发来的信号。在每个扫描周期的开始,PLC对所有输入 端子状态进行采样,并把采样结果送入输入映像寄存器(I)。在一个扫描周期内 ,程序执行只使用输入映像寄存器中的数据进行处理,而不论外部输入端子的 状态是什么。编程时要注意,输入映像寄存器只能反映外部信号的状态,而不 能由程序设置,也不能用于驱动负载。 2) 输出映像寄存器(Q) 输出映像寄存器中的每一个位地址对应PLC的一个输出端子,用于存放程 序执行后的所有输出结果,以控制外部负载的接通与断开。PLC在执行用户程 序的过程中,并不把输出信号直接输出到输出端子,而是送到输出映像寄存器 (Q)中,在每个扫描周期的最后,才将输出映像寄存器中的数据统一送到输出端 子。 3) 变量存储器(V) 在程序处理过程或上下位机通信过程中,会产生大量的中间变量数据需要 存储,S7-200系列PLC专门提供了一个较大存储器区存储此类数据,即变量存 储器。在变量存储器中也可存放与控制过程和任务相关的其他数据,应用比较 1.10 灵活。 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构4) 内部标志位存储器(M) PLC进行逻辑控制时,除了输入映像寄存器和输出映像寄存器直接与外 部设备联系之外,还有一些内部状态标志或者输入端子与输出端子之间的逻 辑关系需要中间单元进行存储和过渡,这些中间单元即内部标志位存储器。 内部标志位存储器只起中间状态暂存的作用,不能直接接收输入信号的控制 ,也不能直接输出用于驱动外部设备,类似于继电盘控制系统中的中间继电 器。 5) 特殊标志位存储器(SM) 特殊标志位存储器是PLC内部保留的一部分存储空间,用于保存PLC自 身工作状态数据或提供特殊功能。该存储器区可以反映CPU运行时的各种状 态信息,用户程序能够根据这些信息判断PLC的工作状态,从而确定下一步 的程序走向。(在7.2.4小节中会有详细介绍) 6) 顺序控制继电器(S) 顺序控制继电器是用于步进顺控指令中的特殊继电器,通常要与步进顺 控指令结合使用,用于组织步进过程。1.11 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构7) 局部存储器(L) 局部存储器与变量存储器十分类似,都是作为中间变量的存储空间。其 主要区别在于变量存储器是全局有效的,即同一个变量存储器可以被任何程 序(主程序、子程序、中断程序)访问并进行数据存取;而局部存储器是局部有 效的,只能与特定的程序相关联。 S7-200系列PLC有64个字节的局部存储器,其中60个字节可以作为临时 数据的存储器或者为子程序传递参数,最后4个字节为系统所保留。局部存储 器由CPU根据需要动态分配。在主程序执行过程中,分配给子程序或中断程 序的局部存储器实际上是不存在的,当出现子程序或中断程序调用时,则由 CPU随时给子程序或中断程序分配局部存储器。由于不同程序中使用的局部 存储器不能相互访问,所以主程序、子程序和中断程序中可以使用相同地址 编号的局部存储器。局部存储器在分配时不被初始化,也没有任何值,在参 数传递过程中也不接收新值,只能由CPU在当前程序中使用。1.12 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构8) 定时器存储器(T) 在PLC中,定时器的作用相当于延时继电器,其定时值由程序赋予。S7200系列PLC中包括1ms、10ms、100ms 3种精度的定时器,每个定时器对应 一个16位的当前值寄存器和一个状态位。16位的寄存器存储定时器所累积的时 间,状态位标志定时器定时时间到达时的动作。当前值寄存器和状态位均可由 (T+定时器号)来表示,如T10。区分依赖于对其操作的指令,位操作指令存取 定时器状态位,而字操作指令对寄存器值进行操作。 9) 计数器存储器(C) 在PLC中,计数器用于累积输入脉冲的个数,当计数值达到由程序设置的 数值时,执行特定功能。S7-200系列PLC提供了3种类型的计数器,即增计数 器、减计数器和增减计数器,每个计数器也对应一个16位的当前值寄存器和一 个状态位。当前值寄存器和状态位均可由(C+定时器号)来表示,如C10。其区 分同定时器。1.13 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构10) 高速计数器(HC) 计数器(C)的输入脉冲频率受到PLC扫描周期的限制不能太高,而在控制领 域中,高频脉冲的技术又是普遍要求(如控制电机的精确定位等)。所以PLC专门 设计了能够对高频脉冲进行计数的高速计数器,使用专用端子接收高频脉冲信 号。高速计数器用HC作为标识,可用“HC+计数器号”的形式进行32位有符号 整数(即当前计数值)的存取,如HC0。高速计数器的当前值为只读值。11) 模拟量输入(AI)及模拟量输出(AQ) 模拟量的转换是通过模拟量模块完成的,但其数据的存储是在CPU模块 中,也是由CPU完成其寻址的。模拟量经过A/D转换变为数字量,存储在模拟 量输入寄存器(AI)中。而存储在模拟量输出寄存器(AQ)中的数字量经过D/A转 换变为模拟量,供外部电路使用。模拟量输入寄存器和模拟量输出寄存器均 按16位(1个字)存储数值,所以要从偶数号字节开始为其编址。具体内容如图 7.6所示。如模拟量输入寄存器地址为AIW0、AIW2、AIW4、…;模拟量输出 寄存器地址为AQW0、AQW2、AQW4、…。要注意的是用户程序无法读取 模拟量输出寄存器的内容。1.14 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.215 AIW2 MSB 15 AQW1 0 8 7 0 字节10(最高有效字节)指令及其结构8 7 0 LSB 字节11(最低有效字节) 字节3(最低有效字节)字节2(最高有效字节)MSB图7.6 模拟量输入与输出字节示意图LSB12) 累加器(AC) 累加器是可以像存储器一样使用的读/写区间,它可以用于向子程序传递 参数或从子程序返回参数,也可以用于存储计算过程的中间值。S7-200系列 PLC提供了4个32位的累加器,地址编号分别为AC0、AC1、AC2、AC3,使 用时只需写出累加器的地址编号即可。1.15 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构可以按字节、字或双字方式对累加器进行数据存取。以字节方式存取数 据时只占用累加器的最低8位,以字方式存取数据时占用累加器的低16位, 以双字方式存取数据时才占用累加器的全部32位。占用累加器的数据长度取 决于所用指令的具体要求,例如,MOVB指令以字节方式存取数据;MOVW 指令以字方式存取数据;MOVD指令以双字方式存取数据。如图7.7所示。1.16 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2MOVB AC0 VB100 15 MOVW AC0 VB100 31 MOVD AC0 VB100 24 23 16 最高有效 字节 (VB100) 8指令及其结构7 0字节(VB100)7 0最高有效字节 (VB100) 15 8最低有效字节 (VB101) 7 0(VB101)(VB102)最低有效字节 (VB103)1.17图7.7 累加器使用方法图 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构2. 间接寻址方式 间接寻址是指在编程过程中使用指针来存取寄存器中的数据的寻址方式。 使用地址指针的间接寻址在处理连续空间数据运算方面十分方便,可以直接通 过地址指针的修改,改变对应的存储空间,可缩短程序代码,使程序更加灵活 。 间接寻址的使用范围包括输入映像寄存器(I)、输出映像寄存器(Q)、变量存 储器(V)、内部标志位存储器(M)、顺序控制继电器(S)、定时器存储器(T)、计数 器存储器(C)的字节、字、双字编码地址,即间接寻址针对的只是数据对象,而 不能是单个的位地址。另外,模拟量值也不能进行间接寻址。 使用间接寻址方式存取数据应遵循以下几点。 1) 地址指针的建立 要使用间接寻址,首先必须建立地址指针。地址指针为一个双字值,其内 部存放的是数据所在存储器的物理地址。能够存储地址指针数据的存储空间只 有变量存储器(V)、局部存储器(L)和累加器(AC1、AC2、AC3)。需要使用双字 传送指令(MOVD)将数据所在地址装入用于存储物理地址的指针数据所在的存 储器单元或寄存器,格式如以下指令所示。1.18 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构例: MOVD &VB200 VD10 MOVD &MB10 LD0 MOVD &T0 AC1 (1) “&”为取地址符号,它与存储单元地址编号结合表示对应单元的32位 物理地址。物理地址是指存储单元在整个存储器中的绝对位置。VB200只是存 储单元的一个直接地址编号。 (2) 指令中第二个存储器单元或寄存器必须为双字长度(32位),如VD、LD 、AC。 2) 利用地址指针存取数据 在存储器单元或寄存器前面加“*”号表示一个地址指针。 例:MOVD &VB200 AC1 MOVW *AC1 VW100 该程序表示将VW200中的数据传送到VW100中。AC1中存储着VB200的 物理地址,* AC1直接指向VB200存储单元,MOVW指令决定了指针指向的是 一个字长的数据,在本例中,存储在VB200,VB201中的数据被送到VB100, VB21中,如图7.8所示。1.19 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2VB198 VB199 VB200 VB201 VB202 VB203 8A 2D 8A 2D VB98 VB99 VB100 VB101 MOVW *AC1 VW100 //将指针初的值送入 VW100单元指令及其结构VB200的地址 AC1 MOVD &VB200 AC1 //将VB200的物理地址 送入AC1中图7.8 使用地址指针存取数据 3) 地址指针的修改 通过修改地址指针,可以方便地存取相邻存储单元的数据,如进行查 表或多个连续数据两两计算。只需要使用加法、自增等算术运算指令就可 以实现地址指针的修改,但要注意指针所指向数据的长度。存取字节时, 指针值加1;存取一个字、定时器或计数器的当前值时,指针值加2;存取 双字时,指针值加4。 如图7.9所示为一连加运算程序,修改指针使VW200~VW204的数值和AC0 1.20 中的数值连加,最后放入AC0中。 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构图7.9 修改指针进行连加运算1.21 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.27.2.3 操作数指令及其结构在PLC编程中,多数指令需要指定具体的存储单元或具体数据参与其运算 ,这些就是指令所需的操作数。按照表现形式的不同,S7-200系列PLC可提供 3种形式的操作数,即存储单元、常数、能流。 1. 存储单元 在直接寻址中涉及的所有存储器都可以作为操作数。此类操作数包括输 入映像寄存器(I)、输出映像寄存器(Q)、变量存储器(V)、内部标志位存储器(M) 、特殊标志位存储器(SM)、顺序控制继电器(S)、局部存储器(L)中的位寻址方 式、字节寻址方式、字寻址方式、双字寻址方式。还包括定时器存储器(T)、 计数器存储器(C)、高速计数器(HC)、模拟量输入(AI)、模拟量输出(QI)和累加 器(AC)。不同的CPU模块中存储单元类操作数的数量有所不同,表7-1列出了 S7-200系列PLC中的所有可用存储单元类操作数。1.22 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2存储器单元指令及其结构CPU222 CPU224 CPU226表7-1 CPU226中可用存储单元类操作数 CPU221输入映像寄存器输出映像寄存器I0.0~I15.7I0.0~I15.7AIW0~ AIW30I0.0~I15.7Q0.0~Q15.7 AIW0~ AIW62I0.0~I15.7Q0.0~Q15.7 AIW0~ AIW62Q0.0~Q15.7 Q0.0~Q15.7模拟量输入(只读) ― 模拟量输出(只写) ― 变量存储器 V0.0~ V2047.7AQW0~ AQW30V0.0~ V2047.7AQW0~ AQW62V0.0~ V5119.7AQW0~ AQW62V0.0~ V5119.71.23 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2局部存储器 内部标志位存储 器指令及其结构L0.0~L63.7 M0.0~ M31.7 SM0.0~ SM179.7 SM0.0~ SM29.7 T0~T255 L0.0~L63.7 L0.0~L63.7L0.0~L63.7 M0.0~ M31.7 SM0.0~ SM179.7 只读 SM0.0~ SM29.7 T0~T255M0.0~M31.7 M0.0~M31.7 SM0.0~ SM179.7 SM0.0~ SM29.7 T0~T255 SM0.0~ SM179.7 SM0.0~ SM29.7 T0~T255特殊标志 位存储器定时器1.24 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2计数器 高速计数器指令及其结构C0~C255 HC0、 HC3~HC5 C0~C255 HC0~HC5 C0~C255 HC0~HC5C0~C255 HC0、 HC3~HC5顺序控制继电器累加器S0.0~S31.7AC0~AC3S0.0~S31.7AC0~AC3S0.0~S31.7AC0~AC3S0.0~S31.7AC0~AC32. 常数 常数是指令中常用的一种操作数,常数值可为字节、字或双字。在PLC内 部,所有常数均以二进制存储,但在编程时可以输入的常数形式有二进制、十 进制、十六进制、ASCII码或浮点数(实数)等。表7-2是几种常数的表示方法。1.25 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2数制 二进制 十进制 十六进制 ASCII码 浮点数(实数)指令及其结构举例 2#01_#A3CD ‘This is a example’ (正数)+1.至 +3. (负数)-1.至-3.表7-2 常数的表示方法 书写格式 2#二进制数 十进制数值 16#十六进制数 ‘ASCII码字符’ANSI/IEEE7541985标准1.26 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构3. 能流 在梯形图中,没有真正的电流流动。为方便对PLC周期扫描过程的分析和 指令运行状态,假想有“电流”在梯形图中流动,这就是“能流”。“能流” 只能在梯形图中从左向右流动,任何可以连接到左/右母线或触点的梯形图元件 都有“能流”的输入(EN)/输出端(ENO)。输入(EN)端必须有能量流,才能执行 该元件功能,在元件正确无误的执行其功能后,输出端(ENO)才能将能量流传 送到下一个单元。只有梯形图(LAD)和功能块图(FBD)中才有能流的概念。对应 于指令表为栈顶值为1。1.27 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.27.2.4 状态字指令及其结构S7-200系列PLC中提供了众多的状态字,它们实际上就是特殊标志位存 储器(SM)。这些状态字用于保存PLC自身工作状态数据或提供特殊功能,通 过对其位、字节、字或双字的使用,可以起到在CPU与用户程序之间交换信 息的作用。下面介绍各状态字功能,状态字具体功能及用法见S7-200系统手 册。 1. 常用状态字SMB0 常用状态字SMB0包括8个状态位,在每个扫描周期结束时,由CPU更新 这些位。具体功能描述见表7-3。1.28 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2SMB0的各个位 SM0.0 SM0.1 SM0.2 SM0.3指令及其结构表7-3 SMB0的各个位功能描述 功能描述常闭触点,在程序运行时一直保持闭合状态 该位在程序运行的第一个扫描周期闭合,常用于调用初始 化子程序 若永久保持的数据丢失,则该位在程序运行的第一个扫描 周期闭合。可用于存储器错误标志位 开机后进入RUN方式,该位将闭合一个扫描周期。可用于 启动操作前为设备提供预热时间1.29 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2SM0.4 SM0.5 SM0.6指令及其结构该位为一个一分钟时钟脉冲,30s闭合,30s断开 该位为一个一秒钟时钟脉冲,0.5s闭合,0.5s断开 该位为扫描时钟,本次扫描闭合,下次扫描断开,不断循 环 该位指示CPU工作方式开关的位置(断开为TERM位置,闭 合为RUN位置)。利用该位状态。当开关在RUN位置时, 可使自由口通信方式有效,开关切换至TERM位置时,同 编程设备的正常通信有效SM0.71.30 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构2. 其他状态字功能 其他状态字功能见表7-4。 表7-4 其他状态字功能一览表 状 态 字 功能描述SMB1SMB2 SMB3 SMB4包含了各种潜在的错误提示,可在执行某些指令或执行出错 时由系统自动对相应位进行置位或复位在自由接口通信时,自由接口接收字符的缓冲区 在自由接口通信时,发现接收到的字符中有奇偶校验错误时, 可将SM3.0置位 标志中断队列是否溢出或通信接口使用状态1.31 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2状 态 字 SMB5 SMB6 SMB7 SMB8~ SMB21 SMW22~ SMW26 SMB28~ SMB29 标志I/O系统错误 CPU模块识别(ID)寄存器 系统保留 I/O模块识别和错误寄存器,按字节对形式(相邻两个字节)存 储扩展模块0~6的模块类型、I/O类型、I/O点数和测得的各 模块I/O错误 记录系统扫描时间指令及其结构功能描述存储CPU模块自带的模拟电位器所对应的数字量1.32 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2 指令及其结构SMB30和 SMB130 SMB31~ SMB32 SMB34~ SMB35 SMB36~ SMB65SMB30为自由接口通信时,自由接口0的通信方式控制字节; SMB130为自由接口通信时,自由接口1的通信方式控制字节; 两字节可读可写 永久存储器(EEPROM)写控制 用于存储定时中断的时间间隔 高速计数器HSC0、HSC1、HSC2的监视及控制寄存器1.33 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.2SMB66~ SMB85 SMB86~ SMB94 SMB186~ SMB194 SMB98~ SMB99指令及其结构高速脉冲输出(PTO/PWM)的监视及控制寄存器自由接口通信时,接口0或接口1接收信息状态寄存器标志扩展模块总线错误号 高速计数器HSC3、HSC4、HSC5的监视及控制寄存器 高速脉冲输出(PTO)包络定义表SMB131~ SMB165SMB166~ SMB194SMB200~ SMB2991.34预留给智能扩展模块,保存其状态信息 第7章 SIMATIC S7-200系列 PLC基本指令系统7.37.3.1 位操作指令位逻辑指令位逻辑指令属于基本逻辑控制指令,是专门针对位逻辑量进行处理的指 令,与使用继电器进行逻辑控制十分相似。位逻辑指令包括触点指令、线圈 驱动指令、置位/复位指令、正/负跳变指令和堆栈指令等,主要分为位操作指 令部分和位逻辑运算指令部分。S7-200系列PLC中还提供了立即指令,主要 用于对输出线圈的无延时控制。1. LD(Load)、LDN(Load Not)及=(Out)指令 1) 指令格式 梯形图与指令表格式见表7-5。指令可用操作数见表7-6。1.35 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3名 指令 指令表格式 梯形图格式 称 LD LD bit 装位逻辑指令载 LDN LDN bit 非 装 载 = = bitbit表7-5 LD、LDN、=指令格式 线圈驱动表7-6 LD、LDN及= 指令可用操作数 指 =1.36令可用操作数 I,Q,M,SM,T,C,V,S,L的位逻辑量 Q,M,S,V的位逻辑量LD、LDN 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令2) 指令功能 LD 装载指令,常开触点与母线相连,开始一个网络块中的逻辑运算。 LDN 非装载指令,常闭触点与母线相连,开始一个网络块中的逻辑运算 。 = 线圈驱动指令。 3) 指令应用举例 在梯形图和指令表程序中的应用如图7.10所示。Network1 Network1I0.0Network2Q0.0LD I0.0 = Q0.0 Network2I0.0 Q0.0 I0.1 Q0.1 M0.0I0.1Q0.1 M0.0LDN I0.1 = Q0.1 = M0.01.37图7.10 LD、LDN、= 指令的梯形图、指令表及时序图 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(1) 当I0.0闭合时,输出线圈Q0.0接通。 (2) 当I0.1断开时,输出线圈Q0.1和内部辅助线圈M0.0接通。 4) 指令使用说明 (1) 内部输入触点(I)的闭合与断开仅与输入映像寄存器相应位的状态有关 ,与外部输入按钮、接触器、继电器的常开/常闭接法无关。输入映像寄存器相 应位为1,则内部常开触点闭合,常闭触点断开。输入映像寄存器相应位为0, 则内部常开触点断开,常闭触点闭合。 (2) LD、LDN指令不仅用于网络块逻辑计算的开始,在块操作ALD,OLD 中也要配合使用。 (3) 在同一个网络块中,“=”指令可以任意次使用,驱动多个线圈。 (4) 同一编号的线圈在一个程序中使用两次及两次以上叫做线圈重复输出 。因为PLC在运算时仅将输出结果置于输出映像寄存器中,在所有程序运算均 结束后才统一输出,所以在线圈重复输出时,后面的运算结果会覆盖前面的结 果,容易引起误动作。建议避免使用。1.38 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(5) 梯形图的每一网络块均从左母线开始,接着是各种触点的逻辑连接, 最后以线圈或指令盒结束。一定不能将触点置于线圈的右边。线圈和指令盒一 般也不能直接接在左母线上,如确实需要,可以利用特殊标志位存储器(如 M0.0)进行连接。 2. S(Set)、R(Reset)指令 1) 指令格式 梯形图与指令表格式见表7-7。指令可用操作数见表7-8。 表7-7 S、R指令格式 名 称 置 位 复 位指令指令表格式 梯形图格式1.39SS bit,Nbit sNRR bit,NbitR N 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3指 S、R N 令位逻辑指令可用操作数表7-8 S、R指令的可用操作数I,Q,M,SM,T,C,V,S,L的位逻辑量 VB,IB,QB,MB,SMB,SB,LB,AC,常数,*VD, *AC,*LD N可设置的范围为:1~255 2) 指令功能 S 置位指令,将操作数中定义的N个位逻辑量强制置1。 R 复位指令,将操作数中定义的N个位逻辑量强制置0。 3) 指令应用举例 在梯形图和指令表程序中的应用如图7.11所示。1.40 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3Network1位逻辑指令I0.0 I0.1 Q0.0 Q0.1Network1 Q0.0I0.0Network2s2LD I0.0 S Q0.0 , 2 Network2I0.1Q0.0 R 2LD I0.1 R Q0.0 , 2图7.11 S、R指令的梯形图、指令表及时序图 (1) S 、R指令中的2表示从指定的Q0.0开始的两个触点,即Q0.0与Q0.1 。 (2) 在检测到I0.0闭合的上升沿时,输出线圈Q0.0、Q0.1被置为1,并保 持,而不论I0.0为何种状态。 (3) 在检测到I0.1闭合的上升沿时,输出线圈Q0.0、Q0.1被复位为0,并 保持,而不论I0.0为何种状态。1.41 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令4) 指令说明 (1) 指定触点一旦被置位,则保持接通状态,直到对其进行复位操作;而 指定触点一旦被复位,则变为接通状态,直到对其进行复位操作。 (2) 如果对定时器和计数器进行复位操作,则被指定的T或C的位被复位, 同时其当前值被清0。 (3) S、R指令可多次使用相同编号的各类触点,使用次数不限,如图7.12 所示。若几个触发信号同时闭合,则Network1中Q0.0的状态为接通, Network3中Q0.0的状态为断开,Network6中Q0.0的状态为接通,Network9 Network1 之后Q0.0的状态为断开。 Network1I0.0Network3 Q0.0S 1 I0.1Network6 Q0.0 RLD I0.0 S Q0.0,1 Network3 LD I0.1 R Q0.0,1 Network6 LD I0.1 S Q0.0,1 Network9 LD I0.1 R Q0.0,11 I0.2Network9 Q0.0 S图7.12 S、R 指令对同一线 圈的多次设置11.42I0.3Q0.0 R1 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令3.RS、SR指令 1) 指令格式 梯形图与指令表格式见表7-9。指令可用操作数见表7-10。表7-9 RS、SR指令基本格式 名称 指令 RSbit复位优先锁存器 SR置位优先锁存器bit S1 R ENO SR梯形图格式S R1ENO RS1.43 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令表7-10 RS、SR指令可用操作数指S1,R S、R1 OUT Bit令能流 能流 能流 I, Q, M, V, S可用操作数的位逻辑量2) 指令功能 RS 复位优先锁存器,当置位信号和复位信号都有效时,复位信号优先, 输出线圈不接通。 SR 置位优先锁存器,当置位信号和复位信号都有效时,置位信号优先, 输出线圈接通。 3) 指令应用举例 在梯形图中的应用如图7.13所示。1.44 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3Network1位逻辑指令I0.0SQ0.0 ENO RSI0.1R1Network2I0.0 I0.1I0.0 I0.1RQ0.1 S1 ENO SR Q0.0 Q0.11.45图7.13 RS、SR指令的梯形图及时序图 (1) RS、SR指令均为锁存器,一个复位优先,一个置位优先。S连接置 位输入,R连接复位输入。一旦输出线圈被置位,则保持置位状态直到复位输 入接通。 (2) 置位、复位输入均以高电平状态有效。 (3) RS、SR指令只有梯形图格式,而无指令表格式。其指令表是多个位 逻辑指令的组合。以下是图7.13的指令表参考程序。 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3Network1 LD I0.0 LD I0.1 NOT LPS A Q0.0 = Q0.0 LPP ALD O Q0.0 = Q0.0位逻辑指令Network2 LD I0.0 LD I0.1 NOT A Q0.1 OLD = Q0.14. EU(Edge Up)、ED(Edge Down)指令 1) 指令格式 梯形图与指令表格式见表7-11。1.46 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3名 指令 指令表格式 称 EU EU位逻辑指令正跳变触点 ED ED 负跳变触点表7-11 EU、ED指令格式梯形图格式PN1.472) 指令功能 EU 正跳变触点,在检测到正跳变(OFF到ON)时,使能流接通一个扫 描周期的时间。 ED 负跳变触点,在检测到负跳变(ON到OFF)时,使能流接通一个扫 描周期的时间。 3) 指令应用举例 在梯形图和指令表程序中的应用如图7.14所示。 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3Network1位逻辑指令Network1I0.0 Q0.0 I0.1 Q0.1I0.0 PNetwork2Q0.0LD I0.0 EU = Q0.0 Network2 LD I0.1 ED = Q0.1I0.1 NQ0.1图7.14 EU、ED指令的梯形图、指令表及时序图 (1) 在I0.0闭合的一瞬间,正跳变触点接通一个扫描周期,使Q0.0有一个扫 描周期输出。 (2) 在I0.1断开的一瞬间,负跳变触点接通一个扫描周期,使Q0.1有一个扫 描周期输出。 4) 指令说明 (1) EU、ED指令可无限次使用。1.48 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(2) 正/负跳变指令常用于启动或关断条件的判断,以及配合功能指令完 成逻辑控制任务。 5. NOP指令 指令表格式为NOP N;梯形图格式如图7.5所示。N NOP图7.15 NOP指令梯形图格式NOP指令为空操作指令,在程序中插入NOP指令不影响程序的运行。 其操作数N为常数,取值范围是0~255。1.49 第7章 SIMATIC S7-200系列 PLC基本指令系统7.37.3.2 位逻辑运算指令位逻辑指令1.A(And)、AN(And Not)指令 1) 指令格式 梯形图与指令表格式见表7-12。指令可用操作数见表7-13。 表7-12 A、AN指令基本格式 名称 指令 指令表 A A bitbit与 AN AN bitbit非与梯形图1.50 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3指 令 A、AN位逻辑指令可用操作数表7-13 A、AN指令的可用操作数I,Q,M,SM,T,C,V,S,L的位逻辑量2) 指令功能 A 单个常开触点串联连接指令,执行逻辑与运算。 AN 单个常闭触点串联连接指令,执行逻辑与运算。 3) 指令应用举例 在梯形图和指令表程序中的应用如图7.16所示。1.51 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3Network1位逻辑指令Network1I0.0 I0.1Q0.0I0.0Network2I0.1Q0.0LD I0.0 A I0.1 = Q0.0 Network2 LD I0.2 AN I0.3 = Q0.1I0.2I0.3Q0.1I0.2 I0.3 Q0.1图7.16 A、AN指令的梯形图、指令表及时序图 (1) I0.0与I0.1执行相与的逻辑运算。在I0.0与I0.1均闭合时,线圈Q0.0接 通;I0.0与I0.1中只要有一个不闭合,线圈Q0.0不能接通。1.52 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(2) I0.2与常闭触点I0.3执行相与的逻辑运算。在I0.2闭合,I0.3断开时, 线圈Q0.1接通;若I0.2断开或I0.3闭合,则线圈Q0.1不能接通。 4) 指令说明 (1) A、AN指令可在多个触点串联连接时连续使用。使用次数仅受编程软 件的限制,最多串联30个触点。 (2) 如图7.17所示,在使用“=”指令进行线圈驱动后,仍然可以使用A、 AN指令,然后再次使用“=”指令。I0.0 I0.1Q0.0 T0 Q0.1M0.0 LD A = A = A = I0.0 I0.1 Q0.0 T0 Q0.1 M0.0 Q0.2Q0.2图7.17 A、AN指令与“=”指令的多次连续使用1.53 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(3) 图7.17所示程序的上下次序不能随意改变,否则A、AN指令与“=”指 令不能连续使用。如图7.18所示程序,在指令表中就需要使用堆栈指令过渡。 这是因为S7-200系列PLC提供了一个9层的堆栈,栈顶用于存储逻辑运算的结 果,即每次运算后结果都保存在栈顶,而且下一次运算结果会覆盖前一个结果 。若要使用中间结果,必须对该中间结果进行压栈处理才能保存下来。I0.0 I0.1 I0.2Q0.0 Q0.1 LD LPS AN = LPP A = I0.0 I0.1 Q0.0 I0.2 Q0.1图7.18 A、AN指令与“=”指令不能多次连续使用1.54 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令2. O(Or)、ON(Or Not)指令 1) 指令格式 梯形图与指令表格式见表7-14。指令可用操作数见表7-15。 表7-14 O、ON指令格式 名 称 指令 指令表 梯形图 O O bitbit或 ON ON bitbit非 或1.55 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3指 O、ON 令位逻辑指令可用操作数表7-15 O、ON指令的可用操作数I,Q,M,SM,T,C,V,S,L的位逻辑量2) 指令功能 O 单个常开触点并联连接指令,执行逻辑或运算。 ON 单个常闭触点并联连接指令,执行逻辑或运算。 3) 指令应用举例 在梯形图和指令表程序中的应用如图7.19所示。1.56 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3Network1位逻辑指令I0.0 I0.1Q0.0I0.0 I0.1Network2Q0.0Network1 LD I0.0 O I0.1 = Q0.0Network2 Q0.1 LD I0.2 ON I0.3 = Q0.1I0.2 I0.3I0.2 I0.3 Q0.1图7.19 O、ON指令的梯形图、指令表及时序图 (1) I0.0与I0.1执行相或的逻辑运算。在I0.0与I0.1任意一个闭合时,线圈 Q0.0接通;I0.0与I0.1均不闭合,线圈Q0.0不能接通。 (2) I0.2与常闭触点I0.3执行相或的逻辑运算。在I0.2闭合或I0.3断开时,线 圈Q0.1接通;若I0.2断开,同时I0.3闭合,则线圈Q0.1不能接通。1.57 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令4) 指令说明 (1) O、ON指令可在多个触点并联连接时连续使用。使用次数仅受编程软 件的限制,在一个网络块中最多并联31个触点。 (2) O、ON指令可进行如图7.20所示的多重并联。I0.0 I0.1 I0.2 I0.4 I0.3Q0.0 LD I0.0 O I0.1 O I0.2 A I0.3 O I0.4 = Q0.0图7.20 多重并联程序结构1.58 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令3. NOT指令 1) 指令格式 梯形图与指令表格式见表7-16。 表7-16 指令格式 名 指令 指令表格式 梯形图格式 称 NOT NOTNOT非 运 算1.592) 指令功能 NOT 非运算指令,可将该指令处的运算结果取反。无操作数。 3) 指令应用举例 在梯形图和指令表程序中的应用如图7.21所示。 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3I0.0Q0.0位逻辑指令LD I0.0 = Q0.0 NOT = Q0.1 I0.0 Q0.0 Q0.1Q0.1NOT图7.21 NOT指令的梯形图、指令表及时序图由于NOT指令的作用,线圈Q0.0与Q0.1的状态相反。 4. ALD(And Load)、OLD(Or Load)指令 1) 指令功能 ALD 实现多个指令块的“与”运算。 OLD 实现多个指令块的“或”运算。 指令块:两个以上的触点经过并联或串联后组成的结构,如图7.22所示 。1.60 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3+位逻辑指令+(a) 串联块相或(b) 并联块相与图7.22 指令块结构 2) 指令应用举例 在梯形图和指令表程序中的应用如图7.23所示。 (1) 网络块1中为一个“块与”运算,I0.0和I0.1组成一个或块,I0.2和I0.3 组成一个或块,然后两个或块串联,执行与运算。 当I0.0或I0.1闭合且I0.2或I0.3闭合时,Q0.0接通。 *(2) 网络块2中为一个“块或”运算,I0.4和I0.5组成一个与块,I0.6和I0.7 组成一个与块,然后两个与块并联,执行或运算。 当I0.4与I0.5均闭合或I0.6与I0.7均闭合时,Q0.1接通。1.61 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3Network1位逻辑指令Network1 LD I0.0 O I0.1 LD I0.2 O I0.3 ALD = Q0.0 Network2 LD I0.4 A I0.5 LD I0.6 A I0.6 OLD = Q0.1 I0.0 I0.1 I0.2 I0.3 Q0.0 I0.4 I0.5 I0.6 I0.7 Q0.1I0.0 I0.1Network2I0.2 I0.3Q0.0I0.4 I0.6I0.5 I0.7Q0.1图7.23 ALD、OLD指令的梯形图、指令表及时序图 3) 指令说明 (1) 每一个指令块均以LD或LDN指令开始。在描述完指令块后,该指令块 就可以作为一个整体来看待。 (2) ALD、OLD指令无操作数。 (3) ALD、OLD指令主要用于程序结构组织。在梯形图中没有该指令,只 需按要求连接触点即可。但在指令表中,ALD、OLD指令十分重要,可以组织 1.62 复杂的程序结构,如图7.24所示。 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令图7.24 ALD、OLD指令应用 5. LPS(Logic Push)、LRD(Logic Read)、LPP(Logic Pop)和 LDS(Load Stack)指令 S7-200系列PLC提供了一个9层的堆栈来处理所有的逻辑操作,栈顶用于 存储当前逻辑运算的结果,下面是8位的栈空间。堆栈中一般按照“先进后出 ”的原则进行操作,每一次进行入栈操作,新值放入栈顶,栈底值丢失;每一 次进行出栈操作,栈顶值弹出,栈底值补入随机数。1.63 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令1) 指令功能 LPS 逻辑入栈指令,复制栈顶的值,并将这个值推入堆栈。 LRD 逻辑读栈指令,复制堆栈中的第二个值到栈顶,不对堆栈进行入 栈或出栈操作,但原栈顶值被新值取代。 LPP 逻辑出栈指令,堆栈中的第二个值到栈顶,栈底补入随机数。 LDS 复制堆栈中的第n个值到栈顶,栈底值丢失。如LDS 5,是将堆栈 中的第5个值复制到栈顶,并进行入栈操作,n的取值范围为0~8。该指令使 用较少,使用后对堆栈的影响在指令说明中介绍。 2) 指令应用举例 在梯形图和指令表程序中的应用如图7.25所示。 当I0.0闭合时,则有如下步骤。 (1) 将I0.0后的运算结果用LPS指令压入堆栈存储,当I0.1也闭合时, Q0.0接通。 (2) 用LRD指令读出堆栈中存储的值,但没有出栈操作,当I0.2闭合时, Q0.1接通。 (3) 用LPP指令读出堆栈中存储的值,同时执行出栈操作,将LPS指令压 入堆栈的值弹出,当I0.3闭合时,Q0.2接通。1.64 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令逻辑入栈 LPS执行前 执行后逻辑读栈 LRD执行前 执行后逻辑出栈 LPP执行前 执行后装入堆栈 LDS 2执行前 执行后S0 S1 S2 S3 S4 S5 S6 S7 S8S0 S0 S1 S2 S3 S4 S5 S6 S7S0 S1 S2 S3 S4 S5 S6 S7 S8S1 S1 S2 S3 S4 S5 S6 S7 S8S0 S1 S2 S3 S4 S5 S6 S7 S8S1 S2 S3 S4 S5 S6 S7 S8 ×S0 S1 S2 S3 S4 S5 S6 S7 S8S2 S0 S1 S2 S3 S4 S5 S6 S7图7.25 逻辑堆栈指令的梯形图及 指令表1.65图7.26 堆栈操作原理示意图 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(2) 逻辑堆栈指令是无操作数指令。 (3) 由于堆栈空间有限(9层堆栈),所以LPS和LPP指令的连续使用不得 超过9次。 (4) LPS与LPP指令必须成对使用,在它们之间可以多次使用LRD指令 。使用方法如图7.27所示。I0.0 I0.1 I0.2 Q0.0 I0.3 I0.4 I0.5 I0.6 Q0.4 I0.7M0.0Q0.1 Q0.2Q0.5 Q0.6图7.27 多层堆栈的使用1.66LD LPS A = LRD A LPS A = LPP A = LRD A = LPP A LPS A = LPP A =I0.0 I0.1 Q0.0 I0.2 I0.3 Q0.1 I0.4 Q0.2 I0.5 Q0.4 I0.6 I0.7 Q0.5 M0.0 Q0.6 内 层 堆 栈 外 层 堆 栈 第7章 SIMATIC S7-200系列 PLC基本指令系统7.37.3.3 立即指令位逻辑指令在PLC中,由于遵循CPU的扫描工作方式,程序执行过程中所有的输入触 点和输出触点的状态均取自I/O映像寄存器,统一读入或统一输出,这种方式使 PLC的I/O有一定的时间延迟。为加快I/O的响应速度,S7-200系列PLC引入了 立即指令的概念。立即指令的使用可以使CPU在程序执行时,不受循环扫描周 期的约束,在输入映像寄存器的值没有更新的情况下,直接读取物理输入接口 的值;也可以将程序执行时得到的输出线圈的结果直接复制到物理输出端口和 相应的输出映像寄存器。 但要注意的是,立即指令是直接访问物理I/O接口的,比一般指令访问I/O 映像寄存器占用CPU的时间要长,所以不能经常性地使用立即指令,否则会加 长扫描周期,对系统造成不利影响。 立即指令的格式和使用与位逻辑指令相似,此处不再赘述。具体内容见表 7-17。表7-17 立即指令的指令表与梯形图格式1.67 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3名 称 指 LDI LDNI =I SI 令 立即装载 立即非装载 立即输出 立即置位位逻辑指令指令表格式 LDI bit LDNI bit =I bit SI bit,N 梯形图格式立即复位立即与 立即非与 立即或 立即非或1.68RIAI ANI OI ONIRI bit,NAI bit ANI bit OI bit ONI bit 第7章 SIMATIC S7-200系列 PLC基本指令系统7.37.3.4 位逻辑指令编程举例位逻辑指令例1. 4组抢答器设计 控制要求1:设计一个4组抢答器,任一组抢先按下抢答按钮后,对应指 示灯指示抢答结果,同时锁定抢答器,使其他组抢答按钮无效。在按下复位 开关后,可重新开始抢答。 (1) I/O分配:I/O分配表见表7-18。 表7-18 四组抢答器I/O分配表 输入触点 I0.1 I0.2 I0.3 I0.4 I0.51.69功能说明 第一组抢答按钮 第二组抢答按钮 第三组抢答按钮 第四组抢答按钮 复位按钮输出线圈 Q0.1 Q0.2 Q0.3 Q0.4功能说明 第一组抢答指示灯 第二组抢答指示灯 第三组抢答指示灯 第四组抢答指示灯 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3(2) 程序如图7.28所示。位逻辑指令图7.28 抢答器程序1.70 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(3) 要点说明。 ① 由于抢答按钮一般均为非自锁按钮,为保持抢答输出结果,就需要输 出线圈所带触点并联在输入触点上,实现自锁功能。 ② 要实现一组抢答后,其他组不能再抢答的功能,就需要在其他组控制 线路中串联本组输入触点或输出线圈的常闭触点,从而形成互锁关系。 控制要求2:将控制要求1中的指示灯指示抢答结果,改为用 7 段数码管显示抢 答组号。7段显示码见表7-59。例如显示组号“1”,输出线圈Q0.1,Q0.2使数 码管b、c段亮。 (1) I/O分配:I/O分配表见表7-19。1.71 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3输入触点 I0.1 I0.2 I0.3 I0.4 I0.5 功能说明 第一组抢答按钮 第二组抢答按钮 第三组抢答按钮 第四组抢答按钮 复位按钮位逻辑指令输出线圈 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 数码管a段 数码管b段 数码管c段 数码管d段 数码管e段 数码管f段 数码管g段 功能说明表7-19 数码管显示四组抢答器I/O分配表1.72 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3(2) 程序如图7.29所示。Network1位逻辑指令I0.4 I0.5 M0.1 I0.4 I0.5 M0.2I0.1 M0.1I0.2I0.3Network2I0.2 M0.2I0.1I0.3Network3I0.3 M0.3I0.1I0.2I0.4I0.5M0.3Network4I0.4 M0.4I0.1I0.2I0.3I0.5M0.4Network5M0.2 M0.3Network6Q0.0 Q0.3 Q0.1M0.1 M0.2 M0.3 M0.4Network7M0.1 M0.3 M0.4Network8Q0.2图7.29 抢答器数 码管输出M0.2Network9Q0.4 Q0.5 Q0.6M0.4Network10M0.21.73M0.3 M0.4 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令例2. 多地控制 控制要求:在3个地方实现对一台电机的启动与停止控制。 (1) I/O分配:I/O分配表见表7-20。表7-20 多地控制I/O分配表输入触点 I0.0 I0.1 功能说明 A地点启动按钮 A地点停止按钮 输出线圈 Q0.1 功能说明 电动机控制输出I0.2I0.3 I0.4 I0.51.74B地点启动按钮B地点停止按钮 C地点启动按钮 C地点停止按钮 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(2) 程序如图7.30所示。 (3) 要点说明。 ① 对本例题,首先要考虑一个地点对电机的启动与停止控制。以 A 地为 例做出控制程序,如图7.31所示。Network1I0.0 Q0.1 I0.2 I0.4I0.1I0.3I0.5Q0.1Network1I0.0 Q0.1I0.1Q0.1图7.30 电机多地控制程序1.75图7.31 在一个地点对电机的控制 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令② 其次考虑如何使3个启动按钮和3个停止按钮都起作用。在本例中,若 要3个启动按钮都起作用,必须将其并联;3个停止按钮都起作用,必须将其串 联。 例3. 保持与释放交替变化 控制要求:试设计程序实现图7.32所示时序。I0.0 Q0.0图7.32 保持与释放交替变化时序图(1) I/O分配:I/O分配表见表7-21。1.76 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3输入触点 I0.0 功能说明 信号输入按钮位逻辑指令输出线圈 Q0.0 功能说明 信号输出端子表7-21 保持与释放交替变化I/O分配表(2) 程序如图7.33所示。Network1I0.0 PNetwork2M0.0 I0.0 M0.1 Q0.0 M0.0 M0.1 Q0.0M0.0 Q0.0Network3M0.0 M0.1 Q0.01.77图7.33 保持与释放交替变化程序 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(3) 要点说明。这一程序又称为二分频电路,可由多种方法实现,图7.33 中为其中一种。在控制过程中,若按钮为点动按钮(非自锁按钮)时,可由该程 序控制实现第一次按下启动,第二次按下停止的功能。 例4. 水箱自动储水控制系统 控制要求:如图7.34所示储水箱,由电磁阀控制进水。当水位低于下限位 时,电磁阀Y打开进水。当水位高于上限位时,电磁阀Y关闭。下限位传感器 为S1,水位低于S1时,S1闭合;水位高于S1时,S1断开。上限位传感器为 S2,水位高于S2时,S2闭合;水位低于S2时,S2断开。YS2 S1图7.34 水箱自动储水控制系统示意图1.78 第7章 SIMATIC S7-200系列 PLC基本指令系统7.3位逻辑指令(1) I/O分配:I/O分配表见表7-22。 表7-22 水箱自动储水控制系统I/O分配表 输入触点 I0.0 I0.1 功能说明 下限位传感器S1 上限位传感器 S2 输出线圈 Q0.0 功能说明 电磁阀Y(2) 程序如图7.35所示。Network1I0.0 Q0.01.79I0.1Q0.0图7.35 水箱自动储水控制程序 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令定时器与计数器是控制设备实现自动运行最基本的元件。使用定时器与 计数器指令可实现复杂的控制任务。1.80 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.47.4.1 定时器指令定时器与计数器指令定时器指令在编程中首先要设置预置值,用以确定定时时间。在程序的运 行过程中,定时器不断累计时间。当累计的时间与设置时间相等时,定时器发 生动作,以实现各种定时逻辑控制工作。 S7-200系列PLC提供了3种类型的定时器:接通延时定时器(TON)、记忆 接通延时定时器(TONR)、断开延时定时器(TOF)。 定时器的分辨率(时基)也有3种,分别为1ms、10ms、100ms。分辨率指定时 器中能够区分的最小时间增量,即精度。具体的定时时间T由预置值PT和分辨 率的乘积决定。 例如设置预置值PT=1000,选用的定时器分辨率为10ms。 则定时时间为T=10ms×1000=10s。 定时器的分辨率见表7-23,由定时器号决定。S7-200系列PLC共提供定 时器256个,定时器号的范围为0~255。接通延时定时器TON与断开延时定时 器TOF分配的是相同的定时器号,这表示该部分定时器号能作为这两种定时器 使用。但在实际使用时要注意,同一个定时器号在一个程序中不能既为接通延 时定时器TON,又为断开延时定时器TOF。1.81 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令表7-23 定时器各类型所对应定时器号及分辨率定时器类型分辨率/ms 1最大计时范围 /s 32.767 327.67 .767 T0,T64定时器号TONR10 100 1T1~T4,T65~T68 T5~T31,T69~T95 T32,T96TON、TOF10100327.673276.7T33~T36,T97~T100T37~T63,T101~T2551.82 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令定时器号由定时器名称和常数来表示,即Tn,如T32。定时器号包括定时 器的当前值和定时器位两个变量信息。 定时器的当前值用于存储定时器当前所累计的时间,它是一个16位的存储 器, 存储16位带符号的整数,最大计数值为32767。 对于TONR和TON,当定时器的当前值等于或大于预置值时,该定时器位 被置为1,即所对应的定时器触点闭合;对于TOF,当输入IN接通时,定时器 位被置1,当输入信号由高变低负跳变时启动定时器,达到预定值PT时,定时 器位断开。 1. 定时器指令的梯形图与指令表格式 定时器指令的梯形图、指令表格式见表7-24。可用操作数见表7-25。1.83 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4名 称定时器与计数器指令记忆接通延时定时器 TONR TONR Tn ,PT 断开延时定时器 TOF TOF Tn ,PT表7-24 定时器的梯形图、指令表格式 接通延时定时器 TON TON Tn ,PT定时器类 型 指令表梯形图1.84 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令表7-25 定时器的可用操作数 输入/输出 Tn IN PT 常数(0~255) 能流 VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC, 常数,*VD,*AC,*LD 可用操作数注:(1) 均为INT(整型)值;(2) 常数较为常用。1.85 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令2. 定时器指令应用举例 1) 接通延时定时器TON(On-Delay Timer) 接通延时定时器用于单一时间间隔的定时。其应用如图7.36所示。Network1 LD I0.0 TON T33, +500Network1 I0.0T33 IN500I0.0 T33 当前值 T33 Q0.0 PT=500TONPTNetwork2 LD = T33 Q0.0Network2 Q0.0 T33图7.36 接通延时定时器(TON)的应用1.86 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令(1) PLC上电后的第一个扫描周期,定时器位为断开(OFF)状态,当前值为 0。输入端I0.0接通后,定时器当前值从0开始计时,在当前值达到预置值时定 时器位闭合(ON),当前值仍会连续计数到32767。 (2) 在输入端断开后,定时器自动复位,定时器位同时断开(OFF),当前值 恢复为0。 (3) 若再次将I0.0闭合,则定时器重新开始计时,若未到定时时间I0.0已断 开,则定时器复位,当前值也恢复为0。 (4) 在本例中,在I0.0闭合5秒后,定时器位T33闭合,输出线圈Q0.0接通 。I0.0断开,定时器复位,Q0.0断开。I0.0再次接通时间较短,定时器没有动 作。 2) 记忆接通延时定时器TONR(Retentive On-Delay Timer) 记忆接通延时定时器具有记忆功能,它用于累计输入信号的接通时间。其应用 如图7.37所示。1.87 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4Network1 I0.0 IN 1000 Network2 T3 Network3 Q0.0 PT Network2 LD = T3 Q0.0 T3 当前值 Q0.0 PT=1000定时器与计数器指令Network1 LD I0.0 TONR T3, + I0.1T3TONRNetwork3 T3 R LD R I0.1 T3, 1I0.1图7.37 记忆接通延时定时器TONR的应用1.88 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令(1) PLC上电后的第一个扫描周期,定时器位为断开(OFF)状态,当前值 保持掉电之前的值。输入端每次接通时,当前值从上次的保持值继续计时,在 当前值达到预置值时定时器位闭合(ON),当前值仍会连续计数到32767。 (2) TONR的定时器位一旦闭合,只能用复位指令R进行复位操作,同时 清除当前值。 (3) 在本例中,如时序图所示,当前值最初为0,每一次输入端I0.0闭合, 当前值开始累计,输入端I0.0断开,当前值则保持不变。在输入端闭合时间累 计到10秒时,定时器位T3闭合,输出线圈Q0.0接通。当I0.1闭合时,由复位指 令复位T3的位及当前值。 3) 断开延时定时器TOF(Off- Delay Timer) 断开延时定时器用于输入端断开后的单一时间间隔计时。其应用如图7.38所示 。1.89 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4Network1 I0.0定时器与计数器指令Network1 LD I0.0 TOF T36, +500 I0.0 T36 当前值 Network2PT=500T36 IN TOF500PTLD = T36 Q0.0Network2 T36 Q0.0Q0.0图7.38 延时定时器(TOF)的应用 (1) PLC上电后的第一个扫描周期,定时器位为断开(OFF)状态,当前值 为0。输入端闭合时,定时器位为ON,当前值保持为0。当输入端由闭合变为 断开时,定时器开始计时。在当前值达到预置值时定时器位断开(OFF),同 时停止计时。1.90 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令(2) 定时器动作后,若输入端由断开变为闭合时,TOF定时器位及当前值 复位;若输入端再次断开,定时器可以重新启动。 (3) 在本例中,PLC刚刚上电运行时,输入端I0.0没有闭合,定时器位 T36为断开状态;I0.0由断开变为闭合时,定时器位T36闭合,输出端Q0.0接通 ,定时器并不开始计时;I0.0由闭合变为断开时,定时器当前值开始累计时间 ,达到5秒时,定时器位T36断开,输出端Q0.0同时断开。 3. 指令说明 (1) 定时器精度高时(1ms),定时范围较小(0s~32.767s);而定时范围大 时(0s~3276.7s),精度又比较低(100ms),所以应用时要恰当地使用不同精度 等级的定时器,以便适用于不同的现场要求。 (2) 对于断开延时定时器(TOF),必须在输入端有一个负跳变,定时器才 能启动计时。 (3) 在程序中,既可以访问定时器位,又可以访问定时器的当前值,都是 通过定时器编号Tn实现。使用位控制指令则访问定时器位,使用数据处理功能 指令则访问当前值。 (4) 定时器的复位是其重新启动的先决条件,若希望定时器重复计时动作 ,一定要设计好定时器的复位动作。由于不同分辨率的定时器在运行时当前值 1.91 的刷新方式不同,所以在使用方法,尤其是复位方式上也有很大的不同。 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令① 1ms定时器 1ms定时器采用中断刷新方式,由系统每隔1ms刷新一次 ,与扫描周期和程序运行无关。在扫描周期大于1ms时,一个扫描周期中1ms 定时器会被刷新多次,所以其当前值在一个扫描周期内会变化。 ② 10ms定时器 10ms定时器由系统在每个扫描周期开始时刷新一次,其 当前值在一个扫描周期内不变。 ③ 100ms定时器 100ms定时器是在程序运行过程中,定时器指令被执行 时刷新,所以该定时器不能应用于一个扫描周期被多次运行或不是每个扫描周 期都运行的场合,否则会造成定时器定时不准的情况。 正是由于不同精度定时器的刷新方式有区别,所以在定时器复位方式的选择上 不能简单的使用定时器本身的常闭触点。如图7.39所示的程序,同样的程序内 容,使用不同精度定时器,有些是正确的,有些是错误的。1.92 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4Network1 Tn定时器与计数器指令Network1Tn IN TON PTQ0.0Tn IN TON PTNetwork2 Tn Q0.0Network2 Tn Q0.0ab图7.39 使用定时器指令定时生成宽度为一个扫描周期的脉冲1.93 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令在图7.39中,若为1ms定时器,则图(a)是错误的。只有在定时器当前值 与预置值相等的那次刷新发生在定时器的常闭触点执行后到常开触点执行前 的区间时,Q0.0才能产生宽度为一个扫描周期的脉冲,而这种可能性极小。 图7.39(b)是正确的。 若为 10ms 定时器,图 7.39(a)也是错误的。因为该种定时器每次扫描开 始时刷新当前值,所以Q0.0永远不可能为ON,因此也不会产生脉冲。若要产 生脉冲要使用图(b)的程序。 若为100ms定时器,图7.39(a)是正确的。在执行程序中的定时器指令时 ,当前值才被刷新,若该次刷新使当前值等于预置值,则定时器的常开触点 闭合,Q0.0接通。下一次扫描时,定时器又被常闭触点复位,常开触点断开 ,Q0.0断开。由此产生宽度为一个扫描周期的脉冲。而使用图7.39(b)的程序 同样正确。1.94 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.47.4.2 计数器指令定时器与计数器指令在工业现场中,许多情况下都需要用到计数器。比如对产品的数量进行统 计,检测时对产品进行定位等,所以计数器指令同样是实现自动化运行和复杂 控制过程的重要指令。 定时器对时间的计量是通过对PLC内部时钟脉冲的计数实现的。计数器的 运行原理和定时器基本相同,只是计数器是对外部或内部由程序产生的计数脉 冲进行计数。在运行时,首先为计数器设置预置值PV,计数器检测输入端信 号的正跳变个数,当计数器当前值与预置值相等时,计数器发生动作,完成相 应控制任务。 S7-200系列PLC提供了3种类型的计数器:增计数器(CTU)、增减计数器 (CTUD)、减计数器(CTD),总共有256个。 计数器编号由计数器名称和常数(0~255)组成,表示方法为Cn,如C99。3种 计数器使用同样的编号,所以在使用中要注意,同一个程序中,每个计数器编 号只能出现一次。计数器编号包括两个变量信息:计数器的当前值和计数器位 。 计数器的当前值用于存储计数器当前所累计的脉冲数。它是一个16位的存 储器,存储16位带符号的整数,最大计数值为32767。1.95 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令对于CTU、CTUD来说,当计数器的当前值等于或大于预置值时,该计 数器位被置为1,即所对应的计数器触点闭合;对于CTD来说,当计数器当前 值减为0时,计数器位置为1。 1. 计数器指令的梯形图与指令表格式 计数器指令的梯形图、指令表格式见表7-26。各端口可用操作数见表727。 表7-26 计数器的梯形图、指令表格式名 称 增计数器 增减计数器 CTUD CTUD Cn ,PVCn CU CTUD CD R PVCD LD PV减计数器 CTD CTD Cn ,PVCn CTD计数器类型 CTU 指令表 CTU Cn ,PVCn CU CTU梯形图1.96R PV 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4输入/输出 Cn 常数(0~255) CU、CD、LD、 能流 R PV VW,IW,QW,MW,SW,SMW,LW,AIW,T,C, AC,常数,*VD,*AC,*LD定时器与计数器指令表7-27 计数器的可用操作数 可用操作数注:(1) 均为INT(整型)值;(2) 常数较为常用。 2. 计数器指令应用举例 1) 增计数器CTU(Count Up) 增计数器的当前值只能增加,在计数值达到最大值32767时,计数器停止 计数。其应用如图7.40所示。1.97 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令图7.40 增计数器CTU的应用1.98 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令(1) PLC上电后的第一个扫描周期,计数器位为断开(OFF)状态,当前值为 0。计数脉冲输入端CU每检测到一个正跳变,当前值增加1。当前值等于预置值 时,计数器位为闭合(ON)状态。如果CU端仍有计数脉冲输入,则当前值继续累 计,直到最大值32767时,停止计数。 (2) 复位输入端R 有效时(由OFF变为ON),计数器位将被复位为断开(OFF) 状态,当前值则复位为0。也可直接用复位指令R对计数器进行复位操作。 (3) 在本例中,当I0.0第5次闭合时,计数器位被置位,输出线圈Q0.0接通。 当I0.1闭合时,计数器位被复位,Q0.0断开。 2) 增减计数器CTUD(Count Up/Down) 增减计数器有两个计数脉冲输入端,CU用于增计数,CD用于减计数。其当前 值既可增加,又可减小,其应用如图7.41所示。 (1) PLC上电后的第一个扫描周期,计数器位为断开(OFF)状态,当前值为 0。CU输入端每检测到一个正跳变,则计数器当前值增加1;CD输入端每检测 到一个正跳变,则计数器当前值减小 1。当前值大于等于预置值时,计数器位为 闭合(ON)状态。当前值小于预置值时,计数器位为断开(OFF)状态。只要两个计 数脉冲输入端有计数脉冲,计数器就会一直计数。在当前值增加到最大值32767 后,再来一个增脉冲,当前值变为最小值-32768。同理,若当前值减小到最小 值-32768后,再来一个减脉冲,当前值会变为最大值32767。1.99 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令(2) 复位输入端R 有效(由OFF变为ON)或使用复位指令R时,计数器位将 被复位为断开(OFF)状态,当前值则复位为0。 (3) 在本例中,C8的当前值大于等于5时,C8触点闭合;当前值小于5时, C8触点断开。I0.2闭合时,复位当前值及计数器位。输出线圈Q0.0在C8触点 闭合时接通。Network1 I0.0 I0.1C8 CU CTUD CDNetwork1 LD LD LD CTUD I0.0 I0.1 I0.2 C8, +5I0.0 I0.1 I0.23 4 5 4 3I0.2RC8 当前值 Network2 LD C8 = Q0.0 Q0.05012210 -1010PVNetwork2 C8 Q0.01.100图7.41 增减计数器CTUD的应用 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令3) 减计数器CTD(Count Down) 减计数器的当前值需要在计数前进行赋值,即将预置值PV赋给当前值, 然后当前值递减,直到为0时,计数器位闭合。其应用如图7.42所示。Network1 I0.0 I0.1 Network1 LD I0.0 LD I0.1 CTD C16, +5 I0.0 I0.15 4 5 3 2 4 3C16CD CTD LD5PVNetwork2 LD C16 = Q0.0C16 当前值 Q0.0120Network2 C16 Q0.0图7.42 减计数器CTD的应用1.101 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令(1) PLC上电后的第一个扫描周期,计数器位为断开(OFF)状态,当前值 为预置值PV。计数脉冲输入端CD每检测到一个正跳变,当前值减1。当前值 减小到0时,并停止计数,计数器位变为闭合(ON)状态。 (2) LD为装载输入端,当LD端有效时,计数器位复位,同时将预置值PV 重新赋给当前值。 (3) 在本例中,当I0.0第5次闭合时,计数器位被置位,输出线圈Q0.0接通 。当I0.1闭合时,定时器被复位,输出线圈Q0.0断开,计数器可以重新工作。 3. 指令说明 (1) 在使用指令表编程时,一定要分清楚各输入端的作用,次序一定不能 颠倒。 (2) 在程序中,既可以访问计数器位,又可以访问计数器的当前值,都是 通过计数器编号Cn实现。使用位控制指令则访问计数器位,使用数据处理功 能指令则访问当前值。1.102 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令7.4.3 定时器与计数器编程举例例1. 运料车自动装、卸料控制 控制要求:①某运料车如图7.43所示,可在A、B两地分别启动。运料车启 动后,自动返回A地停止,同时控制料斗门的电磁阀Y1打开,开始下料。1分钟 后,电磁阀Y1断开,关闭料斗门,运料车自动向B地运行。到达B地后停止, 小车底门由电磁阀Y2控制打开,开始卸料。1分钟后,运料车底门关闭,开始 返回A地。之后重复运行。 ② 运料车在运行过程中,可用手动开关使其停车。再次启动后,可重复① 中内容Y1BY2A1.103图7.43 运料车自动装、卸料控制示意图 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令(1) I/O分配:I/O分配见表7-28。表7-28 运料车自动装、卸料控制I/O分配表 输入触点 I0.0 I0.1 功能说明 正转启动按钮 反转启动按钮 输出线圈 Q0.0 Q0.1 功能说明 正转输出 反转输出I0.2I0.3 I0.4A点行程开关B点行程开关 停止按钮Q0.2Q0.3电磁阀Y1电磁阀Y21.104 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令(2) 程序如图7.44所示。 例2. 电动机堵转停车报警程序 控制要求:为防止电动机堵转时由于热保护继电器失效而损坏,特在电动 机转轴上加装一联动装置随转轴一起转动。电动机正常转动时,每转一圈 (50ms)该联动装置使接近开关K1闭合一次,则系统正常运行。若电动机非正 常停转超过100ms,即接近开关K1不闭合超过100ms,则自动停车,同时红 灯闪烁报警(2.5s亮,1.5s灭)。 (1) I/O分配:I/O分配见表7-29。1.105 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令图7.44 运料 车自动装、卸 料控制程序1.106 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4输入触点 I0.0定时器与计数器指令功能说明 电动机起动按钮 输出线圈 Q0.0 功能说明 电动机驱动信号 输出 红灯闪烁信号输 出表7-29 电动机堵转停车报警控制I/O分配表I0.1I0.2电动机停止按钮接近开关K1Q0.1(2) 程序如图7.45所示。1.107 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令1.108图7.45 电动机堵转停车报警控制程序 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令例3. 由定时器和计数器构成的长延时电路 控制要求:在控制开关闭合后,开始24小时30分钟的长延时,延时时间 到则Q0.0输出30秒脉冲。 (1) I/O分配:I/O分配见表7-30。 表7-30 长延时电路I/O分配表输入触点 I0.0功能说明 长延时启动按钮输出线圈 Q0.0功能说明 30秒脉冲信号输出(2) 程序如图7.46所示。 (3) 要点说明。1.109 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令① 西门子PLC中定时器最长定时时间为3276.7s,不到一个小时。若要 实现长达数小时或数天的延时,则需利用定时器与计数器共同完成。 ② 在程序中,Network1中为1分钟定时,Network2中为1小时定时, Network3中为24小时定时。Network4中使用了特殊状态触点SM0.5(发出1 秒脉冲)和计数器C5共同构成30分钟定时器。 例4. 展厅人数控制系统 控制要求:现有一展厅,最多可容纳50人同时参观。展厅进口与出口各 装一传感器,每有一人进出,传感器给出一个脉冲信号。试编程实现,当展 厅内不足50人时,绿灯亮,表示可以进入;当展厅满50人时,红灯亮,表示 不准进入。 (1) I/O分配:I/O分配见表7-31。1.110 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令图7.46 长延时电 路控制程 序1.111 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4输入触点定时器与计数器指令功能说明 输出线圈 功能说明表7-31 展厅人数控制系统I/O分配表I0.0I0.1 I0.2系统启动按钮进口传感器S1 出口传感器S2Q0.0Q0.1绿灯输出红灯输出(2) 程序如图7.47所示。Network1I0.1 I0.2CDC0 CU CTUDNetwork1I0.0RLD LD LDN CTUDI0.1 I0.2 I0.0 C0, +50+50Network2PVNetwork2C0Q0.1 Q0.01.112NOTLD C0 = Q0.1 NOT = Q0.0图7.47 展 厅人数控制 程序 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令例5. 3台电机顺序启动、反序停止控制 控制要求:按下启动按钮后,3台电机按M1、M2、M3的顺序隔2s启动; 按下停止按钮后,3台电机按M3、M2、M1的顺序隔2s停止。 (1) I/O分配:I/O分配见表7-32。表7-32 3台电机顺序启动、反序停止控制I/O分配表输入触点 I0.0 I0.1功能说明 启动按钮 停止按钮输出线圈 Q0.0 Q0.1功能说明 M1控制继电器 M2控制继电器Q0.2(2) 程序如图7.48所示。1.113M3控制继电器 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.4 定时器与计数器指令图7.48 3台 电机顺序启 动,反序停 止控制程序1.114 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令PLC产生初期主要用于在工业控制中以逻辑控制来代替继电器控制。随着 计算机技术与PLC技术的不断发展与融合,PLC增加了数据处理功能,使其在 工业应用中功能更强,应用范围更广,成为新型的计算机控制系统。 数据处理功能主要包括装入和传送功能、转换功能、比较功能、移位功能和运 算功能等。下面将分两小节介绍。由于数据处理指令涉及的数据量较多且复杂 于逻辑控制指令,所以在学习数据处理指令前,首先以字节传送指令MOVB为 例,介绍数据处理指令的格式和注意事项。 1. 指令格式 图7.49 梯形图格式 数据处理指令的梯形图格式主要以指令盒的形式表示,如图 7.49所示。指 令盒顶部为该指令的标题,如图中所示MOV_B。标题一般由两部分组成,前部 分为指令的助记符,多为英文单词的缩写,本例中MOV表示数据内容的传送; 后部分为参与运算的数据类型,B表示字节,常见的数据类型还有W(字)、DW( 双字)、R(实数)、I(整数)、DI(双整数)等。MOV_B EN ENO1.115INOUT图7.49 梯形图格式 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令数据处理指令的指令表格式也分为两部分,如字节传送指令的指令表格 式为:MOVB IN,OUT。前一部分是表示指令功能的助记符,部分指令的助 记符与指令盒中的标题相同,也有的不同,需要区分。后一部分为操作数, 可以是数据地址或常数。 2. 操作数的类型及长度 指令盒及语句表中用“IN”和“OUT”表示的就是操作数。“IN”表示源操 作数,指令以其为数据来源,指令执行不改变源操作数的内容。“OUT”为目 的操作数,指令执行后将把目的操作数作为运算结果的存储目的。有些指令 中还有辅助操作数,常用于对源操作数和目的操作数做补充说明。 操作数的类型和长度需要和指令相匹配,比如字节指令不能使用W(字)、DW( 双字)型的操作数。而且要特别注意不能使各指令的操作数单元互相重叠,否 则会发生数据错误。 3. 指令的执行条件和运行情况 指令盒中“EN”表示的输入为指令执行条件,只要有“能流”进入EN端 ,则指令执行。在梯形图中,EN端常连接各类触点的组合,只要这些触点的 动作使“能流”到达EN端,指令就会执行。需要注意的是:只要指令执行条 件存在,该指令会在每个扫描周期执行一次,称为连续执行。但大多数情况 1.116 下, 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令只需要指令执行一次,即执行条件只在一个扫描周期内有效,这时需要用一 个扫描周期的脉冲作为其执行条件,称为脉冲执行。一个扫描周期的脉冲可 以使用正负跳变指令或定时器指令实现。 4. ENO状态 某些指令的指令盒右侧设有“ENO”使能输出,若EN端有“能流”且指 令被正常执行,则ENO端会将“能流”输出,传送到下一个程序单元。如果 指令运行出错,ENO端状态为0。 5. 指令执行对特殊标志位的影响 为方便用户更好地了解PLC内部的运行情况,为控制和故障诊断提供方 便,PLC中设置了很多特殊标志位,如溢出位等。具体内容可参考S7-200系 统手册中的特殊标志位存储器(SM)功能,本节不再详述。1.117 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.57.5.1 传送指令和表功能指令数据处理功能指令1. 传送指令 传送指令可将单个数据或多个连续数据从源区传送到目的区,主要用于 PLC内部数据的流转。传送指令根据数据类型的不同又可分为字节、字、双字 及实数传送指令。 1) MOVB、MOVW、MOVD和MOVR指令 (1) 指令格式及其操作数。 指令的梯形图和指令表格式见表7-33。操作数见表7-34。1.118 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5名 指令 指令表格式 称数据处理功能指令字传送 MOVW MOVW IN, OUT 双字传送 MOVD MOVD IN, OUT 实数传送 MOVR MOVR IN, OUT表7-33 MOVB、MOVW、MOVD和MOVR指令的基本格式 字节传送 MOVB MOVB IN, OUTMOV_BMOV_W EN ENO IN OUTMOV_DW EN ENO IN OUTMOV_R EN ENO IN OUT梯形图格式EN ENO IN OUT1.119 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令数据类 型 BYTE BYTE表7-34 MOVB、MOVW、MOVD和MOVR指令可用操作数指令IN/OU T IN操 作 数 VB,IB,QB,MB,SB,SMB,LB,AC, 常数,*VD,*AC,*LD VB,IB,QB,MB,SB,SMB,LB,AC, *VD,*AC,*LDMOVBOUT INMOV WVW,IW,QW,MW,SW,SMW,LW,T, WORD, INT C,AIW,常数,AC,*VD,*AC,*LD VW,IW,QW,MW,SW,SMW,LW, AQW,AC,*VD,*AC,*LD WORD, INTOUT1.120 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5IN MOVD OUT数据处理功能指令DWORD, DINTDWORD, DINTVD,ID,QD,MD,SD,SMD,LD,HC, &VB,&IB,&QB,&MB,&SB,&T,&C, AC, 常数,*VD,*AC,*LD VD,ID,QD,MD,SD,SMD,LD,AC, *VD,*AC,*LD VD,ID,QD,MD,SD,SMD,LD,AC, 常 数,*VD,*AC,*LD VD,ID,QD,MD,SD,SMD,LD,AC, *VD,*AC,*LDINMOVR OUTREALREAL1.121 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令(2) 指令功能。 MOVB EN端口执行条件存在时,把IN所指的字节原值传送到OUT所指 字节存储单元。 MOVW EN端口执行条件存在时,把IN所指的字原值传送到OUT所指字 存储单元。 MOVD EN端口执行条件存在时,把IN所指的双字原值传送到OUT所指 双字存储单元。 MOVR EN端口执行条件存在时,把IN所指的32位实数原值传送到OUT 所指双字长的存储单元。 (3) 指令应用举例。 以双字传输指令为例说明传送指令的用法,如图7.50所示。I0.0 MOV_DW EN ENO IN OUT AC1 LD I0.0 MOVD VD100, AC1 VB100 VB101 VB102 VB103 12 34 56 78 MOVD 12 34 AC1 56 78VD1001.122图7.50 传送指令用法举例 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令① 当I0.0闭合时,将VD100(包括4个字节:VB100~VB103)中的数据, 传送到AC1中。 ② 在I0.0闭合期间,MOVD指令每个扫描周期运行一次。若希望其只在 I0.0闭合时运行一个扫描周期,需要在I0.0后串联一个正跳变指令。 2) BIR,BIW指令 (1) 指令格式及其操作数。 指令的梯形图和指令表格式见表7-35。操作数见表7-36。 表7-35 BIR,BIW指令的基本格式 名 指令 指令表格式 梯形图格式1.123称 BIR字节传送立即读字节传送立即写 BIW BIW IN,OUTMOV_BIW EN IN ENO OUTBIR IN,OUTMOV_BIR EN ENO IN OUT 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令表7-36 BIR,BIW指令的操作数指令IN/OU TIN IB操 作 数数据类型 BYTE BYTE BYTE BYTEBIROUT IN OUTVB,IB,QB,MB,SB,SMB,LB,AC, *VD,*AC,*LD VB,IB,QB,MB,SB,SMB,LB,AC, *VD,*AC,*LD,常数 QBBIW1.124 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令(2) 指令功能。 BIR 字节传送立即读指令,EN端口执行条件存在时,直接读取IN端口 由IB指定的8位物理输入端口数据,并将值存入OUT所指字节存储单元,而不 经过输入映像寄存器。 BIW 字节传送立即写指令,EN端口执行条件存在时,读取IN所指的字 节数据,直接写入OUT所指8位物理输出端口,同时刷新输出映像寄存器。 该指令使用方法同传送指令,这里不再赘述。 3) BMB、BMW和BMD指令 (1) 指令格式及其操作数。 指令的梯形图和指令表格式见表7-37。操作数见表7-38。 表7-37 BMB、BMW和BMD指令的基本格式1.125 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5名 指令 称数据处理功能指令字块传送 BMW 双字块传送 BMD字节块传送 BMB指令表格式BMB IN,OUT, BMW IN,OUT, BMD IN,OUT, N N NBLKMOV_BBLKMOV_W EN IN N ENO OUTBLKMOV_D EN IN N ENO OUT梯形图格式EN IN NENO OUT1.126 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5指 令 IN/OU T N IN BM W OUT N IN/OU T N数据处理功能指令操 作 数 数据类型 BYTE表7-38 BMB、BMW和BMD指令的操作数 VB,IB,QB,MB,SB,SMB,LB, *VD, *AC,*LDBMBVB,IB,QB,MB,SB,SMB,LB,AC,常数, BYTE *VD,*AC,*LD VW,IW,QW,MW,SW,SMW,LW,T, C,AIW,*VD,*AC,*LD VW,IW,QW,MW,SW,SMW,LW,T, C,AQW,*VD,*AC,*LD WORD WORDVB,IB,QB,MB,SB,SMB,LB,AC,常数, BYTE *VD,*AC,*LD VD,ID,QD,MD,SD,SMD,LD,*VD, *AC,*LD DWORDBMD1.127VB,IB,QB,MB,SB,SMB,LB,AC,常数, BYTE *VD,*AC,*LD 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令(2) 指令功能。 BMB EN端口执行条件存在时,把从IN指定的字节开始的N个字节数据传 送到以OUT指定字节为起始的N个字节存储单元。 BMW EN端口执行条件存在时,把从IN指定的字开始的N个字数据传送到 以OUT指定字为起始的N个字存储单元。 BMD EN端口执行条件存在时,把从IN指定的双字开始的N个双字数据传 送到以OUT指定双字为起始的N个双字存储单元。 (3) 指令应用举例。 以字传输指令为例说明块传送指令的用法,如图7.51所示。IN 源区 Network1 I0.0 BLKMOV_W Network1 LD I0.0 EU BMW VW100, MW10, 5 MW10VB100 VB101 VB102 VB108 VB109PVW100 5EN IN NENO OUTI0.0OUT 目的区MB10 MB11 MB12 MB18 MB191.128图7.51 块传送指令用法举例 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令由于有正跳变指令作用,在I0.0闭合的第一个扫描周期,BMW指令执行 ,将VW100~VW104的5个字传送到MW10~MW14存储单元中。 4) SWAP指令 (1) 指令格式及其操作数。 指令的梯形图和指令表格式见表7-39。操作数见表7-40。 表7-39 SWAP指令的基本格式 名 指令 指令表格式 称 SWAP SWAP INSWAP EN ENO IN高低字节交换梯形图格式1.129 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5指 令 输 IN 入数据处理功能指令操 作 数 数据类型 WORD表7-40 SWAP指令的操作数SWAPVW,IW,QW,MW,SW,SMW, LW,T,C,AC,*VD,*AC,*LD(2) 指令功能。 SWAP EN端口执行条件存在时,使IN指定字的高低字节互换。 (3) 指令应用举例。 高低字节交换指令的用法,如图7.52所示。 ① 在I0.0闭合的第一个扫描周期,首先执行MOVW指令,将16进制数 12EF传送到AC0中,接着执行字节交换指令SWAP,将AC0中的值变为16进制 数EF12。 ② SWAP指令使用时,若不使用正跳变指令,则在I0.0闭合的每一个扫描 周期执行一次高低字节交换,不能保证结果正确。1.130 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5I0.0数据处理功能指令MOV_W EN ENO LD I0.0 EU MOVW 16#12EF, AC0 SWAP AC0 AC0P16#12EFINOUTSWAP EN AC0 IN ENO12EFAC0转换前 I0.0EF12AC0转换后图7.52 SWAP指令的用法举例 2. 表功能指令 表功能指令是指定存储器区域中的数据管理指令。可建立一个不大于100 个字的数据表,依次向数据区填入或取出数据,并可在数据区查找符合设置条 件的数据,以对数据区内的数据进行统计、排序、比较等处理。表功能指令包 括填表指令、查表指令,先进先出指令、后进先出指令及填充指令。1.131 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令1) ATT、FND指令 (1) 指令格式及其操作数。 指令的梯形图和指令表格式见表7-41。操作数见表7-42。 表7-41 ATT、FND指令的基本格式 名 称 填表指令 查表指令指令ATTFND指令表格式ATT DATA,TABLEFND= TBL,PATRN,INDX FND&&TBL,PATRN,INDX FND&TBL,PATRN,INDX FND&TBL,PATRN,INDX1.132 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5梯形图格式数据处理功能指令AD_T_TBL EN DATA TBL ENOTBL_FIND EN TBL PNT INDX CMD ENO表7-42 ATT、FND指令的操作数 指 令 输入/输出 操作数 VW,IW,QW,MW,SW,SMW,LW, T,C,AIW,AC,常数,*VD,*AC, *LD VW,IW,QW,MW,SW,SMW,LW, T,C,*VD,*AC,*LD 数据类 型 INTDATA ATT TBL1.133WORD 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5指 令 输入/输出 TBL PTN数据处理功能指令操作数 数据类 型VW,IW,QW,MW,SW,SMW,LW, WORD T,C,*VD,*AC,*LDVW,IW,QW,MW,SW,SMW,LW, INT AIW, T,C, AC,常数,*VD,*AC, *LD VW,IW,QW,MW,SW,SMW,LW, WORD T,C,AC,*VD,*AC,*LD 常数(1~4) BYTEFNDINDX CMD1.134 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令(2) 指令功能。 ATT EN端口执行条件存在时,用于向TBL指定的数据表中填加DATA端 的数据。 FND EN端口执行条件存在时,从INDX开始搜索表TBL,查找满足由 PTN和CMD设置条件的数据。PTN设置要查找的具体数据,CMD设置查找条件 (1~4分别表示=、&&、&、&)。 (3) 指令应用举例。 ATT指令应用如图7.53所示。Network1 SM0.1 Network1 执行ATT指令前 VW10 1234 VW100 0006 VW102 0004 VW104 4568 VW106 1234 VW108 8732 VW110 1234 VW112 ×××× VW114 ×××× TL(最大填表数) EC(实际填表数) d0 (数据0) d1 (数据1) d2 (数据2) d3 (数据3) 执行ATT指令后MOV_W EN ENO OUTLD SM0.1 MOVW +6, VW100+6Network2 I0.0INVW100Network2 LD ATT I0.0 VW10, VW100AD_T_ TBL EN ENOVW100 0006 VW102 0003 VW104 4568 VW106 1234 VW108 8732 VW110 VW112 VW114×××× ×××× ××××VW10 VW100DATA TBL1.135图7.53 ATT指令应用 第7章 SIMATIC S7-200系列 PLC基本指令系统 7.5 数据处理功能指令① 在向数据表中填加数据时,首先要确定数据表的首地址和最大填表数。 本例中,使用SM0.1在程序运行的第一个扫描周期,确定数据表的首地址为 VW100,最大填表数为6。如图 7.53 中所示,表中的第一个数是最大填表数 (TL)6,第二个数为实际填表数(EC),在ATT指令

我要回帖

更多关于 三菱减法指令 的文章

 

随机推荐