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

本章要点:

SIMATIC S7系列可编程控制器简介

SIMATIC S7-200/S7-300及其系统配置

SIMATIC S7-200/S7-300的模块及选用

SIMATIC S7-200/S7-300 CPU编程的基本概念和寻址方式

SIMATIC S7-200/S7-300系列的编程元件及功能

3.1 SIMATIC S7-200/S7-300系列PLC的指令系统

如前所述,S7-200/S7-300系列的CPU存取信息、处理数据,实际上是对数据空间的操作,而对数据空间的所有寻址和操作,都是由PLC的指令来实现的。

S7-200/S7-300 PLC的指令系统中,基本指令有:位逻辑指令(Bit Logic)、比较指令(Compare)、定时器指令(Timer)、计数器指令(Counter)、整数数学运算指令(Integer Math)、实数数学运算指令(Real or Floating Point Math)、传送指令(Move)、表功能指令(Table)、逻辑操作指令(Logical Operator)、移位和循环指令(Shift/Rotate)、转换指令(Convert)、程序控制指令(Program Control)以及高速计数指令、脉冲输出指令、时钟指令、中断和通信指令、逻辑堆栈指令等,所有这些指令构成了SIMATIC指令集供用户编程使用。本节将重点介绍S7 -200的指令系统和梯形图LAD、语句表STL的基本编程方法。

3.1.1 S7-200/S7-300指令编程的一般规范

这里简单介绍一下S7-200/S7-300相关的指令及编程术语,方便在以后的章节中引用,以免读者产生混淆。

1. 网络

在梯形图(LAD)中,程序被分成一些段,这些段被称为网络。网络由触点、线圈、功能框的有序排列构成。STEP7-Micro/WIN32允许以网络为单位给LAD程序建立注释。每个网络只允许有一个输出线圈(并联输出除外)。在语句表(STL)中不使用网络,但可以使用“NETWORK(网络)”这个关键词对程序分段。如果这样,程序可以转换成LAD。

2. 执行分区

一个程序包括至少一个命令部分和其他可选部分。命令部分为主程序,可选部分包括一个或多个子程序或中断程序。

3. EN/ENO定义

EN(允许输入):LAD中功能框的布尔量(使能)输入。对要执行的功能框,这个输入必须存在能量流。在STL中,指令没有EN输入,但是对于要执行的STL语句,栈顶的值必须为“1”。

ENO(允许输出):LAD中的功能框的布尔量(逻辑结果)输出。如果功能框使能,且准确无误地执行了其功能,则ENO有能量流输出(ENO端为“1”);如果执行出错,则能量流终止于出现错误的功能框。

3.1.2 指令编程使用技巧

利用PLC进行程序编制时,为了减少指令条数,节省内存和提高运行速度,应掌握以下编程技巧。

(1)串联触点较多的电路编在梯形图上方,如图3.1所示。

图3.1 串联触点编程

(2)并联触点多的电路应放在左边,如图3.2所示。图3.2(b)比(a)省去了0RS和ANS指令。若有几个并联电路相串联,应将触点最多的并联电路放在最左边。

图3.2 并联触点编程

(3)对复杂电路的处理:

桥式电路的编程

图3.3所示的梯形图是一个桥式电路,不能直接对它编程,必须重画为图3.4所示的电路才可进行编程。

图3.3 桥式电路

图3.4 桥式电路的调整

电路等效

如果梯形图构成的电路结构比较复杂,用ANS、0RS等指令难以解决,可重复使用一些触点画出它的等效电路,然后再进行编程就比较容易了,如图3.5所示。如果使用编程软件也可直接编程。

图3.5 重复使用触点使电路等效