《第7章功能指令应用.ppt》由会员分享,可在线阅读,更多相关《第7章功能指令应用.ppt(60页珍藏版)》请在课桌文档上搜索。
1、第七章S7-200PLC功能指令及应用,本章内容,1 传送、移位和填充指令2 运算和数学指令3 表功能指令4 转换指令5 字符串指令6 子程序7 时钟指令8 中断9 高速计数器指令10 高速脉冲输出指令11 PID回路指令,功能指令作用,1 复杂程序设计2 特殊工业控制环节编程3 优化程序,一些说明:,EN和ENO:使能输入端和使能输出端使能信号EN,一 传送、移位和填充指令,传送(move)指令作用:存储单元间的数据传送四条指令:,单一传送,字节立即读,块传送,字节立即写,单一传送,作用:EN有效时,把单个数据从IN传送到OUT,MOVB VB100,VB200,块传送,作用:EN有效时,把
2、N个数据从IN传送到OUT,N最大值为255,BMB VB130,VB230,4,字节立即读,字节立即写,与立即位指令相同,BIR IB1,VB270,BIW VB280,QB0,立即指令,循环(rotate)与移位(shift)指令作用指令,一 传送、移位和填充指令,右移,左移,循环右移,循环左移,寄存器移位,右移,左移,说明:,1数据长度B,W,DW;,2移位时,移出位进SM1.1,另一端补零;,3 N为移位次数,超过数据长度无效。,例如:SLB VB0,2,移位前,移位后,00110101,00 11010100,4 移位后数据变零,SM1.0置位,循环右移,循环左移,说明:,1数据长度
3、B,W,DW;,2 若N大于数据长度,则,例如:RRB VB0,11,移位前,移位后,00110110,11000110,寄存器移位指令,功能描述:,1DATA 数据输入端,布尔型,2 S_BIT 寄存器最低位端,布尔型,3 N 指定移位寄存器的长度,注意 本课程实验中多次用到本指令。,EN端须用边沿脉冲指令使能!,字节交换及填充指令作用指令,一 传送、移位和填充指令,IN为字数据,IN为字数据,二 运算和数学指令,运算指令作用 数据运算指令使用注意事项LAD和STL中的不同,最好使用LAD编程尽量使用不同的存储单元来存放不同的数据,说明:,1对有符号数进行操作,2 整数,双整数,实数,加法
4、减法,一般乘法 完全整数乘法,说明:,完全整数乘法对两个单字符号整数相乘,结果32位整数。,一般乘法包括整数,双整数和实数乘法。,一般除法 完全整数除法,说明:,完全整数除法对两个单字符号整数相除,结果32位,低16位为商,高16位为余数。,一般除法包括整数,双整数和实数除法,不保留余数。,数学函数指令 自习作用指令 平方根 自然对数 指数 正弦 余弦 正切,说明:,IN和OUT均为双字实数,增减指令,说明:,IN和OUT可为字节(无符号),字,双字,可用于长定时编程,逻辑运算指令作用指令 逻辑与,逻辑或,逻辑异或,取反,说明:,IN1,IN2和OUT均为无符号数,可为字节,字,双字,三 表功
5、能指令,数据表格式表功能指令作用 数据有序存取和查找,较少使用数据表格式,指令(略),四 转换指令,数据类型转换指令作用 为什么使用数据类型转换指令?指令 字节与整数,整数与双整数,双整数与实数,数据类型转换指令指令(2):BCD码转换指令BCD码在PLC中的应用现在的情况,编码、译码、段码指令作用指令,ASCII转换指令指令,字符串转换指令作用指令,六 子程序,子程序作用:优化程序结构子程序操作:建立 调用 返回,建立子程序 编程软件插入的方式建立,子程序的调用子程序调用指令(CALL)在使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,可以不带参数。子程序条件返回指令(
6、CRET)在使能输入有效时,结束子程序的执行,返回主程序中(此子程序调用的下一条指令)。梯形图中以线圈的形式编程,指令不带参数。,使用说明CRET多用于子程序的内部,由判断条件决定是否结束子程序调用,RET用于子程序的结束。软件自动处理RET指令。子程序的嵌套深度最多为8级。当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置1,堆栈中的其他值为0,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。举例,带参数的子程序的调用用途局部变量表的使用举例,7.6 时钟指令,作用指令使用,举例,S7-200系列PLC的功能指令,7.7 中断,什么
7、叫中断?它的作用是什么?几个基本概念中断源(max=34)中断事件号中断类型通信中断输入、输出中断 时基中断:定时中断、定时器中断 SMB34,SMB35 T32、T96中断优先级 P239 表7-12,中断指令,中断事件号,中断程序名,举例:数据采集,周期200毫秒。,7.7 中断,中断程序怎样建立一个中断程序编写中断程序的要求,S7-200系列PLC的功能指令,7.8 高速计数器指令,作用 与编码器配合使用,用于精确定位和测量长度。累计比PLC扫描频率快得多的脉冲输入个数。,S7-200系列PLC的功能指令,数量和编号:HC0-HC5中断事件类型:3类 当前值等于预设值 输入方向改变 外部
8、复位工作模式和输入点 见表7-15,高数计数器的使用方法(步骤),使用高速计数器的编程步骤选择高速计数器设置控制字节执行HDEF指令设置初始值和预设值设置中断事件并全局开中断执行HSC指令,使用高速计数器的几个关键点计数器类型的选择输入点的确定状态字节和控制字节的使用相关中断的触发条件和中断程序的设计,7.8 高速计数器指令,举例高速计数器应用实例。采用测频的方法测量电机的转速。用测频法测量电机的转速是指在单位时间内采集编码器脉冲的个数,因此可以选用高速计数器对转速脉冲信号进行计数,同时用时基来完成定时。知道了单位时间内的脉冲个数,再经过一系列的计算就可以得知电机的转速。,S7-200系列PL
9、C的功能指令,7.8 高速计数器指令,7.9 高速脉冲输出指令,作用高速脉冲的输出方式PTO(Pulse Train Output)PWM(Pulse Width Modulation)指令,S7-200系列PLC的功能指令,7.10 PID回路指令,问题讨论什么是PID?什么场合需要用PID?PID指令的实质是什么?如何选择PID的功能?如何在计算机控制系统中使用PID?在PLC控制系统中如何使用PID?过去的情况现在的情况信号在PLC端子上的表现形式,S7-200系列PLC的功能指令,PROPORTIONAL,INTEGRAL,DIFFERENTIAL,7.10 PID回路指令,PID回路
10、表,S7-200系列PLC的功能指令,7.10 PID回路指令,PID指令及使用方法指令确定PID回路号,S7-200系列PLC的功能指令,7.10 PID回路指令,PID指令及使用方法PID指令的使用回路输入量的转换及归一化为什么要进行归一化处理?第一步,将工程实际值由16位整数转化为实数,程序如下:XORD AC0,AC0/清累加器AC0ITD AIW0,AC0/把整数转化为双整数(设采集数据通道地址为AIW0)DTR AC0,AC0/把双整数转化为实数第二步,将实数格式的工程实际值转化为0.0,1.0之间的无量纲相对值,用下式来完成这一过程:RNorm=(RRawSpan)+Offset
11、式中:RNorm 为工程实际值的归一化值;RRaw 为工程实际值的实数形式值,未归一化处理。标准化实数又分为双极性(围绕0.5上下变化)和单极性(以0.0为起点在0.0和1.0之间的范围内变化)两种。对于双极性,Offset为0.5;对于单极性,Offset为0,Span表示值域的大小,通常单极性时取32 000,双极性时取64 000。以下程序段用于将AC0中的双极性模拟量进行归一化处理(可紧接上面的程序):/R 64000.0,AC0/将AC0中的双极性模拟量值进行归一化+R 0.5,AC0/Offset处理MOVR AC0,VD200/将归一化结果存入TABLE中(设TABLE表地址为V
12、D200),S7-200系列PLC的功能指令,7.10 PID回路指令,PID指令及使用方法PID指令的使用回路控制输出转换为按工程量标定的整数值为什么要进行工程量标定转换?第一步,用下式将回路输出转换为按工程量标定的实数格式:Rscal=(MnOffset)Span式中:Rscal为已按工程量标定的实数格式的回路输出;Mn为归一化实数格式的回路输出。程序如下:MOVR VD208,AC0/将回路输出结果(设TABLE表首地址为VB200)放入AC0-R 0.5,AC0/对双极性场合减去0.5*R 64 000,AC0/将AC0中的值按工程量标定第二步,将已标定的实数格式的回路输出转化为16位
13、的整数格式,并输出。TRUNC AC0,AC0/取整数DTI AC0,AC0/双整数转换为整数MOVW AC0,AQW0/把整数值送到到模拟量输出通道(设为AQW0)选择PID回路类型关闭积分回路关闭微分回路关闭比例回路,S7-200系列PLC的功能指令,7.10 PID回路指令,PID使用举例题目某一水箱有一条进水管和一条出水管,进水管的水流量随时间不断变化,要求控制出水管阀门的开度,使水箱内的液位始终保持在水满时液位的一半。系统使用比例积分及微分控制,假设采用下列控制参数值:Kc为0.4,Ts为0.2s,Ti为30 min,Td为15 min。题目分析本系统标准化时可采用单极性方案,系统的
14、输入来自液位计的液位测量采样;设定值是液位的50%,输出是单极性模拟量,用以控制阀门的开度,可以在0%100%之间变化。程序设计本程序只是模拟量控制系统的PID程序主干,对于现场实际问题,还要考虑诸多方面的影响因素。本程序的主程序、回路表初始化子程序SBR0、初始化子程序SBR1和中断程序INT0 模拟量输入通道为AIW2,模拟量输出通道为AQW0。I0.4为手动/自动转换开关,I0.4为1时,系统进入自动运行状态。,S7-200系列PLC的功能指令,7.10 PID回路指令,S7-200系列PLC的功能指令,7.10 PID回路指令,S7-200系列PLC的功能指令,本章小结,主要内容要求,S7-200系列PLC的功能指令,本章小结,实验P202页第5题使用“加1指令”完成长延时功能实现一位BCD循环显示的实验高速计数器实验,S7-200系列PLC的功能指令,