- 1、本文档共86页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例:抢答器设计。 设计四支比赛队伍用抢答器。要求:主持人宣布答题后, 4 组选手开始抢答,谁最先按下按钮,主持人面前对应灯就会亮,其他队伍即使再按,主持人面前的灯也不会亮(也就是说,主持人面前的等每次答题只会只亮一个),答题完毕后,主持人按下复位按钮I1.0,灯灭可开始下一轮抢答。 主持人 选手A 选手B 选手C 选手D A B C D 在具有分支点的梯形图中,在CPU处理某分支点右边的第1条支路前,要使用进栈指令LPS,在CPU处理该分支点右边中间的支路前,要使用LRD指令,在CPU处理该分支点右边最后一条支路前要使用LPP指令。 在梯形图中,分支点的级数不能超过8级。 在用编程软件将梯形图转换成语句表程序时,编程软件会在语句表中与各分支支路的起始点相对应的位置自动加入LPS、LRD和LPP指令,但若直接采用语句表编程,则LPS、LRD和LPP指令须由用户自己写入。 LPS、LRD和LPP指令的适应场合 除基本逻辑指令外,S7-200 PLC还有另一类指令——功能指令,如传送类指令,转换类指令,比较类指令,数学运算类指令等。 在CPU用户存储区,有一个特殊的标志位,称为使能输出位,其符号和地址都用ENO表示。大多数功能指令执行的成功与否都会影响到ENO位。当某条功能指令执行成功时,ENO位变为1态;反之,此条当功能指令执行不成功时,ENO位变为0态。ENO位的状态反映了某功能指令执行的是否成功。 7.使能输出与指令 (1)使能输出位ENO 字节传送指令MOVB的方框图。当有能流从使能输入端EN流入方框时,CPU将执行MOVB指令。若CPU执行MOVB指令成功,则有能流从使能输出端ENO流出,此时,接于ENO端右侧的功能指令才能执行;当CPU执行MOVB指令不成功,则没有能流从ENO端流出,接于ENO端右侧的功能指令不能执行。 在功能指令的方框图中,ENO位用该方框图右边的 一个ENO端(即使能输出端)来表示。 MOV_B EN IN ENO OUT 必须指出的是,并不是所有的功能指令的执行都会影响到ENO位,对于不会影响到的ENO位的功能指令,在它们的方框右边不得绘出ENO端。 该指令的功能是将ENO位的值与栈顶的值相与,结果存入栈顶,该指令执行后,栈顶中原先的值自然消失。 (2)AENO:使能输出与指令 AENO指令是个隐含操作数指令。书写时,不需要(也不许)把位操作数ENO写在AENO指令的后面,但是AENO指令的指针却是始终指向ENO位的。实际上,使能输出与指令的助记符AENO就是由“与”指令的助记符“A”和使能输出位的地址“ENO”二者相结合而构成的。 在用户程序中,功能指令是否允许执行,往往与前一条功能指令的执行条件以及该功能指令执行成功与否有关。只有当前一条功能指令的执行条件满足,且该功能指令执行成功时,才允许执行后面的一条功能指令。 [例] 有一双整数a(存放在VD0中)与一实数b(存放在VD8中),要求当I0.0=1时,将a转换为实数,转换成功后再与b相加,结果存放在VD12中。试编制一段能实现上述要求的梯形图程序和对应的指令表程序。 解:能实现上述要求的梯形图程序如下图所示。 用户可以先用LD(或LDN)指令将表示前一条功能 指令的执行条件的位数据装载到栈顶,再用使能输出与指令AENO将反映该功能指令执行的是否成功的ENO位的值与栈顶值相与,结果存入栈顶,AENO指令执行后,如果栈顶的值为1,说明上述两个条件都满足,那么,后面一条功能指令允许执行;否则,不允许被执行。 LD I0.0 //将I0.0的值装载到栈顶 DTR VD0,VD4 //若I0.0=1,则执行DTR指令,将双整数VD0转换为 //实数,结果存入VD4 AENO //将ENO位的值与栈顶值相与,结果存入栈顶 MOVR VD4,VD12 //若栈顶值为1,即I0.0=1,且ENO=1(即DTR指令 //执行成功),则执行MOVR指令,将VD4→VD12 +R VD8,VD12 //若栈顶值为1,即I0.0=1,且ENO=1(即DTR指令 //和MOVR指令执行成功),则执行+R指令,实现 //VD8+VD12→VD12 DI_R EN IN ENO OUT I0.0 VD0 V
文档评论(0)