1 / 31

PLC 功能指令

PLC 功能指令. 包头轻工职业技术学院 任课教师 : 张晓晖. 一、任务提出. 1 、按下启动按钮,将 8 盏彩灯同时点亮,按下停止按钮,将 8 盏彩灯同时熄灭。

Télécharger la présentation

PLC 功能指令

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PLC功能指令 包头轻工职业技术学院 任课教师:张晓晖

  2. 一、任务提出 • 1、按下启动按钮,将8盏彩灯同时点亮,按下停止按钮,将8盏彩灯同时熄灭。 • 2、S7-200系列PLC中CPU221和CPU222有一个模拟电位器,其他型号的PLC有2个模拟电位器。CPU将电位器的位置转换为0~255的数字值,然后存入两个特殊存储器字节SMB28和SMB29中,分别对应模拟电位器0和模拟电位器1的值。可以用2.5mm螺丝刀来调整电位器的位置。现在我们的任务是调整模拟电位器0,改变SMB28字节数值。当SMB28数值小于或等于50时,Q0.0输出;当SMB28数值在50和150之间时,Q0.1输出;当SMB28数值大于或等于150时,Q0.2输出。 • 3、设计霓虹灯控制器。要求是:按下启动按钮,1号灯到8号灯按照从下到上的顺序以1s的速度依次点亮,到达最顶端后,再从1号灯到8号灯依次点亮,如此循环;按下停止按钮后,霓虹灯循环停止。

  3. 4、在模拟量数据采集中,为了防止干扰,经常通过程序进行数据滤波,其中一种方法为平均值滤波法。现要求连续采集5次数做平均,并以其值作为采集数。这5个数通过5个周期进行采集。请设计该滤波程序。 5、使用S7-200检测边沿指令(正、负跳变指令)来检测简单信号的变化。在这个过程中,用上升和下降来来区分信号边沿,上升沿指信号由“0”变为“1”,下降沿指信号由“1”变为“0”。逻辑“1”表示输入上有电压,“0”表示输入上无电压。 程序用2个存储字分别累计输入I0.0上升沿数目,以及输入I0.1下降沿数目。 6、若将VW10中的整数100和VD100中的实数120.5相加,如何操作?

  4. 二、必备知识 • 在前面的章节中,我们学习了S7-200PLC指令系统中的位逻辑指令、定时器、计数器等指令。这些指令是PLC最基本和最常用的指令,实际上,PLC指令中,除了上述这些基本指令外,还有一种应用类指令,统称功能指令。在生产实际的控制过程中,存在大量的非开关量的数据,并需要对这些数据进行采集、分析和处理,进而实现生产过程的自动控制,这就需要用到PLC基本的数据处理功能。除此之外,还有一类功能指令与子程序、中断、高速计数、位置控制、闭环控制等PLC高级应用有关,涉及到相应的专业知识,需要查阅有关的书籍和参考资料才能正确地理解和使用它们。 • PLC的数据处理功能主要包括数据的传送、比较、移位、转换、运算等。学习了这些指令,这几个问题就迎刃而解了。

  5. 1、数据传送指令 • 字节、字、双字、实数单个数据传送指令MOV 使ENO = 0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。

  6. 字节、字、双字、实数数据块传送指令BLKMOV • 数据块传送指令将从输入地址IN开始的N个数据传送到输出地址OUT开始的N个单元中,N的范围为1至255,N的数据类型为:字节。 使ENO = 0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。

  7. 【例4-1】将变量存储器VW10中内容送到VW100中 • 【例4-2】将变量存储器VB20开始的4个字节(VB20- VB23)中的数据,移至VB100开始的4个字节中(VB100-VB103)。 • 程序执行后,将VB20~VB23中的数据30、31、32、33送到VB100~VB103。 • 执行结果如下:数组1数据 30 31 32 33 数据地址 VB20 VB21 VB22 VB23 • 块移动执行后:数组2数据 30 31 32 33 数据地址 VB100 VB101 VB102 VB103

  8. 任务1解决方案一 • I/O分配: I0.0为启动信号,I0.1为停止信号,8个彩灯分别由Q0.0~Q0.7驱动。

  9. 任务1解决方案二 • 在为变量赋初值时,为保证数据传送只执行一次,数据传送指令一般与SM0.1或者跳变指令联合使用。

  10. 2、比较指令 比较指令用来比较两个操作数IN1和IN2的大小,操作数可以是整数,也可以是实数。在梯形图中,用带参数和运算符的触点表示比较指令。比较触点可以装入,也可以串并联。比较指令为上下限控制提供了极大的方便。 指该令中的“=”位置还可以取“<”、“<=”、“=”、“>=”、“>”和“<>”。

  11. 【例4-3】比较触点指令举例 LD I0.1 AW== VW200,+3 = Q0.0 I0.1 VW200 Q0.0 ==I +3 指令的操作是将IN1和IN2比较,比较成立时结果为1否则为0,然后送入(LD)栈顶;或者将结果作逻辑运算(A、O)后再送入栈顶。 只有I0.1的值为1且比较触点比较结果为真时,Q00的值才为1,即才有输出。

  12. 任务2解决方案

  13. 3、移位指令 • 1) 左、右移位指令 左、右移位数据存储单元与SM1.1(溢出)端相连,移出位被放到特殊标志存储器SM1.1位。移位数据存储单元的另一端补0。 (1)左移位指令(SHL) 使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向左移N位后(右端补0),将结果输出到OUT所指定的存储单元中,如果移位次数大于0,最后一次移出位保存在“溢出”存储器位SM1.1。如果移位结果为0,零标志位SM1.0置1。 • (2)右移位指令 使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向右移N位后,将结果输出到OUT所指定的存储单元中,移出位补0,最后一移出位保存在SM1.1。如果移位结果为0,零标志位SM1.0置1。 • (3)使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间) • 移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。前两类移位指令按移位数据的长度又分字节型、字型、双字型3种。

  14. 2)循环右移、左移指令 • 循环右移指令,把输入端(IN)指定的数据循环右移N位,结果存入OUT单元。 循环右移指令按操作数的数据类型可分为字节、字、双字循环右移指令。 • 循环左移指令,把输入端(IN)指定的数据循环左移N位,结果存入OUT单元。 循环左移指令,按操作数的数据类型可分为字节、字、双字循环右移指令,如图5-51所示。

  15. 【例4-4】程序应用举例,将AC0中的字循环右移2位,将VW200中的字左移3位。【例4-4】程序应用举例,将AC0中的字循环右移2位,将VW200中的字左移3位。

  16. 梯形图: 当EN端有效(一个扫描周期的上升沿到来时)时,PLC采样DATA输入端的0或1状态,并将该状态移入移位寄存器,其它各位依次递推移动。 SHRB EN ENO DATA S_BIT N 移位寄存器指令:该指令用于顺序控制、物流及数据流控制。 SHRB——表示移位寄存器; EN ——使能控制端,当有一个脉冲上升沿到 来时,使移位寄存器移位; DATA——是要移位的脉冲输入端; S_BIT——用以指定移位寄存器使用的最低位; N ——用以指定移位寄存器的长度(有几位)。 语句表:SHRB DATA,S_ BIT,N

  17. N=+14,可见移位方向是从低到高位,输入数据是从最低位移入,并使寄存器各位整体左移一位,最高位移出至SM1.1溢出标志位。N=+14,可见移位方向是从低到高位,输入数据是从最低位移入,并使寄存器各位整体左移一位,最高位移出至SM1.1溢出标志位。 N=-时,反方向移位,从高位移入从低位移出。 I0.1 I0.2 P VB33.4 SHRB +14 EN ENO DATA S_BIT N 8 16 0 7 23 15 VB33 VB35 VB34 语句表:SHRB DATA,S_ BIT,N 如 LD I0.0 EU SHRB I0.2,VB33.4,14 VB33.4 SM1.1

  18. 使用寄存器分析 移位过程分析 I0.1 I0.2 I0.0 P V10.0 (EN) SHRB 4 I0.2 0 1 EN ENO DATA S_BIT N 0 0 0 7 7 7 0 7 V10 V10 V10 V10 1 1 0 1 0 1 1 0 1 0 1 1 1 1 移位前内容: 第一次移位: S_BIT=V10.0表示使用第10字节的位移位寄存器,最低位是第0位。N=4长度为4位,正值为正向移位。 第二次移位:

  19. 【例4-5】程序应用举例。 S_BIT=M10.0表示使用第10字节的位移位寄存器,最低位是第0位。N=4长度为4位,正值为正向移位。

  20. 【例4-6】用PLC构成喷泉的控制。用灯L1~L12分别代表喷泉的12个喷水注。 【例4-6】用PLC构成喷泉的控制。用灯L1~L12分别代表喷泉的12个喷水注。 • (1)控制要求:按下起动按钮后,隔灯闪烁,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秒后灭,如此循环下去,直至按下停止按钮。 • (2)I/O分配 输入 (常开)起动按钮:I0.0 (常闭)停止按钮:I0.1 输出 L1:Q0.0 L2:Q0.1 L3:Q0.2 L4:Q0.3 L5、L9: Q0.4 L6、L10:Q0.5 L7、L11:Q0.6 L8、L12:Q0.7

  21. 分析: 应用移位寄存器控制,根据喷泉模拟控制的8位输出(Q0.0~Q0.7),须指定一个8位的移位寄存器(M10.1~M11.0),移位寄存器的S-BIT位为M10.1,并且移位寄存器的每一位对应一个输出。 在移位寄存器指令中,EN连接移位脉冲,每来一个脉冲的上升沿,移位寄存器移动一位。移位寄存器应0.5s移一位,因此需要设计一个0.5s产生一个脉冲的脉冲发生器(由T38构成)。

  22. M10.0为数据输入端DATA ,根据控制要求,每次只有一个输出,因此只需要在第一个移位脉冲到来时由M10.0送入移位寄存器S-BIT位(M10.1)一个“1”,第二个脉冲至第八个脉冲到来时由M10.0送入M10.1的值均为“0”,这在程序中由定时器T37延时0.5s导通一个扫描周期实现,第八个脉冲到来时M11.0置位为1,同时通过与T37并联的M11.0常开触点使M10.0置位为1,在第九个脉冲到来时由M10.0送入M10.1的值又为1,如此循环下去,直至按下停止按钮。按下常闭停止按钮(I0.1),其对应的常闭触点接通,触发复位指令,使M10.1~M11.0的8位全部复位

  23. (3)喷泉控制梯形图

  24. 任务3解决方案 • 分析:8个彩灯分别接Q0.0~Q0.7,可以用字节的循环移位指令进行循环移位控制。置彩灯的初始状态为QB0为1,即1号灯先亮;接着灯从下到上以1s的速度依次点亮,即要求字节QB0中的1每1s循环左移动1位,因此,需要在循环左移位指令的使能EN端接一个1s的移位脉冲。

  25. 4、算数运算指令 • 算术运算指令包括加、减、乘、除运算和数学函数变换,逻辑运算包括逻辑与或非指令等。

  26. 【例4-7】求5000加400的和,5000在数据存储器VW200中,结果放入AC0。【例4-7】求5000加400的和,5000在数据存储器VW200中,结果放入AC0。 【例4-8】乘除法指令应用举例,

  27. 任务4解决方案

  28. 5、其他数据运算指令 加1、减1运算指令 加1、减1运算指令用于对输入无符号数字节、有符号字、有符号数双字进行加1或减1的操作。

  29. 任务5解决方案 • 检测输入信号的边沿的程序框图和梯形图程序如下。

  30. 6、数据转换指令 • 转换指令的作用是对数据格式进行转换,它包括字节数与整数的互相转换、整数与双字整数的相互转换、双字整数与实数的相互转换、BCD码与整数的相互转换、ASCII码与十六进制数的相互转换以及编码、译码、段译码等操作。它们主要用于数据处理时的数据匹配及数据显示。

  31. 任务6解决方案

More Related