用过小型PLC梯形图编程的同学应该知道梯形图编程中的SET与RST指令。比如一个M元件,我们想让M100置位,只要写 SET M100就好了;复位当前M元件只要写RST M100就可以了。

同样的在ST文本这种高级语言中,也是有置位和复位语句的。

置位 S=

A S= B;这句语句的意思是只要B在程序的一个扫描周期内为true的话,我们的A变量就会被置位为true;

vb_启动按钮 S= hb_启动信号; “vb_启动按钮”是程序中用到的局部变量,“hb_启动信号”是触摸屏上的启动信号。当“hb_启动信号”在一个扫描周期内为true的时候,“vb_启动按钮”这个局部变量按钮就会被置位为true。

复位 R=

A R= B;当B在程序的一个扫描周期为true的时候,复位A,也就是把A设置成false。

用新学到的置位与复位语句,我们来改写一下4.5章节的项目代码:

局部变量段:

PROGRAM PLC_PRG
VAR
    vR_Trig            :     R_TRIG;
    vF_Trig            :    F_TRIG;
    vt_Time1        :    TON;
    vt_Time2        :    TON;

    vb_StartButton    :    BOOL;
END_VAR

代码段:

vt_Time1(IN:= (NOT vb_StartButton), PT:= T#2S, Q=> , ET=> );
vb_StartButton            S= vt_Time1.Q;

vt_Time2(IN:= vb_StartButton, PT:= T#3S, Q=> , ET=> );
vb_StartButton            R= vt_Time2.Q;

vR_Trig(CLK:= vb_StartButton, Q=> );
vF_Trig(CLK:= vb_StartButton, Q=> );

其实这和使用IF语句实现的效果是一样一样的,这样反而能减少我们程序的代码量,达到简化程序的效果。

Copyright © www.yanjuntech.cn 2018-2025 all right reserved,powered by Gitbook该文件修订时间: 2019-04-21 16:41:49

results matching ""

    No results matching ""