1、5.1 用数据传送指令实现电动机的Y-降压启动控制 5.1.1 位元件与字元件1位元件只具有接通(ON或1)或断开(OFF或0)两种状态的元件称为位元件。2字元件字元件是位元件的有序集合。FX系列的字元件最少4位,最多32位。表5.1字元件范围符 号表 示 内 容KnX输入继电器位元件组合的字元件,也称为输入位组件KnY输出继电器位元件组合的字元件,也称为输出位组件KnM辅助继电器位元件组合的字元件,也称为辅助位组件KnS状态继电器位元件组合的字元件,也称为状态位组件T定时器T的当前值寄存器C计数器C的当前值寄存器D数据寄存器V、Z变址寄存器第1页/共90页指令适用范围KnY0包含的位元件最高
2、位最低位位元件个数N取值18适用32位指令N取值14适用16位指令K1Y0Y3Y04K2Y0Y7Y08K3Y0Y13Y012K4Y0Y17Y016N取值58只能使用32位指令K5Y0Y23Y020K6Y0Y27Y024K7Y0Y33Y028K8Y0Y37Y032(1)位组件。多个位元件按一定规律的组合叫位组件,例如输出位组件KnY0,K表示十进制,n表示组数,n的取值为18,每组有4个位元件,Y0是输出位组件的最低位。KnY0的全部组合及适用指令范围如表5.2所示。表5.2KnY0的全部组合及适用指令范围第2页/共90页通 用停电保持用(可用程序变更)停电保持专用(不可变更)特 殊 用变 址
3、用D0D199共200点D200D511共312点D512D7999共7488点D8000D8195共106点V7-V0,Z7-Z0共16点(2)数据寄存器D、V、Z 图5.1 16位与32位数据寄存器表5.3数据寄存器D、V、Z元件编号与功能16位数据寄存器所能表示的有符号数的范围为K32 76832 767。32位数据寄存器所能表示的有符号数的范围为K2 147 483 648 2 147 483 647 第3页/共90页功能指令的使用说明:(1)FX2N系列PLC功能指令编号为FNC0FNC246,实际有130个功能指令。(2)功能指令分为16位指令和32位指令。功能指令默认是16位指令
4、,加上前缀D是32位指令,例如DMOV。(3)功能指令默认是连续执行方式,加上后缀P表示为脉冲执行方式,例如MOVP。(4)多数功能指令有操作数。执行指令后其内容不变的称为源操作数,用S表示。被刷新内容的称为目标操作数,用D表示。5.1.2 数据传送指令MOV表5.4MOV指令传 送 指 令操 作 数D(32位)FNC12MOVS(源)K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZP(脉冲型)D(目标)KnY、KnM、KnS、T、C、D、V、Z图5.2 功能指令格式第4页/共90页5.1.3 数据传送指令应用举例 【例题5.1】设有8盏指示灯,控制要求是:当X0接通时,全部灯亮;当
5、X1接通时,奇数灯亮;当X2接通时,偶数灯亮;当X3接通时,全部灯灭。试设计电路并用数据传送指令编写程序。【解】控制线路图如图5.3所示。图5.3 例题5.1控制线路图第5页/共90页图5.4 例题5.1程序图输 入 端 口输出位组件 K2Y0传 送 数 据Y7Y6Y5Y4Y3Y2Y1Y0X0H0FFX1H0AAX2H55X3H0表5.5例题5.1控制关系表第6页/共90页5.1.4 区间复位指令ZRST表5.6ZRST指令区间复位指令操 作 数操作数范围PFNC40 ZRSTD1、D2Y、M、S、T、C、D图5.5 区间复位指令ZRST 如图5.5所示,当指令语句“ZRST Y0 Y3”执行
6、时将Y0、Y1、Y2、Y3全部复位为0状态。第7页/共90页5 5.11.5 5 实习操作:电动机实习操作:电动机Y Y-降压启动控制线路与程序图5.6 Y-降压启动控制线路第8页/共90页表5.7 Y-降压启动过程和传送控制数据表操 作 元 件状 态输 入 端 口输出端口/负载传 送 数 据Y3/KM3Y2/KM2Y1/KM1Y0/HLSB2形启动T0延时10sX20111K7T0延时到T1延时1s0011K3T1延时到形运转1010K10SB1停止X10000K0KH过载保护X00001K1第9页/共90页图5.7 Y-降压启动程序梯形图第10页/共90页5.2 用跳转指令实现选择运行程序
7、段 图5.8 手动/自动程序跳转 应用跳转指令的程序结构如图5.8所示。X3是手动/自动选择开关的信号输入端。当X3未接通时,执行手动程序段,反之执行自动程序段。X3的常开/常闭接点起联锁作用,使手动、自动两个程序段只能选择其一。第11页/共90页条件跳转指令操 作 数程 序 步PFNC0 CJ标号 P0P127P63表示跳到ENDCJ 3步标号P 1步5.2.1 条件跳转指令CJ表5.8CJ指令 1标号P的说明 (1)FX2N系列PLC的标号P有128点(P0P127),用于分支和跳转程序。(2)标号P放置在左母线的左边,一个标号只能出现一次,如出现两次或两次以上,程序报错。标号P占一步步长
8、。2跳转指令CJ的说明 (1)如果跳转条件满足,则执行跳转指令,程序跳到以标号P为入口的程序段中执行。否则不执行跳转指令,按顺序执行下一条指令。(2)多个跳转指令可以使用同一个标号。(3)如果用M8000作为控制跳转的条件,CJ则变成无条件跳转指令。第12页/共90页5.2.2 条件跳转指令应用举例【例题5.2】某台设备具有手动/自动两种操作方式。SB3是操作方式选择开关,当SB3处于断开状态时,选择手动操作方式;当SB3处于接通状态时,选择自动操作方式,不同操作方式进程如下:手动操作方式进程:按启动按钮SB2,电动机运转;按停止按钮SB1,电动机停机。自动操作方式进程:按启动按钮SB2,电动
9、机连续运转1min后,自动停机。按停止按钮SB1,电动机立即停机。图5.9 例题5.2控制线路图第13页/共90页【解】根据控制要求,设计程序梯形图如图5.10所示。图5.10 例题5.2程序梯形图第14页/共90页5.3 算术运算指令与单按钮的功率控制 加 法 指 令操 作 数DFNC20ADDS1、S2K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZPD KnY、KnM、KnS、T、C、D、V、Z5.3.1 加法指令ADD表5.10ADD指令1.加法指令ADD的说明 (1)加法运算是代数运算。(2)若相加结果为0,则零标志位M8020=1,可用来判断两个数是否为相反数。(3)加法
10、指令可以进行32位操作方式。第15页/共90页图5.11 32位加法指令操作数的构成 例如指令语句“DADD D0 D10 D20”的操作数构成如图5.11所示。被加数的低16位在D0中,高16位在D1中;加数的低16位在D10中,高16位在D11中;“和”的低16位在D20中,高16位在D21中。第16页/共90页2加法指令ADD举例图5.12 加法指令ADD的举例1图5.13 加法指令ADD的举例2 图5.14 加法指令ADD的举例3 第17页/共90页减 法 指 令操 作 数DFNC21SUBS1、S2K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZPD KnY、KnM、KnS
11、、T、C、D、V、Z5.3.2 减法指令SUB表5.11SUB指令1减法指令SUB的说明(1)减法运算是代数运算。(2)若相减结果为0时,则零标志位M8020=1,可用来判断两个数是否相等。(3)SUB可以进行32位操作方式,例如指令语句:DSUB D0 D10 D20。第18页/共90页2减法指令SUB举例 两个数据寄存器中存储的数据相减,程序如图5.15所示。如果X0接点闭合,执行数据传送指令。如果X1接点闭合,执行减法指令,减法运算的结果差(82=6)存在D30中。图5.15 减法指令SUB的举例第19页/共90页5.3.3 乘法指令MUL表5.12MUL指令乘 法 指 令操 作 数DF
12、NC22MULS1、S2K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZPD KnY、KnM、KnS、T、C、D、V、Z1乘法指令MUL的说明(1)乘法运算是代数运算。(2)16位数乘法:源操作数S1、S2是16位,目标操作数D占用32位。图5.16 16位乘法的积占用32位 例如乘法指令语句“MUL D0 D10 D20”,被乘数存储在D0,乘数存储在D10,积则存储在D21、D20组件中。操作数结构如图5.16所示。第20页/共90页2乘法指令MUL举例 运行监控模式的程序梯形图如图5.17所示。如果X0接点闭合,执行数据传送指令。如果X1接点闭合,执行乘法指令,乘法运算的结果(
13、82=16)存储在D31、D30目标操作数中。图5.17中D31存储的数据为0,D30存储的数据为16。图5.17 乘法指令MUL的举例第21页/共90页除 法 指 令操 作 数DFNC23DIVS1、S2K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZPD KnY、KnM、KnS、T、C、D、V、Z5.3.4 除法指令DIV表5.13DIV指令1除法指令DIV的说明 (1)除法运算是代数运算。(2)16位数除法:源操作数S1、S2是16位,目标操作数D占用32位。除法运算的结果商存储在目标操作数的低16位,余数存储在目标操作数的高16位中。(3)32位除法:源操作数S1、S2是32
14、位,但目标操作数却是64位。除法运算的结果商存储在目标操作数的低32位,余数存储在目标操作数的高32位。第22页/共90页例如除法指令语句“DIV D0 D10 D20”,被除数存储在D0,除数存储在D10,商存储在D20,余数存储在D21,操作数的结构如图5.18所示。图5.18 16位除法的商和余数构成32位目标操作数第23页/共90页2除法指令DIV举例 运行监控模式的程序梯形图如图5.19所示。如果X0接点闭合,执行数据传送指令。如果X1接点闭合,执行除法指令。除法运算结果的商7存储在D30,余数1存储在D31。可以看出,数据除2后根据余数为1或为0可判断数据的奇偶性。图5.19 除法
15、指令DIV的举例第24页/共90页加1指令操 作 数DFNC24INCDKnY、KnM、KnS、T、C、D、V、ZP5.3.5 加1指令INC表5.14INC指令1加1指令INC的说明 (1)INC指令的执行结果不影响零标志位M8020。(2)在实际控制中通常不使用每个扫描周期目标操作数都要加1的连续执行方式,所以,INC指令经常使用脉冲操作方式。减1指令DEC和加1指令INC执行方式相似。第25页/共90页2加1指令INC举例 运行监控模式的程序梯形图如图5.20所示。开机初始脉冲M8002将数据寄存器D10清0。在X0接点闭合的那个扫描周期执行加1指令,D10的数据被加1后存储,即(D10
16、)+1(D10)。图中X0共接通5次,D10中存储的数据由0增加到5。图5.20 加1指令INC的举例第26页/共90页5.3.6 实习操作:单按钮的功率控制程序1单按钮的功率控制线路和控制要求 单按钮的功率控制线路如图5.21所示。控制要求是:加热功率有7个挡位可调,大小分别是0.5kW、1kW、1.5kW、2kW、2.5kW、3kW和3.5kW。有1个功率选择按钮SB1和1个停止按钮SB2。第一次按SB1选择功率第1挡,第二次按SB1选择功率第2挡第八次按SB1或按SB2时,停止加热。图5.21 单按钮的功率控制线路第27页/共90页第28页/共90页输出功率(kW)字元件 K1M0按SB
17、1次数M3M2M1M00000000.5000111001021.5001132010042.5010153011063.5011170100082单按钮功率控制的工序 表5.16单按钮功率控制的工序第29页/共90页3单按钮的功率控制程序 图5.22 单按钮的功率控制程序第30页/共90页5.4 字逻辑运算指令及应用 字“与”指令操 作 数DFNC26WANDS1、S2K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZPD KnY、KnM、KnS、T、C、D、V、Z5.4.1 逻辑字“与”指令WAND表5.17WAND指令1字“与”指令WAND的说明 (1)S1、S2为作相“与”逻辑
18、运算的源操作数,D为存储“与”逻辑运算结果的目标操作数。(2)字“与”指令的功能是将两个源操作数的数据,进行二进制按位相“与”,并将运算结果存入目标操作数。第31页/共90页2字“与”指令WAND举例 假设要求用输入继电器X0X4的位状态去控制输出继电器Y0Y4,可用字元件K2X0去控制字元件K2Y0。对字元件多余的控制位X5、X6和X7,可与0相“与”进行屏蔽。程序如图5.23所示。图5.23 应用字“与”指令的程序图5.24 字“与”指令的位运算过程第32页/共90页字“或”指令操 作 数DFNC27WORS1、S2K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZPD KnY、K
19、nM、KnS、T、C、D、V、Z5.4.2 逻辑字“或”指令WOR表5.18WOR指令1字“或”指令WOR的说明(1)S1、S2为两个相“或”的源操作数,D为存储“或”逻辑结果的目标操作数。(2)指令的功能是将两个源操作数的数据,进行二进制按位相“或”,并将运算结果存入目标操作数。第33页/共90页2字“或”指令WOR举例 要求用输入继电器组成的字元件K2X0去控制由输出继电器组成的字元件K2Y0,但Y3、Y4位不受字元件K2X0的控制而始终处于ON状态。可用字“或”指令屏蔽X3、X4位,程序如图5.25所示。图5.26 字“或”指令的位运算过程图5.25 应用字“或”指令的程序第34页/共9
20、0页字“异或”指令操 作 数DFNC28WXORS1、S2K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZPD KnY、KnM、KnS、T、C、D、V、Z5.4.3 逻辑字“异或”指令WXOR表5.19WXOR指令1字“异或”指令WXOR的说明 (1)S1、S2为两个相“异或”的源操作数,D为存储“异或”逻辑结果的目标操作数。(2)指令的功能是将两个源操作数的数据,进行二进制按位相“异或”,并将运算结果存入目标操作数。第35页/共90页2字“异或”指令WXOR举例 要求用输入继电器组成的字元件K2X0的相反状态去控制由输出继电器组成的字元件K2Y0,即X某位为“1”时,Y的相应位为“
21、0”;X某位为“0”时,Y的相应位为“1”。程序如图5.27所示。图5.27 应用字“异或”指令的程序 图5.28 字“异或”指令运算过程 第36页/共90页5.5 子程序调用指令及应用 图5.29 子程序调用与返回结构第37页/共90页指令助记符操 作 数程 序 步PFNC1 CALL标号 P0P62标号 P64P127CALL 3步标号P 1步FNC2 SRET无SRET 1步FNC6 FEND无FEND 1步5.5.1 子程序指令CALL、SRET与主程序结束指令FEND表5.20CALL、SRET、FEND指令 FEND指令表示主程序结束。END是指整个程序(包括主程序和子程序)结束。
22、一个完整的程序可以没有子程序,但一定要有主程序。子程序编写在FEND指令的后面,以标号P开头,以返回指令SRET结束。如果子程序调用条件满足,则中断主程序去执行子程序,标号是被调用子程序的入口地址。在子程序结束处一定要使用返回指令SRET,意思是返回主程序中断处去继续执行主程序的下一条指令语句。在子程序中,使用定时器的范围是T192T199。如果在子程序中再调用其他子程序称为子程序嵌套,嵌套总数可达5级。标号P63相当于END。子程序调用指令CALL与跳转指令CJ不能使用相同的标号。第38页/共90页5.5.2 实习操作:子程序调用举例图5.30 应用子程序调用指令的程序 程序功能是:X1、X
23、2、X3分别接通时,将相应的数据传送到D0、D10,然后调用子程序;在子程序中,将D0、D10存储的数据相加,运算结果存储在D20,用D20存储数据控制输出字元件K1Y0。第39页/共90页5.6 循环指令及应用 指令助记符操 作 数程序步循环开始FNC8 FORK、H、KnX、KnY、KnM、KnS、T、C、D、V、Z3循环结束FNC9 NEXT无15.6.1 循环指令FOR、NEXT1循环指令FOR、NEXT的说明 FOR、NEXT指令必须成对出现,缺一不可。位于FOR、NEXT之间的程序称为循环体,在一个扫描周期内,循环体反复被执行。FOR指令的操作数用于指定循环的次数,只有执行完循环次
24、数后,才执行NEXT的下一条指令语句。循环指令的结构如图5.31所示,图中指定循环次数为10次。第40页/共90页2循环指令FOR、NEXT举例【例题5.3】求 0+1+2+3+100 的和,并将和存入D0。【解】用循环指令编写的程序如图5.32所示,D1作为循环增量。图5.32 应用循环指令求和的程序第41页/共90页【例题5.4】求0+1+2+3+100 的和,并将和存入D0。图5.33 应用循环嵌套求和的程序第42页/共90页循环指令的脉冲执行方式 图5.34 循环指令的脉冲执行方式 在本例中,每按下一次按钮接通X0时,执行一次循环指令,数据寄存器D0中存储的数据就增加10。第43页/共
25、90页5.6.2 变址寄存器V、Z图5.35 变址操作举例第44页/共90页5.6.3 实习操作:循环、变址和子程序调用举例 设数据寄存器D0、D1、D2、D3存储数据分别为2,3,1,7。求它们的代数和,将运算结果存入D10,并用此结果控制输出位组件K1Y0。X0是计算控制端,X1是清0控制端,操作程序如图5.36所示。第45页/共90页图5.36 应用循环、变址、子程序调用指令求和的程序第46页/共90页5.7 比较指令的应用与时钟控制程序 5.7.1 接点比较指令FNC编号助 记 符比 较 条 件逻 辑 功 能取比较接点224LD=S1=S2S1与S2相等225LDS1S2S1大于S22
26、26LDS1S2S1小于S2228LDS1 S2S1与S2不相等229LD=S1 S2S1大于等于S2表5.2216位数据接点比较指令表 比较指令是根据运算比较结果,去控制相应的对象。比较类指令包括三种,即接点比较指令,组件比较指令CMP和区间比较指令ZCP。第47页/共90页FNC编号助 记 符比 较 条 件逻 辑 功 能串联比较接点232AND=S1=S2S1与S2相等233AND S1S2S1大于S2234AND S1S2S1小于S2236AND S1 S2S1与S2不相等237AND=S1 S2S1大于等于S2并联比较接点240OR=S1=S2S1与S2相等241ORS1S2S1大于S
27、2242ORS1S2S1小于S2244ORS1 S2S1与S2不相等245OR=S1 S2S1大于等于S2图5.37 接点相等比较指令第48页/共90页工 作 方 式工作方式选择输入按钮作用输出继电器动作过程X1X0X2X3X4手动00点动Y0点动Y1Y0、Y1点动自动101启动停止过载Y0启动后10sY1启动自动210启动停止过载Y0启动后20sY1启动自动311启动停止过载Y0启动后30sY1启动 【例题5.5】某台设备有两台电动机,受输出继电器Y0、Y1控制;设手动、自动1、自动2和自动3四挡工作方式;使用X0X4输入端,其中X0、X1接工作方式选择开关,X2、X3接启动/停止按钮,X4
28、接过载保护。在手动方式中采用点动操作,在3挡自动方式中,Y0启动后分别延时10s、20s、和30s后再启动Y1,用接点比较指令编写程序和分析程序。【解】根据题意列出控制关系,如表5.23所示。表5.23例题5.5控制关系第49页/共90页第50页/共90页图5.38 例题5.5第51页/共90页5.7.2 组件比较指令CMP表5.24CMP指令比 较 指 令操 作 数DFNC10CMPS1、S2K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZPDY、M、S1组件比较指令CMP的说明标志位的规则:若(D0)(D10),则M0置1,M1、M2为0;若(D0)=(D10),则M1置1,M0
29、、M2为0;若(D0)(D0),则M0置1,M1、M2为0;若K100(D0)K500,则M1置1,M0、M2为0;若K500(D10),则M2置1,M0、M1为0。第55页/共90页2区间比较指令ZCP举例【例题5.7】用如图5.43所示的传送带输送工件,数量为20个。连接X0端子的光电传感器对工件进行计数。当计件数量小于15时,指示灯常亮;当计件数量等于或大于15以上时,指示灯闪烁;当计件数量为20时,10s后传送带停机,同时指示灯熄灭。设计PLC控制线路并用区间比较指令ZCP编写程序。图5.43 传送带工作台图5.44 例题5.7传送带的控制线路图第56页/共90页图5.45 传送带的P
30、LC控制程序第57页/共90页5.7.5 马路照明灯时钟控制程序1时钟专用的特殊辅助继电器和特殊数据寄存器表5.28特殊辅助继电器功能表5.29特殊数据寄存器功能特殊辅助继电器作 用功 能M8015时钟停止和改写=1时钟停止,改写时钟数据M8016时钟显示停止=1停止显示M8017秒复位清0上升沿时修正秒数M8018内装RTC检测平时为1M8019内装RTC错误改写时间数据超出范围时=1特殊数据寄存器作 用范 围D8013秒059D8014分059D8015时023D8016日131D8017月112D8018年公历4位D8019星期06(周日周六)第58页/共90页2设定时钟信息图5.46
31、设定时钟信息的程序第59页/共90页3马路照明灯时钟控制程序图5.47 马路照明灯时钟控制程序设马路照明灯由PLC输出端口Y0、Y1各控制一半。每年夏季(79月)每天19时0分至次日0时0分灯全部开,0时0分至5时30分开一半灯。其余季节每天18时0分至次日0时0分灯全部开,0时0分至7时0各开一半灯。第60页/共90页5.8 循环移位指令及应用 5.8.1 循环左移指令ROL 表5.30ROL指令循环左移指令操 作 数DFNC31ROLDKnY、KnM、KnS、T、C、D、V、Z(Kn位组件中n=4/8)Pnn16(16位指令),n32(32位指令)设(D0)循环前为H1302,则执行“RO
32、LP D0 K4”指令后,(D0)为H3021,进位标志位(M8022)为1。执行过程如图5.48所示。图5.48 循环左移指令ROL执行过程第61页/共90页 【例题5.8】循环左移指令ROL的应用举例如图5.49所示。求输出位组件K4Y0在一个循环周期中各位状态的变化。图5.49 循环左移指令举例表5.31例题5.8各位状态的变化第62页/共90页5.8.2 循环右移指令ROR表5.32ROR指令循环右移指令操 作 数DFNC30RORDKnY、KnM、KnS、T、C、D、V、Z(Kn位组件中n=4/8)Pnn16(16位指令),n32(32位指令)图5.50 循环右移指令ROR执行过程第
33、63页/共90页 【例题5.9】循环右移指令ROR的应用举例如图5.51所示。求输出位组件K4Y0在一个循环周期中各位状态的变化。图5.51 循环右移指令举例表5.33例题5.9各位状态的变化第64页/共90页输 入输 出输入继电器输 入 元 件作 用输出继电器控 制 对 象X0SB1启动按钮Y7Y0HL8HL1X1SB2停止按钮Y17Y10HL16HL9Y27Y20H24HL17 【例题5.10】利用PLC实现流水灯控制。某灯光招牌有24个灯,要求按下启动按钮X0时,灯以正、反序每0.1s间隔轮流点亮;按下停止按钮X1时,停止工作。【解】由于输出动作频繁,应选择晶体管或晶闸管输出类型的PLC
34、。流水灯控制需要2个输入端口,24个输出端口。输入、输出端口的分配如表5.34所示。表5.34输入/输出端口分配表第65页/共90页图5.52 例题5.10第66页/共90页5.8.3 位左移指令SFTL表5.35SFTL指令循环左移指令操 作 数PFNC35SFTLSX、Y、M、Sn1、n2K、HDY、M、S1n2n110241位左移指令SFTL的说明 (1)S为移位的源操作数的最低位,D为被移位的目标操作数的最低位。n1为目标操作数个数,n2为源操作数个数。(2)位左移就是源操作数从目标操作数的低位移入n2位,目标操作数各位向高位方向移n2位,目标操作数中的高n2位溢出。源操作数各位状态不
35、变。(3)在指令的连续执行方式中,每一个扫描周期都会移位一次。在实际控制中,常采用脉冲执行方式。第67页/共90页位左移指令SFTL的应用示例梯形图如图5.53所示。图5.53 位左移指令SFTL示例梯形图图5.54 位左移指令SFTL示例过程第68页/共90页2位左移指令SFTL举例 【例题5.11】位左移指令SFTL的程序梯形图如图5.53所示。设Y17Y0的初始状态为0,X3X0的位状态为1011。求数次执行位左移指令SFTL后,Y17Y0各位状态的变化。表5.36例题5.11各位状态的变化 【解】Y17Y0各位状态的变化如表5.36所示。第一次执行左移指令SFTL后,(K4Y0)=H0
36、B,第二次执行左移指令SFTL后,(K4Y0)=H0BB,依次类推。第69页/共90页5.8.4 位右移指令SFTR表5.37SFTR指令循环左移指令操 作 数PFNC34SFTRSX、Y、M、Sn1、n2K、HDY、M、S1n2n110241位右移指令SFTR的说明 (1)S为移位的源操作数的最低位,D为被移位的目标操作数的最低位。n1为目标操作数个数,n2为源操作数个数。(2)位右移就是源操作数从目标操作数的高位移入n2位,目标操作数各位向低位方向移n2位,目标操作数中的低n2位溢出。源操作数各位状态不变。第70页/共90页位右移指令SFTR的应用示例梯形图如图5.55所示。图5.55 位
37、右移指令SFTR示例梯形图图5.56 位右移指令SFTR示例过程第71页/共90页 【例题5.12】位右移指令SFTR的程序梯形图如图5.55所示。设Y17Y0的初始状态为0,X3X0的位状态为1011。求数次执行位右移指令SFTR后,Y17Y0各位状态的变化。2位右移指令SFTR举例 【解】Y17Y0各位状态的变化如表5.38所示。在未执行位右移指令SFTR前,(K4Y0)=0,第一次执行左移指令SFTR后,(K4Y0)=H0B000,第二次执行左移指令SFTL后,(K4Y0)=H0BB00,依次类推。表5.38例题5.12各位状态的变化第72页/共90页 【例题5.13】某台设备有8台电动
38、机,为了减小电动机同时启动对电源的影响,利用位移指令实现间隔10s的顺序通电控制。按下停止按钮时,同时停止工作。【解】控制线路需要2个输入端口,8个输出端口。输入、输出端口的分配如表5.39所示。表5.39输入/输出端口分配表输 入输 出输入继电器输 入 元 件作 用输出继电器控 制 对 象X0SB1启动按钮Y7Y08个接触器X1SB2停止按钮第73页/共90页图5.57 例题5.13 程序梯形图第74页/共90页5.9 数码显示及应用 5.9.1 七段数码显示图5.58 七段数码管1七段数码管与显示代码第75页/共90页十进制数字七段显示电平十六进制显示代码二进制表示gfedcba 0 00
39、000111111H3F100010000110H06200101011011H5B300111001111H4F401001100110H66501011101101H6D601101111101H7D701110100111H27810001111111H7F910011101111H6F表5.40 十进制数字与七段显示电平和显示代码逻辑关系第76页/共90页2数码管应用举例 【例题5.14】设计一个用数码显示的5人智力竞赛抢答器。某参赛选手抢先按下自己的按钮时,则显示该选手的号码,同时联锁其他参赛选手的输入信号无效。主持人按复位按钮清除显示数码后,比赛继续进行。【解】控制线路如图5.59
40、所示。图5.59 智力竞赛抢答器控制线路图第77页/共90页图5.60 智力竞赛抢答器程序梯形图第78页/共90页表5.42SEGD指令5.9.2 七段编码指令SEGD七段编码指令操 作 数PFNC73SEGDSK、H、KnX、KnY、KnM、KnS、T、C、D、V、ZD KnY、KnM、KnS、T、C、D、V、Z七段编码指令SEGD的说明:(1)S为要编码的源操作组件,D为存储七段编码的目标操作数。(2)SEGD指令是对4位二进制数编码,如果源操作组件大于4位,只对最低4位编码。(3)SEGD指令的编码范围为十六进制数字09、AF。第79页/共90页SEGD指令的应用举例如图5.61所示。图
41、5.61 七段编码指令SEGD应用举例 当X0接通的那个周期,对数字5执行七段编码指令,并将编码H6D存入输出位组件K2Y0,即输出继电器Y7Y0的位状态为 0110 1101。当X1接通的那个周期,对(D0)=1执行七段编码指令,输出继电器Y7Y0的位状态为 0000 0110。第80页/共90页5.9.3 BCD码指令BCD18421BCD编码 例如,十进制数21的二进制形式是0001 0101,对高4位应用SEGD指令编码,则得到“1”的七段显示码;对低4位应用SEGD指令编码,则得到“5”的七段显示码,显示的数码“15”是十六进制数,而不是十进制数21。显然,要想显示“21”,就要先将
42、二进制数0001 0101转换成反映十进制进位关系(即逢十进一)的0010 0001,然后对高4位“2”和低4位“1”分别用SEGD指令编出七段显示码。这种用二进制形式反映十进制进位关系的代码称为BCD码,其中最常用的是8421BCD码。第81页/共90页表5.43十进制、十六进制、二进制与8421BCD码关系十 进 制 数十六进制数二 进 制 数8421BCD码000000000011000100012200100010330011001144010001005501010101660110011077011101118810001000991001100110A10100001 00001
43、1B10110001 000112C11000001 001013D11010001 001114E11100001 010015F11110001 0101第82页/共90页表5.43十进制、十六进制、二进制与8421BCD码关系16101 00000001 011017111 00010001 011120141 01000010 0000503211 00100101 000010064110 01000001 0000 0000150961001 01100001 0101 00002581021 0000 00100010 0101 1000 从表中可以看出,8421BCD码从低位起
44、每4位为一组,高位不足4位补0,每组表示1位十进制数。8421BCD码与二进制数的形式相同,但概念完全不同,虽然在一组8421BCD码中,每位的进位也是二进制,但在组与组之间的进位,8421BCD码则是十进制。第83页/共90页2BCD码转换指令BCD 要想正确地显示十进制数码,必须先用BCD转换指令将二进制形式的数据转换成8421BCD码,再利用SEGD指令编成七段显示码,最后输出控制数码管发光。表5.44BCD指令BCD码转换指令操 作 数DFNC18BCDSKnX、KnY、KnM、KnS、T、C、D、V、ZPD KnY、KnM、KnS、T、C、D、V、ZBCD转换指令的说明:(1)S为要
45、转换的源操作数,D为存储BCD编码的目标操作数。(2)BCD指令是将源操作数的数据转换成8421BCD码存入目标操作数中。在目标操作数中每4位表示1位十进制数,从低至高分别表示个位、十位、百位、千位。16位数据表示的范围为09 999,32位数据表示的范围为099 999 999。第84页/共90页 BCD指令的应用举例如图5.62所示。当X0接通时,先将K5028存入D0,然后将(D0)=5028编为BCD码存入输出位组件K4Y0,执行过程如图5.63所示。图5.62 BCD转换指令BCD应用举例图5.63 BCD转换指令BCD应用过程第85页/共90页5.9.4 多位数码显示 【例题5.15】某停车场最多可停50辆车,用两位数码管显示停车数量。用出入传感器检测进出车辆数,每进一辆车停车数量增1,每出一辆车减1。场内停车数量小于45时,入口处绿灯亮,允许入场;等于和大于45时,绿灯闪烁,提醒待进车辆注意将满场;等于50时,红灯亮,禁止车辆入场。【解】停车场PLC控制线路图如图5.64所示。图5.64 停车场控制线路图第86页/共90页图5.65 停车场PLC程序梯形图第87页/共90页停车场输入、输出器件位置示意图如图5.66所示。图5.66 停车场输入/输出设备位置示意图第88页/共90页THE END 第89页/共90页感谢您的欣赏!第90页/共90页
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。