第6章-PLC的功能指令_第1页
第6章-PLC的功能指令_第2页
第6章-PLC的功能指令_第3页
第6章-PLC的功能指令_第4页
第6章-PLC的功能指令_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图6-1EN与ENO

LDI2.4SQRTVD0,VD4AENOMOVBVB8,QB2VD0为负数时无能流流出。删除AENO后两个方框变为并联。

在STL指令中,没有ENO,与之对应的是AENO指令,访问ENO位用于产生与功能块ENO相同的效果。6.1.3梯形图中的网络与指令一个网络中只能有一块独立电路。输入语句表指令时必须使用英文的标点符号。条件输入指令、无条件执行指令、

6.2程序控制类指令

1.条件结束指令与停止指令

(1).结束指令结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。

END,条件结束指令。使能输入有效时,终止用户主程序。

MEND,无条件结束指令。无条件终止用户程序的执行,返回主程序的第一条指令。指令格式:END(无操作数)2.停止指令

STOP,停止指令。使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。如果正在执行中断程序,则立即停止并忽略其他正在等待的中断,返回主程序,在结束处,完成工作方式的转换。

STOP指令在梯形图中以线圈形式编程。指令不含操作数。指令格式:STOP (无操作数)2.循环指令由FOR和NEXT指令构成程序的循环体。FOR指令标记循环的开始,NEXT指令为循环体的结束指令。使能输入EN有效,循环体开始执行,执行到NEXT指令时返回,每执行一次循环体,当前值计数器INDX增1,达到终止值FINAL时,循环结束。使能输入无效时,循环体程序不执行。每次使能输入有效,指令自动将各参数复位。启动循环时,将初始值INIT传送到INDX中【例6-1】在I0.0=1的上升沿,求VW100~VW108中5个字的累加和。

网络1LD I0.0EUMOVB 0,AC0 //清累加器0MOVD &VB100,AC1 //累加器1(存储区指针)指向VB100FOR VW0,1,5 //循环开始网络2LD SM0.0+I *AC1,AC0 //字累加+D 2,AC1 //指针AC1的值加2,指向下一个变量存储器字网络3NEXT //循环结束网络4LD I0.0 EUMOVD AC0,VD10 //保存运算结果

1.跳转指令(1)跳转指令

JMP,跳转指令。使能输入有效时,使程序流程跳到同一程序中的指定标号n处执行。(2)标号指令

LBL,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0~255的字型数据。跳转与标号指令必须在同意程序中。演示如何在主、子及中断程序中添加局部变量和全局变量(程序块、符号表),解释局部变量的地址分配、如何新增变量。2、创建子程序3、调用子程序演示子程序的调用图6-5在主程序中调用子程序

LDI0.4CALL模拟量计算,AIW2,VW20,+2356,VD40

子程序中的定时

【例6-2】

设计求V存储区连续的若干个字的累加和的子程序。下面是名为“求和”的子程序的局部变量表和STL程序代码。子程序中的*#POINT是地址指针POINT指定的地址中字变量的值。

网络1LD SM0.0MOVD 0,#RESULT //清结果单元FOR #COUNT,1,#NUMB //循环开始网络2LD SM0.0ITD *#POINT,#TMP1 //将待累加的整数转换为双整数+D #TMP1,#RESULT //双整数累加+D 2,#POINT //指针值加2,指向下一个字网络3NEXT

//循环结束图6-7在OB1中调用子程序

6.4数据处理指令6.4.1比较指令

图6-8比较触点指令图6-9自复位接通延时定时器

1秒脉冲发生器综合实例:下图所示为包括两台传送带的系统,按下启动按钮同时启动,按下停止按钮同时停止。在两台传送带之间有一个临时仓库区。传送带1将包裹运送至仓库区。传送带1靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。传送带2将临时库区中的包裹运送至装货场,在这里货物由卡运送至顾客。传送带2靠近仓库区一端安装的光电传感器确定已有多少包裹从仓库区运送至装货场。含5个指示灯的显示面板表示临时仓库区的占用程度,指示灯同时只能亮一个。每次启动系统仓库区初始值置为0。要求:按照图示及上述要求设计梯形图;用可调的脉冲发生器1(输出高电平间隔为0.5S,方波宽度为0.2S)代替光电传感器1效果,用可调的脉冲发生器2(输出高电平间隔为1S,方波宽度为0.2S)代替光电传感器2效果进行仿真。三台电机分时启动控制应用

控制要求:按下起动按钮后3台电机每隔2S分别依次起动;按下停止按钮,3台电机每隔2S依次停止。

使用比较指令6.4.2数据传送指令(重点)

1.字节、字、双字和实数的传送(单一传送)作用:将IN的内容拷贝到OUT中,IN和OUT的数据类型应相同,可分别为字,字节,双字,实数

MOV_BMOV_WMOV_DMOV_R

2.字节立即读指令(单一传送)

MOV_BIR读取1个字节的物理输入字节立即写指令MOV_BIW写1个字节的物理输出。3.字节、字、双字的块传送指令(块传送)作用:将从IN开始的连续N个字节数据拷贝到从OUT开始的数据块N的有效范围是1~255“BMBVB20,VB100,4”4.字节交换指令注意:字节、字、双字传送指令对应的IN和OUT地址应是B、W、D;N对应的N个数据块。BMWVW100,VW200,8演示仿真6.4.3移位与循环指令,处理对象为无符号数

1.右移位和左移位指令

使用循环移位指令实现霓虹灯控制。要求:一组霓虹灯由8个LED灯组成,当程序初始化后1、3LED灯亮,按下左循环按钮后每隔2S向左循环移位使指示灯分别显亮,按下右循环按钮后每隔2S向右循环移位使指示灯分别显亮。6.4.4数据转换指令6.4.5表功能指令

1.填表指令TL值为数据表的最大长度,EC为为实际的数据项,当EC>TL时候SM1.4=1.数据2数据30003数据21234VW210?VW212?SM1.4?命令参数CMD=1~4,分别代表“=”、“<>”(不等于)、“<”和“>”。

图6-16先入先出指令举例

6.4.6读写实时时钟指令读实时时钟指令TODR从实时钟读取当前时间和日期,并把它们装入以T为起始地址的8字节缓冲区,依次存放年、月、日、时、分、秒、0和星期,1为星期日,2~7为星期1~6。写实时时钟指令TODW将起始地址为T的8字节缓冲区中的时间和日期写入实时钟。图6-18时钟指令

【例6-5】出现事故时,I0.0的上升沿产生中断,使输出Q1.0立即置位,同时将事故发生的日期和时间保存在VB10~VB17中。//主程序OB1LD SM0.1 //第一次扫描时ATCH 0,0 //指定在I0.0的上升沿执行0号中断程序ENI //允许全局中断//中断程序0(INT_0)LD SM0.0 //该位总是为ONSI Q1.0,1 //使Q1.0立即置位TODR VB10 //读实时时钟【例6-6】用实时时钟指令控制路灯的定时接通和断开,20:00开灯,06:00关灯,下面是语句表程序。LD SM0.0TODR VB0 //读实时时钟,小时值在VB3LDB>= VB3,16#20 //如果在

20点~0点(日期、时间值用BCD码表示)OB< VB3,16#06 //或0点~6点= Q0.0 //点亮路灯霓虹灯控制系统设计:有一霓虹灯由8组LED指示灯构成,当按下启动按钮后霓虹灯开始工作,首先亮的是1\3组灯,然后每隔2S依次向右点亮2\4,3\5,4\6,5\7,6\8灯组;当按下反向按钮时,首先点亮的是6\8灯组,然后每隔2S依次向左点亮5\7,4\6,3\5,2\4,1\3灯组。利用定时器0实现2S的高精度定时。控制系统要求:有两组指示灯(分别为红色和绿色),分别有旋钮SF1和SF2控制启动。当SF1闭合时,三只红色指示灯按HR3->HR2->HR1的顺序和2s的时间间隔循

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论