SMART编程基础PPT学习教案

上传人:深*** 文档编号:85084952 上传时间:2022-05-05 格式:PPTX 页数:37 大小:851.41KB
返回 下载 相关 举报
SMART编程基础PPT学习教案_第1页
第1页 / 共37页
SMART编程基础PPT学习教案_第2页
第2页 / 共37页
SMART编程基础PPT学习教案_第3页
第3页 / 共37页
点击查看更多>>
资源描述
会计学1SMART编程基础编程基础 4. 功能块图(FBD)类似于数字逻辑电路,国内很少使用。 5. 结构文本是为IEC 61131-3标准创建的一种专用的高级编程语言。 6. 编程语言的相互转换和选用 在编程软件中,可以选用梯形图、功能块图和语句表。 梯形图中输入信号(触点)与输出信号(线圈)之间的逻辑关系一目了然,易于理解。设计复杂的数字量控制程序时建议使用梯形图语言。 语句表程序输入方便快捷,可以为每条语句加上注释,便于复杂程序的阅读。 7. S7-200 SMART的程序结构 1)主程序OB1是程序的主体,每次扫描都要执行主程序。每个项目都必须有且只能有一个主程序。 2)子程序仅在被调用时执行,使用子程序可简化程序代码、减少扫描时间。 3)中断程序用来及时处理不能事先预测何时发生的中断事件。在中断事件发生时由PLC的操作系统调用中断程序。 8. S7-200 SMART与S7-200的指令基本上相同。 第1页/共37页3.2 数据类型与寻址方式数据类型与寻址方式3.2.1 数制数制 1二进制数 (1)用1位二进制数表示数字量 二进制数的1位只能为0和1。用1位二进制数来表示开关量的两种不同的状态,线圈通电、常开触点接通、常闭触点断开为1状态(ON),反之为0状态(OFF)。二进制位的数据类型为BOOL(布尔)型。 (2)多位二进制数 多位二进制数用来表示大于1的数字。从右往左的第n位(最低位为第0位)的权值为2n。2#0000 0100 1000 0110对应的十进制数为1158222212710第2页/共37页 (3)有符号数的表示方法 用二进制补码来表示有符号数,最高位为符号位,最高位为0时为正数,反之为负数。正数的补码是它本身,最大的16位二进制正数为2#0111 1111 1111 1111(32767)。 将正数的补码逐位取反(0变为1,1变为0)后加1,得到绝对值与它相同的负数的补码。例如将1158的补码2#0000 0100 1000 0110逐位取反后加1,得到1158的补码1111 1011 0111 1010。 2十六进制数 十六进制数用于简化二进制数的表示方法,16个数为09和AF(1015),4位二进制数对应于1位十六进制数,例如2#1010 1110 0111 0101可以转换为16#AE75(或AE75H)。 十六进制数“逢16进1”,第n位的权值为16n。16#2F对应的十进制数为21611516047。 3BCD码(Binary Coded Decimal)是各位按二进制编码的十进制数,“逢10进1”,用4位二进制数来表示1位十进制数,每一位只能是2#00002#1001。4位BCD码对应于16位二进制数,允许范围为16#9999 16# 0000。第3页/共37页 BCD码用于PLC的输入和输出。 拨码开关用来设置多位十进制参数值,PLC用输入点读取的多位拨码开关的输出值就是BCD码。用16#表示BCD码,图3-5的拨码开关的输出为2#1000 0010 1001,其BCD码为16#829。 电梯的楼层数转换为BCD码后,分别送给译码驱动芯片4547。第4页/共37页3.2.2 数据类型数据类型 1位:二进制位(bit)的数据类型为BOOL(布尔)。中的I表示输入,3是字节地址,2是字节中的位地址(0 7)。 2字节 一个字节(Byte)由8个位数据组成,IB3由这8位组成。 3字和双字 相邻的两个字节组成一个字(Word),相邻的两个字或4个字节组成一个双字(Double Word)。第5页/共37页用VB100的地址编号作为VW100和VD100的地址编号。组成字和双字的编号最小的字节VB100为VW100和VD100的最高位字节。字节、字和双字都是无符号数,它们的数值用16#表示。第6页/共37页 416位整数INT和32位双整数DINT都是有符号数。最高位为符号位。 532位浮点数(REAL,实数)可以表示为1.m 2E,IEEE标准格式的浮点数的格式为1.m 2e ,最高位为符号位。指数e = E +127,为8位正整数。第022位是尾数的小数部分m,第2330位是指数部分e 。 在编程软件中,用小数表示浮点数。 6ASCII码字符:美国信息交换标准代码。用单引号表示,例如AB12 。 7字符串的数据类型为STRING,由若干个ASCII码字符组成,第一个字节是字符串的长度(0254),后面的每个字符占一个字节。字符串用双引号表示,例如”LINE2”。第7页/共37页3.2.3 CPU的存储区的存储区 1过程映像输入寄存器(I):外部输入电路接通时对应的过程映像输入寄存器为ON(1状态),反之为OFF(0状态)。 2过程映像输出寄存器(Q):梯形图中的线圈“通电”时,输出模块中对应的硬件继电器的常开触点闭合。 3变量存储器(V):用来存放程序执行的中间结果和有关数据。 4位存储器(M):类似于继电器控制系统的中间继电器,32个字节。 5定时器存储器(T):定时器、计数器的当前值为16位有符号整数,定时器位用来描述定时器的延时动作的触点的状态。 6计数器存储器(C):计数器用来累计其计数脉冲上升沿的次数。计数器位用来描述计数器的触点的状态。 7高速计数器(HC):用来累计比CPU的扫描速率更快的事件。当前值为32位有符号整数。 8累加器(AC0AC3):32位,可以按字节、字和双字来访问累加器中的数据。按字节、字只能访问累加器的低8位或低16位。常用于向子程序传递参数和从子程序返回参数,或用来临时保存中间的运算结果。 第8页/共37页 9特殊存储器(SM) 特殊存储器用于CPU与用户程序之间交换信息。一直为ON;仅在执行用户程序的第一个扫描周期为ON。 和分别提供周期为1分钟和1秒的时钟脉冲。、和分别为零标志、溢出标志和负数标志。 10局部存储器(L):各POU都有自己的64字节的局部存储器,仅仅在它被创建的POU中有效。作为暂时存储器,或给子程序传递参数。 同一调用级别的POU的局部变量使用分配给它们的公用的物理存储器。 11模拟量输入(AI):AI模块将模拟量按比例转换为一个字的数字量。AI地址应从偶数字节开始(例如AIW2),AI为只读数据。 12模拟量输出(AQ):AQ模块将一个字的数字值按比例转换为电流或电压。AQ地址应从偶数字节开始(例如AQW2),用户不能读取AQ。 13顺序控制继电器(S):用于顺序控制编程(见节),32字节。 I、Q、V、M、S、SM和L存储器区均可以按位、字节、字和双字来访问。第9页/共37页3.2.4 直接寻址与间接寻址直接寻址与间接寻址 直接寻址指定了存储器的区域、长度和位置,例如VB200。 间接寻址给出一个被称为地址指针的存储单元的地址,32位地址指针里存放的是真正的操作数的地址。只能用V、L或累加器作指针。 间接寻址可用于访问 I、Q、V、M、S、AI、AQ、SM,以及T和C的当前值。不能访问单个位(bit)地址、HC、L存储区和累加器。 指令“MOVD &VB200, AC1”将VB200的地址&VB200传送给AC1。 指令“MOVW *AC1, AC0”将指针AC1所指的VW200中的数据( *AC1)传送给AC0。第10页/共37页 用指针访问相邻的下一个字节时,指针值加1;访问字时,指针值加2;访问双字时,指针值加4。 【例3-1】从0时开始,某发电机计划发电时每个小时的有功功率给定值被依次存放在VW100VW146中。VD20中是从实时时钟读取的小时值,用间接寻址读取当时的功率给定值,送给VW30。MOVD &VB100, VD10/表的起始地址送VD10+D VD20, VD10/起始地址加偏移量+D VD20, VD10 MOVW *VD10, VW30/读取表中的数据 一个字由两个字节组成,地址相邻的两个字的地址增量为2(两个字节),所以用了两条加法指令。在上午8时,VD20的值为8,执行两次加法指令后VD10中为VW116的地址。第11页/共37页3.3 位逻辑指令位逻辑指令3.3.1 触点指令与堆栈指令触点指令与堆栈指令 1标准触点指令 常开触点对应的位地址为ON时,该触点闭合。 常闭触点对应的位地址为OFF时,该触点闭合。 2输出指令 输出指令(=)对应于梯形图中的线圈。梯形图中两个并联的线圈用两条相邻的输出指令来表示。第12页/共37页 【例3-2】 已知图3-11中的波形,画出的波形。 在的下降沿之前,为ON,它的两个常闭触点均断开,和均为OFF,其波形用低电平表示。 在的下降沿,和的常闭触点同时闭合,变为ON。 从下降沿之后的第二个扫描周期开始,为ON,其常闭触点断开,使为OFF。只是在的下降沿ON一个扫描周期。 交换上下两行电路,的线圈不会通电。第13页/共37页 3逻辑堆栈的基本概念 S7-200 SMART有一个32位的堆栈,最上面的第一层称为栈顶。堆栈中的数据一般按“先进后出”的原则访问。 执行LD指令时,将指令指定的位地址中的二进制数装载入栈顶。 执行A(与)指令时,指令指定的位地址中的二进制数和栈顶中的二进制数作“与”运算,运算结果存入栈顶。栈顶之外其他各层的值不变。 执行O(或)指令时,指令指定的位地址中的二进制数和栈顶中的二进制数作“或”运算,运算结果存入栈顶。第14页/共37页 4或装载指令OLD 图3-15中前两条指令执行完后,“与”运算的结果S0 存放在堆栈的栈顶,第3、4条指令执行完后,“与”运算的结果S1 压入栈顶(见图3-16),原来在栈顶的S0被推到堆栈的第2层,下面各层的数据依次下移一层。 OLD指令对堆栈第一、二层的二进制数作“或”运算,运算结果S2 = S0 + S1存入堆栈的栈顶,第331层中的数据依次向上移动一层。 5与装载指令ALD 图3-15中OLD下面的两条指令并联运算的果 S3被压入栈顶,堆栈中原来的数据依次向下一层推移。 ALD指令对堆栈第一、二层的数据作“与”运算,运算结果S4 = S2 S3存入堆栈的栈顶,第331层中的数据依次向上移动一层。第15页/共37页第16页/共37页 【例3-3】 已知图3-17中的语句表程序,画出对应的梯形图。 首先将电路划分为若干块,各电路块从含有LD的指令(例如LD、LDI和LDP等)开始,在下一条含有LD的指令(包括ALD和OLD)之前结束;然后分析各块电路之间的串并联关系。 OLD或ALD指令并、串联的是它上面靠近它的已经连接好的电路。 6其他堆栈操作指令 逻辑进栈LPS指令复制栈顶的值并将其压入堆栈的第2层,堆栈中原来的数据依次向下一层推移。第17页/共37页 逻辑读栈LRD指令将堆栈第2层的数据复制到栈顶,原来的栈顶值被复制值替代。第2层第31层的数据不变。 逻辑出栈LPP指令将栈顶值弹出,堆栈各层的数据向上移动1层,第2层的数据成为新的栈顶值。 装载堆栈指令LDS很少使用。第18页/共37页第19页/共37页 下图中的第1条LPS指令将栈顶的A点逻辑运算结果保存到堆栈的第2层,第2条LPS指令将B点的逻辑运算结果保存到堆栈的第2层,A点的逻辑运算结果被“压”到堆栈的第3层。第1条LPP指令将堆栈第2层B点的逻辑运算结果上移到栈顶,第3层中A点的逻辑运算结果上移到堆栈的第2层。最后一条LPP指令将堆栈第二层的A点的逻辑运算结果上移到栈顶。第20页/共37页 7立即触点 立即触点指令只能用于输入位I,立即读入物理输入点的值,但是并不更新该物理输入点对应的过程映像输入寄存器。第21页/共37页3.3.2 输出类指令与其他指令输出类指令与其他指令 1立即输出 图3-21中的立即输出将栈顶值立即写入指定的物理输出点和对应的过程映像输出寄存器。该指令只能用于输出位Q。 2置位与复位 置位与复位指令分别将指定的位地址开始的N个连续的位地址置位(变为ON)和复位(变为OFF),N = 1255。两条指令有记忆和保持功能。 可用复位指令清除定时器/计数器的当前值,同时将它们的位复位为OFF。第22页/共37页 3立即置位与立即复位 这两条指令分别将指定的位地址开始的N个连续的物理输出点立即置位或复位,N = 1255。它们只能用于输出位Q,新值被同时写入对应的物理输出点和过程映像输出寄存器。 4RS、SR双稳态触发器指令 SR是置位优先双稳态触发器,RS是复位优先双稳态触发器。它们用置位输入和复位输入来控制方框上面的位地址,可选的OUT连接反映了方框上面位地址的信号状态。 置位信号S1和复位信号R同时为ON时,被置位为ON。 置位信号S和复位信号R1同时为ON时,被复位为OFF。第23页/共37页 5其他位逻辑指令 正跳变触点(P)检测到一次正跳变或负跳变触点(N)检测到一次负跳变时,触点接通一个扫描周期。 取反(NOT)触点将存放在堆栈顶部的它左边电路的逻辑运算结果取反。取反触点左、右两边能流的状态相反。 空操作指令(NOP N)不影响程序的执行(N=0 255)。第24页/共37页 6程序的优化设计 在设计并联电路时,应将单个触点的支路放在下面;设计串联电路时,应将单个触点放在右边。在有线圈的并联电路中,应将单个线圈放在上面。第25页/共37页3.4 3.4 定时器指令与计数器指令定时器指令与计数器指令3.4.1 3.4.1 定时器指令定时器指令 第26页/共37页 1定时器的分辨率见表3-9。 2接通延时定时器和有记忆接通延时定时器 定时器和计数器的当前值的数据类型均为整数(INT),允许的最大值为32767。接通延时定时器TON和保持型接通延时定时器TONR的使能(IN)输入电路接通后开始定时,当前值不断增大。当前值大于等于PT端指定的预设值时,定时器位变为ON。达到预设值后,当前值仍继续增加,直到最大值32767。定时器的预设时间等于预设值PT与分辨率的乘积。 接通延时定时器的使能输入电路断开时,定时器被复位,其当前值被清零,定时器位变为OFF。还可以用复位(R)指令复位定时器和计数器。 第27页/共37页 保持型接通延时定时器TONR的使能(IN)输入电路断开时,当前值保持不变。使能输入电路再次接通时,继续定时。累计的时间间隔等于预设值时,定时器位变为ON。只能用复位指令来复位TONR。 图3-28是用接通延时定时器编程实现的脉冲定时器程序,在的上升沿,输出一个宽度为3s的脉冲,的脉冲宽度可以大于3s,也可以小于3s。第28页/共37页 3断开延时定时器 使能输入电路接通时,定时器位立即变为ON,当前值被清零。 使能输入电路断开时,开始定时,当前值等于预设值时,输出位变为OFF,当前值保持不变,直到使能输入电路接通。 断开延时定时器用于设备停机后的延时,例如变频电机的冷却风扇的延时。第29页/共37页 4分辨率对定时器的影响 执行1ms分辨率的定时器指令时开始计时,其定时器位和当前值每1ms更新一次。扫描周期大于1ms时,在一个扫描周期内被多次更新。 执行10ms分辨率的定时器指令时开始计时,记录自定时器启用以来经过的10ms时间间隔的个数。在每个扫描周期开始时,定时器位和当前值被刷新,一个扫描周期累计的10ms时间间隔数被加到定时器当前值中。定时器位和当前值在整个扫描周期中不变。 100ms分辨率的定时器记录从定时器上次更新以来经过的100ms时间间隔的个数。在执行该定时器指令时,将从前一扫描周期起累积的100ms时间间隔个数累加到定时器的当前值。启用定时器后,如果在某个扫描周期内未执行某条定时器指令,或者在一个扫描周期多次执行同一条定时器指令,定时时间都会出错。第30页/共37页 【例3-4】用定时器设计输出脉冲的周期和占空比可调的振荡电路(即闪烁电路)。的常开触点接通后,T41开始定时。2s后定时时间到,T41的常开触点接通,变为ON,T42开始定时。3s后T42的定时时间到,它的常闭触点断开,T41被复位。T41的常开触点断开,使变为OFF,T42被复位。复位后T42的常闭触点接通,下一扫描周期T41又开始定时。的线圈“通电”和“断电”的时间分别等于T42和T41的预设值。第31页/共37页 6两条运输带的控制程序 按下起动按钮,1号运输带开始运行,8s后2号运输带自动起动。按了停止按钮后,先停2号运输带,8s后停1号运输带。设置辅助元件,根据波形图,直接用T39和T40的触点控制和的线圈。第32页/共37页3.4.1 计数器指令计数器指令 1加计数器(CTU) 同时满足下列条件时,加计数器的当前值加1,直至计数最大值32767。 1)复位输入电路断开。 2)加计数脉冲输入电路由断开变为接通(CU信号的上升沿)。 3)当前值小于最大值32767。 当前值大于等于预设值PV时,计数器位为ON,反之为OFF。当复位输入R为ON或对计数器执行复位(R)指令时,计数器被复位,计数器位变为OFF,当前值被清零。在首次扫描时,所有的计数器位被复位为OFF。第33页/共37页 2减计数器(CTD) 在装载输入LD的上升沿,计数器位被复位为OFF,预设值PV被装入当前值寄存器。在减计数脉冲输入信号CD的上升沿,从预设值开始,当前值减1,减至0时,停止计数,计数器位被置位为ON。 3加减计数器(CTUD) 在加计数脉冲输入CU的上升沿,当前值加 1,在减计数脉冲输入CD的上升沿,当前值减 1。当前值大于等于预设值PV时,计数器位为ON,反之为OFF。若复位输入R为ON,或对计数器执行复位(R)指令时,计数器被复位。第34页/共37页 【例3-5】用计数器设计长延时电路。 定时器最长的定时时间为。周期为1min的时钟脉冲的常开触点为加计数器C0提供计数脉冲。定时时间为30000min(500h)。 【例3-6】用计数器扩展定时器的定时范围。为ON时,T37开始定时,3000s后T37的定时时间到,其常开触点闭合,使C4加1。T37的常闭触点断开,使它自己复位,当前值变为0。下一扫描周期T37的常闭触点接通,又开始定时。总的定时时间为TKT KC (s)第35页/共37页指出图3-43中的错误。第36页/共37页
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!