西门子PLC指令实例教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2.1 指令操作数
指令操作数(又称编程元件)一般在用户存储区中,操作数由操作标 识符和参数组成。操作标识符由主标识符和辅助标识符组成,主标识符用 来指定操作数所使用的存储区类型,辅助标识符则用来指定操作数的单位 (如:位、字节、字、双字等)。
主标识符有:I(输入过程映像寄存器)、Q(输出过程映像寄存器)、 M(位存储器)、PI(外部输入寄存器)、PQ(外部输出寄存器)、T(定 时器)、C(计数器)、DB(数据块寄存器)和L(本地数据寄存器);辅 助标识符有:X(位)、B(字节)、W(字)、D(双字)。
表4-2 STEP7中的复式数据类型
数据类型
说明
日期_时间 DT DATE_AN D_TIME
定义64位区(8字节)。用BCD码存储时间信息:字节0,年;字节 1,月;字节2,日;字节3,小时;字节4,分;字节5,秒; 字节6和字节7的高位,毫秒;字节7的低位,星期几
字符串 STRING
可定义254个字符。字符串的默认大小为256字节(存放254个字符, 外加双字节字头),可以通过定义字符串的实际数目来减少预 留值
应尽量避免线圈重复使用; • 5)梯形图程序必须符合顺序执行的原则,从左到右,从上
到下地执行,如不符合顺序执行的电路不能直接编程; • 6)在梯形图中串联接点、并联接点的使用次数没有限制,
Байду номын сангаас可无限次地使用。
Date: 2021/4/9
Page: 14
4.2 STEP7的指令结构
指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构 成。STEP7编程语言其指令功能非常丰富。利用程序编辑器,可以进行离 线编程,即把程序存储在编程器中,也可以进行在线编程,将程序存储在 CPU中。
L IB 10
//把输入字节IB 10的内容装入累加器1
T DBD 12
//把累加器1中的内容传送给数据双字DBD 12中
Date: 2021/4/9
Page: 16
3、存储器间接寻址
存储器间接寻址,简称间接寻址。该寻址方式在指令中
以存储器的形式给出操作数所在存储器单元的地址,也就是
说该存储器的内容是操作数所在存储器单元的地址。该存储
4.3.1 触点与线圈
在LAD(梯形图)程序中,通常使用类似继电器控制电路中的触点符 号及线圈符号来表示PLC的位元件,被扫描的操作数(用绝对地址或符号 地址表示)则标注在触点符号的上方,如图4.6所示。
Date: 2021/4/9
图4.6触点符号的表示方式
Page: 18
1、常开触点
对于常开触点(动合触点),则对“1”扫描相应操作数。在PLC中规 定:若操作数是“1”则常开触点“动作”,即认为是“闭合”的;若操 作数是“0”,则常开触点“复位”,即认为是“打开”的。
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执行指令时所具有的状态。一些指令
ANY
大小
说明
2字节 指定执行逻辑块时要使用的定时器,如T1
2字节 指定执行逻辑块时要使用的计数器,如C1
2字节
如:FB1 FC1 DB1 SDB1
6字节 定义内存单元,如P#M30.0
10字 如果实参的数据类型未知,或可以使用任 节 何数据类型时,如P#M30.0,byte 10
Date: 2021/4/9
数组ARRAY 定义一种数据格式的多维数组
构造STRUCT 定义多种数据类型组合的数组
Date: 2021/4/9
Page: 12
4.1.4 STEP7数据类型
3、参数类型
参数类型用于向FB和FC传送参数。STEP7提供的参数类型
见表4-3。
表4-3 STEP7的参数类型
参数 定时器(Timer) 计数器(Counter) 块Block FB Block FC Block DB Block SDB 指针(Pointer)
是否执行或以何方式执行可能取决于状态字中的某些位;执 行指令时也可能改变状态字中的某些位,也能在位逻辑指令 或字逻辑指令中访问并检测。状态字的结构如图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
Date: 2021/4/9
Page: 2
4.1.1 STEP7编程语言
1、梯形图(LAD)
LAD(LAD:Ladder Diagram)简称梯形图,LAD是 使用最多的PLC编程语言。因 与继电器电路很相似,具有直 观易懂的特点,很容易被熟悉 继电器控制的电气人员所掌握, 特别适合于数字量逻辑控制, 也适合于熟悉继电器电路的人 员使用。LAD编程语言如图4.1 所示。
令中,或以唯一形式隐含在指令中。下面各条指令操作数均采用了立即寻
址方式。
SET
//把RLO置1
OW W#16#A320
//将常量W#16#A320与累加器1“或”运算
L 27
//把整数27装入累加器1
L C#0100
//把BCD码常数0100装入累加器1
2、存储器直接寻址
存储器直接寻址,简称直接寻址。该寻址方式在指令中直接给出操作
第四章 S7-300软件基础
• 4.1 PLC编程基础 • 4.2 STEP7的指令结构 • 4.3 位逻辑指令
• 4.5 定时器与计数器指令
Date: 2021/4/9
Page: 1
4.1 PLC编程基础
4.1.1 STEP7编程语言
STEP7是S7-300/400系列PLC应用设计软件包, 所支持的PLC编程语言非常丰富。该软件的标准版支 持STL(语句表)、LAD(梯形图)及FBD(功能块图) 3种基本编程语言,并且在STEP 7中可以相互转换。 不同的编程语言可供不同知识背景的人员采用。其中 LAD、STL和FBD是三种基本编程语言。
常开触点所使用的操作数是:I、Q、M、L、D、T、C。
2、常闭触点
常闭触点(动断触点)则对“0”扫描相应操作数。在PLC中规定:若 操作数是“1”则常闭触点“动作”,即触点“断开”;若操作数是“0”, 则常闭触点“复位”, 即触点“闭合”。
常闭触点所使用的操作数是:I、Q、M、L、D、T、C。
3、输出线圈(赋值指令)
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。
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。
Page: 9
4.1.4 STEP7数据类型
在STEP7中,大多数指令要与具有一定大小的数据 对象一起操作,不同的数据类型具有不同的格式。编 程所用的数据要指定数据类型,要确定数据大小和数 据的位结构。数据类型分为3大类。
1、基本数据类型 基本数据类型有很多种,每种数据类型在分配内
存空间时有确定的位数,如布尔型(BOOL)数据为1 位,字节型(BYTE)数据为8位,字型(WORD)数据 为16位,双字型(DWORD)数据为32位。基本数据类 型见表4-1。
说说明明::位0位~02(~xx2x)(为x被 xx寻)为址被地寻址中址位地的编址号中(位0~的7) 编号 (0~7) 位3位~38为~被8为 寻址被地寻址址的字地节址的的编字号(节0的~6编5535号)(0~65535)
图4.5 寄存器间接寻址的指针格式
Date: 2021/4/9
Page: 17
数的存储单元地址。存储单元地址可用符号地址(如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的内容
Page: 13
4.1.5 PLC编程的基本原则
PLC编程应该遵循以下基本原则:
• 1)外部输入、输出继电器、内部继电器、定时器、计数器 等器件的接点可多次重复使用;
• 2)梯形图每一行都是从左母线开始,线圈接在最右边,接 点不能放在线圈的右边;
• 3)线圈不能直接与左母线相连; • 4)同一编号的线圈在一个程序中使用两次容易引起误操作,
4.3位逻辑指令
位逻辑指令包含位逻辑运算指令、定时器指令、计数器指令和位测 试指令等。可以使用位逻辑指令扫描布尔操作数的状态,通过“与 (AND)”、“或(OR)”、“异或(XOR)”及其组合操作实现逻辑操 作。所产生的结果(“1”或“0”)称为逻辑运算结果,存储在状态字 的“RLO”中。逻辑操作结果(RLO)用于赋值、置位/复位布尔操作数, 也用于控制定时器和计数器的运行。
输出线圈与继电器控制电路中的线圈一样,如果有电流(信号流)流 过线圈(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):循环扫描结束时,存储用户程
图4.2 STL编程语言
Date: 2021/4/9
Page: 4
4.1.1 STEP7编程语言
3、功能块图(FBD) FBD(FBD:Function Block Diagram)简称功
能块图,功能块图使用类似于布尔代数的图形逻辑符 号来表示控制逻辑,一些复杂的功能用指令框表示。 FBD适合于有数字电路基础的编程人员使用。FBD编程 语言如图4.3所示。
序计算的输出值,并将PIQ的内容写入数字量输出模块。 2、内部存储器区(M) 内部存储器区(M),主要用于存储中间变量。 3、定时器(T)存储器区 在CPU的存储器中,有一个区域是专为定时器保留的。此
存储区域为每个定时器地址保留一个16位字。梯形图逻辑指 令集支持256个定时器。时间值可以用二进制或BCD码方式读 取。
图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
4.2.2 寻址方式
所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方 式给出操作数。S7-300有4种寻址方式:立即寻址、存储器直接寻址、存 储器间接寻址和寄存器间接寻址。
Date: 2021/4/9
Page: 15
1、立即寻址
立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指
相关文档
最新文档