模块五PLC的数据处理功能_第1页
模块五PLC的数据处理功能_第2页
模块五PLC的数据处理功能_第3页
模块五PLC的数据处理功能_第4页
模块五PLC的数据处理功能_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、模块五模块五 PLC的数据处理功能的数据处理功能学习目标 掌握数据传送指令的格式、功能及应用; 掌握数据比较指令的格式、功能及应用; 掌握数据移位指令的格式、功能及应用; 掌握数据运算指令的格式、功能及应用; 掌握数据转换指令的格式、功能及应用; 了解表功能指令的格式和功能; 掌握时钟指令的使用。单元一 数据的传送和比较教学课题教学课题数据的传送和比较教学目标教学目标1、掌握数据的传送指令2、熟悉数据的比较指令教学重点教学重点数据的传送和比较指令的应用教学难点教学难点数据传送和比较指令格式及功能教学方法教学方法板书和多媒体结合教学手段教学手段板书和多媒体结合任务一:数据的传送任务一:数据的传送

2、 1任务提出在程序初始化的过程中常需要将某些字节、字或双字存储器清0或设置初值,为后面的控制操作做准备。比如:若开机运行时,字变量VW0设初值1000、字节变量VB0清0等,如何操作?这一节学习的数据传送指令将实现此操作。 数据传送指令实现将输入数据IN(常数或某存储器中的数据)传送到输出OUT(存储器)中的功能,传送的过程中不改变数据的原值。2 说明: 1)操作码中的B(字节)、W(字)、D(双字)和R(实数),代表被传送数据的类型; 2)操作数的寻址范围与指令码一致,比如字节数据传送只能寻址字节型存储器,OUT不能寻址常数,块传送指令IN、OUT皆不能寻址常数. 3)ENO = 0的错误条

3、件:0006(间接寻址错误),SM4.3(运行时间)。 3任务解决方案若开机运行时,字变量VW0设初值1000、字节变量VB0清0等。分析:分析:1)当程序运行时,在第一扫描周期,字节传送指令将0传送给VB0,字传送指令将1000传送至VW0,完成程序初始化;2)在为变量赋初值时,为保证数据传送只执行一次,数据传送指令一般与SM0.1或跳变指令联合使用。 4其他数据传送类指令说明:说明:1)字节立即读MOV_BIR指令读取1个字节的物理输入IN,将结果写入OUT,不刷新输入过程映像寄存器, IN只能是IB;字节立即写MOV_BIW指令将输入给出的1个字节的数值写入到物理输入OUT,同时刷新相应

4、的输出过程映像寄存器,OUT只能是QB。2)SWAP指令的操作数只能是字(W)型数据存储器。 表5-4 数据传送指令编程举例 5.应用实例例例1 用数据传送指令实用数据传送指令实现现8个彩灯同时点亮个彩灯同时点亮和熄灭和熄灭I/O分配:I0.0为起动信号,I0.1为停止信号,8个彩灯分别由0.0Q0.7驱动,对应的梯形图程序如图5-2所示。动动手吧:若动动手吧:若8盏灯分别接盏灯分别接Q1.0Q1.7,每间隔,每间隔1个同时点亮,应如何操作?个同时点亮,应如何操作?例例2 设液体混合控制中,设液体混合控制中,液体搅拌所需的时间液体搅拌所需的时间有两种选择,分别为有两种选择,分别为20分钟和分钟

5、和10分钟,分钟,分别设置两个按钮选分别设置两个按钮选择所需控制时间。择所需控制时间。I/O分配:I1.0选择20分钟,I1.1选择10分钟,I0.2启动搅拌,Q0.0控制液体搅拌。梯形图程序如图5-3所示,分析下面的梯形图程序,能否实现上述控制?动动脑吧:动动脑吧:(1)如果将)如果将MOVW指令换做指令换做MOVB指令,是否可行,为什么?指令,是否可行,为什么?(2)网络)网络3中,分析中,分析I0.2什么情什么情况下可以这样使用?况下可以这样使用?任务二:数据的比较任务二:数据的比较 1任务提出在实际的控制过程中,可能需要对两个操作数进行比较,比较条件成立时完成某种操作,从而实现某种控制

6、。比如:初始化程序时,在VW10中存放着数据100,模拟量输入AIW0中采集现场数据,当AIW0数值小于或等于VW10时,Q0.0输出;当AIW0大于VW10时,Q0.1输出。如何操作? 比较指令格式及功能如表5-5所示。说明:说明: 1)表中给出了相等比较的指令格式,数据比较运算符还有=、,字符串比较运算符还有。 )字整数比较指令,梯形图是,语句表是。 )数据比较IN1,IN2操作数的寻址范围为:I,Q,M,SM,V,S,L,AC,VD,LD,常数。3任务解决方案 表5-6 比较指令编程举例 表5-6 比较指令编程举例 5.应用实例:例例1 用定时器和比较指用定时器和比较指令组成占空比可调的

7、令组成占空比可调的脉冲发生器。脉冲发生器。M0.0和100ms定时器T37组成脉冲发生器,比较指令用来产生脉冲宽度可调的方波,脉宽的调整由比较指令的第二个操作数实现,梯形图程序和脉冲波形如图5-5所示。70T37的当前值300T37的位Q0.0动动手吧:建立周期为动动手吧:建立周期为100ms,占空比为,占空比为50%的脉冲电路。的脉冲电路。例例2 调整模拟调整电位调整模拟调整电位器器0,改变,改变SMB28字节字节数值,当数值,当SMB28数值数值小于或等于小于或等于50时,时,Q0.0输出;当输出;当SMB28数值在数值在50和和150之间时,之间时,Q0.1输出,当输出,当SMB28数值

8、大于或等于数值大于或等于150时,时,Q0.2输出。输出。梯形图程序如图5-5所示。动动脑吧:如果动动脑吧:如果I0.0外接按钮,应如何操作?外接按钮,应如何操作?例例3 3台电动机分时起动控制台电动机分时起动控制控制要求:起动按钮按下后,3台电动机每隔2s分别依次起动,按下停止按钮,三台电动机每隔2s同时停止。动动脑吧:分析定时器在每个网动动脑吧:分析定时器在每个网络里是如何使用的?络里是如何使用的? 任务三:数据的移位任务三:数据的移位 1任务提出制作彩灯控制器。要求按下“启动”按钮,8个彩灯从左到右,以1s的速度依次点亮,保持任意时刻只有一个指示灯亮,到达最右端后,再从左到右依次点亮,如

9、此循环。按下“停止”按钮后,彩灯循环停止。思考:思考:用前面学过的指令能不能实现上述控制目的?实现的过程有没有问题? 移位指令格式如表5-8所示。说明:说明:1)左移位指令:使能输入有效时,将输入的无符号数字节、字或双字左移N位后,移出位自动补0,将结果输出到OUT所指定的存储单元中,如果移位次数大于0,最后一次移出位保存在“溢出”存储器位SM1.1。如果移位结果为0,零标志位SM1.0置1。2)右移位指令:使能输入有效时,将输入的无符号数字节、字或双字右移N位后,移出位自动补0,将结果输出到OUT指定的存储单元中。最后一次移出位保存在SM1.1。3)循环移位指令将输入IN中的各位向右或向左循

10、环移动N位后,送给输出OUT。循环移位是环形的,即被移出来的位将返回到另一端空出来的位置。移出的最后一位的数值放在溢出位SM1.1。4)移位寄存器指令SHRB是移位长度可调的移位指令,将从DATA端输入的二进制数值移入到移位寄存器中。S_BIT为寄存器的最低位地址。字节型变量N为移位寄存器的长度(164),N为正值时表示左移位,输入数据(DATA)移入移位寄存器的最低位(S_BIT),并移出移位寄存器的最高位,移出的数据被放置在溢出内存位(SM1.1)中;N为负值表示右移位,输入数据移入移位寄存器的最高位中,并移出最低位(S_BIT),移出的数据被放置在溢出内存位(SM1.1)中。3任务解决方

11、案 分析分析:8个彩灯分别接Q0.0Q0.7,可以用字节的循环移位指令,进行循环移位控制。置彩灯的初始状态为QB0=1,即左边第一盏灯亮;接着灯从左到右以1s的速度依次点亮,即要求字节QB0中的“1”用循环左移位指令每1s移动一位,因此须在ROL-B指令的EN端接一个1s的移位脉冲。梯形图程序如图5-6所示。 表5-9 移位指令编程举例 表5-9 移位指令编程举例思考:移位寄存器指令是如何实现移位的? 5.应用实例: 例例1 用用I0.0控制控制16个彩灯循环移位,从左到右以个彩灯循环移位,从左到右以2S的速度依次的速度依次2个为一组点亮,保持任意时刻只个为一组点亮,保持任意时刻只有有2个指示

12、灯亮,到达最右端后,再从左到右依个指示灯亮,到达最右端后,再从左到右依次点亮,按下次点亮,按下I0.1后,彩灯循环停止。后,彩灯循环停止。 分析:16个彩灯分别接Q0.0Q1.7,可以用字节的循环移位指令,进行循环移位控制。置彩灯的初始状态为QB0=3,即左边第1、2盏灯亮;接着灯从左到右以2s的速度依次点亮,即要求字节QB0中的“11”用循环左移位指令每2s移动一位,因此须在ROL-B指令的EN端接一个2s的移位脉冲。梯形图程序如图5-7所示。例例2 用用PLC构成喷泉的控制。喷泉的构成喷泉的控制。喷泉的12个喷水注用个喷水注用L1L12来表示,喷水注的布局如图来表示,喷水注的布局如图5-8

13、所示。所示。 控制要求: 按下起动按钮后,L1喷0.5秒后停,接着L2喷0.5秒后停, 接着L3喷0.5秒后停,接着L4喷0.5秒后停,接着L5、L9喷0.5秒后停,接着L6、L10喷0.5秒后停,接着L7、L11喷0.5秒后停,接着L8、L12喷0.5秒后停, L1喷0.5秒后停,如此循环下去,直至按下停止按钮。 I/O分配如表所示 输入PLC地址说 明输出PLC地址说 明I0.0起动按钮Q0.0Q0.3L1L4I0.1停止按钮Q0.4L5、L9Q0.5L6、L10Q0.6L7、L11Q0.7L8、L12动动脑吧:动动脑吧:T38在此程序中的作用是什么?在此程序中的作用是什么?任务四:数据的

14、运算任务四:数据的运算 1任务提出在模拟量数据采集中,为了防止干扰,经常通过程序进行数据滤波,其中一种方法为平均值滤波法。要求连续采集五次数作平均,并以其值作为采集数。这五个数通过五个周期进行采集。请设计该滤波程序。在这个程序中,需要用到运算指令,PLC可以为我们提供什么样的运算指令可以实现上述操作呢? 说明:1)IN1、IN2指定加数(减数)及被加数(被减数);如果OUT与IN2为同一存储器,则在语句表指令中不需要使用数据传送指令,可减少指令条数,从而减少存储空间。2)操作数的寻址范围要与指令码一致。OUT不能寻址常数。3)该指令影响特殊内部寄存器位:SM1.0 (零);SM1.1 (溢出)

15、; M1.2(负)。4)如果OUT与IN不同,将首先执行数据传送指令,将IN1传送给OUT,再执行IN2+OUT,结果送给OUT。表5-11 加/减运算指令 表5-12 加/减指令编程举例1)操作数的寻址范围要与指令码中一致,OUT不能寻址常数;2)在梯形图中:IN1 * IN2 = OUT, IN1 / IN2 = OUT;在语句表中: IN1 * OUT = OUT, OUT / IN1 = OUT; 3)整数及双整数乘/除法指令,使能输入有效时,将两个16位/32位符号整数相乘/除,并产生一个32位积/商,从OUT指定的存储单元输出。除法不保留余数,如果乘法输出结果大于一个字,则溢出位S

16、M1.1置位为1。4)该指令影响下列特殊内存位:SM1.0 (零); SM1.1 (溢出); SM1.2 (负);SM1.3 (除数为0)。 表5-13 乘/除运算指令 表5-14 乘/除指令编程举例 3任务解决方案表5-15 加1、减1指令说明:1)操作数的寻址范围要与指令码中一致,其中对字节操作时不能寻址专用的字及双字存储器,如T、C、及HC等;对字操作时不能寻址专用的双字存储器HC;OUT不能寻址常数;2)在梯形图中:IN + 1 = OUT, IN - 1 = OUT;在语句表中: OUT + 1 = OUT,OUT - 1 = OUT;如果OUT与IN为同一存储器,则在语句表指令中不

17、需要使用数据传送指令,可减少指令条数,从而减少存储空间; 加1、减1指令编程举例 表5-17 函数运算说明:1)IN和OUT按双字寻址,不能寻址专用的字及双字存储器T、C、HC等,OUT不能寻址常数;2)三角函数指令SIN、COS、TAN计算角度输入值的三角函数,输入以弧度为单位;3)自然对数指令EXP与自然指数指令配合,可以实现以任意实数为底,任意实数为指数(包括分数指数)的运算。函数运算指令编程举例 逻辑运算指令 逻辑运算指令是对无符号数进行的逻辑处理,主要包括逻辑与、逻辑或、逻辑异或及逻辑取反等操作,可用于存储器的清零、设置标志位等。逻辑指令编程举例 5.应用实例例例1 在程序初始在程序

18、初始化时,设置化时,设置AC1为为1000,当按,当按下下I0.0,AC1的的值每隔值每隔10s减减100,一直减到,一直减到0为止。为止。其梯形图程序如图5-11所示。例例2求角度求角度50的余弦值,并将其结果存储在的余弦值,并将其结果存储在VD18中。中。对应的梯形图程序及运行结果如图5-12所示。例例3 分析图分析图5-13程序的执行结果。程序的执行结果。例例4 如果想知道如果想知道IB0,在,在10s之后有哪些位发生之后有哪些位发生了变化,怎样操作?了变化,怎样操作?程序如图5-14所示。任务五:数据的转换任务五:数据的转换 1任务提出在实际的控制过程中,经常要对不同类型的数据进行运算

19、,数据运算指令中要求参与运算的数值为同一类型,为了实现数据处理时的数据匹配,所以要对数据格式进行转换。若将VW10中的整数100和VD100中的实数190.5相加,如何操作?表5-21 数据转换指令 说明:1)操作数不能寻址一些专用的字及双字存储器,如T、C、HC等。OUT不能寻址常数;2)ATH及HTA指令各操作数按字节寻址,不能对一些专用字及双字存储器如T、C、HC等寻址,LEN可寻址常数。3)ATH指令中,ASC码字符串的最大长度为255个字符;HTA指令中,可转换的16进制数的最大个数也为255。合法的ASC码字符的16进制值在3039和4146之间。 表5-22 数据转换指令编程举例

20、(2)段码、编码、译码指令说明:1)七段显示码的编码规则如表5-24所示。对于段译码指令,操作数IN、OUT均为字节型变量,寻址范围不包括专用的字及双字存储器如T、C、HC等,其中OUT不能寻址常数;2)对于译码指令,不能寻址专用的字及双字存储器T、C、HC等;OUT为字变量,不能对HC及常数寻址;3) 对于编码指令,操作数IN为字变量,OUT为字节变量,OUT不能寻址常数及专用的字、双字存储器T、C、HC等。 表5-25 数据转换指令编程举例 3任务解决方案若将VW10中的整数100和VD100中的实数190.5相加,如何操作?4应用实例 例例1 有六路输入开关有六路输入开关K1、K2、K3

21、、K4、K5、K6,实现优先,实现优先抢答控制。抢答控制。 主持人操纵允许抢答和抢答结束按钮。用数码管显示抢中的组号。动动脑吧:其它五路的抢答动动脑吧:其它五路的抢答程序自己动手编一下。程序自己动手编一下。任务六:表功能指令的使用任务六:表功能指令的使用 表操作指令用于创建数据表格以及对数据表格中数据进行操作。可用于定义参数表及存储成组数据等。 数据表是用来存放字型数据的表格,如图5-17所示。表格的第一个字地址(首地址)为表地址,首地址中的数值是表格的最大长度(TL),即最大填表数。表格的第二个字地址中的数值是表的实际长度(EC),指定表格中的实际填表数。每次向表格中增加新数据后,EC加1。

22、从第三个字地址开始,存放数据(字)。表格最多可存放100个数据(字),不包括指定最大填表数(TL)和实际填表数(EC)的参数。 1任务提出对某个模拟量采样10次,采样值填入表中,为后续的操作做准备,如何操作? 表5-27 表操作指令 说明:说明:1)TBL为表格的首地址(即最大填表数对应的地址),数据类型为字型,其操作数可为:VW, IW, QW, MW, SW, SMW, LW, T, C, *VD, *LD, *AC,查表指令的TBL为实际填表数对应的地址。2)DATA为数据输入端时,数据类型为整数,其操作数可为:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, 常量, *VD, *LD, *AC;DATA为数据输出端时,数据类型为整数,其操作数可为:VW, IW, QW, MW, SW, SMW, LW, AC, T, C, AQW, *VD, *LD, *AC。3)一个表中最多可以有100条数据,数据编号范围:099,如果表出现溢出SM1.4会为1。读表的时候,如果读取空表,则SM1.5会为1。4)查表指令中的CMD为14的数值,分别代表=、。INDX为搜索指针,数据类型为字型,从INDX所指的数

温馨提示

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

评论

0/150

提交评论