课程中心
HOME
课程中心
正文内容
plc编程中 p 教你学编程2 - 西门子PLC - 基本指令 - 上升沿|P与下降沿|N
发布时间 : 2025-04-19
作者 : 小编
访问数量 : 23
扫码分享至微信

教你学编程2 - 西门子PLC - 基本指令 - 上升沿|P与下降沿|N

上升沿|P| 与下降沿|N|,是PLC指令中得沿指令。是采集输入信号或者逻辑运算结果RLO得上升沿和下降沿信号。

沿的时序图:

上升沿与下降沿时序图

由图可以看出,上升沿捕捉的是“信号输入”,有0变1时刻,“信号输出”一个扫描周期。而下降沿捕捉的是“信号输入”,有1变0时刻,“信号输出”一个扫描周期。PLC的扫描周期极短一般都是毫秒级,有性能优越的PLC甚至到微秒级。这是什么概念?1秒=1000毫秒=1000000微妙,假设你写了一个程序,PLC的CPU从程序第一个程序段开始执行,到执行到程序的最后一句为一个扫描周期,用时20毫秒,那么1秒钟,PLC能执行1000毫秒 / 20毫秒=50次(请您测试一下自己一秒种,你最快能数几个数?[爱慕])。PLC工作的方式就是循环扫描。一个周期一个周期的扫描执行。所以,假设有一个输出点,知道只导通了一个扫描周期(20毫秒),我们的右眼是无法观测到得。所以,这里得沿说的具体点就是信号由0-1,或者由1-0时刻得PLC得一个扫描周期。

上升沿举例

可能有的出学者看不明白上面的M100.0到底有啥用,这个解释很简单就是存储I0.0的上一个扫描周期的装填,但是不好理解。

实际上面的程序等同于:

I0.0有0到1后,Q0.0能导通吗?

答案是:Q0.0只在I0.0由0-1的沿时刻导通了一个扫描周期,其余的时间为0.

要分析这个程序的执行过程就要按照PLC的扫描周期一个一个的分析。我个人认为把这个程序整明白了,PLC的运行原理就明白了,或者说你就搞明白了PLC是如何工作的。

很明显上面程序只有1段,也就是PLC循环扫描这一句程序,没有其他,因为就写了一句。

下面是I0.0由0-1和由1-0每个点位的状态:

第一个扫描周期:I0.0=0 M100.0常闭点=1 Q0.0=0 M100.0=0

第二个扫描周期:I0.0=1 M100.0常闭点=1 Q0.0=1 M100.0=1

第三个扫描周期:I0.0=1 M100.0常闭点=0 Q0.0=0 M100.0=1

第四个扫描周期:I0.0=1 M100.0常闭点=0 Q0.0=0 M100.0=1

第五个扫描周期:I0.0=0 M100.0常闭点=0 Q0.0=0 M100.0=0

第六个扫描周期:I0.0=0 M100.0常闭点=1 Q0.0=0 M100.0=0

明白了吗?

大家讨论一下,典型的沿指令应用场合有哪些?

1905 「万泉河」PLC编程,上升沿的那点儿事

【万泉河】PLC编程,上升沿的那点儿事

在PLC编程中,上升沿逻辑经常需要用到。它的功能在于,在一个信号由0变1的瞬间,产生一个状态位,用于触发系统功能。

上升沿的功能原本非常简单,也有一些文章介绍过使用方法。 但仍然有不少人对此比较困惑。 尤其在标准化编程架构下。

标准化编程中, 不可以使用全局变量的M和T,这些我都写过多次文章了。而上升沿和下降沿, 因为比较简单, 就一直没有专门提及。

这回专门介绍一下。

在S7-300/400中,上升沿是个函数:

切换到STL, 指令为:

所以,本质上她就是一个FP的指令,只不过需要消耗一个全局变量。

在PORTAL中,上升沿下降沿的指令变的更复杂了。4对,8个:

调用时这样:

而其实我并不确切明白这4种到底有什么具体的区别。或者说,不明白西门子为啥要给搞到这么复杂。

不管了, 还按老的方式用P_TRIG即可。

S7-200 SMART 中使用就比较简单,一个简单的符号:

而且还到STL语言,它的指令其实叫做EU:

恰恰是这个EU,或者说P指令,害了很多人。

这个P指令,用起来确实简单,不需要加全局变量来区分,拿来就能用。但没有输入辅助变量的地方,就出了大问题,因为这个指令其实是不能重复被调用的。 所以,一个子程序块,如果使用了上升沿指令, 那么这个子程序在同一个CPU程序中,就不可以被重复调用。

所以,如果这个子程序实现的是设备库函数的功能的话,就不可以使用P指令。 一处都不可以。

所以,在SMART 200的标准化编程里面,如果按照我过去同样的语言格式,就应该表达为:好的PLC程序的判断标准,不使用P指令。

过去那些听闻M和T用不得都受不了的人,再听到这个说法,恐怕是要疯掉了。

那么,不让用P指令,如何实现上升沿控制呢?

二十几年来,PLC领域进展翻天覆地。但有的地方其实却是退步了。

我们回到S5来寻找答案。

那个时候,是没有现成指令给你用的,要做上升沿,需要自己编程实现:

STL语句里面:

使用一个辅助变量,简单保存一下输入信号的值,就可以实现了。 只需要这个保存语句,在使用的下方即可。

那么,在SMART200中,库函数中需要上升沿指令的时候,只需要回到S5时代的方法,就可以了。 辅助变量不使用全局变量的问题,老早就讨论过了。

其实,我上面的程序也是在SMART中做的。手头并没有STEP5的软件了。

以同样的道理,在SCL以及其它高级语言中,可以同理参考实现上升沿功能。

通常,使用一个OLD辅助变量

OUT := SIGN AND NOT SIGN_OLD;

SIGN_OLD:=SIGN;

因为下降沿的本质就是信号取反的上升沿,所以本文没有特别关注下降沿,也建议大家不要使用下降沿编程。 那样回过去读程序的时候逻辑会混乱,比较烧脑。

相关问答

plc中p#代表什么?

P#中的P是Pointer,是个32位的直接指针。所谓“直接”,是指P#中的#后面所跟的数值或者存储单元,是P直接给定的。这样P#XXX这种指针,就可以被用来在指令寻址中...

plc梯形图p和s是什么意思?

plc梯形图中:S--STOP表示不能运行用户程序,即停止模式,P是指边沿检测脉冲指令。plc梯形图中:S--STOP表示不能运行用户程序,即停止模式,P是指边沿检测脉冲指令。

请教西门子plc的这个是什么意思p#?

P#中的P是Pointer,是个32位的直接指针。所谓“直接”,是指P#中的#后面所跟的数值或者存储单元,是P直接给定的。这样P#XXX这种指针,就可以被用来在指令寻址中...

plc梯形图p是什么意思?

在PLC(可编程逻辑控制器)的梯形图编程中,"P"可能有以下几种常见的含义:1.P(Positive):在梯形图中,P通常表示正逻辑或正电平。当一个输入信号为P(正逻...在...

Plc上的24p和24n是什么意思?

24p和24n是指PLC(可编程逻辑控制器)的数字输入/输出模块上的端口。其中“p”代表“positive”,即正极,而“n”代表“negative”,即负极。这些端口通常用于连...

欧姆龙PLC中P_On、P_GT、PLT、PEQ分别是什么指令?

P_On是常开点指令,这个接点一直处于ON状态;P_GT是大于指令,通常跟随比较指令,做条件判断用;PLT是小于指令,也通常跟随比较指令,做条件判断用;PEQ是等...P_...

plc下降沿的符号?

在PLC编程中,下降沿是指输入信号从高电平(1)转变为低电平(0)的过程。在PLC的输入模块中,可以通过符号表示下降沿。常用的符号是"↓",表示输入信号发生下降...

PLC模块中的字母代表什么意思?

PLC模块中的字母代表不同的含义。其中P代表Programmable,即可编程;L代表Logic,即逻辑;C代表Controller,即控制器。组合在一起就是ProgrammableLogicCo...

【PLC语句命令字WXORP,MULP,WANDP,DIVP,WOR分别表示什么意思...

[最佳回答]WXORP逻辑字异或,MULP二进乘法,WANDP逻辑字与,DIVP二进制除法,WOR逻辑字或,以上指令脉冲行.

汇川plc模块为什么接多个P极?

汇川PLC模块接多个P极,是为了增加输入信号的可靠性和灵敏度。P极是指输入信号的正极,通过接入多个P极,可以增加输入信号的稳定性,避免单一输入信号的断开或干...

 2011年法网  tangyan 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部