《PLC课件2_编程语言.ppt》由会员分享,可在线阅读,更多相关《PLC课件2_编程语言.ppt(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第第4 4章章 编程语言编程语言 IEC IEC(国际电工委员会)国际电工委员会)61131 61131 是是PLCPLC的的国际标准。由国际标准。由5 5部分组成:通用信息、设备要求部分组成:通用信息、设备要求与测试、编程语言、用户指南、通信服务规范。与测试、编程语言、用户指南、通信服务规范。其中其中IEC61131-3IEC61131-3是是PLCPLC的编程语言标准。的编程语言标准。q 程序结构程序结构 q 指令结构指令结构 q 基本指令基本指令 q 应用应用内内 容容 提提 要要 知 识 要 点 掌握程序结构,指令结构和基本编程指令的用法4.1 4.1 概述概述 STEP 7STEP
2、 7软件包中配备了三种基本编程语言:软件包中配备了三种基本编程语言:梯形图(梯形图(LADLAD)、)、语句表(语句表(STLSTL)和功能块图和功能块图(FBDFBD)。)。三种编程语言在三种编程语言在STEP 7STEP 7中有近中有近90%90%以以上的语句可以互相转换。上的语句可以互相转换。4.2 4.2 STEP 7STEP 7编程语言的程序结构编程语言的程序结构 用户块包括用户块包括组织块、功能块、功能组织块、功能块、功能和和数据块数据块。q 用户块用户块组织块组织块(OBOB)组织块是操作系统和用户程序之间的接口。组织块是操作系统和用户程序之间的接口。组织块只能由操作系统来启动。
3、各种组织块由不组织块只能由操作系统来启动。各种组织块由不同的事件启动,且具有不同的优先级,而循环执同的事件启动,且具有不同的优先级,而循环执行的主程序则在组织块行的主程序则在组织块OB1OB1中。中。块块包含包含用户块用户块和和系统块系统块两部分两部分功能块功能块(FBFB)功能块是通过数据块参数而调用的。它们有一功能块是通过数据块参数而调用的。它们有一个放在数据块中的变量存储区,而数据块是与其个放在数据块中的变量存储区,而数据块是与其功能块相关联的,称为背景数据块。功能块相关联的,称为背景数据块。特点:每一个功能块可以有不同的数据块。这些特点:每一个功能块可以有不同的数据块。这些数据块虽然具
4、有相同的数据结构,但具体数值可数据块虽然具有相同的数据结构,但具体数值可以不同。以不同。功能(功能(FCFC)功能没有指定的数据块,因而不能存储信息。功功能没有指定的数据块,因而不能存储信息。功能常常用于编制重复发生且复杂的自动化过程。能常常用于编制重复发生且复杂的自动化过程。数据块数据块(DBDB)数据块中包含程序所使用的数据数据块中包含程序所使用的数据。注意:各种块(除组织块外)的数目和代码的长度是与CPU不相关的,而组织块的数目则与CPU的操作系统相关。相关 q 系统块系统块系统块包含在操作系统中,包括:系统功能(系统块包含在操作系统中,包括:系统功能(SFCSFC)、系统功能块(系统功
5、能块(SFBSFB)和系统数据块(和系统数据块(SDBSDB)。)。块的调用关系如图所示。CPUCPU动态扫描过程动态扫描过程 4.3 4.3 指令结构指令结构 数据类型包括:基本数据类型、复合数据类型。数据类型包括:基本数据类型、复合数据类型。基本数据类型如下表基本数据类型如下表:复合数据类型有:数组、结构、字符串。复合数据类型有:数组、结构、字符串。数据类型数据类型描述描述常数符号举例常数符号举例BOOL位位1位位TRUE,FALSEBYTE字节字节8位十六进制数位十六进制数8位位B#16#00(最小值最小值)B#16#FF(最大值最大值)CHAR字符(字符(ASCII)8位位AWORD字
6、字16位十六进制位十六进制数数16位二进制数位二进制数计数器值计数器值3位位BCD码码2个个8位无符号位无符号十进制数十进制数16位位W#16#0000(最小值)最小值)W#16#FFFF(最大值)最大值)2#0000_0000_0000_00002#1111_1111_1111_1111C#000(最小值)最小值)C#999(最大值)最大值)B(0,0)(最小值)最小值)B(255,255)(最大值)最大值)DWORD双字双字32位十六进位十六进制数制数4个个8位无符位无符号十进制数号十进制数32位位W#16#0000_0000(最小值)最小值)W#16#FFFF_FFFF(最最大大值)值)
7、B(0,0,0,0)(最小值)最小值)B(255,255,255,255)(最最大大值值)INT定点数定点数16位位-32768(最小值)(最小值)+32767(最大值)(最大值)DINT定点数定点数32位位-2147483648(最小值)(最小值)+2147483647(最大值)(最大值)REAL浮点数浮点数32位位+123.4567具具有有小小数数的的十十进进制制数数或或1.234567E+02指指数数形形式表示式表示S5TIMES5格式时间格式时间值值16位位S5T#0ms(最小值最小值)S5TIME#2h46m30s(最大最大值值)TIMEIEC格式时间格式时间值值32位位T#-24d
8、20h31m23s647ms(最小值最小值)TIME#24d20h31m23s647ms(最大值最大值)DATE日期日期16位位D#1990_01_01(最小值最小值)Date#2089_12_31(最大值最大值)TIME_OF_DAY时间日期时间日期32位位TOD#00:00:00:000(最小值)最小值)TIME_OF_DAY#23:59:59.999(最大值最大值)区域区域区域功能区域功能访问区域单访问区域单位位标识标识符符最大地最大地址范围址范围输输入入过过程程映映像像 存存 储储 区区(I)在在循循环环扫扫描描开开始始时时,从从过过程程中中读读取取输输入入信信号号至至过过程映像存储区
9、程映像存储区输入位输入位输入字节输入字节输入字输入字输入双字输入双字IIBIWID065535.7065535065534065532输输出出过过程程映映像像 存存 储储 区区(Q)在在循循环环扫扫描描期期间间,将将过过程程映映像像存存储储区区中中的的输输出出值值传传至输出模块至输出模块输出位输出位输出字节输出字节输出字输出字输出双字输出双字QQBQWQD065535.7065535065534065532位存储区位存储区(M)此此存存储储区区用用于于存存储储控控制制逻逻辑辑的的中中间状态间状态存储器位存储器位存储器字节存储器字节存储器字存储器字存储器双字存储器双字MMBMWMD0255.70
10、25502540252存储区及功能见下表:存储区及功能见下表:外部输入外部输入(PI)外部输出外部输出(PQ)用用户户可可通通过过此此区区域域直直接接访访问问输输入入和和输输出出模模块块外部输入字外部输入字节节外部输入字外部输入字外部输入双外部输入双字字外部输出字外部输出字节节外部输出字外部输出字外部输出双字外部输出双字PIBPIWPIDPQBPQWPQD065535065534065532065535065534065532定时器定时器(T)访访问问此此区区域域可可以以得得到到定定时时剩剩余时间余时间定时器定时器(T)T0255计数器计数器(C)访访问问此此区区域域可可以以得得到到当当前前计
11、计数值数值计数器计数器(C)C0255数据块数据块(DB)用用“OPEN DB”打打开开数数据据块块,用用“OPEN DI”打打开开背景数据块背景数据块数据位数据位数据字节数据字节数据字数据字数据双字数据双字DB(I)XDB(I)BDB(I)WDB(I)D065535.7065535065534065532本地数据本地数据(L)此此区区域域存存放放逻逻辑辑块块中中的的临临时时数数据据,当当逻逻辑辑块块结结束束时时,数据丢失数据丢失临时本地数据临时本地数据位位临时本地数据临时本地数据字节字节临时本地数据临时本地数据字字临时本地数据临时本地数据双字双字LLBLWLD065535.706553506
12、55340655324.4 4.4 位逻辑位逻辑指令指令 位逻辑指令主要包括位逻辑运算指令、位位逻辑指令主要包括位逻辑运算指令、位操作指令和位测试指令。操作指令和位测试指令。作用:完成逻辑操作,并将逻辑操作结果作用:完成逻辑操作,并将逻辑操作结果RLORLO用于赋值或置位,也用于控制定时器和计数器用于赋值或置位,也用于控制定时器和计数器的运行。的运行。梯形图和功能块图的基本逻辑图:梯形图和功能块图的基本逻辑图:位逻辑运算指令位逻辑运算指令与、或和异或指令在梯形图表示如图。与、或和异或指令在梯形图表示如图。位操作指令位操作指令1 1、赋值指令(输出指令)、赋值指令(输出指令)2 2、RSRS触发
13、指令触发指令用法用法1 1:用法用法2 2:例:抢答器的设计:例:抢答器的设计:抢答器有三个输入,分别抢答器有三个输入,分别为为I0.0I0.0、I0.1I0.1和和I0.2I0.2,输出分别为输出分别为Q4.0Q4.0、Q4.1Q4.1和和Q4.2Q4.2,复位输入是复位输入是I0.4I0.4。要求:三人中任意要求:三人中任意抢答,谁先按按钮,谁的指示灯优先亮,且只抢答,谁先按按钮,谁的指示灯优先亮,且只能亮一盏灯,进行下一问题时主持人按复位按能亮一盏灯,进行下一问题时主持人按复位按钮,抢答重新开始。钮,抢答重新开始。如果不用置位如果不用置位/复位语句如何实现复位语句如何实现?注意:存储位不
14、能重复,否则程序出错!3 3、RLORLO边沿检测指令边沿检测指令 边沿正跳沿指令捕捉到正跳沿后,产生边沿正跳沿指令捕捉到正跳沿后,产生一个扫描周期宽度的脉冲;而边沿负跳沿一个扫描周期宽度的脉冲;而边沿负跳沿指令捕捉到负跳沿后,产生一个扫描周期指令捕捉到负跳沿后,产生一个扫描周期宽度的脉冲。宽度的脉冲。使用场合:使用场合:边沿检测常用于只扫描一边沿检测常用于只扫描一次的情况,比如,在程序开始,你给一个变次的情况,比如,在程序开始,你给一个变量赋了初值,如果不加边沿检测指令,由于量赋了初值,如果不加边沿检测指令,由于PLCPLC顺序循环扫描的特点,变量将永远是初顺序循环扫描的特点,变量将永远是初
15、始值,不发生任何变化。始值,不发生任何变化。用法:用法:例:设计一个乒乓电路,按动按钮例:设计一个乒乓电路,按动按钮I0.0,使灯泡使灯泡亮,再按动按钮,灯泡灭。亮,再按动按钮,灯泡灭。1 1、第一次按动按钮时,、第一次按动按钮时,I0.0I0.0接通,在一个扫描周期接通,在一个扫描周期中,则中,则M0.1M0.1通;通;-M0.2M0.2接通;接通;-Q4.0Q4.0通,电灯亮。通,电灯亮。2 2、扫描周期过,、扫描周期过,-M0.1M0.1断开;在第二分支中,断开;在第二分支中,M0.2M0.2是通的,同时常闭触点是通的,同时常闭触点M0.1M0.1是通的,是通的,-M0.2M0.2保持接
16、通保持接通状态。状态。-Q4.0Q4.0通。通。3 3、当、当I0.0 I0.0 再一次点按时,再一次点按时,M0.1M0.1接通;在接通;在Network2Network2第一第一分支和第二分支能流不通,分支和第二分支能流不通,-M0.2M0.2断开,断开,-Q4.0Q4.0不通,电灯灭,之后系统循不通,电灯灭,之后系统循环运行。环运行。另一种实现另一种实现:程序有问题,如何改动:程序有问题,如何改动4.5 4.5 定时器与计数器指令定时器与计数器指令 定时器的种类有:脉冲定时器(定时器的种类有:脉冲定时器(SPSP)、)、扩扩展脉冲定时器(展脉冲定时器(SESE)、)、接通延时定时器(接通
17、延时定时器(SDSD)、)、保持型接通延时定时器(保持型接通延时定时器(SSSS)和断开延时定时和断开延时定时器(器(SFSF)。)。五种类型定时器的时序如图。五种类型定时器的时序如图。定时器定时器 定时器功能:设定定时时间、启动定时器、定时器功能:设定定时时间、启动定时器、复位定时器、查看定时的剩余时间。复位定时器、查看定时的剩余时间。定时时间的设定方式:定时时间为时定时时间为时基和定时值的乘积。基和定时值的乘积。在定时器开始工作在定时器开始工作后,定时值不断递后,定时值不断递减,递减至零表示减,递减至零表示时间到,定时器会时间到,定时器会相应动作。相应动作。定时时间有两种表达方式:定时时间
18、有两种表达方式:q十六进制数十六进制数 格格式式为为:W#16#W#16#wxyzwxyz,其其中中w w是是时时间间基基准准,xyzxyz是是BCDBCD码码格格式式的的时时间间值值。这这里里,时时基基越越小小,分分辨辨率率越越高高;时时基基越越大大,则则分分辨辨率率越越低低,但但定定时时时时间间越越长长。例例如如:W#16#2300W#16#2300表表示示时时基基为为1 1s s,定时时间为定时时间为30013001s s的定时时间值。即的定时时间值。即5 5分钟。分钟。q S5时间格式时间格式 格式为:格式为:S5T#S5T#aHaH_ _bMbM_ _cScS_ _dMSdMS,其中
19、,其中,a a表表示小时,示小时,b b表示分钟,表示分钟,c c表示秒,表示秒,d d表示毫秒。表示毫秒。例如:例如:S5T#1H_13M_8SS5T#1H_13M_8S表示时间为表示时间为1 1小时小时1313分分8 8秒。秒。1 1、脉冲定时器、脉冲定时器(SP)SP)例:用脉冲定时器设计一个周期振荡电路,例:用脉冲定时器设计一个周期振荡电路,振荡周期为振荡周期为5s,占空比为占空比为2:5。说明:在设计中,我们用说明:在设计中,我们用T1T1和和T2T2分别定时分别定时2 2s s和和3 3s s,用用I0.0I0.0启动振荡电路。由于是周期振启动振荡电路。由于是周期振荡电路,所以荡电
20、路,所以T1T1和和T2T2必须互相启动。必须互相启动。在程序的Network1中,T2需用常闭触点,否则,T1无法启动。在Network2中,T1工作期间,T2不能启动工作。所以T1需用常闭触点来启动T2。即当T1定时时间到时,T1的常闭触点断开,从而产生RLO上跳沿,启动T2定时器。如此循环,在Q4.0端形成振荡电路。2 2、扩展脉冲定时器、扩展脉冲定时器(SE)SE)扩扩展展脉脉冲冲定定时时器器的的特特点点:扩扩展展脉脉冲冲定定时时器器即即使使在在脉脉冲冲宽宽度度不不够够定定时时宽宽度度时时,也也能能使使定定时时器器运运行行至至定定时时时时间间结结束束。同同时时从从时时序序波波形形可可以
21、以发发现现:在在启启动动端端不不断断由由“0”“0”变变为为“1”“1”时时,只只要要定定时时时时间间未未到到,则则定定时时器器反反复复启启动动,输输出出Q Q在在此期间始终为此期间始终为“1”“1”。例:设计频率监视器,其特点是频率低于下例:设计频率监视器,其特点是频率低于下限,则指示灯限,则指示灯Q4.0Q4.0亮,亮,“确认确认”按钮按钮I0.1I0.1使使指示灯复位。监控频率为指示灯复位。监控频率为0.50.5HzHz,由由M10.0M10.0提提供。供。说明:在设计中,由于扩展脉冲定时器的说明:在设计中,由于扩展脉冲定时器的特点:时间未到时,若输入特点:时间未到时,若输入S S端反复
22、正跳变,端反复正跳变,则定时器反复启动,输出始终为则定时器反复启动,输出始终为1 1,直至定时,直至定时时间到为止,在此使用非常合适。若监控频率时间到为止,在此使用非常合适。若监控频率为为0.50.5HzHz,则使用定时时间为则使用定时时间为2 2s s的定时器。在的定时器。在频率正常的情况下,频率正常的情况下,0.50.5HzHz的频率反复启动的频率反复启动2 2s s的定时器,使输出始终为高电平。当频率变低,的定时器,使输出始终为高电平。当频率变低,脉冲时间间隔变大时,脉冲时间间隔变大时,2 2s s的定时器可以计时完的定时器可以计时完毕,此时输出变为低电平。监控指示灯毕,此时输出变为低电
23、平。监控指示灯Q4.0Q4.0亮亮。程序实现如下:程序实现如下:问题:监控频率为问题:监控频率为0.50.5HzHz,由由M10.0M10.0提供。提供。如何提供?如何提供?可以在可以在CPUCPU属性页的属性页的“Cycle/Clock Memory”Cycle/Clock Memory”选项页中设置选项页中设置“Clock Memory”Clock Memory”,选中就可激选中就可激活该功能,并且在活该功能,并且在“Memory Byte”Memory Byte”中输入存中输入存储字节储字节MBMB的地址,如的地址,如MB10MB10(输入输入1010即可),此即可),此时时MB10MB
24、10各位的作用是各位的作用是产生不同频率的方波信号产生不同频率的方波信号。如果你在硬件配置里选择了该项功能,就可以如果你在硬件配置里选择了该项功能,就可以在程序里调用这些特殊的位。在程序里调用这些特殊的位。Clock MemoryClock Memory各各位的周期及频率如表所示。位的周期及频率如表所示。方法:方法:位位76543210周期(周期(s)21.610.80.50.40.20.1频率(频率(Hz)0.50.62511.2522.55103 3、接通延时脉冲定时器(、接通延时脉冲定时器(SDSD)例例用用接接通通延延时时定定时时器器设设计计一一个个周周期期振振荡荡电电路路,振荡周期为
25、振荡周期为5s,占空比为占空比为2:5。说明:与脉冲定时器的设计电路相比,在程说明:与脉冲定时器的设计电路相比,在程序的序的Network2Network2中,中,T1T1是常开触点。在接通延是常开触点。在接通延时定时器定时时间到时,时定时器定时时间到时,T1T1工作结束,输出工作结束,输出高电平,其上跳沿启动定时器高电平,其上跳沿启动定时器T2T2,这样这样T1T1和和T2T2就可以互相起振。而脉冲定时器的就可以互相起振。而脉冲定时器的T1T1是常是常闭触点,在闭触点,在T1T1不工作期间,输出为低电平,不工作期间,输出为低电平,常闭触点接通,此时,常闭触点接通,此时,T2T2开始定时。开始
26、定时。程序实现如下:程序实现如下:4 4、保持型接通延时脉冲定时器(、保持型接通延时脉冲定时器(SSSS)5 5、断开延时脉冲定时器(、断开延时脉冲定时器(SFSF)脉冲和扩展脉冲定时器的区别脉冲和扩展脉冲定时器的区别:脉冲受脉冲受S S脉冲宽度的限制脉冲宽度的限制,而扩展脉冲定时器不而扩展脉冲定时器不受限制,只要有脉冲即可,宽度受定时值确定受限制,只要有脉冲即可,宽度受定时值确定。特点:在特点:在S S端上跳沿时,输出为端上跳沿时,输出为“1 1”,在,在S S端下跳沿,定时器启动,直至定时时间到,端下跳沿,定时器启动,直至定时时间到,输出在此期间始终为输出在此期间始终为“1 1”。即所谓。
27、即所谓S S端断开,端断开,才开始延时定时。才开始延时定时。上机练习上机练习1:用置位和复位语句实现电机正反转!用置位和复位语句实现电机正反转!上机练习上机练习2:用两种方法进行振荡电路的设计用两种方法进行振荡电路的设计(占空比(占空比2:3)上机练习上机练习3:设计交通灯:设计交通灯,Q4.0,Q4.1,Q4.2,为东西为东西方向红、绿、黄信号灯,方向红、绿、黄信号灯,Q4.5Q4.6,Q4.7为南北方为南北方向红、绿、黄信号灯,按向红、绿、黄信号灯,按I0.0启动工作状态。要启动工作状态。要求东西和南北方向的红灯亮求东西和南北方向的红灯亮30秒,绿灯亮秒,绿灯亮28秒,秒,两方向黄灯在某一
28、方向的红灯亮到最后两方向黄灯在某一方向的红灯亮到最后2秒时开始秒时开始亮(亮(2秒),试编写程序以满足要求。秒),试编写程序以满足要求。1 1、计数器的使用、计数器的使用 计数器计数器计数器使用注意事项:计数器使用注意事项:(1 1)计计数数脉脉冲冲从从何何而而来来,即即计计数数器器的的启启动动问问题;题;(2 2)在在开开始始动动作作之之前前,需需要要计计多多少少个个数数。即即赋值问题;赋值问题;(3 3)如何复位计数器;)如何复位计数器;(4 4)如何实现现场监控当前计数值)如何实现现场监控当前计数值。2 2、计数器指令及用法、计数器指令及用法参数参数数据类型数据类型存储区存储区说明说明n
29、o.COUNTC计数器标识符计数器标识符CUBOOLI、Q、M、D、L加计数器输入加计数器输入CDBOOLI、Q、M、D、L减计数器输入减计数器输入SBOOLI、Q、M、D、L计数器初值预置计数器初值预置PVWORDI、Q、M、D、L初始值初始值BCD码码RBOOLI、Q、M、D、L复位输入端复位输入端QBOOLI、Q、M、D、L计数器状态输出计数器状态输出CVWORDI、Q、M、D、L当前计数值(整数)当前计数值(整数)CV_BCDWORDI、Q、M、D、L当前计数值当前计数值(BCD)加减可逆计数器方块图的用法:例:用计数器扩展定时器的定时范围。要求:例:用计数器扩展定时器的定时范围。要求
30、:I0.0为复位按钮兼启动按钮,定时范围为为复位按钮兼启动按钮,定时范围为12小小时。时。12小时之后,将电磁阀小时之后,将电磁阀Q4.0打开。打开。分析:我们知道定时器最长的时间是分析:我们知道定时器最长的时间是99909990s s,约约2 2个多小时。为了实现个多小时。为了实现1212小时的定时功能,小时的定时功能,我们先设计一周期振荡电路,其中接通延时我们先设计一周期振荡电路,其中接通延时定时器定时器T1T1和和T2T2的定时时间均为的定时时间均为72007200s s,这样振这样振荡周期为荡周期为4 4小时,如果结合一个初始值为小时,如果结合一个初始值为3 3的的减法计数器,每隔减法
31、计数器,每隔4 4小时触发,则在减计数器小时触发,则在减计数器计数值减至零时,相当于经过了计数值减至零时,相当于经过了1212小时。小时。功能块图程序如下:功能块图程序如下:4.6 4.6 数据处理功能指令数据处理功能指令 数据处理功能指令主要包括装载和传输指令、比较指令、转换指令及移位和循环指令等。装载和传输指令装载和传输指令如果赋初值如果赋初值,则需配合边缘触发指令则需配合边缘触发指令!比较指令比较指令注意:两个比较数的数据类型必须一致。1 1、整数比较指令的使用、整数比较指令的使用 指令方框如下:指令使用方法:2、双整数和浮点数比较指令的使用双整数和浮点数比较指令的使用例例9用用比比较较
32、和和计计数数指指令令编编写写开开关关灯灯程程序序,要要求求灯灯控控按按钮钮I0.0按按下下一一次次,灯灯Q4.0亮亮,按按下下两两次次,灯灯Q4.0,Q4.1全全亮亮,按按下下三三次次灯灯全全灭灭,如如此此循循环。环。分析:在程序中所用计数器为加法计数器,当分析:在程序中所用计数器为加法计数器,当加到加到2 2时,必须复位计数器,这是关键。灯控制时,必须复位计数器,这是关键。灯控制程序如图所示。程序如图所示。梯形图程序如下:梯形图程序如下:例:如图所示为仓库区及显示面板。在两个传送带之间例:如图所示为仓库区及显示面板。在两个传送带之间有一个装有一个装100100件物品的仓库,传送带件物品的仓库
33、,传送带1 1将物品送至临时仓将物品送至临时仓库。传送带库。传送带1 1靠近仓库区一端的光电传感器(靠近仓库区一端的光电传感器(I0.0I0.0)确定确定有多少物品运送至仓库区,传送带有多少物品运送至仓库区,传送带2 2将仓库区中的物品运将仓库区中的物品运送至货场,传送带送至货场,传送带2 2靠近仓库区一端的光电传感器靠近仓库区一端的光电传感器(I0.1I0.1)确定已有多少物品从库区送至货场。显示面板上确定已有多少物品从库区送至货场。显示面板上有五个指示灯(有五个指示灯(Q12.0Q12.4Q12.0Q12.4)显示仓库区物品的占有显示仓库区物品的占有程度。程度。梯形图程序如下:梯形图程序如
34、下:例例 有有一一部部电电动动小小车车供供5 5个个加加工工点点使使用用,对对小小车车的的控控制制要要求为:求为:1 1)启启动动按按钮钮I0.7I0.7按按下下时时,车车停停在在某某个个加加工工点点(工工位位:I0.0I0.4I0.0I0.4)。若若没没有有用用车车呼呼叫叫(呼呼车车:I1.0I1.4I1.0I1.4)时时,工工位允许呼叫指示灯亮(位允许呼叫指示灯亮(Q0.2Q0.2),),表示各工位可以呼车。表示各工位可以呼车。2 2)某某工工位位呼呼车车时时,工工位位允允许许呼呼叫叫的的指指示示灯灯灭灭,表表示示此此后再呼车均无效。后再呼车均无效。3 3)停停车车位位呼呼车车则则小小车车
35、不不动动,当当呼呼车车位位号号大大于于停停车车位位号号时时,小小车车自自动动向向低低位位行行驶驶(反反转转Q0.1Q0.1);当当呼呼车车位位号号小小于于停停车车位位号号时时,小小车车自自动动向向高高位位行行驶驶(正正转转Q0.0Q0.0)。当当小小车车到达呼车位时自动停车。到达呼车位时自动停车。4 4)小小车车到到达达呼呼车车位位时时应应停停留留5 5s s供供该该工工位位使使用用,不不应应立立即被其他工位呼走。即被其他工位呼走。试设计此系统。分分析析:在在设设计计中中,首首先先将将小小车车所所在在的的工工位位号号传传送送给给存存储储器器MW10MW10,再再将将呼呼车车的的工工位位号号传传
36、送送给给存存储储器器MW12MW12,两两者者相相比比较较,当当呼呼车车的的位位号号小小于于停停车车位位号号时时,小小车车正正转转,反反之之,小小车车反反转转。若若呼呼车车位位号号等等于于停停车车位位,则则启启动动定定时时器器T1T1延延时时5 5s s,延延时时时时间间到到,呼呼车车信信号号允允许许指指示示灯亮,并取消对呼车信号的封锁。灯亮,并取消对呼车信号的封锁。程序中要注意,在允许呼车的前提条件下,程序中要注意,在允许呼车的前提条件下,若有呼叫信号,则将指示灯点亮,封锁其他若有呼叫信号,则将指示灯点亮,封锁其他呼叫信号。而传递呼车信号必须在允许呼车呼叫信号。而传递呼车信号必须在允许呼车指
37、示灯(指示灯(Q0.2=1Q0.2=1)的条件下,才能传递给的条件下,才能传递给MW12MW12。(约束条件约束条件)上机练习上机练习1:用用I0.0控制控制Q0.0、Q0.1和和Q0.2,要求:若要求:若I0.0闭合三次,闭合三次,Q0.0亮,亮,I0.0再闭合三次,再闭合三次,Q0.1亮,若再闭合亮,若再闭合三次,三次,Q0.2亮,之后,亮,之后,I0.0闭合一次,闭合一次,Q0.0、Q0.1和和Q0.2都灭,如此循环进行。都灭,如此循环进行。上机练习上机练习2:电动小车调试练习。:电动小车调试练习。上机练习上机练习3:易拉罐自动生产线上,需要统计出每小时生易拉罐自动生产线上,需要统计出每
38、小时生产的易拉罐数量。易拉罐一个个不断地经过计数装置。假产的易拉罐数量。易拉罐一个个不断地经过计数装置。假设计数装置上有一个感应传感器,每当一听饮料经过时,设计数装置上有一个感应传感器,每当一听饮料经过时,就会产生一个脉冲。要求编制程序将一小时的生产数量统就会产生一个脉冲。要求编制程序将一小时的生产数量统计出来。计出来。移位和循环移位指令移位和循环移位指令梯形图梯形图功能块图功能块图语句语句表表说明说明SLW将将IN中中的的字字逐逐位位左移,空出位填左移,空出位填0SRW将将IN中中的的字字逐逐位位右移,空出位填右移,空出位填0SHL_DW将将IN中中的的双双字字逐逐位位左左移移,空空出出位位
39、填填0SHR_DW将将IN中中的的双双字字逐逐位位右右移移,空空出出位位填填0字字左移左移6位位双字右移双字右移3位位双字左移指令的具体使用如下双字左移指令的具体使用如下:有有符号右移指令大同小异符号右移指令大同小异!梯形图梯形图功能块功能块图图语句表语句表说明说明RLD将将IN中的双字逐位左中的双字逐位左移,空出位填以移出位移,空出位填以移出位RRD将将IN中的双字逐位右中的双字逐位右移,空出位填以移出位移,空出位填以移出位循环移位指令循环移位指令循环右移循环右移3位指令位指令注意:移位指令为微分指令,在循环进行时需与边缘触发指令配合!例例 走马灯的实现。要求:运用循环移位指令实现走马灯的实
40、现。要求:运用循环移位指令实现8 8个个彩灯的循环左移和右移。其中彩灯的循环左移和右移。其中I0.0I0.0为起停开关,为起停开关,MD20MD20为为设定的初始值,设定的初始值,MW12MW12为移位位数,输出为为移位位数,输出为Q0.0Q0.7Q0.0Q0.7。分析:首先建立定时振荡电路,振荡周期为分析:首先建立定时振荡电路,振荡周期为2 2s s,使得每次定时时间到后,循环移位指令开始使得每次定时时间到后,循环移位指令开始移位。在循环移位指令的使用中运用了边缘触移位。在循环移位指令的使用中运用了边缘触发指令,使循环移位在每个定时时间内只移位发指令,使循环移位在每个定时时间内只移位一次。在
41、程序开始时,必须给循环存储器一次。在程序开始时,必须给循环存储器MD20MD20赋初值,比如开始时,只有最低位的彩灯亮赋初值,比如开始时,只有最低位的彩灯亮(为(为1 1),则初值设定必须为),则初值设定必须为DW#16#01010101DW#16#01010101(为了能循环显示,必须设定为了能循环显示,必须设定MB20MB20、MB21MB21、MB22MB22、MB23MB23中的值均相同,为中的值均相同,为W#16#01W#16#01,否则,否则,8 8位彩灯轮流亮过后,彩灯会有段时间不亮)。位彩灯轮流亮过后,彩灯会有段时间不亮)。4.7 4.7 数据运算指令数据运算指令 1、整数运算
42、指令、整数运算指令演演示示1:用用语语句句表表实实现现字字运运算算MW4+MW6-2的的程序,其运算结果送入程序,其运算结果送入MW10中。中。2、浮点数运算指令、浮点数运算指令演示演示2:浮点数平方指令的使用。求存于浮点数平方指令的使用。求存于DB10.DBD0的平方,并且将结果存于的平方,并且将结果存于DB10.DBD4中。中。3 3、字逻辑运算指令、字逻辑运算指令梯形图梯形图功能块功能块图图语句表语句表指令指令操作类型说明操作类型说明AW将将IN1和和IN2中中的的字字相与相与OW将将IN1和和IN2中中的的字字相或相或XOR将将IN1和和IN2中中的的字字相异或相异或AD将将IN1和和
43、IN2中中的的双双字相与字相与OD将将IN1和和IN2中中的的双双字相或字相或XOD将将IN1和和IN2中中的的双双字相异或字相异或 4.8 4.8 控制指令控制指令逻辑控制指令逻辑控制指令无条件跳转指令无条件跳转指令(JU:Jump Unconditional)无条件地中断正常程序的线性扫描,跳转到目标地址标号所在的程序段处继续执行。无条件跳转与状态字的状态无关。例 试求 和。上机练习上机练习1:要求利用移位指令使要求利用移位指令使8盏灯以盏灯以0.2秒秒的速度自左向右亮起,到达最右侧后,再自右的速度自左向右亮起,到达最右侧后,再自右向左返回最左侧。如此反复。向左返回最左侧。如此反复。I0.0=1时移位开始,时移位开始,I0.0=0时移位停止。时移位停止。上机练习上机练习2:编写完成下面的算式:编写完成下面的算式:上机练习上机练习3:练习无条件跳转语句的用法;:练习无条件跳转语句的用法;