西得乐吹瓶机电气培训考试Word格式.docx

上传人:b****1 文档编号:818433 上传时间:2023-04-29 格式:DOCX 页数:20 大小:594.28KB
下载 相关 举报
西得乐吹瓶机电气培训考试Word格式.docx_第1页
第1页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第2页
第2页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第3页
第3页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第4页
第4页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第5页
第5页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第6页
第6页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第7页
第7页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第8页
第8页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第9页
第9页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第10页
第10页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第11页
第11页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第12页
第12页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第13页
第13页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第14页
第14页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第15页
第15页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第16页
第16页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第17页
第17页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第18页
第18页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第19页
第19页 / 共20页
西得乐吹瓶机电气培训考试Word格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

西得乐吹瓶机电气培训考试Word格式.docx

《西得乐吹瓶机电气培训考试Word格式.docx》由会员分享,可在线阅读,更多相关《西得乐吹瓶机电气培训考试Word格式.docx(20页珍藏版)》请在冰点文库上搜索。

西得乐吹瓶机电气培训考试Word格式.docx

()

【跟着我一起来学习s7-200】26移位寄存器指令

   

昨天遗留下了移位循环指令中的移位寄存器指令没有学习,那么今天就学习一下这个移位寄存器指令SHRB。

 

 

移位寄存器指令SHRB是将DATA数值移入移位寄存器。

S_BIT指定移位寄存器的最低位。

N指定移位寄存器的长度和移位方向(移位加=N,移位减=-N)。

移位寄存器的最大长度是64位的,可以正也可以负。

我们要注意的是SHRB指令移出的每个位是被放置在溢出内存位(SM1.1)中的。

  下面便以以下的程序来讲解指令的使用,用I0.2的上升沿来执行移位寄存器指令,那么就是一个扫描周期移一位的,指令中V100.0是移位寄存器的最低位,I0.3里面存的是0或1的数值,指令指定是移位加的,移位寄存器的长度是4。

我们结合下面的时序图和移位的图来看,若V100为00000101,因为移位寄存器的长度是4,那么只有0101,当I0.3为1时,执行第一次移位,把1移到移位寄存器的最低位,把移出的位的值0放置到SM1.1中,那么SM1.1为0,当I0.3为0时,执行第二次移位,把0移到移位寄存器的最低位,把移出的位的值1放置到SM1.1中,那么SM1.1为1。

2014-9-1909:

24上传

下载附件(33.87KB)

下面再看一个程序案例,更深入地来学习一下这个移位寄存器指令。

1、产品检测分拣机,输送带上的产品经过一台检测装置时,检测装置输出检测结果到I0.0,有产品时为1。

I0.1检测产品的好坏,若I0.1为0则产品是好的,若I0.1为1则产品是坏的。

在第4个产品位置有一个推产品的气缸Q0.0。

若检测的产品为坏时,到达第4个产品位置时,Q0.0输出,气缸动作,产品被推出,1s后气缸退回,传送带继续工作,进行产品的检测。

天前上传

下载附件(37.48KB)

下面就分析一下程序,检测装置检测到有产品时I0.0为1,I0.1检测产品的好坏,产品坏为1,指定移位寄存器的最低位为M0.0,移位寄存器的长度为4。

因为在第4个产品位置有一个气缸Q0.0,若I0.1为1时,到达第4个产品位置时,那么就用M0.3驱动气缸动作,推出产品,同时做了一个定时器定时1s,1s后复位M0.3,气缸退回。

那么这就是对移位寄存器的学习,可能会相对有些难理解,不过不要紧,相信多做一些练习,那就会熟悉的。

那么后面就开始学习一下应用以上所学指令的程序案例的编程。

【跟着我一起来学习s7-200】25移位循环指令

  今天要学习一下移位循环指令的,大家跟着我马上就开始学习一下移位循环指令的使用吧。

移位指令有左移也有右移,移位指令也分有字节、字、双字类型的移位,同样的,循环指令也有左移右移,也有字节、字、双字类型的循环。

除此之外,我们也可以在指令列表看到还有SHRB移位寄存器指令。

这些指令我们都要灵活地掌握,掌握了这些指令,在以后编程的时候有时可以做到简化程序的效果,所以它还是比较有用的指令。

2014-9-1809:

36上传

下载附件(14.64KB)

  下面先学习一下移位指令,移位指令格式里面有使能输入、输入、输出和移位位数N。

下面就以字节移位指令为例看一下,字节左移SHR_B和字节左移SHL_B指令是将输入字节(或字或双字)数值根据移位位数向左或向右移动,并将结果送输出字节(或字或双字)。

我们要注意的是对一个数左移一位相当于乘以2,右移一位相当于除以2。

  对于移位指令,我们要注意的是移位指令是对每个移出的位进行自动补0的。

如果移位位数大于或等于8(或字操作16或双字操作32),那么数值最多是被移位8(或字操作16或双字操作32)次  的。

当移位位数大于或等于最大允许值时,其实就相当于进行清零的操作。

  除此之外,我们还要注意特殊内存位的使用,对于SM1.0,如果移位结果是零,则SM1.0被置位;

对于SM1.1,就是把最后一次移出位的数值被复制到SM1.1,要注意这个前提是移位位数大于0。

我们要注意的是SM1.0和SM1.1是会自动复位的。

  就以下面这个程序来说明一下指令的使用,这条指令是I0.0接通执行移位操作,它是接通一次移位一次的,若VW200写入的是1110001010101101,因为移位位数是3,那么移位的最后结果是0001010101101000的。

因为移位位数是大于0的,最后一位移出位的数值是1,那么就把SM1.1置为1。

下载附件(9.25KB)

37上传

下载附件(21.81KB)

  下面再学习一下循环移位指令,循环移位指令格式里面一样是有使能输入、输入、输出和移位位数N的。

下面就以字节循环移位指令为例看一下,字节循环左移ROR_B和字节循环左移ROL_B指令是将输入字节(或字或双字)数值根据移位位数向左或向右旋转N位,并将结果送输出字节(或字或双字)。

   对于循环移位指令,我们要注意的是如果移位位数大于或等于8(或字操作16或双字操作32),那么执行循环移位之前要先对移位位数N进行模数8(或字操作16或双字操作32)操作,使得移位位数在0~7(或字操作0~15或双字操作0~31)之间,得到一个有效的移位位数。

这里说的模数8操作是什么呢?

它其实也就是对移位位数N除于8再求余数,举个例子,如果移位位数是20,那么20除于8等于2余4,那么4就是实际移位数目。

  我们要知道如果移位位数为0,这指令也就没有什么意义了,它是不执行循环操作的。

如果执行循环操作,也就是移位位数大于0,那么旋转的最后一位数值被复制到SM1.1。

对于SM1.1,还有如果移位位数不是8(或16或32)的整数倍,那么旋转出的最后一位数值也被复制到SM1.1;

对于SM1.0,当需要循环的数值是零时,SM1.0被置位。

  就以下面这个程序来说明一下指令的使用,这条指令是I0.0接通执行循环操作,若AC0写入的是0100000000000001,因为移位位数是2,那么移位的最后结果是0101000000000000的。

因为移位位数是大于0的,最后一位移出位的数值是0,那么SM1.1就为0。

下载附件(9.2KB)

38上传

下载附件(16.57KB)

下面就以小程序案例的形式讲一下这几个指令。

1、编写跑马灯程序,8个灯从左往右循环点亮,即Q0.0---Q0.7每隔1秒点亮一个灯,周期循环。

下载附件(36.89KB)

2、编写8个灯先全部亮,接着8个灯从左往右依次熄灭,即Q0.0-Q0.7每隔1s熄灭一个灯。

下载附件(17.82KB)

那么这就是移位指令和循环指令了,今天主要是学习指令的基本使用,这里还有移位寄存器指令没有学习,那么明天就学习一下移位寄存器,并且后面再来学一下对这些指令的应用。

【跟着我一起来学习s7-200】24传送指令

今天的学习内容是数据传送指令,传送指令也是我们在编程过程中经常会要使用到的指令,我们也要掌握好它。

所谓的传送指令就是把一个存储单元(输入端)的数值复制到另一个存储单元(输出端)里面,我们的传送指令经常是用于对存储单元的清零或者程序的初始化等场合。

传送指令有单个数据传送指令MOV,以及块传送指令BLKMOV,根据数据的类型它又可以分为字节、字、双字或者实数等这几种情况,不过要注意的是块传送指令没有实数类型的指令。

除此之外,还有字节交换指令SWAP,字节传送立即读指令和字节传送立即写指令,当然这些指令用的相对较少,对这几个指令我们就先了解一下。

2014-9-1710:

07上传

下载附件(26.02KB)

传送指令MOV的输入IN可以是常数、IB、QB、VB、SMB、LB、SB,输出可以是IB、QB、VB、SMB、LB、SB,但是要注意输出是没有常数的,如果输出是常数,那么是会提示错误的。

08上传

下载附件(31.83KB)

除此之外,我们在使用传送指令的时候,要注意的是输入和输出的数据类型是要一致的,如果不一致,同样也是会提示错误的。

下载附件(33.79KB)

那么数据块传送指令BLKMOV,它是将字节或字或双字数目N从输入存储单元传送到输出存储单元,也就是说块传送指令它是批量传送的,注意N的范围是1~255,使用的时候要注意不能超限。

那么下面这条指令也就是将VB0~VB9的里面的数据传送到VB50~VB59里面。

下载附件(37.45KB)

然后再学习一下字节交换指令SWAP,字节交换指令的功能是交换字的最高位字节和最低位字节,下面就举个例子来说明一下指令的用法,那么以下这条指令是对VW0进行字节交换,因为VW0=VB0VB1,它是低地址在前高地址在后的,执行了指令之后则变成VB1VB0,变为高地址在前低地址在后了。

09上传

下载附件(20.54KB)

下面再继续看一下字节传送立即读指令和字节传送立即写指令,它跟前面讲到的立即指令是一样的,而且它也是只针对I/O地址的。

字节传送立即读指令是对输入I进行读操作,字节传送立即写指令是对输出Q进行写操作。

下载附件(40.09KB)

那么今天就学习了传送指令,传送指令也还算是比较简单的是吧?

那么之后就要学习一些相对难一些的指令了,你准备好了吗?

【跟着我一起来学习s7-200】23逻辑运算指令

昨天我们学习了算术运算指令,包括整数计算和浮点数计算指令,那么今天就学习一下逻辑运算指令。

那么什么是逻辑运算指令呢?

逻辑运算指令就是对字节、字和双字进行取反/与/或/异或的操作。

取反指令是INV,逻辑与指令是WAND,逻辑或指令是WOR,逻辑异或指令是WXOR。

2014-9-1609:

23上传

下载附件(14.03KB)

对于WAND指令,我们可以说它是对信号的屏蔽,它是有0出0,全1出1的;

WOR指令,我们可以说它是对信号的组合,它是有1出1,全0为0的;

WXOR指令是对信号的转换和检测,它是相同为0,不同为1的,这是我们需要注意的,INV指令是对前面的逻辑运算结果进行取反的操作,前面的结果为1则取反后为0,前面的结果为0则取反后为1。

下面便看一下这几个指令的使用。

下载附件(26.52KB)

还有一个值得一提的是,我们可以根据指令的功能还可以进行置位和复位的操作。

我们利用逻辑与WAND指令有0出0的功能可以进行复位操作,利用逻辑或WOR指令有1出1的功能可以进行置位操作。

下面我们便看一下两个小例子。

第一个是用WAND指令进行复位的例子,在IN1中输入二进制数111101*********1,因为VW0为VB0VB1,那么当I0.0接通,执行一次逻辑与运算,这样就将V0.3和V1.4复位了。

下载附件(9.42KB)

第二个是用WOR指令进行置位的例子,在IN1中输入二进制数1000100,那么当I0.1接通,执行一次逻辑或运算,将V4.2和V4.6置位。

下载附件(9.53KB)

那么以上就是我们的逻辑运算指令了,也还算是比较简单的,学习之后你掌握的如何呢。

【跟着我一起来学习s7-200】22算术运算指令

今天就学习一下算术运算指令,在我们编程应用过程中算术运算指令也是会要用到的,我们也要掌握一下的。

我们的算术运算指令又分为整数计算和浮点数计算,算术运算指令包括有加减乘除运算指令、递增递减指令、平方根指令、自然对数、自然指数指令和三角函数指令等。

  对于加减乘除运算指令,ADD_I、SUB_I、MUL_I、DIV_I是整数与整数的运算,ADD_DI、SUB_DI、MUL_DI、DIV_DI是双整数与双整数的运算,ADD_R、SUB_R、MUL_R、DIV_R是实数与实数的运算,我们要注意的是使用指令的时候输入输出的数据类型要跟指令的数据类型一致,不然是会提示有误的。

  我们要注意的是对于乘除指令的话,还有MUL和DIV指令,那么这两个指令是整数与双整数的运算,也就是说将两个16位的整数进行相乘或相除,是得出一个32位结果的,同时要注意进行除法运算时是将结果中16位的余数存在高16位,16位的商存在低16位的。

举个例子,假设VW8写入1,VW10写入2,指令执行后进行相除的结果是商为0,余数为1,并将余数1存到VW12,商0存到VW14里面(这里VW12就是高16位,VW14就是低16位)。

  对于四则运算,应用这些加减乘除运算指令也是比较简单的,这里也就不举例子了,大家也可以随便写些运算公式来进行编写试试。

  下面就是学习一下递增递减指令,也就是加1减1指令,这两个指令在编程过程中也是经常会要用到的,这个我们必须得掌握一下。

对于递增递减指令,它可以进行加1或者减1的操作,我们要注意的是一般都是用沿触发递增递减指令的。

另外,因为递增递减指令有时是会配合传送指令或移位指令等一起使用,这里我们就先学习指令的用法,等后面学了其他指令之后,再来学习对指令的应用。

  然后再看一下三角函数指令,三角函数指令有正弦SIN指令、余弦COS指令、正切TAN指令,这几个指令是对角度值进行三角运算,我们要注意的是三角函数的输入角是以弧度为单位的。

如果我们要将输入角从角度转换成弧度,我们要用角度乘以0.0174(pi/180),再来计算三角函数。

  最后就学习一下平方根指令、自然对数指令和自然指数指令,平方根SQRT指令我们要注意的是它是对32位实数取平方根并产生一个32位实数结果的,自然对数LN指令是对输入的数值进行自然对数计算,自然指数指令是进行e的IN次方指数计算的。

下面就举个计算VD0的3次方的例子,以便更好的理解。

我们假设VD0为x,那么就相当于是计算的值,其实,那么计算时先取x的自然对数,再乘以3.0,最后再进行e的IN次方指数计算,这样就能计算出结果了。

  关于三角函数指令、平方根指令、自然对数/指数指令等,用的也是相对少些的,我们大概知道怎么用就可以了,我们就重点掌握一下四则运算指令和递增递增指令。

【跟着我一起来学习s7-200】21转换指令

前面已经学习了位逻辑指令、定时器指令、计数器指令和比较指令了,并且也做了一些这些指令的应用的例子。

那么今天就开始学习新的内容,学习一下转换指令。

转换指令主要是用于对数码的格式转换,在编程过程中有时也是会要进行转换会用到的,所以,关于转换指令的内容我们也是要学习一下的。

  转换指令也包括有很多种,有字节、整数、双整数和浮点数之间的转换,BCD码与整数之间的转换,ASCII码与十六进制数之间的转换,整数、双整数和浮点数与ASCII码之间的转换,整数,双整数和浮点数与字符串之间的转换,除此之外,还有编码译码和七段数字显示译码等。

以上这么多转换指令,最常用的还是字节、整数、双整数和浮点数之间的转换,这是我们必须要掌握的东西。

下面,我们就先看一下字节、整数、双整数和浮点数之间的转换。

对于转换,我们可以看到下面的程序里面的中间运算结果是用LW0或LD2进行存储的,所以,中间运算结果用局部存储区的话,这样就不会占用到数据存储区的空间。

或者我们也可以用累加器AC进行存储中间运算结果。

  对于浮点数转换为双整数的指令,也就是取整指令ROUND和TRUNC,我们要注意的是ROUND指令是将小数部分四舍五入的,而TRUNC指令是将小数部分舍弃的。

  对于BCD码与整数之间的转换,这在我们后面要学的的时钟读写指令应用时会用到,这个也是需要掌握一下的。

  而至于ASCII码与十六进制之间的转换,整数、双整数和浮点数与ASCII码之间的转换,整数,双整数和浮点数与字符串之间的转换和七段数字显示译码的话相对来说用的少些,可以了解一下。

  有一个要注意的是,我们在整数、双整数和浮点数与ASCII码之间的转换指令里面会看到“FMT”,那么这个FMT它是指定小数点右侧的转换精确度的,以及是否将小数点表示为逗号或点号及输出缓冲区的大小。

ITA的输出缓冲区是8个字节的,DTA是12个字节,RTA则是由FMT定义的。

同样的,在整数,双整数和浮点数与字符串之间的转换指令也有“FMT”,I_S的输出字符串长度是8个字节,DI_S是12个字节,而R_S则是由FMT定义的。

因为这几个指令用的较少些,就不举例子了。

  而对于编码译码DECO和ENCO指令,DECO指令是将输入字节的低4位所表示的数值置输出字中相应的位为1,其余位都为0;

ENCO指令是将输入字最低有效位的位号写入到输出字节中的低4位中。

  那么针对以上程序,假如我们在输入字节VB0里面写入一个16#7,那么执行DECO指令后会使得输出字VW2中的第7位置为1,则VW2为16#0010或者2#0000000010000000。

假如我们在输入字VW4里面写入2#0000000100000000,也就是第8位为1,那么执行ENCO指令后会使得输出字节VB6中输出的数值就是8。

  那么今天主要就是学习了一下转换指令的使用,这么多指令中我们就主要掌握一下字节、整数、双整数和浮点数之间的转换,BCD码与整数之间的转换以及编码译码指令,至于其他的转换指令则在需要用到的时候查找一下帮助也就可以了。

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2