STEP7 常见的编程技巧 (1) 实现按钮状态切换

时间:2024-05-19 15:07:23

在自动化项目中,经常需要用一个按钮来实现状态切换功能。简单的逻辑就是按钮按下置位1,按钮释放置位0。

这种基本条件对应线圈就能很简单实现。

 

有点难度的逻辑是:

按钮按下、释放 置位1 , 按钮再按下、释放 置位0.,循环往复

这时候就需要点编程技巧来实现对应逻辑了。

 

首先在变量表里创建两个变量 btn /status

STEP7 常见的编程技巧 (1) 实现按钮状态切换

Ladder:

STEP7 常见的编程技巧 (1) 实现按钮状态切换

简单解释:利用一个临时变量temp来记录上一次按钮释放时M0.1的状态,来判断下次按钮按下需要置0还是置1。

 

当然也可以做一个FC进行复用。

 

FUNCTION "FB_Btn" : VOID
TITLE =Basic Btn Function
VERSION : 0.1


VAR_INPUT
  btn : BOOL ;    
END_VAR
VAR_OUTPUT
  status : BOOL ;    
END_VAR
VAR_TEMP
  temp : BOOL ;    
END_VAR
BEGIN
NETWORK
TITLE =Set Final status

      A     #btn; 
      AN    #temp; 
      S     #status; 
      A     #btn; 
      A     #temp; 
      R     #status; 
      NOP   0; 
NETWORK
TITLE =Help BIT temp

      AN    #btn; 
      A     #status; 
      S     #temp; 
      AN    #btn; 
      AN    #status; 
      R     #temp; 
      NOP   0; 
END_FUNCTION