plc plc-3 第三章 s7-300plc的编程基础及指令系统ppt课件_第1页
plc plc-3 第三章 s7-300plc的编程基础及指令系统ppt课件_第2页
plc plc-3 第三章 s7-300plc的编程基础及指令系统ppt课件_第3页
plc plc-3 第三章 s7-300plc的编程基础及指令系统ppt课件_第4页
plc plc-3 第三章 s7-300plc的编程基础及指令系统ppt课件_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、l S7-300使用使用STEP 7软件编程,软件编程, STEP 7是是S7-300/400PLC的通用编程软件。的通用编程软件。l STEP 7标准版配备了梯形图标准版配备了梯形图LAD)、语句表)、语句表STL及功能块图及功能块图FBD三种编程语言,各语言三种编程语言,各语言中的部分指令在中的部分指令在STEP 7中可互相转换。中可互相转换。l 此 外 , 可 选 编 程 语 言 软 件 还 支 持 顺 序 功 能 图此 外 , 可 选 编 程 语 言 软 件 还 支 持 顺 序 功 能 图SFC)、结构文本)、结构文本SCL)、连续功能图)、连续功能图CFC,仅仅S7-400PLC支持

2、等。支持等。 l S7-300PLC的用户程序由程序块的用户程序由程序块(或称为逻辑或称为逻辑块块)和数据块组成。和数据块组成。l 程序块包括组织块程序块包括组织块OB、系统功能块、系统功能块SFB、系、系统功能统功能SFC、功能块、功能块FB、功能、功能FC等。等。l OB由操作系统调用,其它块由由操作系统调用,其它块由OB调用。调用。l OB可调用可调用SFB、FB、SFC、FC。l FB、FC可调用可调用SFB、 FB、SFC、FCl 数据块为程序块提供相应的数据,包扩共享数据块为程序块提供相应的数据,包扩共享数据块和背景数据块。数据块和背景数据块。l1、基本数据类型、基本数据类型l1位

3、位bit)l BOOL型。其值为型。其值为0或或1。l2字节字节Byte)l BYTE型,型,8位二进制数组成位二进制数组成1个字节。个字节。l 值为值为0255。l3字字Word)l WORD型。相邻两个字节组成一个字,表示型。相邻两个字节组成一个字,表示16位无符号数含位无符号数含BCD)。值为)。值为065535。l4双字双字Double Word)l DWORD型。相邻两个字组成一个双字,表示型。相邻两个字组成一个双字,表示32位无符号数含位无符号数含BCD)。其值为)。其值为04294967295。l5字符字符Character)l CHAR型,表示一个型,表示一个ASCII字符字符

4、8位)位) 。l616位整数位整数Integer)l INT型,表示型,表示16位有符号数。位有符号数。l 其值为其值为-32768 32767。l732位整数(位整数( Double Integer)l DINT型,表示型,表示32位有符号数。位有符号数。l 其值为其值为-2147483648 2147483647。l832位浮点数位浮点数Real)l REAL型。表示型。表示32位位IEEE745标准格式的浮点标准格式的浮点数实数)。数实数)。l 其值为其值为1.175495E-38 3.402823E+38。l9S5时间时间S5Time)l S5TIMER型,表示型,表示16位位S5时间

5、常数。时间常数。l 其格式为其格式为S5T# aHbMcSdMS。(。(a、b、c、d对应时、分、秒、毫秒。对应时、分、秒、毫秒。 l10IEC时间时间Time)l TIME型,表示型,表示32位位IEC格式时间有符号)。格式时间有符号)。l 其值为其值为-T#24D20H31M23S648MS T#24D20H31M23S648MS。l11IEC日期日期Date)l DATE型,表示型,表示16位位IEC格式日期。格式日期。l 其值为其值为D#1990-1-1 D#2168-12-31.l12) 24小时制时间小时制时间24h Time_Of_Day) l TIME_OF_DATE型,型,3

6、2位位24小时制格式时间。小时制格式时间。l 其值为其值为TOD#0:0:0.0 TOD#23:59:59.999l2.常数表示方法常用部分)常数表示方法常用部分) l 16位位10进制整数及进制整数及32位浮点数常数输入时不需位浮点数常数输入时不需加字头。如加字头。如123,-123,123.4,-123.4。浮点数。浮点数将自动转成指数形式,如:将自动转成指数形式,如:1.234000e+002。l 浮点常数为整数值时,需加小数点。如浮点常数为整数值时,需加小数点。如123.0。符符 号号说说 明明2#2进制常数进制常数B#16#W#16#DW#16#16进制字节常数进制字节常数16进制字

7、常数进制字常数16进制双字常数进制双字常数L#32位整数常数位整数常数S5T# S5时间常数(时间常数(16位)位)C#计数器常数(计数器常数(3位位BCD,0999)l1. 累加器累加器ACCU1、ACCU2)l 两个两个32位累加器,用于处理字节、字、双字。位累加器,用于处理字节、字、双字。l2. 状态字寄存器状态字寄存器l 16位状态字寄存器用于存储位状态字寄存器用于存储CPU执行指令的状态。执行指令的状态。l 第第0位位FC):首次检测位。为):首次检测位。为0时表示一个逻时表示一个逻辑网络的开始。辑网络的开始。l 第第1位位RLO):逻辑运算结果位。用于存储执):逻辑运算结果位。用于

8、存储执行位逻辑或比较指令的结果。状态为行位逻辑或比较指令的结果。状态为1时表示逻辑时表示逻辑运算结果为运算结果为1或比较结果成立。或比较结果成立。015781234569OROVOSCC0CC1BR未使用未使用FCRLOSTAl 第第2位位STA):状态位。执行位逻辑指令):状态位。执行位逻辑指令时,时,STA总是与该位的值一致。总是与该位的值一致。l 第第3位位OR):或位。在先逻辑):或位。在先逻辑“与后逻与后逻辑辑“或的逻辑运算中,或的逻辑运算中,OR位暂存逻辑位暂存逻辑“与与的操作结果。的操作结果。l 第第4位位OV):溢出位。算术运算或浮点数):溢出位。算术运算或浮点数比较指令执行出

9、错时置比较指令执行出错时置1。后续同类指令执行。后续同类指令执行正常时,该位清正常时,该位清0。l 第第5位位OS):溢出状态保持位。):溢出状态保持位。OV置置1时,时,OS置置1,OV清清0时,时,OS仍保持为仍保持为1。(只能由。(只能由JOS、块调用、块结束指令复位)、块调用、块结束指令复位)l 第第6位和第位和第7位位CC0、CC1):条件码):条件码0和条件和条件码码1。两位结合用于表示算术运算或逻辑运算的结。两位结合用于表示算术运算或逻辑运算的结果与果与0的大小关系,以及比较指令的执行结果或移的大小关系,以及比较指令的执行结果或移位指令的移出状态。位指令的移出状态。l 第第8位位

10、BR):二进制结果位。用于表示字操作):二进制结果位。用于表示字操作的结果是否正确。的结果是否正确。1正确,正确,0 错误。错误。l3. 地址寄存器地址寄存器AR1和和AR2)l 两个两个32位地址寄存器用于寄存器间接寻址。位地址寄存器用于寄存器间接寻址。l4. 数据块地址寄存器数据块地址寄存器l S7-300PLC中有两个数据块地址寄存器,一个用中有两个数据块地址寄存器,一个用于共享数据块,一个用于背景数据块,均为于共享数据块,一个用于背景数据块,均为32寄寄存器。寄存器中存有数据块编号及数据块长度。存器。寄存器中存有数据块编号及数据块长度。l 存储器有存储器有3个基本区域:装载存储器、工作

11、存储器个基本区域:装载存储器、工作存储器和系统存储器。和系统存储器。l1、装载存储器、装载存储器l 用于保存用户程序不包括符号地址及注释和系用于保存用户程序不包括符号地址及注释和系统数据即组态、连接和模块参数等)。统数据即组态、连接和模块参数等)。l 部分型号的部分型号的CPU内集成有装载存储器,而有些型号内集成有装载存储器,而有些型号的的CPU采用采用MMC作为装载存储器。作为装载存储器。l 对于集成的装载存储器具有掉电保护功能。对于集成的装载存储器具有掉电保护功能。l 使用使用MMC的装载存储器,因数据保存在的装载存储器,因数据保存在MMC上,上,所以可认为能永久保留。所以可认为能永久保留

12、。l2、工作存储器、工作存储器l 用于存储用于存储CPU运行时的用户程序和数据,运行时的用户程序和数据,OB组织块)、组织块)、FB功能块)、功能块)、FC功能)、功能)、DB数据块等。只有与程序运行有关的块被装入数据块等。只有与程序运行有关的块被装入工作存储器,在工作存储器,在CPU启动时,从装载存储器装入。启动时,从装载存储器装入。l 工作存储器集成在工作存储器集成在CPU内且不可扩展,其容量内且不可扩展,其容量及保持性特性与及保持性特性与CPU型号有关,。型号有关,。l3、系统存储器、系统存储器l 系统存储器是系统存储器是CPU为用户程序提供的存储器,为用户程序提供的存储器,也集成在也集

13、成在CPU内且不可扩展。系统存储器分为若内且不可扩展。系统存储器分为若干区域,如:过程映像干区域,如:过程映像I/O区、位存储区、定时区、位存储区、定时器和计数器、堆栈区、诊断缓冲区,以及临时存器和计数器、堆栈区、诊断缓冲区,以及临时存储区等,需保持的数据可在组态时设置。储区等,需保持的数据可在组态时设置。l存储系统构成及关系示意图存储系统构成及关系示意图以配以配MMC的的CPU为例)为例)硬盘存储器硬盘存储器MMC工作存储器工作存储器逻辑块逻辑块数据块数据块系统数据块系统数据块注释注释符号符号逻辑块逻辑块数据块数据块系统数据块系统数据块工作存储器存工作存储器存放与执行相关放与执行相关的逻辑块

14、以及的逻辑块以及组态数据。组态数据。装载存储器装载存储器编程设备编程设备CPU模块模块装载存储器的剩余装载存储器的剩余空间可作为一般的空间可作为一般的文件存储器使用文件存储器使用系统存系统存储器也储器也集成在集成在CPU内内系统存储器:系统存储器:位存储器、定位存储器、定时器和计数器、时器和计数器、I/O过程映像、过程映像、本地数据本地数据l1、基于槽位的寻址、基于槽位的寻址l 基于槽位的寻址为默认设置。基于槽位的寻址为默认设置。l 机架号为机架号为03,号机架为,号机架为CPU机架,其余机架,其余为扩展机架。为扩展机架。l CPU机架上的槽号为机架上的槽号为111,槽号,槽号1放置电放置电源

15、模块源模块PS),槽号),槽号2放置放置CPU模块模块CPU),),槽号槽号3放置接口模块放置接口模块IM),槽号),槽号411放置放置其它模块其它模块(SM、FM、CP)l 每个槽分配每个槽分配4个字节数字量地址共个字节数字量地址共32位位和和16字节的模拟量地址共字节的模拟量地址共8个字)。个字)。l基于槽位的寻址以字节为单位)基于槽位的寻址以字节为单位)PSIMSMSMSMSMSMSMSMSMPSCPU模块模块IMSMSMSMSMSMSMSMSMCRER槽号槽号起始地址数字)起始地址数字)起始地址模拟)起始地址模拟)456789 10 11048 12 16 20 24 28256 27

16、2 288 304 320 336 352 368槽号槽号起始地址数字)起始地址数字)起始地址模拟)起始地址模拟)456789 10 1132 36 40 44 48 52 56 60384 400 416 432 448 464 480 496l2、用户自定义寻址、用户自定义寻址l 使用用户定义寻址可以从使用用户定义寻址可以从CPU控制的地址区域控制的地址区域中自由分配任何所选则模块的地址。中自由分配任何所选则模块的地址。l 应注意,只有某些型号的应注意,只有某些型号的CPU支持用户自定义支持用户自定义寻址。寻址。 l3、信号模块的寻址、信号模块的寻址l数字量输入:数字量输入:I + 字节地

17、址字节地址 + 位地址位地址l IB + 字节地址字节地址0、1、2)l IW + 字的低字节地址字的低字节地址0、2、4)l 如如I0.0,IB0,IW0 (字地址为字地址为0、2、4、.偶偶数地址,即数地址,即IW0由由IB0和和IB1组成,组成,IW2由由IB2和和IB3组成等。组成等。l数字量输出:数字量输出:Q + 字节地址字节地址 + 位地址位地址l QB + 字节地址字节地址l QW + 字地址字地址l 如如Q0.0,QB0,QW0 (字地址为字地址为0、2、4、偶偶数字节地址等。数字节地址等。l模拟量输入:模拟量输入:IW + 字地址字地址l 如如IW256 (字地址为偶数字节

18、地址)字地址为偶数字节地址)l模拟量输出:模拟量输出:QW + 字地址字地址l 如如QW288字地址为偶数字节地址)字地址为偶数字节地址)l4、外设、外设I/O寻址寻址l 对于没有对于没有I/O映像区的外部映像区的外部I/O,可采用直接,可采用直接访问方式访问大部分访问方式访问大部分S7-300PLC的的CPU模块模块对模拟量对模拟量I/O的访问需采用此方式)的访问需采用此方式) ,称作过,称作过程程I/O访问,字头为访问,字头为PI或或PQ。l 外设外设I/O寻址支持字节寻址支持字节PIB、PQB)、字)、字PIW、PQW)、双字)、双字PID、PQD寻址。寻址。现以模拟量现以模拟量I/O为

19、例:为例:l 模拟量输入:模拟量输入:PIW + 字地址字地址l 例如例如PIW256 (字地址为偶数字节地址)字地址为偶数字节地址)l 模拟量输出:模拟量输出:PQW + 字地址字地址l 例如例如PQW272 (字地址为偶数字节地址)字地址为偶数字节地址)l5、位形状存储区寻址、位形状存储区寻址l 依依CPU型号,存储器大小为型号,存储器大小为1282048B不等,不等,支持位寻址、字节寻址、字寻址和双字寻址。支持位寻址、字节寻址、字寻址和双字寻址。l 位存储区以位存储区以M标识,如:标识,如:M0.0、MB0、MW0、MD0 (字地址为偶数地址字地址为偶数地址0、2、4,双字地址为双字地址

20、为0、4、8)等。)等。l6、定时、计数器存储区寻址、定时、计数器存储区寻址l 依依CPU型号不同,可有型号不同,可有64256个定时器,个定时器,32256个计数器。定时器标识符为个计数器。定时器标识符为T,计数器,计数器标识符为标识符为C。如:。如:T0,C0等。等。l7、数据块、数据块DBl(1共享数据块共享数据块(Shared DB)l 共享数据块为系统或用户自定义的数据结构与共享数据块为系统或用户自定义的数据结构与C语言中的结构类似),可供所有逻辑块使用。名语言中的结构类似),可供所有逻辑块使用。名称为称为DBn,n为编号一般为为编号一般为12047,具体可定义,具体可定义的个数,视

21、的个数,视CPU型号而定),其属性型号而定),其属性Shared 。在。在DB中可定义各种类型的数据变量,且可对变量赋中可定义各种类型的数据变量,且可对变量赋初值。支持初值。支持DB绝对地址访问及变量形式访问。绝对地址访问及变量形式访问。l(2背景数据块背景数据块(Instance DB)l 与某一功能块与某一功能块(FB)或系统功能块或系统功能块(SFB)相关联,相关联,名称也为名称也为DBn ,但其结构由对应的,但其结构由对应的FB/SFB决定。决定。其属性为其属性为Instance,且属性中有其所归属的,且属性中有其所归属的FB或或SFB标识。标识。l(3数据块的访问数据块的访问l 共享

22、数据块与背景数据块的访问方法相同。共享数据块与背景数据块的访问方法相同。 l 数据块中的数据可采用先打开数据块中的数据可采用先打开,后访问或直接后访问或直接访问的方法来访问。访问的方法来访问。l 先打开后访问时,先用数据块打开指令打开先打开后访问时,先用数据块打开指令打开要访问的要访问的DBn,然后可直接采用,然后可直接采用DBXm1.m2、DBBm、DBWm、DBDm的直接地址形式访问。的直接地址形式访问。l DBX为数据块中数据位的标识,如寻址数据为数据块中数据位的标识,如寻址数据块中某一位时采用块中某一位时采用DBXm1.m2形式,形式,m1为字为字节地址,节地址,m2为位地址。为位地址

23、。l DBB为数据块中的数据字节,字节寻址为为数据块中的数据字节,字节寻址为DBBm,m为字节地址。为字节地址。l DBW为数据块中的数据字,字寻址为为数据块中的数据字,字寻址为DBWm,m为偶数地址。为偶数地址。l DBD为数据块中的数据双字,双字寻址为为数据块中的数据双字,双字寻址为DBDm,m为为0、4、8等。等。l 直接访问时采用绝对地址访问或变量名称访直接访问时采用绝对地址访问或变量名称访问形式来访问。问形式来访问。l 采用绝对地址访问的形式为采用绝对地址访问的形式为DBn.DBXm1.m2、 DBn.DBBm、 DBn.DBWm、 DBn.DBDm。l 采用变量名称访问的形式为采用

24、变量名称访问的形式为DBn.变量名变量名l8、寻址方式概述、寻址方式概述l STEP 7 指令有四种寻址方式,即立即寻址、直指令有四种寻址方式,即立即寻址、直接寻址、存储器间接寻址和寄存器间接寻址。接寻址、存储器间接寻址和寄存器间接寻址。l(1立即寻址立即寻址l 操作数本身就在指令中,或因操作数是唯一的,操作数本身就在指令中,或因操作数是唯一的,在指令中不再给出。立即寻址主要用于常数操作数在指令中不再给出。立即寻址主要用于常数操作数和某些状态寄存器操作。例如:和某些状态寄存器操作。例如:l L 25 /整数整数37装入装入ACCU1l L ABCD /ASCII字符装入字符装入ACCU1l L

25、 C#12 /计数常数装入计数常数装入ACCU1l AW W#16#0F1A /ACCU1低字和常数逐位低字和常数逐位“与与”l SET /RLO置置1l(2直接寻址直接寻址l 所谓直接寻址,就是指令中直接给出操作数所谓直接寻址,就是指令中直接给出操作数的存储单元。例如:的存储单元。例如:l A I0.0 /”与与“I0.0l L IB0 /将将IB0的内容装入运算累加器的内容装入运算累加器 1ACCU1)l L MW64 /将将MW64的内容装入的内容装入ACCU1l = Q0.0 /将将RLO的内容赋给的内容赋给Q0.0l S M1.0 /M1.0置置1l T DBD10 /将将ACCU1

26、中的内容传送至中的内容传送至 DBD12中中l(3存储器间接寻址存储器间接寻址l存储器间接寻址就是以存储器的内容作为地址,存储器间接寻址就是以存储器的内容作为地址,通过这个地址间接找到操作数。通过这个地址间接找到操作数。l对于对于T、C、DB、FB和和FC的编号,因其范围的编号,因其范围在在065535之间,只需之间,只需16位地址,故使用字指位地址,故使用字指针。其它地址如针。其它地址如I、Q、M及及DB块中的位、块中的位、字节、字、双字寻址),则采用双字地址。字节、字、双字寻址),则采用双字地址。l例如:例如:16位地址位地址lOPN DBMW2 /MW2内容为内容为5,则为,则为 打开打

27、开DB5lSD TMW4 /MW4内容为内容为2,则为,则为 启动启动T2l双字指针格式:双字指针格式:l3119位位均为均为0; l183位位字节地址;字节地址;20位位位地址;位地址;l地址指针常数以地址指针常数以P#标识,标识,MD、LD和和DBD可用可用于存储地址指针。于存储地址指针。l32位地址示例程序:位地址示例程序:lL P#2.3 /将地址将地址2.3装入装入ACCU1lT MD2 /将将ACCU1的内容即地址的内容即地址 2.3传送至传送至MD2lA IMD2 /对输入位对输入位I2.3进行与操作进行与操作 l= QMD2 /结果输出至结果输出至Q2.3l(注:(注:P#2.

28、3 为为2#0000 0000 0000 0000 0000 0000 0001 0011) l(4地址寄存器间接寻址地址寄存器间接寻址l地址寄存器间接寻址是使用地址寄存器地址寄存器间接寻址是使用地址寄存器AR1和和AR2对存储区寻址。分为区域内寄存器间接寻址对存储区寻址。分为区域内寄存器间接寻址和区域间寄存器间接寻址和区域间寄存器间接寻址l区域内寄存器间接寻址程序示例如下:区域内寄存器间接寻址程序示例如下:lL P#8.7 /将地址将地址8.7装入装入ACCU1lLAR1 /将将ACCU1内容装入内容装入AR1lA I AR1,P#0.0 /对对I8.7进行进行“与操作与操作l= QAR1,

29、P#1.1 /结果输出至结果输出至Q10.0l注:注:AR1,P#0.0为为AR1内容内容8.7加上偏移量加上偏移量0.0仍为仍为8.7);); AR1,P1.1为为AR1内容内容8.7加上偏移量加上偏移量1.1为为10.0),位运算为八进制,字),位运算为八进制,字节运算为十进制;节运算为十进制;l区域间寄存器间接寻址程序示例如下:区域间寄存器间接寻址程序示例如下:lL P#I7.3 /将将I7.3的地址装入的地址装入ACCU1lLAR1 /将将ACCU1内容装入内容装入AR1lL P#Q8.3 /将将I7.3的地址装入的地址装入ACCU1lLAR2 /将将ACCU1内容装入内容装入AR2l

30、A AR1,P#0.0 /对对I8.7进行进行“与操作与操作l= AR2,P#1.1 /结果输出至结果输出至Q10.0l与区域内寻址的区别是在前面的地址中直接指定了与区域内寻址的区别是在前面的地址中直接指定了区域区域I和和Q),而在后面的操作中不再指定区域。),而在后面的操作中不再指定区域。l(1)“与和与和“与非与非” 操作操作l “与是以常开点开始的串联逻辑行,或者与是以常开点开始的串联逻辑行,或者是串联单个常开点。是串联单个常开点。l “与非是以常闭点开始的串联逻辑行,或与非是以常闭点开始的串联逻辑行,或者是串联单个常闭点。者是串联单个常闭点。l 触点可以是触点可以是I区、区、Q区、区、

31、M区、区、DB块内的块内的BOOL点、定时器点、定时器T和计数器和计数器C的状态点,以及的状态点,以及临时状态点。临时状态点。l例如:例如:I0.0I0.1I0.0I0.1LAD指令指令STL指令指令A I0.0A I0.1A I0.0AN I0.1I0.1I0.0AN I0.0A I0.1l(2)“或和或和“或非或非” 操作操作l “或是以常开点开始的并联逻辑行,或者或是以常开点开始的并联逻辑行,或者是并联单个常开点。是并联单个常开点。l “或非是以常闭点开始的并联逻辑行,或或非是以常闭点开始的并联逻辑行,或者是并联单个常闭点。者是并联单个常闭点。l触点同触点同1)。)。l例如:例如: O

32、I0.0ON I0.1I0.0I0.1LAD指令指令STL指令指令O I0.0O I0.1I0.0I0.1l(3)“非操作非操作l RLO取取“非非”。l(4输出输出 操作操作l 将逻辑运算结果输出至指定存储位。存储位将逻辑运算结果输出至指定存储位。存储位可以是可以是Q区、区、M区、区、DB块内的块内的BOOL点,以及点,以及临时状态点。临时状态点。|NOT|LAD指令指令STL指令指令NOTLAD指令指令STL指令指令()Q0.0= Q0.0l(5)“与操作嵌套开始及结束与操作嵌套开始及结束l 由于程序按先由于程序按先“与后与后“或次序执行,当或次序执行,当需要先进行需要先进行“或操作时,使

33、用该指令。或操作时,使用该指令。l A( 开场开场l ) 终了终了l例如:例如:LADSTL指令指令 I0.0 I0.1Q4.1( )Q4.1A (O I0.0O Q4.1 )AN I0.1 = Q4.1A(ON I0.0 O I0.2 ) A(O I0.1ON I0.3 )AN C2 = Q4.3STL指令指令I0.0I0.2I0.3I0.1 C2( )Q4.3LADl(6逻辑行逻辑行“或操作或操作O)l 由于程序按先由于程序按先“与后与后“或次序执行,当或次序执行,当出现逻辑行出现逻辑行“或操作时,使用不带地址的或操作时,使用不带地址的O指令。指令。l例如:例如:AN I0.0 A I0.

34、1O A I0.2AN I0.3 = Q4.2LADSTL指令指令I0.0I0.2 I0.3I0.1( )Q4.2l(7复位复位R)、置位)、置位S操作、操作、l 对应点的置对应点的置1或置或置0。l(8上升沿检测上升沿检测P和下降沿检测和下降沿检测N)l RLO上升沿检测和下降沿检测。上升沿检测和下降沿检测。R Q1.2 STL指令指令LAD指令指令S M1.2STL指令指令LAD指令指令FP M1.2STL指令指令LAD指令指令(P)M1.2FN M1.2STL指令指令LAD指令指令(N)M1.2(R)Q1.2(S)M1.2l(9RLO状态保存至状态保存至BRSAVE)l(10地址下降沿地

35、址下降沿NEG和上升沿检测和上升沿检测POS)SAVESTL指令指令LAD指令指令A I0.0 BLD 100FN M1.0= Q0.0STL指令指令LAD指令指令A I0.0 BLD 100FP M1.0= Q0.0NEGM_BITQI0.0M1.0()Q0.0POSM_BITQI0.0M1.0()Q0.0(SAVE)l(11RS触发器、触发器、SR触发器触发器l置位优先触发器置位优先触发器RS和复位优先触发器和复位优先触发器SR)。)。 A I0.0 R M0.1 A I0.1 S M0.1LADSTL指令指令 A I0.0 S M0.2 A I0.1 R M0.2I0.0I0.1 RS

36、R QSM0.1I0.0I0.1 SR S QRM0.2l 这两条是这两条是STL指令,无对应的梯形图指令。指令,无对应的梯形图指令。STL编程及一些梯形图转为编程及一些梯形图转为STL指令时会用到。指令时会用到。l(1装入指令装入指令L)l 装入指令装入指令L将源操作数装入累加器将源操作数装入累加器1中,累加中,累加器器1中的原有数据移入累加器中的原有数据移入累加器2中。中。l 如:如:L MW0l(2传送指令传送指令T)l 传送指令传送指令T将累加器将累加器1中的内容传送至目的存中的内容传送至目的存储器中,累加器储器中,累加器1的内容不变。的内容不变。l 如:如:T MD10l(1定时器定

37、时器l接通延时定时器接通延时定时器(S_ODT)I0.1I0.2当前值当前值Q4.0S 启动端启动端R 复位端复位端TV 定时时间定时时间19990s)Q 输出端输出端BI 16进制当前值进制当前值BCD BCD码当前值码当前值S5T#3SI0.2I0.1( )Q4.0MW10MW12T1S_ODTSQTVBIBCDRl定时器指令使用示例:定时器指令使用示例:AI0.1LS5T#3SSDT1AI0.2RT1LT1TMW10LCT1TMW12AT1=Q4.0AT1=M1.0S5T#3SI0.2I0.1( )Q4.0MW10MW12T1S_ODTSQTVBIBCDRT1M1.0( )Network

38、1Network2l断开延时定时器断开延时定时器S_OFFDT)I0.1I0.2当前值当前值Q4.0各端说明同前各端说明同前S5T#3SI0.2I0.1( )Q4.0MW10MW12T1S_OFFDTSQTVBIBCDRl定时器指令简化形式:定时器指令简化形式:l 当不使用强制复位端及不显示当前值时,可当不使用强制复位端及不显示当前值时,可使用定时器简化形式指令。例如:使用定时器简化形式指令。例如:AI0.1LS5T#3SSDT1I0.1 T1(SD)S5T#3SI0.1 T2(SF)S5T#5SAI0.1LS5T#5SSFT2S5T#3SI0.1T1S_ODTSQTVBIBCDRS5T#5S

39、I0.1T2S_OFFDTSQTVBIBCDRl(2计数器计数器l减计数器减计数器(S_CD)l设定值为设定值为0999。CD 计数端计数端S 计数设置端计数设置端PV 计数设定值计数设定值R 复位端复位端Q 输出端输出端CV16进制当前值进制当前值CV_BCD BCD码码 当前值。当前值。C#3I0.3I0.1( )Q4.0MW10MW12S_CDCDQPVCVCV_BCDRI0.2SC10l 计数当前值不为零时,计数器状态输出为计数当前值不为零时,计数器状态输出为1ON),否则为),否则为0OFF)。)。l 当计数设置端当计数设置端S为为1时,将计数设定值时,将计数设定值PV端端规定送如计

40、数器。然后,计数端规定送如计数器。然后,计数端CD端端每接通一次,计数值减每接通一次,计数值减1。当计数值减为。当计数值减为0时,时,计数器状态输出由计数器状态输出由1ON变为变为0OFF)。)。l 当复位端当复位端R端为端为1ON时,计数器复位。时,计数器复位。l 再次启动计数前,需再次通过再次启动计数前,需再次通过S端设置。端设置。l减计数器指令应用示例减计数器指令应用示例C#3I0.3I0.1( )Q4.0MW10MW12S_CDCDQPVCVCV_BCDRI0.2SC0 A I0.1 CD C0 BLD 101 A I0.2 L C#3 S C0 A I0.3 R C0 L C0 T

41、MW10 LC C0 T MW12 A C0 = Q4.0Q4.2( )C0A C0= Q4.2Network1Network2l加计数器加计数器(S_CU)l计数值为计数值为0时,状态输出为时,状态输出为0,否则为,否则为1。l计数范围为计数范围为0999CD 计数端计数端S 计数设置端计数设置端PV 计数值计数值R 复位端复位端Q 输出端输出端CV16进制当前值进制当前值CV_BCD BCD码码 当前值。当前值。C#3I0.3I0.1( )Q4.0MW10MW12S_CUCUQPVCVCV_BCDRI0.2SC10l(1 1延时接通,延时断开延时接通,延时断开I0.0Q4.16s3sI0.

42、0 T0(SD)S5T#3SQ4.1( )T0Q4.1T1Q4.1I0.0 T1(SD)S5T#6Sl(2振荡器脉冲发生器)振荡器脉冲发生器)S5T#3ST2T1S_ODTSQTVBIBCDRS5T#1ST2S_ODTSQTVBIBCDRI0.0I0.0Q4.01s3s3s1s( )Q4.0T1l(3定时器定时器T0 T1(SD)S5T#10MN2T1T2 T2(SD)S5T#1HN4C0T2C#3S_CDCDQPVCVCV_BCDRI0.0SN3I0.0 T0(SD)S5T#5SN1( )Q4.0N5C0I0.0l(4一般闪一般闪光报警系统光报警系统S5T#500MST0 T1(SD)N2T

43、0 Q4.0( )N3M0.1I0.2I0.0I0.1 M0.1( )N4M0.1I0.0I0.0 Q4.1( )N5M0.1I0.0为报警信号为报警信号I0.1为确认按钮为确认按钮I0.2为试灯按钮为试灯按钮闪烁程序闪烁程序报警灯控制报警灯控制警铃控制警铃控制确认信号确认信号I0.0 T0(SD)S5T#500MSN1T1M0.1l梯形图中的传送指令:梯形图中的传送指令:MOVE挪动挪动ENENOINOUTMOVE IN端和端和OUT端可以是所有长度为端可以是所有长度为8、16或或32位的基本数据类型,且位的基本数据类型,且IN端可以是各端可以是各类常数。类常数。当当EN端使能端为端使能端为

44、1时,时,将将IN端数据传入端数据传入OUT端,且端,且使使ENO=1。l移动指令使用示例:移动指令使用示例:A(AI0.1JNB_001L100TMW4SETSAVECLR_001: ABR ) /如如RLO=0,则跳至标号则跳至标号_001处处,且且BR=RLO。/将常数将常数100装入累加器装入累加器1低字低字/将累加器将累加器1低字内容传至低字内容传至MW4/将将RLO置置1/将将RLO存入存入BR位执行正确为位执行正确为1)/将将RLO置为置为0ENENOINOUTMOVE100MW4I0.1ENENOINOUTMOVEMB8IB2( )Q4.0注:第注:第2个个MOVE的的STL指

45、令忽略指令忽略l比较指令用于比较累加器比较指令用于比较累加器1与累加器与累加器2中的数据中的数据大小,被比较的两个数的数据类型应相同。数大小,被比较的两个数的数据类型应相同。数据类型可以是整数据类型可以是整数I)、双字整数)、双字整数D或浮或浮点数点数R、即实数如果比较条件满足,则、即实数如果比较条件满足,则ROL为为1,否则为,否则为0。l 比较条件包括比较条件包括=、=、=。l CPU状态寄存器中的状态寄存器中的CC0和和CC1位用来表示两位用来表示两个数的大于、小于和等于关系个数的大于、小于和等于关系00相等、相等、01为为小于、小于、10为大于)。为大于)。l语句表指令语句表指令l ?

46、I 整数比较整数比较l ?D 双字整数比较双字整数比较 l ?R 浮点数比较浮点数比较l ?可以是可以是=、=、=。l梯形图指令梯形图指令IN2CMP ?IIN1IN2CMP ?DIN1IN2CMP ?RIN1l比较指令使用示例:比较指令使用示例:IN2CMP =IIN1MW2I0.1MW4( )Q4.0 A I 0.1 A( L MW2 L MW4 I ) = Q 4.0l1整数运算指令整数运算指令l单字加、减、乘、除指令单字加、减、乘、除指令: +I、-I、*I、/IEN ENOIN2OUTADD_IIN1EN ENOIN2OUTSUB_IIN1EN ENOIN2OUTMUL_IIN1EN

47、 ENOIN2OUTDIV_IIN1l整数运算指令使用示例:整数运算指令使用示例: A( A I 0.1 JNB _001 L 10 L MW4 +I T MW6 AN OV SAVE CLR _001: A BR ) JNB _002 L MW6 L MW8 -I T MW10 AN OV SAVE CLR _002: A BR = Q4.0 JNB _002 L MW6 L MW8 -I T MW10_002: NOP 0 EN ENOIN2OUTADD_IIN110I0.1MW4( )Q4.0MW6EN ENOIN2OUTSUB_IIN1MW6MW8MW10(有(有Q4.0时)时)(无(

48、无Q4.0时)时)l双字加、减、乘、除指令双字加、减、乘、除指令l+D、-D、*D、/DEN ENOIN2OUTADD_DIIN1EN ENOIN2OUTSUB_DIIN1EN ENOIN2OUTMUL_DIIN1EN ENOIN2OUTDIV_DIIN1l双字整数运算指令使用示例:双字整数运算指令使用示例:EN ENOIN2OUTADD_DIIN1MD20I0.1L#10MD24 A( A I 0.1 JNB _001 L MD20 L L#10 *D T MD24 AN OV SAVE CLR _001: A BR ) JNB _002 L MD24 L L#3 /D T MD28_002

49、: NOP 0 EN ENOIN2OUTSUB_DIIN1MD24 L#3MD28l浮点数加、减、乘、除指令浮点数加、减、乘、除指令l+R、-R、*R、/REN ENOIN2OUTADD_RIN1EN ENOIN2OUTSUB_RIN1EN ENOIN2OUTMUL_RIN1EN ENOIN2OUTDIV_RIN1l浮点数运算指令使用示例:浮点数运算指令使用示例:EN ENOIN2OUTADD_RIN1MD2012.5MD10EN ENOIN2OUTMUL_RIN1MD1010.0MD14 A( L MD20 L 1.250000e+001 +R T MD10 AN OV SAVE CLR A

50、 BR ) JNB _001 L MD10 L 1.000000e+001 *R T MD14_001: NOP 0 l浮点数的其它运算浮点数的其它运算l 包括取绝对值包括取绝对值ABS)、平方)、平方SQR)、开平方)、开平方SQRT)、自然指数)、自然指数EXP)、自然对数)、自然对数LN)、)、正弦正弦SIN)、余弦)、余弦COS)、正切)、正切TAN)、反正)、反正弦弦ASIN)、反余弦)、反余弦ACOS)、反正切)、反正切ATAN) (各角度为弧度单位),例如各角度为弧度单位),例如ENENOINOUTABSENENOINOUTSQRTENENOINOUTEXPENENOINOUTL

51、NENENOINOUTSINENENOINOUTSQRl单字左移单字左移SHL_W)、单字右移)、单字右移SHR_W)l双字左移双字左移SHL_DW) 、双字右移、双字右移SHR_DW) l移出位丢失,补位位为移出位丢失,补位位为0,例如,例如SHL_W:ENOENOUTINNXXX_XXEN使能输入使能输入ENO 使能输出使能输出IN要移位的值要移位的值N要移动的位数要移动的位数OUT 移位指令的结果移位指令的结果150D0l双字循环左移双字循环左移ROL_DW) l双字循环右移双字循环右移ROR_DW)ENOENOUTINNXXX_XXEN使能输入使能输入ENO 使能输出使能输出IN要移位

52、的值要移位的值N要移动的位数要移动的位数OUT 移位指令的结果移位指令的结果310ROR_DWD310ROL_DWDl移位类指令使用示例:移位类指令使用示例:ENOENOUTINNSHL_WQW0I0.1MW0QW0(P)EN ENOIN OUTMOVE1QW0I0.02M3.0IN2CMP= IIN1EN ENOIN OUTMOVEMW0QW01EN ENOIN OUTMOVEQW00I0.0I0.1lSTL程序程序 A( A I0.0 JNB _001 L 1 T QW0 SET SAVE CLR _001: A BR ) JNB _002 L 2 T MW0_002: NOP 0 A(

53、A I0.1 FP M3.0 JNB _003 L MW0 L QW0 SLW T QW0 SET SAVE CLR _003: A BR ) A( L QW0 L 0 = = I ) JNB _004 L 1 T QW0_004: NOP 0Network 1:Network 2:l单字单字“与与”(WAND_W)、双字)、双字“与与” (WAND_DW)l单字单字“或或”(WOR_W)、双字)、双字“或或” (WOR_DW)l单字单字“异或异或”(WXOR_W)l双字双字“异或异或”(WXOR_DW)ENOENOUTIN1IN2XXXX_XXEN使能输入使能输入ENO 使能输出使能输出IN

54、1逻辑运算第逻辑运算第1个值个值IN2逻辑运算第逻辑运算第2个值个值OUT 逻辑运算的结果逻辑运算的结果l字逻辑指令使用示例:字逻辑指令使用示例:ENENOIN2OUTWOR_WIN1MW0MW2MW4ENENOIN2OUTWAND_WIN1MW4MW6MW8 A( L MW0 L MW2 OW T MW4 SET SAVE CLR A BR ) JNB _001 L MW4 L MW6 AW T MW8_001: NOP 0l包括整数、包括整数、BCD、浮点数之间的转换,以及取反、浮点数之间的转换,以及取反、求补、取整等。求补、取整等。lBCD_I BCD码转换为整型码转换为整型STL:BT

55、I) lI_BCD 整型转换为整型转换为BCD码码 (STL:ITB) lBCD_DI BCD码转换为长整型码转换为长整型STL:BTD) lI_DI 整型转换为长整型整型转换为长整型 (STL:ITD) lDI_BCD 长整型转换为长整型转换为BCD码码STL:DTB) lDI_R 整型转换为浮点型整型转换为浮点型STL:DTR) lINV_I 整数求反码整数求反码STL:INVI) lINV_DI 长整数求反码长整数求反码STL:INVD) lNEG_I 对整数求补码对整数求补码 (STL:NEGI) lNEG_DI 对长整数求补码对长整数求补码STL:NEGD) lNEG_R 浮点数取反

56、浮点数取反 (STL:NEGR) lROUND 舍入取整为长整型舍入取整为长整型 (STL:RND) lTRUNC 截取长整数部分截取长整数部分 (STL:TRUNC) lCEIL 向上取整向上取整 (STL:RND+) lFLOOR 向下取整向下取整 (STL:RND-) ENOENOUTINXXXXEN使能输入使能输入ENO 使能输出使能输出IN输入数据输入数据OUT 结果结果l转换指令使用示例:转换指令使用示例:ENENOOUTI_DIIN1MW0MD2ENENOOUT DI_RIN1MD2MD6 A( L MW0 ITD T MD2 SET SAVE CLR A BR ) JNB _0

57、01 L MD2 DTR T MD6_001: NOP 0l 状态位指令属于位逻辑指令,用于对状态字的位状态位指令属于位逻辑指令,用于对状态字的位进行处理。进行处理。l二进制结果位二进制结果位(BR)被置位被置位(即信号状态为即信号状态为1)。l数学运算函数发生溢出数学运算函数发生溢出 (OV)或存储溢出或存储溢出 (OS)。l数学运算函数的结果是无序的数学运算函数的结果是无序的 (UO)。l数学运算函数的结果与数学运算函数的结果与0的关系有:的关系有: l = 0、 0、 0、= 0、0OV= =0l状态位指令使用示例:状态位指令使用示例:EN ENOIN2OUTSUB_RIN1MD1010.1MD14=0( )Q4.0 A( L MD10 L 1.010000e+001 -R T MD14 AN OV SAVE CLR A BR ) A =0 = Q4.0l(1 1梯形图中的跳转指令梯形图中的跳转指令l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论