1 / 11

《PLC 应用技术 》

《PLC 应用技术 》. 模块二: PLC 逻辑指令. 主要内容 2-1 触点指令与赋值指令 2-2 输出类指令与其他指令 2-3 定时器指令与计数器指令 2-4 堆栈指令. 2-4 堆栈指令 一 . 栈操作指令 LD 装载指令是从梯形图最左侧母线画起的,如果要生成一条分支的母线,则需要利用语句表的栈操作指令来描述。 栈操作语句表指令格式: LPS (无操作元件) : ( Logic Push )逻辑堆栈操作指令。堆栈操作时将断点的地址压入栈区,栈区内容自动下移(栈底内容丢失)。

maili
Télécharger la présentation

《PLC 应用技术 》

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 《PLC应用技术》 模块二:PLC逻辑指令

  2. 主要内容 2-1 触点指令与赋值指令 2-2 输出类指令与其他指令 2-3 定时器指令与计数器指令 2-4 堆栈指令

  3. 2-4 堆栈指令 一. 栈操作指令 LD装载指令是从梯形图最左侧母线画起的,如果要生成一条分支的母线,则需要利用语句表的栈操作指令来描述。 栈操作语句表指令格式: LPS(无操作元件):(Logic Push)逻辑堆栈操作指令。堆栈操作时将断点的地址压入栈区,栈区内容自动下移(栈底内容丢失)。 LRD(无操作元件):(Logic Read)逻辑读栈指令。读栈操作时将存储器栈区顶部的内容读入程序的地址指针寄存器,栈区内容保持不变。 LPP(无操作元件):(Logic Pop)逻辑弹栈指令。弹栈操作时,栈的内容依次按照后进先出的原则弹出,将栈顶内容弹入程序的地址指针寄存器,栈的内容依次上移。

  4. LPS,LRD,LPP指令的操作过程 逻辑推入栈 逻辑读栈 逻辑弹出栈 前 后 前 后 前 后 iv0 iv0 iv0 iv1 iv0 iv0 iv1 iv1 iv1 iv0 iv2 iv1 iv2 iv2 iv2 iv1 iv3 iv2 iv2 iv3 iv4 iv3 iv3 iv3 iv4 iv4 iv3 iv5 iv4 iv4 iv5 iv5 iv5 iv5 iv4 iv6 iv6 iv7 iv6 iv6 iv5 iv6 iv7 iv7 iv6 iv8 iv7 iv7 X iv8 iv7 iv8 iv8 iv8 • 堆栈操作时将断点的地址压入栈区,栈区内容自动下移(栈底内容丢失)。 • 读栈操作时将存储器栈区顶部的内容读入程序的地址指针寄存器,栈区内容保持不变。 • 弹栈操作时,栈的内容依次按照后进先出的原则弹出,将栈顶内容弹入程序的地址指针寄存器,栈的内容依次上移。

  5. 栈操作指令举例 LD I0.0 //装入常开触点 LPS //建立栈指针(堆栈) LD I0.1 //装入常开触点 O I0.2 //或常开触点 ALD //块与操作 = M0.0 //输出线圈 LRD //读栈 LD I0.3 //装入常开触点 O I0.4 //或常开触点 ALD//块与操作 = M0.1//输出线圈 LPP //弹栈 = Q0.0//输出线圈 为保证程序地址指针不发生错误,堆栈和弹栈指令必须成对使用,最后一次读栈操作应使用弹栈指令。

  6. 二、逻辑堆栈指令 栈装载与(ALD) 栈装载与指令(ALD)对堆栈中第一层和第二层的值进行逻辑与操作,结果放入栈顶。执行完栈装载与指令之后,栈深度减1。 栈装载或(OLD) 栈装载或指令(OLD)对堆栈中第一层和第二层的值进行逻辑或操作,结果放入栈顶。执行完栈装载或指令之后,栈深度减1。 逻辑推入栈(LPS) 逻辑推入栈指令(LPS)复制栈顶的值,并将这个值推入栈。栈底的值被推出并消失。 逻辑读栈(LRD) 逻辑读栈指令(LRD)复制堆栈中的第二个值到栈顶。堆栈没有推入栈或者弹出栈操作,但旧的栈顶值被新的复制值取代。 逻辑弹出栈(LPP) 逻辑弹出栈指令(LPP)弹出栈顶的值,堆栈的第二个栈值成为新的栈顶值

  7. ENO与(AENO) ENO与指令(AENO)对ENO位和栈顶的值进行逻辑与操作,其产生的效果与LAD或者FBD中盒指令的ENO位相同。与操作结果成为新的栈顶。 ENO是LAD和FBD中盒指令的布尔输出。如果盒指令的EN输入有能流并且执行没有错误,则ENO将能流传递给下一元素。您可以把ENO作为指令成功完成的使能标志位。ENO位被用作栈顶,影响能流和后续指令的执行。STL中没有EN输入。条件指令要想执行,栈顶值必须为逻辑1。在STL中也没有ENO输出。但是在STL中,那些与LAD和FBD中具有ENO输出的指令相应的指令,存在一个特殊的ENO位。它可以被AENO指令访问。 装入堆栈(LDS) 装入堆栈指令(LDS)复制堆栈中的第N个值到栈顶。栈底的值被推出并消失

  8. S7--200用逻辑堆栈来决定控制逻辑。在本例中,“iv0”到“iv7”表示逻辑堆栈的初始值,“nv”表示指令提供的一个新值,S0表示逻辑堆栈中存储的计算值。

More Related