技术论坛

 分个享,一个有用的功能。

返回主题列表
作者 主题
芳季
至圣

经验值:66275
发帖数:14654
精华帖:100
楼主    2018-11-19 15:39:23
主题:分个享,一个有用的功能。 精华帖 

分享一个有用的库,可多次调用,并内含边缘指令的制作原理和计时原理。这两个重点都是很多人问过的。

收藏起来,日后就不用问了。


程序很少,6个网络。


下面一行开始为程序开始。

SUBROUTINE_BLOCK 点消抖:SBR1

TITLE=子程序注释

VAR_INPUT

入点:BOOL;

门限ms:DWORD;

END_VAR

VAR_IN_OUT

记忆D:DWORD;

记忆B:BYTE;

END_VAR

VAR_OUTPUT

出点:BOOL;

END_VAR

VAR

位_上次:BOOL;

持续时:DWORD;

END_VAR

BEGIN

Network 1 // 本程序当输入点状态稳定达到门限毫秒时间后输出才跟着输入点发生变化。作者:芳季。

Network 2 // 上升缘和下降缘读取一次时钟。

// 网络注释

LD     L0.0

AN     L9.0

LDN    L0.0

A      L9.0

OLD

BITIM  LD5

Network 3 // 制作边缘

LD     L0.0

=      L9.0

Network 4 

LD     L9.7

=      L10.0

Network 5 // 输入和输出一致,结束子程序。就不需要做什么了。 不一致表示正在等待变换。不结束程序,计算时间。

LD     L0.0

A      L9.7

LDN    L0.0

AN     L9.7

OLD

CRET

Network 6 // 不一致,会运行到这里。 检查时间,未达到门限时间,不需要做什么。

LD     SM0.0

CITIM  LD5, LD11

AD<    LD11, LD1

CRET

Network 7 // 达到了门限,变换输出。

LD     L0.0

=      L9.7

END_SUBROUTINE_BLOCK

上面一行是程序最后一行。

把以上程序复制粘贴到记事本,保存为*.awl文件。用导入功能,导入awl到新的程序里可以生成一个完整功能的子程序。你可以自行制作成库。

在主程序或其他子程序做无条件调用,便可实现需要的功能。有条件调用请自行分析现象。

如果本程序对你有用,你可以再次分享,但请你分享时不要删除注释中那两个字。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。