项目5 步进电机控制系统.docx

上传人:b****7 文档编号:8808329 上传时间:2023-02-01 格式:DOCX 页数:41 大小:631.04KB
下载 相关 举报
项目5 步进电机控制系统.docx_第1页
第1页 / 共41页
项目5 步进电机控制系统.docx_第2页
第2页 / 共41页
项目5 步进电机控制系统.docx_第3页
第3页 / 共41页
项目5 步进电机控制系统.docx_第4页
第4页 / 共41页
项目5 步进电机控制系统.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

项目5 步进电机控制系统.docx

《项目5 步进电机控制系统.docx》由会员分享,可在线阅读,更多相关《项目5 步进电机控制系统.docx(41页珍藏版)》请在冰豆网上搜索。

项目5 步进电机控制系统.docx

项目5步进电机控制系统

项目5:

步进电机控制系统

【学习目标】

1.掌握PLC处理的数据的形式。

2.掌握PLC功能指令的作用、表示形式。

3.会分析功能指令编写的程序。

4.掌握利用传送、比较、移位、跳转等常用功能指令进行程序设计的方法和技能。

【任务描述】

步进电机控制要求如下:

步进电机的控制方式是采用四项双四拍的控制方式,每步旋转150,每周走24步。

电机正转时的供电时序是:

DCCBBAAD

电机反转时供电时序是:

ABBCCDDA

【相关知识点】

一.算术与逻辑运算指令

算术运算指令包括加、减、乘、除运算和常用的数学函数变换;逻辑运算指令包括逻辑与、或和取反等。

1.算术运算指令

(一)加/减运算

加/减运算指令是对符号数的加/减、双整数加/减运算和实数加/减运算。

(1)加/减运算指令格式

加/减运算6种指令的梯形图指令格式如表5-1所示。

表5-1加/减运算指令格式

LAD

功能

 

IN1+IN2=OUT

 

IN1-IN2=OUT

梯形图加/减运算指令采用指令盒格式,指令盒由指令类型,使能端EN,操作数(IN1、IN2)输入端,运算结果输出OUT,逻辑结果输出端ENO等组成。

(2)指令类型和运算关系

①整数加/减运算(ADDI/SUBI)使能EN输入有效时,将两个单字长(16位)符号整数(IN1和IN2)相加/减,然后将运算结果送OUT指定的存储器单元输出。

②双整数加/减运算(ADDDI/SUBDI)使能EN输入有效时,将两个双字长(32位)符号证书(IN1和IN2)加/减,运算结果送OUT指定的存储器单元输出。

③实数加/减运算(ADDR/SUBR)使能EN输入有效时,将两个双字长(32位)符号数IN1和IN2相加/减,运算结果送OUT指定的存储器单元输出。

(3)加/减运算IN1、IN2、OUT操作数的数据类型:

INT、DINT、REAL。

(4)对标志位的影响

加/减运算指令影响特殊标志的算术状态位SM1.0~SM1.2,并建立指令盒能量流输出ENO.

算术状态位(特殊标志位)SM1.0(零),SM1.1(溢出),SM1.2(负)

SM1.1用来指示溢出错误和非法值。

如果SM1.0和SM1.2的状态无效,原始操作数不变。

如果SM1.1不置位,SM1.0和SM1.2的状态反映算术运算的结果。

ENO(能量流输出位),当输入使能EN有效,运算结果无效时,ENO=1,否则ENO=0(出错或无效)。

使能流输出ENO断开的出错条件:

SM1.1=1(溢出),0006(间接寻址错误),SM4.3(运行时间)。

(5)加法运算应用举例

【例1】求2000加100的和,2000在数据存储器VW100中,结果存入VW200。

图5-1例1题图

(二)乘/除运算

乘/除运算是对符号数的乘法运算和除法运算。

包括有整数乘/除运算,双整数乘/除运算,整数乘/除双整数输出运算和乘/除运算等。

(1)乘/除运算指令格式

表5-2乘/除运算指令格式

LAD

功能

乘法运算

 

除法运算

乘/除运算指令采用同加减运算类似的指令盒格式。

指令分为MULI/DIVI整数乘/除运算,MULDI/DIVDI双整数乘/除运算,MUL/DIV整数乘/除双整数输出,MULR/DIVR实数乘/除运算等8种类型。

LAD指令执行的结果:

乘法IN1*IN2=OUT

除法IN1/IN2=OUT

(2)指令功能分析

①整数乘/除法指令(MULI/DIVI)

使能EN输入有效时,将两个单字长(16位)符号整数IN1和IN2相乘/除,产生一个双字节长(16位)整数结果,从OUT(积/商)指定的存储器单元输出。

②双整数乘/除法指令有效时,将两个双字长(32位)符号整数IN1和IN2相乘/除,产生一个双字长(32位)整数结果,从OUT(积/商)指定的存储器单元输出。

③整数乘/除双整数输出指令(MUL/DIV)

使能输入EN有效时,将两个单字长(16位)符号整数IN1和IN2相乘/除,产生一个双字长(32位)整数结果,从OUT(积/商)指定的存储器单元输出。

整数除法产生的32位结果中低16位是商,高16位是余数。

④实数乘/除法指令(MULR/DIVR)

使能输入EN有效时,将两个双字节(32位)符号实数IN1和IN2相乘/除,产生一个双字长(32位)实数结果,从OUT(积/商)指定的存储器单元输出。

(3)操作数寻址范围

IN1、IN2、OUT操作数的数据类型根据乘/除法运算指令功能分为INT/(WORD)、DINT、REAL。

(4)乘/除运算对标志位的影响

①乘/除运算指令的结果影响算术状态位(特殊标志位):

SM1.0(零),SM1.1(溢出),SM1.2(负),SM1.3(被0除)。

乘法运算过程中SM1.1(溢出)被置位,就不写输出,并且所有其他的算术状态为0。

(整数乘法产生双整数指令输出不会产生溢出)。

②使能流输出ENO=0断开的出错条件是:

SM1.1(溢出),SM4.3(运行时间),0006(间接寻址错误)。

(5)乘/除运算应用举例

【例2】乘/除法指令的应用,程序如图5-2所示。

图5-2例2题图

2.数学函数变换指令

数学函数变换指令包括平方根、自然对数、指数、三角函数等几个常用的函数指令。

(一)平方根/自然对数/指数指令

平方根/自然对数/指数指令格式及功能表5-3。

表5-3平方根/自然对数/指数指令格式

LAD

STL

功能

SQRTIN,OUT

求平方根指令

SQRT(IN)=OUT

LNIN,OUT

求(IN)的自然对数指令

LN(IN)=OUT

EXPIN,OUT

求的指数指令

EXP(IN)=OUT

(1)平方根指令(SQRT)

平方根指令是把一个双字长(32位)的实数开方,得到32位得实数运算结果,通过OUT指定的存储器单元输出。

(2)自然对数(LN)

自然对数指令将输入的一个双字长(32位)实数的值取自然对数,得到32位的实数运算结果,通过OUT指定的存储器单元输出。

当求解以10为底的常用对数时,用实数除法指令将自然对数除以2.302585即可。

(LN10≈2.302585)

【例3】求以10为底,150的常用对数,150存于VD100,结果放到AC1(应用对数的换底公式求解lg

150=ln150/ln10)。

如图5-3所示。

(3)指数指令(EXP)

指数指令将一个双字长(32位)实数IN的值取以e为底的指数,得到32位的实数运算结果,通过OUT指定的存储器单元输出。

该指令可与自然对数指令想配合,完成以任意数为底,任意数为指数的计算。

可以利用指数函数求解任意函数的x次方(yx=exlny)。

例如:

7的4次方=EXP[4*LN(7)]=2401

8的3次方根=81/3=EXP[LN(8)*(1/3)]=2

图5-3例3题图

(二)三角函数

三角函数运算指令包括正弦(SIN)、余弦(COS)和正切(TAN)指令。

三角函数指令运行时把一个双字长(32位)的实数弧度值IN分别取正弦、余弦、正切,得到32位的实数运算结果,通过OUT指定存储器单元输出。

三角函数运算指令格式见表5-4。

表5-4三角函数运算指令格式

LAD

STL

功能

SININ,OUT

COSIN,OUT

TANIN,OUT

SIN(IN)=OUT

COS(IN)=OUT

TAN(IN)=OUT

【例4】求65゜的正切值。

图5-4例4题图

(三)数学函数变换指令对标志位的影响及操作数的寻址范围

(1)平方根、自然对数、指数、三角函数运算指令执行的结果影响特殊存储器位:

SM1.0(零),SM1.1(溢出),SM1.2(负),SM1.3(被0除)。

(2)能流输出ENO=0的错误条件是:

SM1.1(溢出),SM4.3(运行时间),0006(间接寻址错误)

(3)IN、OUT操作数的数据类型为REAL。

3.增1/减1计数

增1/减1计数器用于自增、自减操作,以实现累加计数和循环控制的等程序的编制。

梯形图为指令盒格式,增1/减1指令操作数长度可以是字节(无符号数)、字或双字(有符号数)。

指令格式见表5-5。

表5-5增1/减1计数指令格式

LAD

功能

字节、字、双字增1

字节、字、双字减1

IN1+1=OUT

IN1-1=OUT

(一)字节增1/减1(INCB/DECB)

字节增1指令/减1指令(INCB/DECB)用于使能输入有效时,把一个字节的无符号输入数IN加1/减1,得到一个字节的运算结果,通过OUT指定的存储器单元输出。

(二)字增1/减1(INCW/DECW)

字增1(INCW)/减1(DECW)指令,用于使能输入有效时,将单字长符号输入数IN端加1/减1,得到一个字的运算结果,通过OUT指定的存储器单元输出。

(三)双字节增1/减1(INCDW/DECDW)

双字增1/减1(INCDW/DECDW)指令用于使能输入有效时,将双字长符号输入数IN加1/减1,得到双字的运算结果,通过OUT指定的存储器单元输出。

IN、OUT操作的数据类型为DINT。

4.逻辑运算指令

逻辑运算是对无符号数进行的逻辑处理,包括逻辑与、逻辑或、逻辑异或和取反等运算指令。

按操作数长度可分为字节、字和双字逻辑运算。

IN1、IN2、OUT操作数的数据类型:

B、W、DW。

下面以字节操作逻辑运算指令格式为例讲解,其他的字和双字同字节相似,见表5-6。

表5-6逻辑运算指令格式

LAD

功能

与、或、异或、取反

(一)逻辑与指令(WAND)

逻辑与操作指令包括字节(B)、字(W)、双字(DW)等3种数据长度的与操作指令。

逻辑与指令功能:

使能输入有效时,把两个字节(字、双字)长的逻辑输入数按位相与,得到的一个字节(字、双字)逻辑运算结果,送到OUT指定的存储器单元输出。

(二)逻辑或指令(WOR)

逻辑或操作指令包括字节(B)、字(W)、双字(DW)等3种数据长度的与操作指令。

逻辑或指令功能:

使能输入有效时,把两个字节(字、双字)长的逻辑输入数按位相或,得到的一个字节(字、双字)逻辑运算结果,送到OUT指定的存储器单元输出。

(三)逻辑异或指令(WXOR)

逻辑异或操作指令包括字节(B)、字(W)、双字(DW)等3种数据长度的与操作指令。

逻辑异或指令功能:

使能输入有效时,把两个字节(字、双字)长的逻辑输入数按位相与,得到的一个字节(字、双字)逻辑运算结果,送到OUT指定的存储器单元输出。

(四)取反指令(INV)

取反指令包括字节(B)、字(W)、双字(DW)等3种数据长度的取反操作指令。

取反指令功能:

使能输入有效时,将一个字节(字、双字)长的逻辑数按位取反,得到的一个字节(字、双字)逻辑运算结果,送到OUT指定的单元输出。

【例5】字或、双字异或、字求反、字节与操作编程举例。

图5-5例5题图

二.数据处理指令

数据处理指令是可以进行复杂的数据处理和实现特殊用处的指令,包括数据的传送、交换、填充和移位指令等。

1.数据传送

数据传送的指令有字节、字、双字和实数的单个传送指令,还有以字节、字、双字为单位的数据块的成组传送指令,用来实现各存储器单元之间数据的传送和复制。

(一)单个数据传送

单个传送指令一次完成一个字节、字或双字的传送。

指令格式参见表5-7。

表5-7数据传送格式

LAD

STL

功能

MOVIN,OUT

IN=

OUT

功能:

使能流输入EN有效时,把一个输入IN单字节无符号数、单字长或双字长符号数送到OUT指定的存储器单元输出。

数据类型分别为B、W、DW。

使能流输出ENO=0断开的出错条件是:

SM4.3(运行时间),0006(间接寻址错误)。

(二)数据块传送

数据块传送指令一次可完成N个数据的成组传送。

指令类型有字节、字或双字等3种。

指令格式参见表5-8。

表5-8数据块传送指令格式

LAD

功能

字节、字和双字块传送

功能:

(1)字节的数据块传送指令,使能输入EN有效时,把从输入IN个字节数据传送到以输出字节OUT开始的N个字节中。

(2)字的数据块传送指令,使能输入EN有效时,把从输入IN字开始的N个字的数据传送到以输出字OUT开始的N个字的存储区中。

(3)双字节的数据块传送指令,使能输入EN的有效时,把从输入IN双字节开始的N个双字节的数据传送到以输出双字节OUT开始的N个双字节的存储区中。

(三)传送指令的数据类型和断开条件

IN,OUT操作数的数据类型分别为B、W、DW;N(BYTE)的数据范围0~255;IN、OUT操作数地寻址范围见S7-200系统手册。

使能流输出ENO=0断开的出错条件是:

SM4.3(运行时间),0006(间接寻址错误),0091(操作数超界)。

【例6】将变量存储器VW100中内容送到VW200中。

图5-6例6题图

2.字节变换/填充指令

字节变换/填充指令格式见表5-9。

表5-9字节变换/填充指令格式

LAD

STL

功能

SWAPIN

FILLIN,OUT,N

字节交换

字填充

(一)字节变换指令(SWAP)

字节变换指令用来实现字的高、低字节内容交换的功能。

使能输入EN有效时,将输入IN的高、低字节交换的结果输出到OUT指定的存储器单元。

IN、OUT操作数的数据类型为INT(WORD)。

使能流输出ENO=0断开的出错条件是:

SM4.3(运行时间),0006(间接寻址错误)。

(二)字节填充指令(FILL)

使能输入EN有效时,用字输入数据IN填充从输出OUT指定单元开始的N个字节存储单元。

N(BYTE)的数据范围0~255。

IN、OUT操作数的数据类型为INT(WORD)。

使能流输出ENO=0断开的出错条件是:

SM4.3(运行时间),0006(间接寻址错误),0091(操作数超界)。

【例7】将从VW100开始的256个字节(128个字)存储单元清零。

图5-7例7题图

3.移位指令

移位指令是使字节数据、位组合的字数据向指定方向循环、移位的指令,分为左、右移位和循环左、右移位及寄存器移位指令三大类。

移位指令最大移位位数N≤数据类型(B、W、DW)对应的位数,移位位数(次数)N为字节型数据。

(一)左、右移位指令

左、右移位指令数据存储单元与SM1.1(溢出)端相连,移出位被放到特殊标志存储器SM1.1位。

移位数据存储单元的另一端补0。

移位指令格式见表5-10。

表5-10移位指令格式

LAD

功能

字节、字、双字左移

 

字节、字、双字右移

(1)左移位指令(SHL)

使能输入有效时,将输入的字节、字或双字IN左移N位后(右端补0),将结果输出到OUT所指定的存储单元中,最后一次移出位保存在SM1.1。

(2)右移位指令(SHR)

使能输入有效时,将输入的字节、字或双字IN左移N位后,将结果输出到OUT所指定的存储单元中,最后一次移出位保存在SM1.1。

(二)循环左、右移位

循环移位是将移位数据存储单元的首尾相连,同时又与溢出标志SM1.1连接,SM1.1用来存放被移出的位。

指令格式见表5-11。

(1)循环左移位指令(ROL)

使能输入有效时,字节、字或双字IN数据循环左移N个位后,将结果输出到OUT所指定的存储单元中,并将最后一次移出位送SM1.1。

(2)循环右移位指令(ROR)

使能输入有效时,字节、字或双字IN数据循环右移N个位后,将结果输出到OUT所指定的存储单元中,并将最后一次移出位送SM1.1。

表5-11循环移位指令格式

LAD

功能

字节、字、双字循环左移位

字节、字、双字循环右移位

(三)左右移位、循环移位指令对标志位、ENO的影响及操作数的寻址范围

移位指令影响的特殊存储器位:

SM1.0(零);SM1.1(溢出)。

如果移位操作使数据变为0,则SM1.0置位。

使能流输出ENO=0断开的出错条件是:

SM4.3(运行时间),0006(间接寻址错误)。

N、IN、OUT操作数的数据类型为B、W、DW。

【例8】将VD0右移2位送AC0。

图5-8例8题图

4.寄存器移位指令

寄存器移位指令是一个移位长度可指定的移位指令。

寄存器移位指令格式见表5-12。

表5-12寄存器移位指令格式

LAD

STL

功能

SHRBDATA,S_BIT,N

寄存器移位

梯形图中DATA为数值输入,指令执行时将该位的值移入寄存器。

S-BIT为寄存器的最低位。

N个移位寄存器的长度(1~64),N个正值时左移位(由低位到高位),DATA值从S-BIT位移入,移出位进入SM1.1,N为负值时右移位(由高位到低位),S-BIT移出到SM1.1,另一端补充DATA移入位的值。

每次使能有效时,整个移位寄存器移动一位,最高位的计算方法:

﹝N的绝对值-1+(S-BIT的位号)﹞/8,余数即是最高位的位号,商与S-BIT字节号之和即是最高位的字节号。

如:

 

经计算它的最高位的值应该为:

M2.1。

使能流输出ENO=0断开的出错条件是:

SM4.3(运行时间),0006(间接寻址错误),0091(操作数超界),0092(计数区错误)。

三.程序控制类指令

程序控制类指令用于程序运行状态的控制,主要包括系统控制、跳转、循环、子程序调用、顺序控制等指令。

1.系统控制类指令

系统控制类指令主要包括暂停、结束、看门狗等指令,指令格式见表5-13。

表5-13系统控制类指令

LAD

STL

功能

STOP

暂停指令

END/MEND

条件/无条件结束指令

WDR

看门狗指令

(一)暂停指令(STOP)

使能输入有效时,立即终止程序的执行。

指令执行的结果使CPU工作方式由RUN切换到STOP方式。

在中断程序中执行STOP指令,该中断立即终止,并且忽略所有挂起的中断,继续扫描程序的剩余部分,在本次扫描的最后,将CPU由RUN切换到STOP。

(二)结束指令(END/MEND)

梯形图结束指令不连在左侧母线时,为条件结束指令(END)。

直接连在左侧电源母线时,为无条件结束指令(MEND)。

条件结束指令在使能输入有效时,终止用户程序的执行返回主程序的第一条指令指行(循环扫描工作方式)。

无条件结束指令执行时(指令直接连在左侧母线,无使能输入),立即终止用户程序的执行,返回主程序的第一条指令执行。

注意:

结束指令只能在主程序中使用,不能在子程序和中断服务程序中使用。

(三)看门狗复位指令(WDR)

当使能输入有效时,将看门狗定时器复位。

若使能输入无效,看门狗定时时间到,程序将中止当前指令的执行,重新启动,返回到第一条指令重新执行。

若程序扫描周期超过300ms,最好使用看门狗复位指令,重新触发看门狗定时器,可以增加一次扫描时间。

注意:

使用WDR指令时,要防止过度延迟扫描完成时间,否则,在终止本扫描之前,下列操作过程将被禁止(不予执行):

通信(自由端口方式除外)、I/0更新(立即I/0除外)、强制更新、SM更新(SM0,SM5~SM29不能被更新)、运行时间诊断、中断程序中的STOP指令。

扫描时间超过25s,10ms和100ms定时器将不能正确计时。

【例9】暂停、结束、看门狗指令应用程序。

图5-9例9图

2.跳转指令

跳转指令的指令格式见表5-14。

表5-14跳转指令格式

LAD

STL

功能

JMPn

LBLn

跳转指令

跳转标号

跳转指令(JMP)和跳转地址标号指令(LBL)配合实现程序的跳转。

使能输入有效时,使程序跳转到指定标号n处执行(在同一程序内),跳转标号n=0~255。

使能输入无效时,程序顺序执行。

【例10】跳转指令应用程序。

图5-10例10图

指令说明:

1.跳转指令和标号指令只能在同一程序块中,如主程序、同一个子程序和同一个中断程序。

不能在不同的程序块中互相跳转。

2.在执行跳转指令后,被跳过程序段中的各元器件状态如下:

(1)计数器停止工作,当前值存储器保持跳转前的计数值。

(2)定时器因刷新方式不同而工作状态不同。

分辨率为1ms和10ms的定时器会一直保持跳转前的工作状态,原来工作的继续工作,到设定值之后其位的状态也会改变,输出触点动作,当前值存储器一直累计到最大值32767才停止。

分辨率为100ms的定时器,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,如输入条件允许,可继续计时,但已失去准确计时的意义。

所以跳转程序段里定时器慎用。

3.循环指令

循环指令用于描述一段程序的重复循环执行。

由FOR和NEXT指令构成程序的循环体。

循环指令的指令格式见表5-15。

表5-15循环指令的指令格式

LAD

STL

功能

FORIN1,IN2,IN3

NEXT

 

循环开始

循环结束

FOR指令标记循环的开始,NEXT指令为循环体的结束指令。

FOR指令为指令盒形式,主要参数有使能输入EN,当前值计数器INDX,循环次数初始值INIT,循环计数终止FINAL。

当使能输入EN有效,循环体开始执行,执行到NEXT指令时返回,每执行一次循环体,当前计数器INDX增1,达到终值FINAL时,循环结束。

【例11】循环指令应用程序。

图5-11例11图

使用说明:

(1)FOR/NEXT指令必须成对出现。

(2)FOR/NEXT可以循环嵌套,嵌套最多为8层,但各个嵌套之间不可有交叉现象。

(3)每次使能输入(EN)重新有效时,各个参数端将自动复位。

(4)当初值大于终值时,循环体不被执行。

4.子程序调用指令

通常将具有特定功能、并且多次使用的程序段作为子程序。

子程序可以多次被调用,也可以嵌套(最多8层),还可以递归调用(自己调自己)。

与子程序有关的操作有:

建立子程序、子程序调用和子程序返回。

1.建立子程序的方法:

在编程软件的程序数据窗口的下方有主程序(OBI)、子程序(SUB_n)、中断服务程序(INT_O)的标签,点击子程序标签即可进入SUB_n子程序显示区,也可以通过指令树的项目进入子程序SUB_n显示区。

添加一个子程序时,可以用编辑菜单的插入项增加一个子程序,子程序编号n从0开始自动向上生成。

2.子程序调用和子程序返回两大类指令,子程序返回又分条件返回和无条件返回。

子程序调用指令用在主程序或其它调用子程序的程序中,子程序的无条件返回指令在子程序的最后网络段,梯形图指令系统能够自动生成子程序的无条件返回指令,用户不需输入。

子程序指令的指令格式见表5-16。

表5-16子程序指令的指令格式

LAD

STL

功能

CALLSBR0

CRET

RET

子程序调用

子程序条件返回

自动生成无条件返回

【例12】子程序指令应用程序。

图5-12例12图

使用说明:

(1)当一个子程序被调用时,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1