本科获奖毕业论文-基于cpld的可控硅中频电源内容摘要:

行。 STOP 指令在梯形图中以线圈形式编程,指令不含操作数。 因程序中使用不多,这里不再做介绍。 3. 跳转指令 JMP 跳转指令 JMP( Jump to Lable):当输入端有效时,使程序跳转到标号处执行。 标号指令 LBL( Lable):指令跳转的目标标号。 操作数 n 为 0255。 4. 子程序建立与调用指令 建立子程序 建立子程序是通过编程软件来完成的。 可用编程软件 “编辑 ”菜单中的 “插入 ”选项,选择 “子程序 ”。 以建立或插入一个新的子程序,同时,在指令窗口可以看到新建的子程序图标,默认的程序名为 SBRN,编号 N 从 0 开始按递增顺序生成,也可在图标上直接更改子程序的程序名。 在指令窗口双击子程序的窗口就可进入子程序,并队它进行编辑。 子程序调用 子程序调用指令 CALL。 子程序调用可以带参数也可以不带参数。 子程序返回指令 CRET。 表 子程序调用指令格式 5. ENO 指令 子程序调用指令 子程序条 件返回指令 LAD (ret) STL CALL SBR0 CRET SBR0 湖北汽车工业学院 本科 毕业设计(论文) 9 ENO 是 LAD 中指令盒的布尔能流输出端。 如果指令盒的能流输入有效,则执行没有错误, ENO 就置位,并将能流向下传递。 ENO 可以作为允许位表示指令成功执行。 STL 指令没有 EN 输入,但对要执行的指令,其栈顶值唯一。 可用 “与 ”ENO( AENO)指令来产生和指令盒中 ENO 位相同的功能。 AENO 指令无操作数,且只 STL 中使用,它将栈顶值和 ENO 位的逻辑与运算,运算结果保存到栈顶。 对循环指令,看门狗指令在这里不再赘述。 功能指令: S7200 系列可编程序控制器的功能包括以下几个方面: 传送、位移及填充指令;算术运算与逻辑运算;数据转换指令;比较指令;计数器指令;定时器指令。 1. 传送、位移及填充指令 此类指令主要涉及对数据的非数据值运算,主要包括传送、位移、字节交换,循环移位和填充。 因本设计中没有用到位移、循环移位指令,这里不在做详细说明。 现对传送和填充指令加以说明。 传送指令用来完成各存储单元进行一个或多个数据传送。 可分为单一传送指令和块传送。 这里只对单一传送指令作介绍。 MOVB( Move Byte)字节传送指令。 指令格式: LAD。 如图 所示。 STL: MOVB IN OUT 功能描述:使能输入有效时,把 一个单字节数据有 IN 传送到 OUT 所指的字节存储单元。 数据类型:输入输出均为字节 图 其它传送指令,如传送字节立即读( MOVBIR)传送字节立即写( MOVBIW)指令、字传送( MOVW)双字传送( MOVD)指令、实数传送指令( MOVR)其格 式与字节传送指令差不多,不在一一赘述。 填充指令 指令格式: LAD 如图 所示。 STL: IN, OUT, N MOVB EN ENO 湖北汽车工业学院 本科 毕业设计(论文) 10 功能描述: 填充指令( FILL)用输 入值( IN)填充从输出( OUT)开始的 N 个字的内容。 N 可取 1~255 之间的整 数。 2. 运算和数学指令 图 对算术运算指令来说,在使用时要注意存储单元的分配。 在用 LAD 编程时, OUT和 IN2 可以使用不一样的存储单元,但若把 LAD 转化 STL 时,编程软件会 做相应处理。 具体执行过程如下: 表 LAD 转化为 STL 在 LAD 中 在 STL 中 IN1+IN2=OUT IN1IN2=OUT IN1*IN2=OUT IN1/IN2=OUT IN+1=OUT IN1=OUT IN1+OUT=OUT OUTIN1=OUT IN1*OUT=OUT OUT/IN1=OUT OUT+1=OUT OUT1=OUT 本设计在编程过程中,大量使用了加法指令、减法指令、乘法指令、除法指令,现对它们加以解释。 ( 1)加法指令 加法指令是对有符号数进行相加操作。 加法指令包 括整数加法 ADDI( Add Integer),双整数加法 ADD( Add Double Integer),实数加法 ADDR( Add Real)指令,现以整数加法指令说明其用法。 指令格式: LAD 如 图 所示。 STL: +I IN1, OUT 功能描述:使能输入有效时, 将两个单字节长 16 位的符号整数 IN1 图 和 IN2 相加,产生一个 16 位整数 FILLN EN ENO IN OUT N ADDI EN ENO IN1 IN2 OUT 湖北汽车工业学院 本科 毕业设计(论文) 11 结果 OUT。 其它加法指令与此基本类似。 ( 2) 减法指令 减法指令是对有符号数进行相减操作。 它包括:整数减法,双整 数减法和实数减法。 这三种减法指令与所对应的加法指令除运算法则不同外,其他方面基本相同。 现以 SUBI( Subtract Integer)整数减法和实数减法为例加以说明。 指令格式: LAD 如图 所示。 STL: I IN1, OUT 功能描述:使能输入有效时, 将两个单字长的符号整数 IN2 和 IN1 相减,产生一个 16 位 整数结果 OUT。 数据类型:输入输出均为 INT。 ( 3)乘法指令 图 乘法指令是对有符号数进行相乘运算。 它包 括:整数乘法 MULDL( Multiple Integer),完全整数乘法 MUL( Multiple),双整数乘法( Multiple Double Integer)。 现以整数乘法为例加以说明。 指令格式: LAD 如图 所示。 STL: *I IN1, OUT 功能描述: EN 有效时,将两个单 字长( 16 位)的整数 IN1 和 IN2 相乘, 产生一个 16 位整数结果 OUT,运算结 图 果在大于 16 位二进制表示的范围时溢出。 双整数和整数一样要溢出。 而完 全整数乘法是将两个双字长符 号整数相乘产生。 一个 32 位双整数,结果不会溢出。 实数乘法是将两个双字长的实数 IN1 和 IN2 相乘,产生一个 32 实数结果 OUT。 结果如果大于 32 位二进制表示的范围,则产生溢出。 溢出及输入非法参数,或运算中产生非法值,都会使特殊标志 置位。 ( 4)除法指令 除法指令是对有符号数进行相除操作。 它包括:整数除法 DIVI,完全整数除法DIV,双整数除法 DIVDI 和实数除法。 下面整数除法为例说明: SUBI EN ENO IN1 IN2 OUT MULI EN ENO IN1 IN2 OUT 湖北汽车工业学院 本科 毕业设计(论文) 12 指令格式: LAD 如图 所示: STL : /I IN1, OUT 功能描述:在整数除法中, 两个 16 位的符号整数相除,产生一个 16 位的整数商,不保留余数。 双整数、 实数除法也是同样的过程,只是位 图 数变为 32 位。 在完全整数除法中,两个 16 位相除,产生一个 32 位结果,其中,低 16位为商,高 16 位为余数。 当然 S7200 还提供了的其它数学功能指令,如数学函数指令、增减指令、逻辑运算指令,表功能指令,中断指令在本设计中用的不多,这里不在一一赘述。 3.转换指令 转换指令是对操作数的类型进行转换,包括数据类型转换,码的类型转换以及数据和码之间的类型转换。 本设计中用到了整数到双整数的转换,只对其加以说明,其它不作解释。 IID( Integer to Double Integer)整数到双整数。 指令格式: LAD 如图 所示。 STL: ITD IN, OUT 功能描述:使能端有效时,将 整数输入数据 IN 转换成双整数类型 (符号进行扩展),并将结果送到 OUT 输出。 图 至于 S7200 提供的其它数学功能指令,如数学函数指令、增减指令、逻辑运算指令,表功能指令,中断指令在本设计中用的不多,这里不在一一赘述。 4. 比较指令 比较指令用于比较两个数值或者两个字符串。 现以数值比较指令说明其 用法。 IN1=IN2 IN1﹥ =IN2 IN1﹤ =IN2 IN1﹥ IN2 IN1﹤ IN2 IN1﹤﹥ IN2 数值比较中,字节比较操作是无符号的,整数比较、双整数比较、实数比较操作是有符号的。 IID EN ENO IN OUT DIVI EN ENO IN1 OUT IN2 湖北汽车工业学院 本科 毕业设计(论文) 13 指令格式: LAD 如图 所示。 STL: LDB= IN1, IN2 功能描述:当两个数值进行比较,结果 为真时比较指令使能点闭合。 5.定时器指令 图 定时器指令包括接通延时定时器、有记忆的接通延时定时器、断开延时定时器。 现以接通延时定时器为例加以说明。 指令格式: LAD 如图 所示。 Txx STL: TON Txx, PT 图 功能描述:当使能输入接通时,接通延时定时器开始记时,当定时器的当前值( Txxx)大于等于预设值时,该定时器置位。 主要用于单一间隔的定时。 我们还用到了一些其他的重要的 PLC 指令,由于在程 序中用得较少,在这里我就不再一一说明了。 EQ EN IN1 OUT IN2 IN TON PT 湖北汽车工业学院 本科 毕业设计(论文) 14 第三章 方案的选择 选择 CPLD 设计的优越性 本设计之所以要采用 CPLD 来设计,主要是考虑到 CPLD 是有许多优越性的。 同时,采用 PLC 的设计来控制,已经不能适应发展的要。 要使用 CPLD 首先要了解 CPLD 的结构和功能。 CPLD 即 Complex Programmable Logic Device 复杂可编程逻辑器件。 早期 CPLD 是从 GAL 的结构扩展而来,但针对 GAL 的缺点进行了改进,如 Lattice 的 ispLSI1032 器件。 在流行的 CPLD 中 Altera 的 MAX7000S 系列器件具有一定典型性,这里以此为例介绍 CPLD 的结构和工作原理。 MAX7000 包含 256 个宏单元,每 16 个宏单元组成一个逻辑阵列块( Logic Array Block, LAB)。 每个宏单元喊有一个可编程的 “与 ”阵列和固定的 “或 ”阵列,以及一个可配置寄存器。 每个宏单元提供多达 32 个乘机项,以构成复杂的逻辑函数。 MAX7000 结构中包含有五个主要部分,即:逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列、 I/O 控制块。 以下分别介 绍: ( 1)逻辑阵列块( LAB) 一个 LAB 由 16 个宏单元的阵列组成。 MAX7000 结构主要是由多个 LAB 组成的阵列以及他们之间的连线构成。 多个 LAB 通过可编程连线阵( PIA, Programmable Interconnect Array)和全局总线连接在一起,全局总线从所有的专用输入、 I/O 引脚和宏单元馈入信号。 对于每个 LAB 有下列信号: PIA 的 36 个信号。 ,用于积存器辅助功能。 I/O 引脚到寄存器的直接输入通道。 ( 2)宏单元 MAX7000 宏 单元由三个功能块组成:逻辑阵列、乘机项选择矩阵和可编程寄存器,它们可以。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。