北岛夜话
原创工业智能控制领域(PLC、单片机、嵌入式、机器人、通信)的技术及经验分享。
文章334 浏览2491468

LGF系列教程(2)-实现翻转控制的函数LGF_PulseRelay

今天这篇文章,我们来介绍下博途通用扩展函数库(LGF)的位逻辑函数中的——LGF_PulseRelay函数。

cover.png

LGF_PulseRelay函数实现了具有翻转控制的双稳态触发器功能。
该双稳态触发器能交替输出两种稳定的状态:0 和1。当第1次触发启动信号时,触发器会输出1并保持;第2次触发启动信号时,触发器会输出0并保持;第3次触发启动信号时,触发器再次输出1;如此交替进行,实现了输出信号的翻转(Flip-Flop)。

在LGF函数库的【位逻辑函数(bit logic operations】中可以找到LGF_PulseRealy,如下图所示:

LGF_library.PNG

将其拖拽到新创建的FB_Test中,系统会提示创建背景数据块。这里我们选择独立的背景数据块,新添加的函数LGF_PulseRelay如下图所示:

LGF_PulseRelay.PNG

该函数有三个输入参数和一个输出参数。

输入参数:

LGF_PulseRelay输入参数
参数名
数据类型
描述
trigger
布尔型
触发器的启动信号,该信号的上升沿可以使输出out的值翻转;
set
布尔型触发器的置位信号,该信号的上升沿可以使输出out的值置位(set to 1);
reset
布尔型
触发器的复位信号,该信号的上升沿可以使输出out的值复位(reset to 0);

输出参数:

LGF_PulseRelay输出参数
参数名
数据类型
描述
out
布尔型
触发器的输出值

LGF_PulseRelay函数的时序图如下:

time_sequence.png其中:

①:trigger信号的每次上升沿都会使out输出值翻转;
②:set信号的上升沿使out置位;
③:reset信号的上升沿使out复位;
④:如果set和reset同时触发,则reset优先,out复位;
举个例子:
要求用一个按钮实现电机的起停控制。
假设按钮的输入通道地址位I1.0;
电机继电器线圈的控制电路来自Q0.7;
则可以使用下面的代码实现单按钮控制电机启动和停止:

example.PNG

这样,当按钮按下时电机将启动,再次按下按钮时电机将停止。

好了,关于博途通用扩展函数库的LGF_PulseRelay函数就先介绍到这里。如果你不知道怎样添加该函数库,请点击文章最上方的话题#北岛李工-博途扩展函数库教程#查看之前的文章。

我的微信视频号以视频的方式分享一些工控小知识,欢迎扫描下方的二维码查看:

founderchip.png

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论