请教PLC里上升沿和下降沿指令

请教PLC里上升沿和下降沿指令,第1张

上升沿触发的意思是:X0发生由0到1跳变的那一周期,X0才有效,即X0=“1”;但有效期只能维持一个扫描周期,因为到下一个扫描周期时,X0是由1到1,就不是“上升沿”了。扫描周期可以理解为程序循环一遍的时间。由于可能有跳转或中断等指令,所以一个扫描周期不一定是全部的指令步数,要看具体情况。

下降沿的情况与上述类似。

更多的PLC知识,请登录本站或百度空间查找。

中断服务函数里判断。根据查询今日头条得知,linux中断函数里在中断服务函数里判断上升下降。中断函数是在发生中断时间后,主程序自动进入中断函数运行,运行结束后在退出中断函数,返回到进入中断函数之前的运行状态。

int signal;//信号当前状态

int lastSignal;//信号上个周期的状态

lastSignal=signal;

//以下代码段放在循环中执行,可以是线程循环或定时器循环

{

signal=xxx;//刷新信号

if (signal==1 && lastSignal==0){//上升沿,执行程序a}

if (signal==0 && lastSignal==1){//下降沿,执行程序b}

lastSignal=signal;//保存上一次的状态

}

供参考, 欢迎讨论

您是问硬件的方式?还是软件的方式?

如果是硬件的方式,那么,各种单片机很不相同,需要具体看它的资料。

一般来说,某些引脚,例如:外中断引脚、定时器的计数触发引脚、捕获引脚等等,都可以用来检测上升沿与下降沿。

以捕获(有的单片机资料如80196,将它称作“高速输入”)引脚为例:

捕获引脚可以与某个定时器相关联,在捕获引脚上遇到上升沿或下降沿时,硬件就自动记录下当时定时器的读数,并产生中断请求。您可以在中断服务程序中做所需的相应 *** 作。

至于是上升沿捕获,还是下降沿捕获,还是二者都能捕获,可以由用户自己选择配置。

如果是用软件的方式来检测,那道理就简单了。用查询方式:只要将要检测的信号接到某个输入端口的某个位,在程序中反复读取该位的输入,一旦遇到“上次是0此次是1”的情况,就说明检测到了上升沿,遇到“上次是1此次是0”的情况,就说明检测到了下降沿。

1、首先打开博途软件,出现如下界面,选择创捷项目。

2、选择创捷PLC项目;再选择PLC型号,随便选择一个版本,如下图所示。

3、然后在打开的页面中,双击OB1图标,进入程序编辑界面。

4、从工具栏里拖元件到编辑窗口;然后输入寄存器地址,如I00,再拖一个线圈,填写寄存器地址,如Q00。

5、点击工具栏中编译图标,开始编译程序,并在最下面窗口显示编译结果,如下图所示就完成了。

以上就是关于请教PLC里上升沿和下降沿指令全部的内容,包括:请教PLC里上升沿和下降沿指令、linux中断函数里如何判断上升下降、求教大神,c#如何在一个信号发生时以及消失时执行一次程序,类似于PLC中信号上升沿下降沿等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9875598.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存