版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一节
传送、移位指令
第二节
运算和数学指令
第七章S7-200系列PLC功能指令第三节
表功能、转换指令
第四节子程序、时钟、中断指令
第五节
高速计数、PID指令
第一节传送、移位指令一.传送指令1.单一传送(1)MOVB,字节传送指令(2)BIR,传送字节立即读指令(3)BIW,传送字节立即写指令(4)MOVW,字传送指令(5)MOVD,双字传送指令(6)MOVR,实数传送指令
2.块传送(1)BMB,字节块传送指令(2)BMW,字块传送指令(3)BMD,双字块传送指令3.字节交换(1)SWAP,字节交换指令1.单一传送(1)MOVB,字节传送指令使能输入有效时,把一个单字节无符号数据由IN传送到OUT所指的字节存储单元。IN的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常数。OUT的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。指令格式: MOVB IN1,OUT 例: MOVB VB0,QB01.单一传送(2)BIR,传送字节立即读指令使能输入有效时,立即读取单字节物理输入区数据IN,并传送到OUT所指的字节存储单元。IN的寻址范围:IBOUT的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。指令格式: BIR IN1,OUT 例: BIR IB0,VB102.块传送指令可用来进行一次多个(最多255个)数据的传送,数据块类型可以是字节块、字块、双字块。功能描述:使能有效时,把从IN开始的N个数据传送到OUT开始的N个存储单元。三条指令中N的寻址范围都是:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常数。使ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址);0091(数超界)。3.字节交换SWAP,字节交换指令。使能输入有效时,将字型输入数据IN的高字节和低字节进行交换。本指令只对字型数据进行处理,指令的执行不影响的特殊存储器位。使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。二、移位指令1.左移和右移2.循环左移、循环右移3.寄存器移位1.左移和右移(1)字节左移和字节右移字节左移和字节右移。使能输入有效时,把字节型输入数据IN左移或右移N位后,再将结果输出到OUT所指的字节存储单元。最大实际可移位次数为8。(2)字左移和字右移指令盒与字节移位比较,只有名称变为SHR_W和SHR_W。使能输入有效时,把字节型输入数据IN左移或右移N位后,再将结果输出到OUT所指的字节存储单元。最大实际可移位次数为16。(3)双字左移和双字右移SLD和SRD,双字左移和双字右移。指令盒与字节移位比较,只有名称变为SHL_DW和SHR_DW,其他部分完全相同。使能输入有效时,把双字型输入数据IN左移或右移N位后,再将结果输出到OUT所指的双字存储单元。最大实际可移位次数为32。移位指令注意事项(1)移出端与特殊继电器SM1.1(溢出位)相连,移动时,另一端补0。(2)如果移位操作使数据为0,特殊继电器SM1.0(零标志位)自动置位。举例2.循环左移、循环右移循环左移和循环右移根据所循环移位的数的长度分别又可分为字节型、字型、双字型。循环移位特点:移位数据存储单元的移出端与另一端相连,同时又与SM1.1(溢出)相连,所以最后被移出的位被移到另一端的同时,也被放到SM1.1位存储单元。例如在循环右移时,移位数据的最右端位移入最左端,同时又进入SM1.1。SM1.1始终存放最后一次被移出的位。举例3.寄存器移位SHRB,寄存器移位指令。该指令在梯形图中有3个数据输入端:DATA为数值输入,将该位的值移入移位寄存器;S_BIT为移位寄存器的最低位端;N指定移位寄存器的长度。每次使能输入(采用边沿)有效时,整个移位寄存器移动1位。移位特点:移位寄存器长度在指令中指定,没有字节型、字型、双字型之分。可指定的最大长度为64位,可正也可负。N为正时是正向移位,高位移出,低位移入。N为负时是反向移位,高位移入,低位移出。举例
第二节运算、数学指令加法减法乘法除法数学函数指令增减逻辑运算
一、加法
1.整数加法+I,整数加法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相加,产生一个16位整数结果OUT。LDI0.0//使能输入端+IVW0,VW4//整数加法//VW0+VW4=VW42.双整数加法+D,双整数加法指令。使能输入有效时,将两个双字长(32位)的符号双整数IN1和IN2相加,产生一个32位双整数结果OUT。在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。在STL中,执行结果:IN1+OUT=OUT。OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。指令格式:+D IN1,OUT例: +D VD0,VD43.实数加法指令+R,实数加法指令。使能输入有效时,将两个双字长(32位)的实数IN1和IN2相加,产生一个32位实数结果OUT。在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。二、减法
减法指令是对有符号数进行相减操作。包括:整数减法、双整数减法和实数减法。这三种减法指令与所对应的加法指令除运算法则不同之外,其他方面基本相同。在LAD和FBD中,以指令盒形式编程,执行结果:IN1-IN2=OUT。在STL中,执行结果:OUT-IN2=OUT。指令格式:-I IN2, OUT (整数减法)-D IN2, OUT (双整数减法)-R IN2, OUT (实数减法)例:-I AC0, VW4三、乘法*I,整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个16位整数结果OUT。指令格式:*I IN1,OUT例: *I VW0,AC01.整数乘法
2.完全整数乘法
MUL,完全整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。在LAD和FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。指令格式: MUL IN1,OUT例: MUL AC0,VD10
3.双整数乘法*D,双整数乘法指令。使能输入有效时,将两个双字长(32位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。在STL中,执行结果:IN1*OUT=OUT。IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常数。OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。指令格式: *D IN1,OUT例: *D VD0,AC04.实数乘法*R,实数乘法指令。使能输入有效时,将两个双字长(32位)的实数IN1和IN2相乘,产生一个32位实数结果OUT。在LAD和FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。在STL中,执行结果:IN1*OUT=OUT。IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常数。OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。指令格式: *R IN1,OUT例: *R VD0,AC0四、除法在LAD和FBD中,以指令盒形式编程,执行结果:IN1/IN2=OUT。在STL中,执行结果:OUT/IN2=OUT。指令格式:/I IN2, OUT (整数除法)DIV IN2, OUT (整数完全除法)/D IN2, OUT (双整数除法)/R IN2, OUT (实数除法)例: DIV VW10,VD100 /I VW20,VW200两条指令的编程及执行情况比较如图所示。对于除法指令:
对于完全除法指令:
数学函数指令1.平方根2.自然对数3.指数4.正弦、余弦、正切1.平方根SQRT,平方根指令。把一个双字长(32位)的实数IN开平方,得到32位的实数结果。在LAD和FBD中,以指令盒形式编程,执行结果:SQRT(IN)=OUT。在STL中,执行结果:SQRT(IN)=OUT。本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出和非法值);SM1.2(负)。使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。指令格式: SQRT IN,OUT例: SQRT VD0,AC02.自然对数LN,自然对数指令。将一个双字长(32位)的实数IN取自然对数,得到32位的实数结果。应用实例:求以10为底的50(存于VD0)的常用对数,结果放到AC0。本运算程序如图所示。3.指数EXP,指数指令。将一个双字长(32位)的实数IN取以e为底的指数,得到32位的实数结果OUT。在LAD和FBD中,以指令盒形式编程,执行结果:EXP(IN)=OUT。在STL中,执行结果:EXP(IN)=OUT。指令格式: EXP IN,OUT例: EXP VD0,AC04.正弦、余弦、正切SIN、COS、TAN,即正弦、余弦、正切指令。将一个双字长(32位)的实数弧度值IN分别取正弦、余弦、正切,各得到32位的实数结果。如果已知输入值为角度,要先将角度值转化为弧度值,方法:使用(*R)MUL_R指令用角度值乘以π/180°即可。例: TAN VD0,AC0应用实例:求COS160o的值。如图所示。增减1.字节增和字节减2.字增和字减3.双字增和双字减4.应用实例1.字节增和字节减
INCB,字节增指令。使能输入有效时,把一字节长的无符号输入数(IN)加1,得到一字节的无符号输出结果OUT。DECB,字节减指令。使能输入有效时,把一字节长的无符号输入数(IN)减1,得到一字节的无符号输出结果OUT。2.字增和字减3.双字增和双字减INCD,双字增指令。使能输入有效时,把双字长(32位)的有符号输入数(IN)加1,得到双字长的有符号输出结果OUT。DECD,双字减指令。使能输入有效时,把双字长的有符号输入数(IN)减1,得到双字长的有符号输出结果OUT。4.应用实例控制要求:食品加工厂对饮料生产线上的盒装饮料进行计数,每24盒为一箱,要求能记录生产的箱数。程序如图所示。返回本节逻辑运算1.字节逻辑运算2.字逻辑运算3.双字逻辑运算1.字节逻辑运算字节逻辑运算包括字节与、字节或、字节异或、字节取反。2.字逻辑运算字逻辑运算包括字与、字或、字异或、字取反。3.双字逻辑运算双字逻辑运算包括双字与、双字或、双字异或、双字取反。
表功能指令转换指令字符指令
第三节表功能、转换和字符指令一、表功能指令1表存数指令2表取数指令3表查找指令1、填充指令FILL,存储器填充指令。使能输入有效时,用字型输入数据IN填充从输出OUT所指的单元开始的N个字存储单元。填充指令只对字型数据进行处理,N值为字节型,可取从1~255的整数。指令的执行不影响的特殊存储器位。使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址);0091(操作数超界)。
指令格式: FILL IN,OUT,N (填充指令)例: FILL 10,VW100,12本条指令的执行结果是:将数据10填充到从VW100到VW122共12个字存储单元。
S7-200中,表只对字型数据存储,一个表由表地址(表的首地址)指明。在表地址和第二个字地址所对应的单元存放最大填表数(TL)和实际填表数(EC),之后最多可以有100个填表数据。表的格式例如下所示。2、表存数指令ATT,表存数指令。该指令在梯形图中有2个数据输入端:DATA为数值输入,指出将被存储的字型数据或其地址;TBL表格的首地址,用以指明被访问的表格。当使能输入有效时,将输入字型数据添加到指定的表格中。表存数特点:表存数时,新存的数据添加在表中最后一个数据的后面。每向表中存一个数据,实际填表数EC会自动加1。3、表取数指令FIFO,先进先出指令LIFO,后进先出指令先入先出(FIFO)指令先入先出(FirstInFirstOut)指令从表(TBL)中移走最先放进的第一个数据(数据0),并将它送入DATA指定的地址,表中剩下的各项依次向上移动一个位置。每次执行此指令,表中的项数EC减1。TABLE为INT型,DATA为WORD型。先入先出指令的应用LIFO执行后执行前后入先出(LIFO)指令后入先出(LastInFirstOut)指令从表(TBL)中移走最后一个数据,并将它送入DATA指定的位置,剩下的各项依次向上移动一个位置。每次执行此指令,表中的项数EC减1。TABLE为INT型,DATA为WORD型。LIFO执行前LIFO执行后4、表查找指令FND?,表查找指令。通过表查找指令可以从字型数表中找出符合条件的数据所在的表中数据编号,编号范围为0~99。在梯形图中有4个数据输入端:TBL表格的首地址,用以指明被访问的表格;PTN是用来描述查表条件时进行比较的数据;CMD是比较运算符“?”的编码,它是一个1~4的数值,分别代表=、<>、<和>运算符;INDX用来指定表中符合查找条件的数据的地址。查表指令操作举例LDI2.1FND-VW202,16#3130,AC1表查找指令执行结果二、转换指令转换指令是对操作数的类型进行转换,并输出到指定的目标地址中去。转换指令包括数据的类型转换、数据的编码和译码指令。6.字节与整数的转换指令2.双字整数转换为实数3.四舍五入取整指令4.截位取整指令5.整数与双整数的转换1、BCD码与整数之间的转换1
数据类型转换1.字节与整数(1)字节到整数(2)整数到字节2.整数与双整数(1)双整数到整数(2)整数到双整数3.双整数与实数
(1)实数到双整数
(2)双整数到实数
4.整数与BCD码
(1)BCD码到整数
(2)整数到BCD码
5.程序实例
1.字节与整数(1)字节到整数BTI,字节转换为整数指令。使能输入有效时,将字节输入数据IN转换成整数类型,并将结果送到OUT输出。字节型是无符号的,所以没有符号扩展。使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。指令格式: BTI IN,OUT例: BTI VB0,AC0(2)整数到字节ITB,整数转换字节指令。使能输入有效时,将整数输入数据IN转换成字节类型,并将结果送到OUT输出。输入数据超出字节范围(0~255)则产生溢出。移位指令影响的特殊存储器位:SM1.1(溢出)。使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。指令格式: ITB IN,OUT 例: ITB AC0,VB102.整数与双整数(1)双整数到整数DTI,双整数转换为整数指令。使能输入有效时,将双整数输入数据IN转换成整数类型,并将结果送到OUT输出。输入数据超出整数范围则产生溢出。移位指令影响的特殊存储器位:SM1.1(溢出)。使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。指令格式: DTI IN,OUT 例: DTI AC0,VW20(2)整数到双整数ITD,整数转换为双整数指令。使能输入有效时,将整数输入数据IN转换成双整数类型(符号进行扩展),并将结果送到OUT输出。使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。指令格式:ITD IN,OUT 例: ITD VW0,AC03.双整数与实数(1)实数到双整数两条指令的区别:前一条在转化过程中,小数点后的数采用4舍5入后一条在转化过程中,小数点后的数直接舍去(2)双整数到实数DTR,双整数转换实数指令。使能输入有效时,将双整数输入数据IN转换成实型,并将结果送到OUT输出。使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。指令格式:DTR IN,OUT 例: DTR AC0,VD1004.整数与BCD码(1)BCD码到整数BCDI,BCD码转换为整数指令。使能输入有效时,将BCD码输入数据IN转换成整数类型,并将结果送到OUT输出。输入数据IN的范围为0~9999。指令格式:BCDI OUT例:
BCDI AC0
(2)整数到BCD码IBCD,整数转换为BCD码指令。使能输入有效时,将整数输入数据IN转换成BCD码类型,并将结果送到OUT输出。输入数据IN的范围为0~9999。指令格式:IBCD OUT 例: IBCD AC0程序实例功能:模拟量控制程序中的数据类型转换。将模拟量输入端采样值由整数转换为双整数,然后由双整数转换为实数,再除以一个比例因子得到PLC可以处理的范围内的值。本程序如图所示。2编码和译码1.编码ENCO,编码指令。使能输入有效时,将字型输入数据IN的最低有效位(值为1的位)的位号输出到OUT所指定的字节单元的低4位。即用半个字节来对一个字型数据16位中的1位有效位进行编码。使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。指令格式: ENCO IN,OUT例: ENCO AC0,VB0编码指令执行结果2.译码DECO,译码指令。使能输入有效时,将字节型输入数据IN的低4位所表示的位号对OUT所指定的字单元的对应位置1,其他位置0。即对半个字节的编码进行译码来选择一个字型数据16位中的1位。使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。指令格式: DECO IN,OUT例: DECO VB0,AC0本指令执行情况如表所示。3七段码SEG,七段码指令。使能输入有效时,将字节型输入数据IN的低4位有效数字产生相应的七段码,并将其输出到OUT所指定的字节单元。返回本节D0D1D2D5D4D3D64ASCII码转换1.指令种类(1)ASCII码转换16进制指令(2)16进制到ASCII码(3)整数到ASCII码(4)双整数到ASCII码(5)实数到ASCII码2.指令介绍下面仅以ASCII码转换16进制指令为例说明字符串与其他数据类型之间的转换。ATH,ASCII码转换16进制指令。指令盒中有3个操作数:IN,开始字符的字节地址,字节类型;LEN,字符串的长度,字节类型,最大长度为255;OUT,输出目的开始字节地址,字节类型。使能输入有效时,把从IN开始的长度为LEN的ASCII码转换为16进制数,并将结果送到OUT开始的字节进行输出。指令ATH执行结果5字符串转换1.指令种类(1)数值转换字符串(2)字符串转换数值三、字符串操作指令
第四节子程序、时钟、中断指令一.子程序的建立在“编辑”菜单中执行命令“插入”,再“子程序”。子程序可以带参数调用,参数在子程序的局部变量表中定义。参数最多可以16个。CPU226最多可以建立128个子程序,其它可64个。二.子程序的调用子程序的调用子程序调用指令(CALL)在使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,可以不带参数。子程序条件返回指令(CRET)在使能输入有效时,结束子程序的执行,返回主程序中(此子程序调用的下一条指令)。梯形图中以线圈的形式编程,指令不带参数。使用说明CRET多用于子程序的内部,由判断条件决定是否结束子程序调用,RET用于子程序的结束。软件自动处理RET指令。如果在子程序的内部又对另一子程序执行调用指令,则这种调用称为子程序的嵌套。子程序的嵌套深度最多为8级。当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置1,堆栈中的其他值为0,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。举例带参数的子程序的调用用途局部变量表的使用举例
第四节子程序、时钟、中断指令一.读写实时时钟指令读写实时时钟指令TODR(TimeofDayRead)从时钟读取当前时间和日期,并把它们装入以T为起始地址的8个字节缓冲区,依次存放年、月、日、时、分、秒、0和星期。时间和日期的数据类型为字节型。所有日期和时间值必须采用BCD格式编码(例如,16#97代表2002年)。请参阅下表。8个字节时间缓冲区格式(T)T字节 说明 字节数据0 年(0-99) 当前年份(BCD值)1 月(1-12) 当前月份(BCD值)2 日期(1-31) 当前日期(BCD值)3 小时(0-23) 当前小时(BCD值)4 分钟(0-59) 当前分钟(BCD值)5 秒(0-59) 当前秒(BCD值)6 00 保留---始终设置为007 星期几(1-7) 当前是星期几,1=星期日(BCD值)时钟的读写程序二、中断指令S7-200中,具有34个中断源,每个中断分配一个编号加以识别。1.中断源中断源包括:通信中断、I/O中断、时间中断(1)通信中断用于程序控制S7-200的串行通讯端口。此种操作通讯端口的模式被称作自由端口模式。在自由端口模式中,程序定义波特率、每个字符的位、校验和协议。可提供“接收”和“传送”中断,协助程序控制的通讯。PLC的自由通信模式下,通信口的状态可由程序来控制。(2)I/O中断I/O中断包括:外部输入中断
(I0.0、I0.1、I0.2或I0.3)上升和/或下降边缘中断高速计数器中断高速计数器当前值达到预设值,计数方向的改变或计数器外部复位时产生中断信号。脉冲输出中断
发出输出预定数目,脉冲完成的产生中断信号。(3)时间中断时间中断包括定时中断和定时器中断(3)时间中断
定时器中断是利用定时器来对一个指定的时间段产生中断。它只能用在1毫秒分辨率接通延时(TON)和断开延时(TOF)定时器T32和T96来实现。在SMB34。一旦中断被启用,在S7-200中执行的正常1毫秒定时器更新的过程中,当现用定时器的当前值等于预设时间数值时,即执行中断连接例行程序。
定时中断可用于周期性的活动。周期时间被设为从1毫秒至255毫秒。对于定时中断0,定时时间设定值设在SMB34。对于定时中断1,定时时间设定值设在SMB35。2.中断优先级在PLC应用系统中通常有多个中断源。当多个中断源同时向CPU申请中断时,要求CPU能将全部中断源按中断性质和处理的轻重缓急进行排队,并给予优先权。S7-200中,三类中断的优先级别是:通讯、I/O、时基中断。详细的中断优先见教材P239表7-123.CPU响应中断的顺序PLC中,CPU响应中断的顺序可以分以下三种情况:(1)当不同的优先级的中断源同时申请中断时,CPU响应中断请求的顺序为从优先级高的中断源到优先级低的中断源。(2)当相同优先级的中断源申请中断时,CPU按先来先服务的原则响应中断请求。(3)当CPU正在处理某中断,又有中断源提出中断请求时,新出现的中断请求按优先级排队等候处理,当前中断服务程序不会被其他甚至更优先级的中断程序打断。任何时刻CPU只执行一个中断程序。中断控制经过中断判优后,将优先级最高的中断请求送给CPU,CPU响应中断后自动保存逻辑堆栈、累加器和某些特殊标志寄存器位,即保护现场。中断处理完成后,又自动恢复这些单元保存起来的数据,即恢复现场。中断指令(1)中断连接指令建立中断事件与中断程序的联系,并允许该事件中断。INT是连接中断程序的号,EVNT为中断事件号。可以将多个中断事件附加在一个中断例行程序上,但一个事件不能同时附加在多个中断例行程序上。(2)中断分离指令切断中断事件与所有程序的联系,即该事件中断关闭。EVNT为中断事件号(3)清除中断事件清除中断事件指令会删除中断队列中所有类型为EVNT的中断事件。此指令用于清除不必要的中断,后者可能由假传感器输出暂态造成。(4)开中断及关中断指令全局开放所有连接的中断事件。注意:PLC上电运行时,会自动关闭所有中断,因此在程序中必须开中断。开中断指令关中断指令全局关闭所有连接的中断事件。注意:PLC关闭所有中断响应,但允许中断事件等候。例1:外部中断主程序子程序(INT_0)例2:定时采样中断
第五节高数计数及PID指令一、高速计数指令1.高速计数介绍1.数量及编号CPU221和CPU222支持4个高速计数器(HSC0、HSC3、HSC4、HSC5)CPU221和CPU222不支持HSC1和HSC2CPU224、CPU224XP、CPU226支持6个高速计数器(HSC0至HSC5)2.中断事件类型中断事件类型共3类当前值等于预设值中断、输入方向改变中断、外部复位中断中断优先级3.工作模式及输入点四种基本类型共12种工作模式四种基本类型是:(1)带内部方向控制的单向计数器,(2)带外部方向控制的单向计数器,(3)带两个时钟输入的双向计数器,(4)A/B相正交计数器。注意:高速计数器工作模式指定的输入点只能被高速计数器使用。工作模式与输入点的关系如下(p243,表7-15)模式0、1和2操作举例(带内部方向控制的单向计数器)模式3、4和5操作举例(带外部方向控制的单向计数器)模式6、7和8操作举例(带两个时钟输入的双向计数器)上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。如果发生这种情况,当前值不改变,而且计数方向不改变。只要上下时钟输入的上升沿之间的间隔大于该时段,高速计数器就能够单独捕获每个事件。在两种情况下,均不生成错误,而且计数器保持当前计数值。模式9、10和11操作举例(正交1x模式)模式9、10和11操作举例(正交4x模式)二、高速计数指令1.高速计数指令高速计数器定义指令(HDEF),图所示为指定的高速计数器(HSC为编号)设置一种工作模式(MODE)。每个高速计数器只能用一条HDEF指令。高速计数器指令(HSC)用于启动编号为N的高速计数器。HSC与MODE为字节型常数,N为字型常数。三、高速计数器的使用每个高速计数器都有固定的特殊存储器配合,完成高速计数功能。具体如下1.状态字节:SM××6,反映高速计数器的运行状态SM××6.5当前计数的方向,0减、1加SM××6.6当前计数值与预设值是否相等,0不等、1等SM××6.6当前计数值是否>预设值,0为否、1是状态字节控制字节当前值(双字)预置值(双字)HSC0SM36SM37SMD38SMD42HSC1SM46SM47SMD48SMD52HSC2SM56SM57SMD58SMD62HSC3SM136SM137SMD138SMD142HSC4SM146SM147SMD148SMD152HSC5SM156SM157SMD158SMD1622.控制字节:SM××7,具体见表7-18。适用的计数器SM××7.0复位有效电平控制:0高电平有效;1低电平有效0、1、2、4SM××7.1计数器启动有效电平控制:0高电平有效;1低电平有效1、2SM××7.2计数速率选择器:0=4x(4倍速);1=1x0、1、2、4SM××7.3计数方向控制:0=减计数;1=增计数SM××7.4允许更新计数方向:0=无更新;1=更新方向SM××7.5允许更新预置值:0=无更新;1=更新预置值SM××7.6允许更新当前值:0=无更新;1=更新当前值SM××7.7HSC指令启用:0=禁止;1=启用注意前三位的设置时刻(只能在定义计数器时设置)(1)选择高速计数器使用高速计数器及工作模式步骤(2)设置控制字节(3)定义高速计数器(4)给定预置值(5)设置中断事件并全局开放中断(6)启动高速计数器欲存取高速计数器的计数值,需要利用内存类型(HC)和计数器号码(例如HC0)指定高速计数器的地址。如下所示,高速计数器的当前值是只读数值,只能作为双字(32位)编址。格式:HC[高速计数器号码],以HC2为例。(1)选择高速计数器HSC0,并确定工作方式0(2)设置控制字节SM37=16#F8(3)定义高速计数器(4)给定时间中断预置值SM34=200(5)设置中断事件并全局开放中断(中断程序0,事件为10)(6)启动高速计数器0例7-30采用测量频率的方法测量电机的转速。高速脉冲输出功能是指在PLC的某些输出端产生高速脉冲,用来驱动负载,实现高速输出和精确控制。脉冲输出指令脉冲输出(PLS)指令被用于控制在高速输出(Q0.0和Q0.1)中提供的“脉冲串输出”(PTO)和“脉宽调制”(PWM)功能。PTO提供方波(50%占空比)输出,配备周期和脉冲数用户控制功能。PWM提供连续性变量占空比输出,配备周期和脉宽用户控制功能。四、高速脉冲输出指令PTO/PWM发生器和输出共用Q0.0和Q0.1。PTO或PWM功能在Q0.0或Q0.1位置使用时,PTO/PWM发生器控制输出,并禁止输出点的正常使用。输出信号波形不受输出刷新、输出强迫、执行立即输出指令的影响。当未执行PLS指令时,可以用普通的位操作指令设置Q0.0和Q0.1,以控制高速脉冲的开始和结束。在启用PTO或PWM操作之前,将用于Q0.0和Q0.1的过程映像寄存器设为0。所有的控制位、周期、脉宽和脉冲计数值的默认值均为0。每个高速脉冲输出都对应如下特殊内存(SM)见表7-19。状态字节(SMB66、SMB76)SMB66 PTO0状态SM66.4 PTO0包络终止:0=无错;1=由于增量计算错误终止SM66.5 PTO0包络终止:0=未被用户命令终止;1=被用户命令终止SM66.6 PTO0管道溢出(使用外部包络时,由系统清除,否则必须由用户复位):0=无溢出;1=管道溢出SM66.7 PTO0空闲:0=PTO正在执行;1=PTO空闲SMB67 监控与控制Q0.0上的PTO0(脉冲串输出)和PWM0(脉冲宽度调制)SM67.0 PTO0/PWM0更新周期值:1=写入新周期SM67.1 PTO0/PWM0更新脉冲宽度值:1=写入新脉冲宽度SM67.2 PTO0更新脉冲计数值:1=写入新脉冲计数SM67.3 PTO0/PWM0时间基准:0=us单位基时,1=单位基时SM67.4 同步更新PWM0:0=异步更新;1=同步更新SM67.5 PTO0:0=单段操作;1=多段操作SM67.6 PTO0/PWM0模式选择:0=PTO;1=PWM.SM67.7 PTO0/PWM0启用:1=启用控制字节(SMB67、SMB77)
不带符号的16位值。PTO、PWM的周期的范围从10微秒至65,535微秒,或从2毫秒至65,535毫秒。周期值(SMW68、SMW78)脉宽值(SMW70、SMW80)
不带符号的16位值。PWM方式用。脉宽时间范围从0微秒至65,535微秒或从0毫秒至65,535毫秒。脉冲数(SMD72、SMD82)
不带符号的16位值。脉冲计数范围从1至4,294,967,295。PTO方式用。单段管线、多段管线。PTO的种类单段管线在单段管线作业中,初始PTO段一旦开始,必须按照对第二个信号波形的要求立即修改SM位置,并再次执行PLS指令。第二个脉冲串特征被保留在管线中,直至第一个脉冲串完成。管线中每次只能存储一个条目。第一个脉冲串一旦完成,第二个信号波形输出即开始,管线可用于新的脉冲串规格。多段管线在多段管线作业中,从V内存中的包络(轮廓)表自动读取每个脉冲串段的特征。该模式中的SM位置是轮廓表的控制字节、状态字节和起始V内存偏移量(SMW168或SMW178)。可以为微秒或毫秒,但该选项适用于轮廓表中的所有周期值,但在轮廓运行时不得变更。然后可由执行PLS指令开始多段操作。包络(轮廓)表表的每段输入的长度均为8个字节,由一个16位周期值、一个16位周期增量和32位脉冲计值组成。多段PTO操作的轮廓表格式0 段数(1至255);数值0生成非严重错误,生成无PTO输出1 #1初始周期(2至65535个单位)3 每次脉冲的周期增量,取值范围(-32768到+32768个单位)5 脉冲计数(1至4294967295)9 #2初始周期(2至65535个单位时间基准)11每个脉冲的周期增量,取值范围(-32768到+32768个单位)
13脉冲计数(1至4294967295)17#3五、PID指令PID指令在浮点数计算指令树中。PID回路(PID)指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脊椎动物-五爬行纲课件
- 2025年安徽省职教高考《职业适应性测试》考前冲刺模拟试题库(附答案)
- 《JavaWeb应用开发》考试复习题库(含答案)
- 打鼾的科学原理课件
- 2025年朔州陶瓷职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年新疆建设职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 《钢铁生产流程详解》课件
- 沪教版(上海)七年级地理第一学期中国区域篇(上)2.5《广西壮族自治区》听课评课记录
- 10kV配电站房项目建设的进度控制与风险管理
- 茅台的阴阳合同
- 2025年个人土地承包合同样本(2篇)
- (完整版)高考英语词汇3500词(精校版)
- 网络货运行业研究报告
- 2024-2025年突发紧急事故(急救护理学)基础知识考试题库与答案
- 左心耳封堵术护理
- 2024年部编版八年级语文上册电子课本(高清版)
- 合唱课程课件教学课件
- 2024-2025学年广东省大湾区40校高二上学期联考英语试题(含解析)
- 旅拍店两人合作协议书范文
- 2024-2030年电炒锅项目融资商业计划书
- 技术成熟度评价标准
评论
0/150
提交评论