330 likes | 461 Views
第 3 章 STEP7 指令系统及应用. 学习目标 1. 了解 step 7 指令及其结构,编程的基本原则 2. 理解移位 / 循环、转换记忆数学运输指令的功能及数据格式、参数 / 变量声明的功能 3. 掌握位逻辑指令、定时指令、计数及比较指令、数据块及传送指令及应用. 可编程控制器的程序设计就是用一定的编程语言对一个控制任务进行描述。 程序有 操作系统 和 用户程序 两部分组成。 操作系统:由可编程控制器的生产厂家提供,它支持用户程序的运行。 用户程序:用户为完成特定的控制任务而编写的应用程序。
E N D
第3章 STEP7指令系统及应用 • 学习目标 1.了解step 7指令及其结构,编程的基本原则 2.理解移位/循环、转换记忆数学运输指令的功能及数据格式、参数/变量声明的功能 3.掌握位逻辑指令、定时指令、计数及比较指令、数据块及传送指令及应用
可编程控制器的程序设计就是用一定的编程语言对一个控制任务进行描述。可编程控制器的程序设计就是用一定的编程语言对一个控制任务进行描述。 • 程序有操作系统和用户程序两部分组成。 操作系统:由可编程控制器的生产厂家提供,它支持用户程序的运行。 用户程序:用户为完成特定的控制任务而编写的应用程序。 • 程序的表达方式有以下几种:梯形图、指令表、逻辑功能图和高级语言。
梯形图:是一种图形语言,它沿用了传统的继电器接触器控制中的触电、线圈、串并联等术语和图形符号。形象直观,对于熟悉继电器控制系统的人容易接受。作为plc的第一用户编程语言。梯形图:是一种图形语言,它沿用了传统的继电器接触器控制中的触电、线圈、串并联等术语和图形符号。形象直观,对于熟悉继电器控制系统的人容易接受。作为plc的第一用户编程语言。 • 指令表:类似于汇编语言,不够直观,程序的输入和修改也不如其他图形方式简单,但功能最强!它体现了plc的所有功能。 • 逻辑功能图:类似于数字逻辑电路,表现形式为数字电路中的“与或非”组合逻辑。直观、输入和修改也简单,适合熟悉数字逻辑电路的用户。
STEP 7是S7-300/400的应用程序软件包。S7系列PLC的编程语言非常丰富,有LAD(梯形图)、STL(语句表)、FBD(功能块图/逻辑功能图)、SCL(标准控制语言)、S7 Graph(顺序控制)、CFC(连续功能图)等,用户可使用一种或混合几种语言编程。 • (LAD≮≯FBD)≮>STL • STEP 7指令系统包括:二进制操作、定时计数操作、数据传送与运算、程序控制操作、组织块和功能块编程等。
3.1 PLC编程基础 • 3.1.1 指令及其结构 • 编程指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构成。对应语句表,梯形图和功能块三种编程语言。
1.指令的组成 • (1)语句指令 • 一条指令由一个操作码和一个操作数组成,而操作数由标志符和参数组成。其中,操作码定义要执行的功能,它告诉CPU该做什么;操作数为执行该操作所需要的信息,它告诉CPU用什么去做。例如: • A I 1.0 参数 操作码(与) 标志符 操作数 • (2)梯形图逻辑指令 • 在梯形图中,操作码是用图素表示的。如: • Q4.0 ( ) • 表示一个二进制赋值操作。
2.操作数 • (1)标识符及标识参数 在存储器中的指令的操作数由操作标识符和参数组成。 操作数标识符表明操作数放在存储器的哪个区域及操作数位数;标识参数则进一步说明操作数在该存储区域内的具体位置。 操作数标识符由主标识符和辅助标识符组成。主标识符表示操作数所在的存储区,辅助标识符进一步说明操作数的位数长度。或没有辅助标识符,则指操作数的位数是第一位。
·I——输入过程映像存储区 ·Q——输出过程映像存储区 ·M——位存储区 ·PI——外部输入 ·PQ——外部输出 ·T——定时器 ·C——计数器 ·DB——数据块 ·L——本地数据 • 主标识符有: • 辅助标识符有: ·X——位 ·B——字节 ·W——字(2字节) ·D——双字(4字节)
PLC物理存储器是以字节为单位的,所以存储单元规定为字节单元。位地址参数用一个点与字节地址分开。如 M10.1 • 当操作数长度是字或双字时,标识符后给出的标识参数是字或双字内的最低字节单元号。字节、字、双字的关系及表示方法如图:
(2)操作数的表示方法 • 在STEP 7中,操作数有两种表示方法: ·物理地址(绝对地址)表示法 ·符号地址表示法 • 用物理地址表示操作数时,要明确指出操作数的所在存储区、操作数的位数及具体位置。 如:Q4.0表示这是一个在输出过程映像区中的输出位,具体位置是第四个字节的第0位。 • 用符号地址表示操作数时,符号名必须先定义后使用,且符号名必须是唯一的。如Q4.0可用符号名MOTOR_ON替代表示。定义符号时,需要指明操作数所在的存储区,操作数的位数、具体位置及数据类型。(必须先定义后使用且符号名是唯一的。)
(3)寻址方式 • 操作数是指令的操作或运算对象。所谓寻址方式是说指令得到操作数的方式,可以直接给出或间接给出。可用作操作对象的有常数、状态位、各种寄存器、数据块、功能块等各存储区中的单元。分立即寻址和存储器直接寻址。 • 立即寻址:对常数或常量的寻址方式。操作数本身直接包含在指令中。 • 存储器直接寻址:包括对寄存器和存储器的直接寻址,直接给出操作数的存储单元地址。
·基本数据类型:定义不超过32位的数据 ·复式数据类型:定义超过32位或由其它数据类型组成的数据 ·参数类型:定义传给FB块和FC块的参数 • (4)数据类型 • 在S7中,数据类型分为三大类: • 其中基本数据类型有确定的位数 ·布尔数据类型(BOOL)——1位 ·字节(BYTE)——8位 ·字(WORD) ——16位 ·双字(DWORD)——32位
3.1.2 PLC编程的基本原则 • PLC编程应该遵循以下基本原则。1) 外部输入、输出继电器、内部继电器、定时器、计数器等器件的接点可多次重复使用,无需用复杂的程序结构来减少接点。2) 梯形图每一行都是从左母线开始,依次向右排列,输出结果(线圈)接在最右边,接点不能放在线圈的右边参看下图。 a)不正确电路 b)正确电路
3) 线圈不能直接与左母线相连。如果需要,可以通过一个没有使用的内部继电器的常闭接点或者特殊内部继电器的常开接点来连接,参看下图。a)不正确的电路 b)正确的电路 • 4) 同一编号的线圈在一个程序中使用两次称为双线圈输出。双线圈输出容易引起误操作,有的PLC不允许编程,有的具有后置优先特点。应尽量避免线圈重复使用。STEP 7允许重复编程,为后置优先。
5)两个或两个以上的线圈可以并联输出。 • 6)在编写PLC梯形图程序时应掌握如下的编程技巧:如果把串联触点较多的电路编在梯形图下方,将占用较多的内存空间。如把串联较多的电路编在上方,则占用较少。
7)桥式电路编程。桥式电路不能直接编程,必须重新分解为两个相应的电路才可以进行编程。7)桥式电路编程。桥式电路不能直接编程,必须重新分解为两个相应的电路才可以进行编程。
8)在梯形图中串联接点、并联接点的使用次数没有限制,可无限次地使用。无限次使用梯形图程序必须符合顺序执行的原则,即从左到右,从上到下地执行,如不符合顺序执行的电路不能直接编程,如桥式电路就不能直接编程。8)在梯形图中串联接点、并联接点的使用次数没有限制,可无限次地使用。无限次使用梯形图程序必须符合顺序执行的原则,即从左到右,从上到下地执行,如不符合顺序执行的电路不能直接编程,如桥式电路就不能直接编程。
3.1.3 STEP 7软件结构及调用执行 • 结构化编程也即模块化编程方式。它将用户程序分成各种不同的块类型。总体上分为:系统块和用户块两大类。 系统块: ·SFB=系统功能块 ·SFC=系统功能 ·SDB=系统数据块 用户块: ·OB=组织块 ·FC=功能 ·FB=功能块 ·DB=数据块
系统块:储存在CPU操作系统中的预定义的功能或功能块,不占用用户的任何存储空间。系统块可以被用户程序调用,这些块在整个系统中具有相同的接口、相同的名称和相同的编号。所以,可以在不同的CPU或PLC之间转换用户程序。系统块:储存在CPU操作系统中的预定义的功能或功能块,不占用用户的任何存储空间。系统块可以被用户程序调用,这些块在整个系统中具有相同的接口、相同的名称和相同的编号。所以,可以在不同的CPU或PLC之间转换用户程序。 • 用户块:提供给用户用于管理用户程序代码和数据的区域。可以用不同的选项对用户块进行结构化编程。一些程序块每个扫描周期都执行,而一些块只有在需要的时候才调用。用户块也被称为程序块。
(1)组织块(OB) OB块构成了S7 CPU和用户程序的接口。可将全部程序存在OB1中,让它连续不断地循环处理。也可将程序放在不同的块中,用OB1在需要的时候调用。除OB1外,操作系统根据不同的事件可以调用其它的OB块。如: ·时间-日期中断 ·周期时间中断 ·诊断中断 ·硬件中断 ·故障处理中断 ·硬件启动
(2)功能块(FB) 是逻辑操作块内的功能或功能组,在操作块内分配有存储器,并存有变量。FB需要这个背景数据块形式的辅助存储器。通过背景数据块传递参数,而且,一些局部参数也保存在此区。其它的临时变量存在局部堆栈中。保存在背景数据块内的数据,当功能块关闭时数据仍保持。 • (3)功能(FC) 功能是类似于功能块的逻辑操作块,但是,其中不分配存储区。FC不需要背景数据块。临时变量保存在局部堆栈中,直到功能结束。当FC执行结束时,使用的变量要丢失。
(4)数据块(DB) 数据块是一个永久分配的区域,其中存有其它功能的数据或住处数据块是可读/写区,并作为用户程序的一部分转入CPU。 • (5)系统功能(SFC) 是集成在S7 CPU中的已经编程并调试过的功能。这些块支持的一些任务是设置模板参数、数据通讯和拷贝功能等。用户程序可以不用装载直接调用SFC。SFC不需要分配数据块。
(6)系统功能块(SFB) 系统功能块是S7 CPU的集成功能。由于SFB是操作系统的一部分,用户程序可以不用装载直接调用SFB。 SFB需要分配背景数据块DB,数据块必须作为用户程序的一部分下装到CPU。 • (7)系统数据块(SDB) 系统数据块是有不同STEP 7工具产生的程序存储区,它存有操作控制器的必要数据。SDB中存有一些信息,例如:组态数据、通信连接和参数。
3.2 位逻辑指令及应用 • 位逻辑指令的运算结果用两个二进制数字1和0来表示。可以对布尔操作数的信号状态扫描并完成逻辑操作。逻辑操作结果为RLO(Result of Logic Operation)。 • 位逻辑指令包括逻辑运算指令、定时器指令、计数器指令及位测试指令等。逻辑操作结果RLO用以赋值、置位、复位布尔操作数,也控制定时器和计数器的运行。
3.2.1 基本逻辑指令及应用 • 1.“与”、“与非”指令 • (1)指令符号:A <位> AN<位> • (2)梯形图符号: • (3)功能:使用“与”指令可以检查被寻址位的信号状态是否为“1”(“0”),并将检查结果与逻辑运算结果“RLO”进行“与”运算 • (4)说明:
2. “或”、“或非”、“异或”、“异或非”指令 • (1)指令符号:O<位> ON<位> X<位> XN<位> • (2)梯形图符号:
(3)功能: • “或”、“或非”:检查被寻址位的信号状态是否为“1”(“0”),并将检查结果与RLO进行“或”运算; • “异或”(两个值不相同,则异或结果为真。反之,为假 )、“异或非”:检查被寻址位的信号状态是否为“1”(“0”),并将检查结果与RLO进行“异或”运算。 • (4)说明:
例1: • 例2: • 例3:
3 .逻辑运算规则 • 对于复杂的逻辑关系,即交叉串并联电路,STEP S7指令系统以算术运算方式为基础。其简单表述为: 先“与”后“或”逻辑,不加括号 先“或”后“与”逻辑,加括号
综合练习: • 控制要求:当SB1(常开按钮)动作时,接触器KM1吸合。只有KM1吸合后,按SB2(常开)后KM2吸全。当接触器KM1及KM2都得电吸合时,指示灯L1发光。用SB0(常闭)可使所有输入都断电。
(1)I/O分配 (2)设计梯形图
Segment 1 • A I0.0 • O I0.1 • O Q2.1 • = Q2.1 • Segment 2 • A I0.0 • O I0.2 • O Q2.2 • A Q2.1 • = Q2.2 • Segment 3 • A I0.0 • A Q2.1 • A Q2.2 • = Q3.1