《电气控制基础与可编程控制器应用教程》课件第六章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《电气控制基础与可编程控制器应用教程》课件第六章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电气控制基础与可编程控制器应用教程 电气控制 基础 可编程控制器 应用 教程 课件 第六
- 资源描述:
-
1、 6.1 可编程控制器的指令结构和指令系统6.2 位逻辑指令6.3 定时器和计数器指令6.4 数据处理功能指令6.5 数据运算指令6.6 控制指令思考题与习题第6章西门子S7-300系列PLC基本指令主要内容:主要内容:(1)掌握可编程控制器的编程语言。(2)熟练掌握利用梯形图、指令表进行电气控制设计的方法。PLC是由取代继电器接触器控制系统开始产生和发展的。随着计算机技术的发展,PLC具有计算机控制系统的功能,例如算术运算、数据处理指令、中断等极为强大的功能。这些功能通常是通过各种功能指令的形式来实现的。实际上,现在的PLC就是一个计算机控制系统。为了满足工业控制的需要,PLC生产厂家为PL
2、C增添了过程控制、数据处理和特殊功能的指令,这些指令称为功能指令(Function Instruction)。功能指令的出现,极大地拓宽了PLC的应用范围,增强了PLC编程的灵活性。功能指令的丰富程度及使用的方便程度是衡量PLC性能的一个重要指标。可编程控制器是由硬件部分和软件部分组成的。其硬件原理已经在4.5节中详细讲述过,软件可分为操作系统和用户程序两部分。操作系统是由PLC的生产厂家提供的,它用于支持和管理用户程序,所以用户只要会熟练应用即可。用户程序是用户为了完成特定的任务而编写的应用程序,所以先要知道在什么编程软件下进行自己的程序设计。对于西门子公司的SIMATIC S7系列PLC,
3、常用的编程软件是STEP7,STEP7中有丰富的S7系列PLC的编程语言,通常我们使用的是梯形图(LAD)、语句表(STL)和顺控指令(GRAPH)等,另外,还有功能块图(FDB)、标准控制语言(SCL)、状态图(HiGraph)、连续功能图(CFC)和STEP 7的C语言等。在编程的过程中,用户可以选择上面所示的某一种语言进行编程,也可以利用多种语言的优点来进行混合编程,使用户的程序开发、输入和调试等工作变得极为方便。对于初学者,我们建议先从梯形图(LAD)开始学习。梯形图具有直观、简单等优点,并且在STEP 7中,梯形图可以转换成为语句表(STL)和功能块图(FDB)。在学习本章的过程中,
4、用户可以参照第9章的内容进行实际操作或者实验,同时结合第2章第4章进行对比学习,这样对学习该章有很大的促进作用。可编程控制器的生产厂家很多,其型号众多,不同的可编程控制器的指令都有区别,但是其指令的内容基本是相同的。用户程序是由若干条顺序排列的指令组成的,指令是程序的最小独立单位。对于不同的编程语言,如语句表和梯形图,其指令也有所不同,分别称为语句指令和梯形图逻辑指令。尽管不同的语言的表达形式不同,但是它们表达的内容都是相同的。下面介绍S7的编程语言,即语句指令(STL)、梯形图(LAD)和功能块图(FDB)。6.1 可编程控制器的指令结构和指令系统可编程控制器的指令结构和指令系统6.1.1
5、指令简介指令简介1.语句指令语句指令语句指令类似于计算机中的助记符语言,是PLC的最基础的编程语言。指令表编程是用一系列指令来表达程序的控制要求。指令的格式为:操作码 操作数其中,方括号表示可选用。指令表和梯形图具有一定的对应关系。如下为一语句指令:A I0.0 /把输入继电器I0.0和其他元件串联,即“与”其中:A(是And的缩写)代表“与”,I0.0代表输入继电器0.0(I代表输入,是单词In的缩写;0.0代表继电器的序号);“/”代表注释,和C语言中的“/*”作用是相同的。我们把A称为操作码,I0.0称为操作数。每一条语句指令是由一个操作码和一个操作数(地址)组成的。操作码是必不可少的,
6、表示了该做什么事情;操作数为具体的操作对象,可以是一符号名或绝对标志,包括常数,可编程控制器状态字中的位、符号名、数据块和数据块区域中的单元、功能FC、功能块FB、集成的系统功能SFC、集成的系统功能块SFB 及其编号,地址标识符和通过地址标识符指出的存储区单元。有些指令没有操作数,如以下语句指令:NOT /对操作结果取反,即“非”2.梯形图逻辑指令梯形图逻辑指令PLC梯形图是在继电器接触器控制电路中的继电器接触器基础上演变而来的,用图形符号进行编程,其中很多图形符号和继电器接触器电路中的元件具有对应关系。其编程思想也和继电器接触器控制电路的梯形图基本一致,所以学习起来相对要方便一些。梯形图的
7、内容在4.2.2节中已做过介绍,这里不再赘述。3.功能块图功能块图功能块图(FBD)是一种与逻辑控制电路图结构相类似的图形编程语言。它类似于“与”、“或”、“非”的逻辑电路结构的编程方式。如用“&”来表示“与”逻辑操作等。FBD使用不同功能的“盒”,其中“盒”中的符号表示各种功能,就像逻辑方块图一样,根据不同的方块逻辑来表达控制任务。这种编程方式对计算机编程不熟悉的工程师来说是相当容易的。图6-1为逻辑功能块图。当输入“Key_1”和“Key_2”均为“1”时,输出“Green_Light”为“1”。图6-1 逻辑功能块图6.1.2 数据类型数据类型数据是程序处理和控制的对象,在程序中对所有的
8、数据都要指定其数据结构,数据结构是数据的组织形式。数据是通过变量来传递和存储的。一个变量需要两个要素,即变量的名称和变量的数据类型。数据类型决定了数据的属性,包括其长度、取值范围等。STEP 7中的数据类型有基本数据类型、复杂数据类型和参数数据类型三大类。1.基本数据类型基本数据类型STEP 7中的基本数据类型有12种,现分别介绍如下:(1)位(Bit)。位数据的数据类型为BOOL(布尔)型,如I0.0,Q0.1,M0.0,V0.1等。该类型数据长度为1位,取值只有True(或1)和False(或0),标识符为X。它常用于开关量的表示,如各种触点等,触点闭合为“1”,断开为“0”。(2)字节(
9、Byte)。一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。如IB0(包括I0.0I0.7位),QB0(包括Q0.0Q0.7位),MB0(包括MB0.0MB0.7位),VB0(包括VB0.0VB0.7位)等。其范围为00FF(即十进制的0255),助记符为B。它在STEP 7中的格式为B#16#0B#16#FF。(3)字(Word)。两个字节(Byte)组成一个字(Word),用来表示一个无符号数,因此,字为16位。如IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。字的范围为十六
10、进制的0000FFFF(即十进制的065 536),助记符为W。在编程时要注意,如果已经用了IW0,则再用IB0或IB1要特别加以小心,由于IB0和IB1的地址为IW0的低8位和高8位,可能使IW0的内容发生变化。它在STEP 7中的格式有以下几种:二进制表达式:2#02#1111_1111_1111_1111十六进制表达式:W#16#0000W#16#FFFF无符号十进制表达式:B#(0,0)B#(255,255)BCD表达式:C#-999C#999或C#0C#999(4)双字(Double Word)。相邻的两个字(Word)组成一个双字,用来表示一个无符号数,因此,双字为32位。如MD1
11、00是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。双字的范围为十六进制的0000FFFFFFFF(即十进制的04294967295),助记符为DW。在编程时要注意,如果已经用了MD100,则再用MW100或MW102要特别加以小心。以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。双字长度为4字节,其表达格式如下:二进制表达式:2#02#1111_1111_1111_1111_1111_1111_1111_1111十六进制表达式:W#16#0000_0000W#1
12、6#FFFF_FFFF无符号十进制表达式:B#(0,0,0,0)B#(255,255,255,255)(5)字符类型(Char)。字符类型用来表示ASCII字符,其长度为1字节,8位,如“A”、“a”等。(6)单整数(Int)。单整数的长度为双字节,取值范围为-215215-1(即-3276832767)。整数为有符号数,最高位为符号位,“1”表示负数,“0”表示正数。(7)长整数(Dint)。32位整数和16位整数一样,为有符号数,最高位为符号位,“1”表示负数,“0”表示正数。其长度为4字节,取值范围为-231231-1(即-21474836482147483647)。它的表达式格式为L#
13、-2147483648L#2147483647。(8)实数(Real)。实数的长度为4字节,表达式格式为3.402823E+381.175495E-38,实数为32位,可以用来表示小数。实数可以表示为1.m2e,且式中指数e=E+127(1e254),为8位整数,其存储结构如图6-2所示。图6-2 实数的存储结构(9)定时器数(S5Time)。定时器数用来设置SIMATIC时间格式,长度为2字节,16位。其表达式格式为S5T#1H_10M_10S_20MS(定时时间为1小时10分钟10秒钟20毫秒)。S5时间常数的取值范围(用特定格式表示)为S5T#0H_0M_0S_0MSS5T#2H_46M
14、_30S_0MS,即0 ms2 h46 ms30 s0 ms时间增量为10 ms。(10)时间数(Time)。时间数用来设置IEC时间格式(带符号),分辨率为1 ms,长度为4字节,32位。其取值范围为T#-24D_20H_31M_23S_648MST#24D_20H_31M_23S_647MS。(11)日期(Date)。日期用来设置IEC日期格式,分辨率为一天,长度为4字节,32位。其取值范围为D#1990_1_1D#2168_12_31。(12)时间数(Time_Of_Day)。时间数用来设置24小时时间格式,分辨率为1 ms,长度为4字节,32位。其表达式格式为TOD#0:0:0.0TO
15、D#23:59:59.999。2.复杂数据类型复杂数据类型复杂数据是由一些基本数据类型组合而成的复合型数据,或者是长度超过32位的数据类型。STEP 7中的复杂数据类型有以下7种。(1)日期时间数据类型(Date_And_Time)。该数据类型用于存储年、月、日、时、分、秒、毫秒和星期的数据。它占用8个字节,使用BCD编码。星期天代码为1,星期一星期六代码分别为27。其取值范围为DT#1990-1-1-0:0:0.0DT#2089-12-31-23:59:59.999。如:DT2004-07-16-12:30:16.200为2004年7月16日12时30分16.2秒。(2)字符串类型(Stri
16、ng)。字符串是由最多254个字符组成的一维数组。其最大长度为256字节,String类型的前两个字节存储字符串长度信息,因此一个String类型的数据最多包含254个字符。其常数表示形式为有两个单引号包括的字符串,如Abcde-300F等。用户在定义String类型变量的时候也可以限定它的最大长度,如String8,表示该变量最多可以包含8个字符。(3)数组类型(Array)。将一组同一类型的数据组合在一起组成一个单位就是数组。数组的维数最大可以到6维;数组中的元素可以是基本数据类型或者附在数据类型中的任一数据类型,但是数组类型不能嵌套。数组中的每一维的上、下标取值范围为-32 76832
17、767,同时下标须小于上标。数组的定义必须说明数组的维数、元素类型和每一维的上、下标范围。如A1.3,1.5,1.4表示354的三维数组,而A1,2,3表示数组中的一个元素。(4)结构类型(Struct)。将一组不同类型的数据组合在一起组成一个单位就是结构。结构类型是由不同数据类型组成的复合型数据,用来定义某一组相关的数据。如定义电机的一组数据可以用如下方式:Motor:STRUCT Speed:INTCurrent:REALEND_STRUCT(5)用户定义类型(UDT)。用户定义的数据类型(User-Defined Data Types,UDT)是由用户将基本数据类型和复合数据类型组合在一
18、起形成的数据类型,用在数据块(DB)和变量声明表中定义复合数据类型。同样,该类型也是由不同的数据类型组合而成的复合数据类型,UDT是一个模块,可以用来定义其他变量。它在STEP7中也是以模块的形式存储的,称为UDT块(UDT1UDT65535)。使用该类型数据时,在Blocks目录下单击鼠标右键,在快捷菜单中选择Insert New Object/Data Type,就可以建立一个UDT块,以后就可以将一个变量声明成为UDT类型。(6)FB功能块型。该数据类型仅可以在FB的静态变量区定义,用于实现多背景数据块。(7)SFB顺序功能块型。该数据类型同FB功能块型。3.参数数据类型参数数据类型该类
19、型是一种用于FC或FB的参数的数据类型,是为在逻辑块之间传递参数的形参(Formal Parameter,形式参数)定义的数据类型。其主要包括以下几种。(1)Timer/Counter:定时器/计数器类型。(2)BLOCK_FB/BLOCK_FC/BLOCK_DB/BLOCK_SDB:块类型。(3)Pointer:6字节指针类型,传递DB块号和数据地址。(4)Any:10字节指针类型,传递DB块号、数据地址、数据数量以及数据类型。使用以上数据类型时,可以把定时器、计数器、程序块、数据块,甚至不确定类型和长度的数据通过参数传递给FC和FB。参数类型为程序提供了很高的灵活性,可以实现更通用的控制功
20、能。6.1.3 操作数和存储区功能操作数和存储区功能1操作数操作数操作数是一条指令的地址,指一个常数或指令能找到一个数值(数据对象)的位置,指令可对该数进行操作。该地址可以是一符号名或绝对标志。地址可为下面的任意一项。(1)常数。常数即定时器或计数器的数值,或一待装入累加器1 的ASCII码字符串,见表6-1。表表6-1 操操 作作 数数(2)可编程控制器状态字中的位。语句表指令的地址可以是PLC 状态字中的一个或多个位。指令检查并影响状态字中单个位的状态,或解释状态字中两个位的组合,如表6-2所示。表表6-2 可编程控制器状态字中的位可编程控制器状态字中的位(3)符号名。在STL 中仅能使用
21、已声明过的符号名,包括已输入到符号表中的共享符号名和块中的局部名,如表6-3所示。表表6-3 符符 号号 名名(4)数据块和数据块区域中的单元、功能(FC)、功能块(FB)、集成的系统功能(SFC)、集成的系统功能块(SFB)及编号,如表6-4所示表表6-4 数数 据据 块块(5)地址标识符和通过地址标识符表示的存储区单元。一个地址标识符可以是以下三个基本类型之一:指明PLC 中存储区域和该区域中数据对象大小的地址标识符,见表6-5。存储区是指令能在其中寻找到一个值(数据对象)并对它进行操作的区域(如“I”指输入过程暂存区),数值(数据对象)的大小是指令对其进行操作的长度(如“B”指字节,“W
22、”指字,“D”指双字)。表表6-5 指明存储区域和数据对象大小的地址标识符指明存储区域和数据对象大小的地址标识符 指明一个存储区域,但没有该区域中数据对象大小的地址标识符(如一个标识符表示区域,T指定时器,C指计数器,DB指数据块,并加上这些定时器、计数器、数据块的编号),见表6-6。表表6-6 指明存储区,但没有数据对象大小的地址标识符指明存储区,但没有数据对象大小的地址标识符 指明一个数据对象的大小,但无存储区域的地址标识符,见表6-7。其实它的存储区域已经在跟随地址标识符的存储单元中编码了存储区单元,如表6-8所示。表表6-7 指明数据对象大小,但无存储区域的地址标识符指明数据对象大小,
23、但无存储区域的地址标识符表表6-8 包括地址标识符和地址单元的地址包括地址标识符和地址单元的地址(6)字或双字作为数据对象的应用。如果运用一条指令的地址标识符指明可编程逻辑控制器(PLC)中的存储区域,并且它的数据对象大小是一个字或双字,则必须注意这里的存储单元总是指一个字节单元,如图6-3和6-4所示。这个字节单元是字或双字最低的字节号,如图6-4中的地址指在存储区域M中四个连续的字节,它从字节10(MB10)开始到字节13(MB13)结束。图图6-3 以字节单元注明存储单元的例子以字节单元注明存储单元的例子图6-4 数据对象的大小双字:存储区双字MD10。字:存储区字MW10、MW12。字
24、节:存储区字节MB10、MB11、MB12、MB13。当绝对地址的宽度为字或双字时,要保证没有指定任何字节,以免造成重叠。(7)存储器单元。地址标识符的地址属于以下两种类型之一:在规定存储区域中的单元(如1.0在地址I1.0中指“输入模块1,输入0位”)。在局部存储区域、数据区或地址寄存器中的单元(如AR1,P#4.3指在地址寄存器1中的数值,加上4个字节,3个位)。前面介绍了操作码和操作数,操作数是由标识符和参数组成的,如I0.0,I0.1,I0.2和Q0.0等。从控制线路来说,操作数代表了某一个或者某一组元件,和低压电器元件类似,区别是一个是软元件,一个是硬件的元件。从PLC角度来说,操作
25、数代表了I/O口的某一个地址或者内部的某一个软元件(如中间继电器等)。从PLC内部来说,操作数表示了其在内存中的具体地址,其中标识符表示内存的某一区域,参数表示该区域中的具体位置。梯形图和语句指令中均有操作数。对于梯形图,操作数在梯形图指令符号的上方;对于语句指令,操作数在操作码的后面。在学习过程中,可以认为操作数是某一个元件。标识符由主标识符和辅助标识符构成。其中:主标识符表示元件的类型,也表示操作数在内存中的区域,如表6-9所示;辅助标识符代表操作数的位数,如一个字节或者两个字节等,对于单字节长度的标识符是没有辅助标识符的,如表6-10所示。表表6-9 主主 标标 识识 符符表表6-10
展开阅读全文