第九课题 使用功能指令完成
带时间显示的交通灯的程序设计与实现
一、实训设计题:带时间显示的交通灯电路的控制
__ 1.要求学生按下面要求完成实训设计题:
学生设计下面交通灯程序时,要使用数码管将每盏灯变化的时间显示出来。控制要求如下表9-1:
表9-1 交通灯控制的要求表
2.程序设计时,按下列步骤进行
(1)程序的I/O分配;
(2)程序的梯形图;
(3)程序的指令;
(4)PLC的外部接线图;
(5)程序调试过程。
二、实训目的
___ 通过相关内容的讲解和学生的练习,使学生了解功能指令的组成,学会常用功能指令的使用方法,并能使用相关功能指令编写程序。
三、讲授内容的相关知识点
<一>功能指令及使用要素
1.功能指令的表示方法
FX系列可编程序控制器采用计算机通用的助记符形式来表示功能指令。一般用指令的英文名称或缩写作为助记符,例如图9-1中的指令助记符MEAN用来表示取平均值的指令。有的功能指令只需要指定功能号,大多数功能指令在指定功能号的同时还需要指定操作元件。操作元件由1到4个操柞数组成,图9-1中的[S]表示源(Source)操作数,[D]表示目标(Destnation)操作数。如果可以使用变址功能.则表示为[S·]和[D·]。源或目标不止一个,可表示为[S1·]、[D1·]、[S2·]、[D2·]等表示。用m或n表示其他操作数时,它们常用来表示常数,或作为源操作数和目_________ 图9-1 功能指令
标操作数的补充说明。需注释的项目较多,可以采用m1,m2等方式。____________________________________
功能指令的功能号和指令助记符占一个程序步,16位操作与32位操作的每一个操作数分别占2个和4个程序步。
2.数据长度与指令类型
(1) 数据长度
图9-1中助记符MOV之前的“(D)”表示处理32位(32bit)数据,这时相邻的两元件组成元件对,该指令将D11、D10中的数据传送到D13、D12。处理32位数据时,为了避免出现错误,建议使用首地址为偶数的操作数。没有“(D)”时表示处理16位数据。
(2) 脉冲执行与连续执行
图7-1中MOV后面的“(P)”表示脉冲执行,即仅在X1由OFF(“0”状态)→ON(“1” 状态)时执行一次。如果没有“(P)”,在XI为ON的每一扫描周期指令都要被执行,称为连续执行。某些指令(如INC(加1)、DEC(减l)和XCH(数据交慎)指令)一般应使用脉冲执行。如果不需要每个周期都执行指令,使用脉冲方式可缩短处理时间。符号“(P)”和“(D)”可同时使用。
3.位元件
(1)位元件和字元件
只有ON/OFF状态的元件称为位(bit)元件。例如X、Y、M和S。处理数据的元件称为字元件。例如定时器和计数器的当前值T,C和数局寄存器D等,一个数由l6位二进制数组成,位元件也可以组成字元件来进行数据处理。
(2)位元件的组合
每相邻的4bit位元件组合成一个单元,它由Kn加首位元件号来表示,其中的n为组数,16位操作数时 n=1~4,32位操作数时 n= l~8。例如K2M0表示由M0~M7组成的两个位元件组,M0为数据的最低位(首位);K4S10表示由S10~S25组成的16位数据,S10为最低位。当16位数据传送到n=1~3的位元件组时,只传送低位的相应数据;当32位数据传送到n=1~7的位元件组时,也是一样的。被组合的位元件的首位元件号可以是任意的,但是为了避免混乱,建议采用以0结尾的元件,如X0、X10、X20等。
作16位数操作时,参与操作的位元件由K1~K4指定。若仅由Kl~K3指定,高位的不足部分均作0处理,这意味着只能处理正数(最高位为符号位,正数的符号位为0),在32位数处理时也有类似的情况。
(3) 变址寄存器V、Z
在传送、比较指令中,变址寄存器V,Z用来修改操作对象的元件号,循环程序中常使用变址寄存器。[S·]和[D·]表示有变址功能。对32位指令,V为高I6位、Z为低16位。32位指令中使用变址指令只需指定 Z,这时Z就能代表 V和Z。在32位指令中,V、Z自动组对使用。
图7.2中的各触点接通时,常数10送到V0,常数20送到Z1,ADD指令完成运算(D5V0)+(D15Z1)~(D40Zl),即(D15)+(D35)→(D60)。