搜档网
当前位置:搜档网 › s7-300PLC编程语句手册汇总(打印版)

s7-300PLC编程语句手册汇总(打印版)

S7-300编程语言与指令

孟令生整理

STEP 7编程语言介绍 (2)

数据类型 (3)

参数数据类型 (4)

PLC用户存储区的分类及功能 (5)

指令操作数 (5)

寻址方式 (6)

状态字 (8)

基本逻辑指令 (9)

置位和复位指令 (11)

RS和SR触发器 (12)

跳变沿检测指令 (12)

定时器与计数器指令 (15)

计数器指令 (20)

访问CPU的时钟存储器 (22)

数字指令 (23)

装入和传送指令 (23)

转换指令 (25)

比较指令 (28)

算数运算指令 (29)

移位指令 (31)

控制指令 (32)

STEP 7编程语言介绍

STEP 7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。该软件的标准版支持STL(语句表)、LAD(梯形图)及FBD(功能块图)3种基本编程语言,并且在STEP 7中可以相互转换。专业版附加对GRAPH(顺序功能图)、SCL(结构化控制语言)、HiGraph(图形编程语言)、CFC(连续功能图)等编程语言的支持。不同的编程语言可供

不同知识背景的人员采用。

STL(语句表)

STL(语句表)是一种类似于计算机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语句表可供习惯汇编语言的用户使用,在运行时间和要求的存储空间方面最优。在设计通信、数学运算等高级应用程序时建议使用语句表。

FBD(功能块图)

FBD(功能块图)使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示。FBD比较适合于有数字电路基础的编程人员使用。

GRAPH(顺序控制)

GRAPH类似于解决问题的流程图,适用于顺序控制的编程。利用S7-GRAPH编程语言,可以清楚快速地组织和编写S7 PLC系统的顺序控制程序。它根据功能将控制任务分解为若干步,其顺序用图形方式显示出来并且可形成图形和文本方式的文件。

HiGraph (图形编程语

言)

S7-Higraph 允许用状态图描述生产过程,将自动控制下的机器或系统分成若干个功能单元,并为每个单元生成状态图,然后利

用信息通讯将功能单元组合在一起形成完整的系统。

数据类型

工件 电机

协调

素可以是基本数据类型或者复杂数据类型中的任一数据类型(Array类型除外,即数组类型不可以嵌套);数组中每一维的下标取值范围是-32768~32767,要求下标的下限

必须小于下标的上限。

2.结构(STRUCT)

结构是由一组不同类型(结构的元素可以是基本的或复杂的数据类型)的数据组合在一起而形成的复杂数据类型。结构通常用来定义一组相关的数据,例如电机的一组

数据可以按如下方式定义:

3.字符串(STRING)

字符串是最多有254个字符(CHAR)的一维数组,最大长度为256个字节(其中前两个字节用来存储字符串的长度信息)。字符串常量用单引号括起来,例如:

4.日期和时间(DATE_AND_TIME)

用于存储年、月、日、时、分、秒、毫秒和星期,占用8个字节,用BCD格式保存。星期天的代码为1,1~6的代码为2~7。例如:

5.用户定义的数据类型(UDT)

用户定义数据类型表示自定义的结构,存放在UDT块中(UDT1~UDT65535),在另一个数据类型中作为一个数据类型“模板”。当输入数据块时,如果需要输入几个相同的结构,利用UDT可以节省输入时间。

6.功能块类型(FB、SFB)

这种数据类型仅可以在FB的静态变量区定义,用于实现多背景DB。

参数数据类型

(2)BLOCK(块):指定一个块用作输入和输出,实参应为同类型的块。

(3)POINTER(指针):6字节指针类型,用来传递DB的块号和数据地址。

(3)ANY:10字节指针类型,用来传递DB块号、数据地址、数据数量以及数据类型。

PLC用户存储区的分类及功能

指令操作数

指令操作数(又称编程元件)一般在用户存储区中,操作数由操作标识符和参数组成。操作标识符由主标识符和

字节、字、双字等)。

主标识符有:I (输入过程映像寄存器、Q (输出过程映像寄存器)、M (位存储器)、PI (外部输入寄存器)、PQ (外部输出寄存器)、T (定时器)、C (计数器)、DB (数据块寄存器)和L (本地数据寄存器);

辅助标识符有:X (位)、B (字节)、W (字或2B )、D (2DW 或4B )。

寻址方式

所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。S7-300有4种寻址方式:

立即寻址

存储器直接寻址 存储器间接寻址 寄存器间接寻址

1.立即寻址

立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以惟一形式隐含在指令中。下面各条指令操作数均采用了立即寻址方式,其中“//”后面的内容为指令的注释部分,对指令没有任何影响。

2.存储器直接寻址

存储器直接寻址,简称直接寻址。该寻址方式在指令中直接给出操作数的存储单元地址。存储单元地址可用符号地址(如SB1、KM 等)或绝对地址(如I0.0、Q4.1等)。下面各

条指令操作数均采用了直接寻址方式。

3.存储器间接寻址(1/3)

存储器间接寻址,简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“[]”内。地址指针可以是字或双字,对于地址范围小于65535的存储器可以

用字指针;对于其他存储器则要使用双字指针。

【例4-3-1】 存储器间接寻址的单字格式的指针寻址。

存储器间接寻址的双字指针的格式如图所示。

bbbb bxxx

bbbb bbbb 0000 0bbb

0000 0000

7

8

15

16

2324

31

说明:位0~2(xxx)为被寻址地址中位的编号(0~7)

位序bbbb bbbb 0000 0bbb 0000 0000

7

8

15

16

232431说明:位0~2(xxx)为被寻址地址中位的编号(0~7)位序

【例4-3-2】 存储器间接寻址的双字格式的指针寻址。

5.寄存器间接寻址

寄存器间接寻址,简称寄存器寻址。该寻址方式在指令中通过地址寄存器和偏移量间接获取操作数,其中的地址寄存器及偏移量必须写在方括号“[]”内。在S7-300中有两个地址寄存器AR1和AR2,用地址寄存器的内容加上偏移量形成地址指针,并指向操作数所在的存储器单元。地址寄存器的地址指针有两种格式,其长度均为双字,指针格式如图所示。

第一种地址指针格式适用于在确定的存储区内寻址,即区内寄存器间接寻址。

【例4-3-3】 区内寄存器间接寻址。

第二种地址指针格式适用于区域间寄存器间接寻址。 【例4-3-4】 区域间寄存器间接寻址。

bbbb bxxx bbbb bbbb 0000 0bbb x000 0 r r r 07

81516232431说明:位0~2(xxx)为被寻址地址中位的编号(0~7)

位3~8为被寻址地址的字节的编

号(0~65535)

位24~26(rrr)为被寻址地址的区域标识号位31的x=0为区域内的间接寻址,x=1为区域间的间接寻址

位序bbbb bbbb

0000 0bbb x000 0 r r r 0

781516232431说明:位0~2(xxx)为被寻址地址中位的编号(0~7)位3~8为被寻址地址的字节的编

号(0~65535)

位24~26(rrr)为被寻址地址的区域标识号

位31的x=0为区域内的间接寻址,x=1为区域间的间接寻址

位序

第一种地址指针格式包括被寻址数据所在存储单元地址的字节编号和位编号,至于对哪个存储区寻址,则必须在指令中明确给出。这种格式适用于在确定的存储区内寻址,即区内寄存器间接寻址。

第二种地址指针格式包含了数据所在存储区的说明位(存储区域标识位),可通过改变标识位实现跨区域寻址,区域标识由位26~24确定。这种指针格式适用于区域间寄存器间接寻址。

状态字

状态字用于表示CPU执行指令时所具有的状态信息。

?首位检测位(FC) 逻辑操作结果(RLO) 状态位(STA) 或位(OR)

?溢出位(OV) 溢出状态保持位(OS) 条件码1(CC1)和条件码0(CC0) 二进制结果位(BR)

位逻辑指令

位逻辑指令处理的对象为二进制位信号。位逻辑指令扫描信号状态“1”和“0”位,并根据布尔逻辑对它们进行组合,所产生的结果(“1”或“0”)称为逻辑运算结果,存储在状态字的“RLO”中。

常闭触点

常闭触点(动断触点)则对“0”扫描相应操作数。在PLC中规定:若操作数是“1”则常闭触点“动作”,即触点“断开”;若操作数是“0”,则常闭触点“复位”,即触点仍保持闭合。

常闭触点所使用的操作数是:I、Q、M、L、D、T、C。

输出线圈(赋值指令)

输出线圈与继电器控制电路中的线圈一样,如果有电流(信号流)流过线圈(RLO=“1”),则被驱动的操作数置“1”;如果没有电流流过线圈(RLO=“0”),则被驱

动的操作数复位(置“0”)。输出线圈只能出现在梯形图

逻辑串的最右边。

输出线圈等同于STL程序中的赋值指令(用等于号

“=”表示),所使用的操作数可以是:Q、M、L、D。

中间输出

在梯形图设计时,如果一个逻辑串很长不便于编辑

(RLO)可作为中间输出,存储在位存储器(I、Q、

M、L或D)中,该存储位可以当作一个触点出现在

其他逻辑串中。中间输出只能放在梯形图逻辑串的中

间,而不能出现在最左端或最右端。

与下面程序等效

基本逻辑指令

逻辑“与”指令

逻辑“与”指令使用的操作数可以是:I、Q、M、L、D、T、C。有2种指令形式(STL和FBD),用LAD也可以实现逻辑“与”运算。

逻辑“与非”指令

逻辑“与非”指令使用的操作数可以是:I、Q、M、L、D、T、C。有2种指令形式(STL和FBD),用LAD 也可以实现逻辑“与非”运算。

可以实现逻辑“或”运算。

逻辑“或非”指令

逻辑“或非”指令使用的操作数可以是:I、Q、M、L、D、T、C。有2种指令形式(STL和FBD),用LAD 也可以实现逻辑“或非”运算。

逻辑“异或”指令

逻辑“异或非”指令

逻辑块的操作

置位和复位指令

置位(S)和复位(R)指令根据RLO的值来决定操作数的信号状态是否改变,对于置位指令,一旦RLO为“1”,则操作数的状态置“1”,即使RLO又变为“0”,输出仍保持为“1”;若RLO为“0”,则操作数的信号状态保持不变。对于复位操作,一旦RLO为“1”,则操作数的状态置“0”,即使RLO又变为“0”,输出仍保持为“0”;若RLO 为“0”,则操作数的信号状态保持不变。这一特性又被称为静态的置位和复位,相应地,赋值指令被称为动态赋值。

RS和SR触发器

●RS触发器为“置位优先”型触发器(当R

和S驱动信号同时为“1”时,触发器最终

为置位状态);

●SR触发器为“复位优先”型触发器(当R

和S驱动信号同时为“1”时,触发器最终

为复位状态)。RS触发器和SR触发器

的“位地址”、置位(S)、复(S)及输出

(Q)所使用的操作数可以是:I、Q、

M、L、D。

3.RS触发器和SR触发器的工作时序

跳变沿检测指令

STEP 7中有2类跳变沿检测指令,一种是对RLO的跳变沿检测的指令,另一种是对触点的跳变沿直接检测的梯形图方块指令。

1.RLO上升沿检测指令

3.RLO边沿检测指令的工作时序

触点信号上升沿检测指令

触点信号下降沿检测指令

触点信号边沿检测指令的工作时序

定时器与计数器指令S_PULSE(脉冲S5定时器)

S_PULSE(脉冲S5定时器)

S_PULSE(脉冲S5定时器)

S_PEXT(扩展脉冲S5定时器)

S_PEXT(扩展脉冲S5定时器)

S_ODT(接通延时S5定时器)

S_ODTS(保持型接通延时S5定时器)

S_OFFDT(断电延时S5定时器)

计数器指令

S7-300的计数器都是16位的,因此每个计数器占用该区域2个字节空间,用来存储计数值。不同的CPU模板,用于计数器的存储区域也不同,最多允许使用64~512个计数器。计数器的地址编号:C0~C511。

S_CUD(加/减计数器)块图指令

S_CU(加计数器)块图指令

相关主题