第3章 SIMATIC S7-200的指令系统与基本程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章SIMATICS7-200的指令系统与基本程序·56·33SSIIMMAATTIICCSS77--220000//SS77--330000的的指指令令系系统统与与基基本本程程序序本章要点:★SIMATICS7系列可编程控制器简介★SIMATICS7-200/S7-300及其系统配置★SIMATICS7-200/S7-300的模块及选用★SIMATICS7-200/S7-300CPU编程的基本概念和寻址方式★SIMATICS7-200/S7-300系列的编程元件及功能第3章SIMATICS7-200的指令系统与基本程序·57·3.1SIMATICS7-200/S7-300系列PLC的指令系统如前所述,S7-200/S7-300系列的CPU存取信息、处理数据,实际上是对数据空间的操作,而对数据空间的所有寻址和操作,都是由PLC的指令来实现的。S7-200/S7-300PLC的指令系统中,基本指令有:位逻辑指令(BitLogic)、比较指令(Compare)、定时器指令(Timer)、计数器指令(Counter)、整数数学运算指令(IntegerMath)、实数数学运算指令(RealorFloatingPointMath)、传送指令(Move)、表功能指令(Table)、逻辑操作指令(LogicalOperator)、移位和循环指令(Shift/Rotate)、转换指令(Convert)、程序控制指令(ProgramControl)以及高速计数指令、脉冲输出指令、时钟指令、中断和通信指令、逻辑堆栈指令等等,所有这些指令构成了SIMATIC指令集供用户编程使用。本节将重点介绍S7-200的指令系统和梯形图LAD、语句表STL的基本编程方法。3.1.1S7-200/S7-300指令编程的一般规范这里简单介绍一下S7-200/S7-300相关的指令及编程术语,方便在以后的章节中引用,不会令读者发生混淆。1.网络(Network)在梯形图(LAD)中,程序被分成一些段,这些段被称为网络。网络由触点、线圈、功能框的有序排列构成。STEP7-Micro/WIN32允许以网络为单位给LAD程序建立注释。每个网络只允许有一个输出线圈(并联输出除外)。在语句表(STL)中,不使用网络,但可以使用“NETWORK(网络)”这个关键词对程序分段。如果这样,程序可以转换成LAD。2.执行分区一个程序包括至少一个命令部分和其他可选部分。命令部分为主程序,可选部分包括一个或多个子程序或中断程序。3.EN/ENO定义EN(允许输入):LAD中功能框的布尔量(使能)输入。对要执行的功能框,这个输入必须存在能量流。在STL中,指令没有EN输入,但是对于要执行的STL语句,栈顶的值必须为“1”。ENO(允许输出):LAD中的功能框的布尔量(逻辑结果)输出。如果功能框使能,且准确无误地执行了其功能,则ENO有能量流输出(ENO端为“1”)。如果执行出错,则能量流终止于出现错误的功能框。第3章SIMATICS7-200的指令系统与基本程序·58·3.1.2指令编程使用技巧利用PLC进行程序编制时,为了减少指令条数,节省内存和提高运行速度,应掌握以下编程技巧。(1)串联触点较多的电路编在梯形图上方,如图3.1所示。(a)电路安排不当(b)电路安排得当图3.1串联触点编程(2)并联触点多的电路应放在左边,如图4-26所示。图3.2(b)比(a)省去了0RS和ANS指令。若有几个并联电路相串联时,应将触点最多的并联电路放在最左边。(a)电路安排不当(b)电路安排得当图3.2并联触点编程(3)对复杂电路的处理桥式电路的编程图3.3所示的梯形图是一个桥式电路,不能直接对它编程,必须重画为图3.4所示的电路才可进行编程。图3.3桥式电路第3章SIMATICS7-200的指令系统与基本程序·59·图3.4桥式电路的调整电路等效如果梯形图构成的电路结构比较复杂,用ANS、0RS等指令难以解决,可重复使用一些触点画出它的等效电路,然后再进行编程就比较容易了,如图3.5所示。如果使用编程软件也可直接编程。(a)电路安排不当(b)电路安排得当图3.5重复使用触点使电路等效3.2基本指令及其应用S7-200的每条指令由指令操作数(变量)和数据构成。SIMATICS7-200的编程指令相对于其他类型的PLC指令,有其自身的特点。下面通过各基本指令的介绍及一些短小的例子,帮助读者正确理解和应用S7-200的基本指令。3.2.1位逻辑指令及应用位逻辑指令是PLC常用的基本指令,分为触点(输入)和线圈(输出)两大类指令,其中触点又分为常开和常闭两种形式。位操作指令能够实现基本的位逻辑运算和控制。第3章SIMATICS7-200的指令系统与基本程序·60·1.常开、常闭触点梯形图及指令具体解析常开触点bit=1闭合,常闭触点bit=0闭合。数据类型Bit:I,Q,M,SM,T,C,V,S,L。2.常开、常闭立即触点梯形图及指令具体解析常开立即触点bit=1闭合,常闭立即触点bit=0闭合。数据类型Bit:I。立即触点并不依赖于S7-200的扫描周期刷新,它会立即刷新;触点在指令执行时得到物理输入值,但过程映像寄存器并不刷新。3.跳变触点梯形图及指令EU//正跳变ED//负跳变LAD(梯形图)STL(语句表)LAD(梯形图)STL(语句表)(a)正跳变(b)负跳变PNbit/ILDbit//装载常开立即触点Abit//常开立即触点串连Obit//常开立即触点并联LDbit//装载常闭触点Abit//常闭触点串连Obit//常闭触点并联LAD(梯形图)STL(语句表)LAD(梯形图)STL(语句表)(a)常开立即触点(b)常闭立即触点bitILDbit//装载常开触点Abit//常开触点串连Obit//常开触点并联bitbit/LDbit//装载常闭触点Abit//常闭触点串连Obit//常闭触点并联LAD(梯形图)STL(语句表)LAD(梯形图)STL(语句表)(a)常开触点(b)常闭触点第3章SIMATICS7-200的指令系统与基本程序·61·具体解析正跳变,0→1产生一个宽度位为一个扫描周期的脉冲。负跳变,1→0产生一个宽度位为一个扫描周期的脉冲。4.取非触点梯形图及指令具体解析取非指令,改变能流的状态,即0→1;1→0。空操作指令不影响程序的执行,N(字节)为常数,N的点数为1~255。5.输出、立即输出线圈梯形图及指令具体解析立即线圈指令执行时,该物理输出点(bit)和映像寄存器中的指定参数位(bit)同时被接通。非立即输出只是把新值写到映像寄存器(bit)中。非立即输出Bit:Q、M、SM、T、C、V、S,立即输出Bit:Q。6.置位、复位线圈梯形图及指令NOT//取非LAD(梯形图)STL(语句表)NOT=bit=IbitLAD(梯形图)STL(语句表)LAD(梯形图)STL(语句表)(a)输出线圈(b)立即输出线圈bit()bit(I)第3章SIMATICS7-200的指令系统与基本程序·62·具体解析执行后,从bit或OUT指定的地址参数开始N个点均被置位(置1)或复位(置0)。当用复位指令时,若bit或OUT指定的是T位或C位,则定时器或计数器被复位,同时,定时器或计数器的当前值被清零。Bit:I,Q,M,SM,T,C,V,S,LN(字节):IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数,N的点数:1~255。7.立即置位、复位线圈梯形图及指令具体解析执行后,从bit或OUT指定的地址参数开始N个点均被立即置位(置1)或复位(置0)。执行立即置位(复位)指令时,新值会同时被写到物理输出和相应的过程映象寄存器。这一点不同于非立即指令,只把新值写入过程映像寄存器。Bit:Q。N(字节):IB、QB、VB、MB、SMB、SB、LB、AC、*VD、*LD、*AC、常数,N的点数:1~128。8.空操作梯形图及指令SIbit,NRIbit,NLAD(梯形图)STL(语句表)LAD(梯形图)STL(语句表)(a)置位线圈(b)复位线圈bitNSIbitNRISbit,NRbit,NLAD(梯形图)STL(语句表)LAD(梯形图)STL(语句表)(a)置位线圈(b)复位线圈bitNSbitNR第3章SIMATICS7-200的指令系统与基本程序·63·具体解析空操作指令不影响程序的执行。N为空操作位数。N(字节):为常数,N的点数为1~255。9.应用示例对于上述的梯形图及指令,这里采用梯形图(LAD)、语句表(STL)、时序图的方式简要介绍其是如何应用的。具体的详细应用实例,请参阅本书后几章的工程应用实例。Network1LDI0.0AI0.1=Q0.0NOT=Q0.1Network2LDI0.2ONI0.3=Q0.2Network3LDI0.4LPSEUSQ0.3,1=Q0.4LPPEDRQ0.3,1=Q0.5要想激活Q0.0,常开触点I0.0和I0.1必须为接通(闭合)。NOT指令作为一个反向器使用。在RUN模式下,Q0.0和Q0.1具有相反的逻辑状态。要想激活Q0.2,常开触点I0.2必须为on或者常闭触点I0.3必须为off。要想激活输出,并行LAD分支(或逻辑输入)中应该有一个或多个逻辑值为真。在P触点的一个上升沿或者在N触点的一个下降沿出现时,一个扫描周期内输出一个脉冲。在RUN模式,Q0.和Q0.5的脉冲状态变化太快以至于在程序中无法用状态图监视。置位和复位指令将Q0.3的状态变化锁存,使程序可以监视。(a)LAD(b)STLNOPN//N位空操作LAD(梯形图)STL(语句表)Network1I0.0I0.1Q0.0NOTQ0.1Network2I0.0I0.1Network3I0.0I0.1Q0.4I0.3/PS1R1Q0.3Q0.5N第3章SIMATICS7-200的指令系统与基本程序·64·(c)时序图图3.6触点指令示例接通一个周期接通一个周期第3章SIMATICS7-200的指令系统与基本程序·65·Network1LDI0.0=Q0.0=Q0.1=V0.0Network2LDI0.1SQ0.2,6Network3LDI0.2RQ0.2,6Network4LDI0.3LPSAI0.4SQ1.0,8LPPAI0.5RQ1.0,8Network5LDI0.6=Q1.0输出指令为外部I/O(I、Q)和内部存储器(M、SM、T、C、V、S、L)指定位值。连续将一组6位置为1。指定起始地址和置位的个数。当第一位(Q0.2)的值为1时,置位指令的程序状态指示器为ON连续将一组6位置为0。指定起始地址和复位的个数。当第一位(Q0.2)的值为0时,复位指令的程序状态指示器为ON。置位/复位一组8个输出位(Q1.0~Q1.7)。置位和复位指令实现锁存器功能。完成置位和复位功能,必须确保这些位没有在其他指令中被改写。在本例中,Network4置位和复位一组8个输出位(Q1.0~Q1.7)。在RUN模式下Network5会覆盖Q1.0的值,从而控制Network4中的程序状态显示器。(a)LAD(b)STLNetwork1I0.0Q0.0V0.0Q0.1Network2I0.1Q0.2Network3I0.2Q0.2S6R8I0.5Q1.0Network4I0.3I0.4Q1.0R6S8Network5I0.6Q1.0第3章SIMATICS7-200的指令系统与基本程序·66·(c)时序图图3.7线圈指令示例3.2.2逻辑堆栈指令计算机中的堆栈是一组能够存储和取出数据的暂存单元,其特点是“先进后出”。每一次进行入栈操作,新值放入栈顶,栈底值丢失;每一次进行出栈操作,栈顶值弹出,栈底值补进随机数。逻辑堆栈指令主要用来完成对触点进行的复杂连接。和计算机中的堆栈结构相同,S7-200系列PLC使用一个9层堆栈来处理所有逻辑操作。西门子公司的使

1 / 60
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功