当前位置:文档之家› 西门子PLC指令实例教程

西门子PLC指令实例教程


L IB 10
//把输入字节IB 10的内容装入累加器1
T DBD 12
//把累加器1中的内容传送给数据双字DBD 12中
Date: 2021/4/9
Page: 16
3、存储器间接寻址
存储器间接寻址,简称间接寻址。该寻址方式在指令中
以存储器的形式给出操作数所在存储器单元的地址,也就是
说该存储器的内容是操作数所在存储器单元的地址。该存储
图4.1 LAD编程语言
Date: 2021/4/9
Page: 3
4.1.1 STEP7编程语言
2、语句表(STL) STL(STL:Statement
List)简称语句表,STL是一 种类似于微机汇编语言的一种 文本编程语言,由多条语句组 成一个程序段。语句表适合于 经验丰富的程序员使用,可以 实现某些梯形图不能实现的功 能。STL适用于喜欢用汇编语 言编程的人员使用。STL编程 语言如图4.2所示。
器一般称为地址指针,在指令中需写在方括号“[]”内。地
址指针可以是字或双字,对于地址范围小于65535的存储器
可以用字指针;对于其他存储器则要使用双字指针。存储器
间接寻址的双字指针的格式如图4.5所示。
位序 31
24
23
16
15
8
7
位序 30100000000000000240 203000000b0bb016 0bbb1b5bbb bbbb b8 bbb 7bbbbbbbbbxxx 0 b
Date: 2021/4/9
Page: 2
4.1.1 STEP7编程语言
1、梯形图(LAD)
LAD(LAD:Ladder Diagram)简称梯形图,LAD是 使用最多的PLC编程语言。因 与继电器电路很相似,具有直 观易懂的特点,很容易被熟悉 继电器控制的电气人员所掌握, 特别适合于数字量逻辑控制, 也适合于熟悉继电器电路的人 员使用。LAD编程语言如图4.1 所示。
Date: 2021/4/9
Page: 7
4.1.2 S7-300 CPU的系统存储器
4、计数器(C)存储器区 在用户CPU的存储器中,有为计数器保留的存储区。此存
储区为每个计数器地址保留一个16位字。梯形图指令集支持 256个计数器。计数值(0~999)可以用二进制或BCD码方式 读取。
5、数据块/背景数据块(DB) DB为共享数据块,DBX2.3,DBB5,DBW10和DBD12。 DI为背景数据块,DIX, DIB,DIW和DID。
令中,或以唯一形式隐含在指令中。下面各条指令操作数均采用了立即寻
址方式。
SET
//把RLO置1
OW W#16#A320
//将常量W#16#A320与累加器1“或”运算
L 27
//把整数27装入累加器1
L C#0100
//把BCD码常数0100装入累加器1
2、存储器直接寻址
存储器直接寻址,简称直接寻址。该寻址方式在指令中直接给出操作
数的存储单元地址。存储单元地址可用符号地址(如SB1、KM等)或绝对
地址(如I0.0、Q4.1等)。下面各条指令操作数均采用了直接寻址方式。
A I 0.0
//对输入位I 0.0进行“与”逻辑操作
S L 20.0
//把本地数据位L 20.0置1
= M 115.4
//使存储区位M 115.4的内容等于RLO的内容
6、外部I/O存储区(PI/PQ) 外设输入(PI)区和外设输出(PQ)区允许直接访问本地
的和分布式的输入模块和输出模块。
Date: 2021/4/9
Page: 8
4.1.3 S7-300 CPU的寄存器
1、累加器(ACCUx) 累加器用于处理字节、字或双字的寄存器。S7-300有两
个32位累加器(ACCU1和ACCU2)。 2、状态字寄存器(16位) 状态字用于表示CPU执行指令时所具有的状态。一些指令
常开触点所使用的操作数是:I、Q、M、L、D、T、C。
2、常闭触点
常闭触点(动断触点)则对“0”扫描相应操作数。在PLC中规定:若 操作数是“1”则常闭触点“动作”,即触点“断开”;若操作数是“0”, 则常闭触点“复位”, 即触点“闭合”。
常闭触点所使用的操作数是:I、Q、M、L、D、T、C。
3、输出线圈(赋值指令)
4.2.2 寻址方式
所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方 式给出操作数。S7-300有4种寻址方式:立即寻址、存储器直接寻址、存 储器间接寻址和寄存器间接寻址。
Date: 2021/4/9
Page: 15
1、立即寻址
立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指
图4.2 STL编程语言
Date: 2021/4/9
Page: 4
4.1.1 STEP7编程语言
3、功能块图(FBD) FBD(FBD:Function Block Diagram)简称功
能块图,功能块图使用类似于布尔代数的图形逻辑符 号来表示控制逻辑,一些复杂的功能用指令框表示。 FBD适合于有数字电路基础的编程人员使用。FBD编程 语言如图4.3所示。
应尽量避免线圈重复使用; • 5)梯形图程序必须符合顺序执行的原则,从左到右,从上
到下地执行,如不符合顺序执行的电路不能直接编程; • 6)在梯形图中串联接点、并联接点的使用次数没有限制,
可无限次地使用。
Date: 2021/4/9Page: 144.2 STEP7的指令结构
指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构 成。STEP7编程语言其指令功能非常丰富。利用程序编辑器,可以进行离 线编程,即把程序存储在编程器中,也可以进行在线编程,将程序存储在 CPU中。
是否执行或以何方式执行可能取决于状态字中的某些位;执 行指令时也可能改变状态字中的某些位,也能在位逻辑指令 或字逻辑指令中访问并检测。状态字的结构如图4.4所示。
15
98 7 6 5 4 3 2 1 0
未用
BR CC1 CC0 OS OV OR STA RLO FC
图4.4 状态字的结构
Date: 2021/4/9
ANY
大小
说明
2字节 指定执行逻辑块时要使用的定时器,如T1
2字节 指定执行逻辑块时要使用的计数器,如C1
2字节
如:FB1 FC1 DB1 SDB1
6字节 定义内存单元,如P#M30.0
10字 如果实参的数据类型未知,或可以使用任 节 何数据类型时,如P#M30.0,byte 10
Date: 2021/4/9
Page: 13
4.1.5 PLC编程的基本原则
PLC编程应该遵循以下基本原则:
• 1)外部输入、输出继电器、内部继电器、定时器、计数器 等器件的接点可多次重复使用;
• 2)梯形图每一行都是从左母线开始,线圈接在最右边,接 点不能放在线圈的右边;
• 3)线圈不能直接与左母线相连; • 4)同一编号的线圈在一个程序中使用两次容易引起误操作,
4.3位逻辑指令
位逻辑指令包含位逻辑运算指令、定时器指令、计数器指令和位测 试指令等。可以使用位逻辑指令扫描布尔操作数的状态,通过“与 (AND)”、“或(OR)”、“异或(XOR)”及其组合操作实现逻辑操 作。所产生的结果(“1”或“0”)称为逻辑运算结果,存储在状态字 的“RLO”中。逻辑操作结果(RLO)用于赋值、置位/复位布尔操作数, 也用于控制定时器和计数器的运行。
Date: 2021/4/9
Page: 10
4.1.4 STEP7数据类型
表4-1 STEP 7中常用的基本数据类型
Date: 2021/4/9
Page: 11
4.1.4 STEP7数据类型
2、复式数据类型 超过32位或由其他数据类型组成的数据为复式数据类型,
STEP7允许4种复式数据类型,见表4-2。
4.2.1 指令操作数
指令操作数(又称编程元件)一般在用户存储区中,操作数由操作标 识符和参数组成。操作标识符由主标识符和辅助标识符组成,主标识符用 来指定操作数所使用的存储区类型,辅助标识符则用来指定操作数的单位 (如:位、字节、字、双字等)。
主标识符有:I(输入过程映像寄存器)、Q(输出过程映像寄存器)、 M(位存储器)、PI(外部输入寄存器)、PQ(外部输出寄存器)、T(定 时器)、C(计数器)、DB(数据块寄存器)和L(本地数据寄存器);辅 助标识符有:X(位)、B(字节)、W(字)、D(双字)。
Page: 9
4.1.4 STEP7数据类型
在STEP7中,大多数指令要与具有一定大小的数据 对象一起操作,不同的数据类型具有不同的格式。编 程所用的数据要指定数据类型,要确定数据大小和数 据的位结构。数据类型分为3大类。
1、基本数据类型 基本数据类型有很多种,每种数据类型在分配内
存空间时有确定的位数,如布尔型(BOOL)数据为1 位,字节型(BYTE)数据为8位,字型(WORD)数据 为16位,双字型(DWORD)数据为32位。基本数据类 型见表4-1。
输出线圈与继电器控制电路中的线圈一样,如果有电流(信号流)流 过线圈(RLO=“1”),则被驱动的操作数置“1”;如果没有电流流过线 圈(RLO=“0”),则被驱动的操作数复位(置“0”)。输出线圈只能出 现在梯形图逻辑串的最右边。
Date: 2021/4/9
Page: 5
4.1.1 STEP7编程语言
Date: 2021/4/9
图4.3 FBD编程语言
Page: 6
4.1.2 S7-300 CPU的系统存储器
1、过程映像输入表/输出表(I/Q) 过程映像输入表(PII):循环扫描开始时,存储数字量
输入模块的输入信号的状态。 过程映像输出表(PIQ):循环扫描结束时,存储用户程
相关主题