|
楼主 |
发表于 2024-1-1 22:45:02
|
显示全部楼层
转眼间到了2024年,在这里祝大家元旦快乐,并把上面的案例用ST语法重新写了一遍。
经典程序1:起保停(自锁)
- IF ( 启动 OR 电机 ) AND NOT 停止 THEN
- 电机:=TRUE;
- ELSE
- 电机:=FALSE;
- END_IF;
复制代码
经典程序2:正反转(联锁互锁)
- //正转
- 电机KM1:=( 正转 OR 电机KM1 ) AND NOT 停止 AND NOT 反转 AND NOT 电机KM2;
- //反转
- 电机KM2:=( 正转 OR 电机KM2 ) AND NOT 停止 AND NOT 正转 AND NOT 电机KM1;
复制代码
经典程序3:震荡电路
- TMR(NOT 灭灯timer,亮灯timer,10);//倒计时1s,时间到点亮
- TMR(亮灯timer,灭灯timer,10);//亮灯后倒计时1s,时间到熄灭
- 指示灯:=亮灯timer;//把灯点亮
复制代码
经典程序4:延时通断
- TMR(启动,接通延时timer,10);//按下启动按钮后开始计时
- 电机:=( 接通延时timer OR 电机 ) AND NOT 断开延时timer;//时间到接通
- TMR(NOT 启动 AND 电机,断开延时timer,10);//运行状态下,松开按钮后开始计时
复制代码
经典程序5:交替输出
- 指示灯:=( LDP(启动) AND NOT 指示灯 ) OR ( NOT LDP(启动) AND 指示灯 );
复制代码
经典程序6:多地启停
- 信号灯:=( 启动1 OR 启动2 OR 信号灯 ) AND NOT 停止1 AND NOT 停止2;
复制代码
经典程序7:点动运行,连动运行
- IF ( 点动运行 OR 连续运行 OR 连动中 ) AND NOT 停止 THEN
- 输出KM:=TRUE;
- IF NOT 点动运行 THEN
- 连动中:=TRUE;
- END_IF;
- ELSE
- 输出KM:=FALSE;
- 连动中:=FALSE;
- END_IF;
复制代码
|
|