抖音粉丝群1
『7x24小时有问必答』

往期精彩文章:
用比较指令控制点数长度可调的广告灯的往亮复灭延时移动程序

前面(17)讲的是用比较指令控制点数长度可调的广告灯的往亮复灭移动程序,如要全亮后延时10秒,全灭后延时10秒,且看下面能否实现。

案例要求:

一开关控制5个小灯的循环点亮,每次隔1秒钟,依次点亮Y0~Y4亮灯个数可调为2-5个,全亮后延时10秒。

再返回依次熄灭Y4~Y0,全灭后延时10秒,往复循环移动。

直到开关断开,全部灯都灭掉。

X1为设定亮灯个数的按钮,需要在5秒钟内设定,按一次加一个,长按5秒时间,设定个数归零。

软元件分配/使用如下表:

Y0

灯1HL1

Y1

灯2HL2
Y2灯3HL3
Y3灯4HL4
Y4灯5HL5
X0开关SB1

X1

按钮

SB2

设计思路:

按钮按动次数计数,并对次数用乘法指令MUL乘10运算,因要延时,需要加上100。结果做为定时器的时间设定值。

定时器每动作一次,用交替输出指令ALTP或FF,把移位条件M0反向,刚好在设定时间内左移或右移完成。

按钮设定次数需要在5秒钟之内设定完成,否则长按按钮5秒次数复位。

接线简图同上回:

1.png

编写程序:

首先,我们用梯形图语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择梯形图语言编写:

2.png

3.png
梯形图逻辑程序如下:

4.png
▲  初始化及亮灯个数设置

5.png
▲  主程序

这里可初始化复位T0-T2,也可不复位。如复位后,要重新设定亮灯个数。

注意:乘法的积是用32位寄存器来保存的,后面的+就需要用32位的D+。

乘法指令解释:

6.png
7.png
其次,我们再用ST语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择ST语言编写:

8.png

ST语言程序如下:

MOV(SM402 OR NOT X0,K0,K4Y0);//初始化

OUT_C(X1,C0,K5);//移位长度限位5位
OUT_T(X1,T0,K50);//移位长度5秒复位
MOV(T0,K0,C0);

MOV(X0,C0,D3);//C0的值要转换一下
OUT_T(X0 AND NOT C1 AND NOT T1,T1,K10);//1秒脉冲

OUT_C(X0 AND NOT C1 AND T1,C1,D3);//亮灯数

RST(T2,C1);//这里不能用传送0的方式复位。

D1:=C0*10;
D10:=D1+K100;//T2的计时

OUT_T(X0 AND NOT T2,T2,D10);//反转定时

FF(X0 AND NOT T2,M0);//移位条件反转

SFTLP(X0 AND T1 AND   M0,SM400,K16,K1,Y0);//左移位
SFTRP(X0 AND T1 AND NOT M0,SM401,K16,K1,Y0);//右移位

9.png

ST语言程序2:

MOV(SM402 OR NOT X0,K0,K4Y0);//初始化

OUT_C(X1,C0,K5);//移位长度限位5位
OUT_T(X1,T0,K50);//移位长度5秒复位
MOV(T0,K0,C0);

MOV(X0,C0,D3);//C0的值要转换一下
OUT_T(X0 AND NOT C1 AND NOT T1,T1,K10);//1秒脉冲

OUT_C(X0 AND NOT C1 AND T1,C1,D3);//亮灯数

RST(T2,C1);//这里不能用传送0的方式复位。

D1:=C0*10;

IF   M0   THEN//左移时间延时选择10秒
D10:=D1+K100;//T2的计时数
END_IF;
IF   NOT M0   THEN//右移时间延时选择5秒
D10:=D1+K50;//T2的计时数
END_IF;
OUT_T(X0 AND NOT T2,T2,D10);//反转定时

FF(X0 AND NOT T2,M0);//移位条件反转

SFTLP(X0 AND T1 AND   M0,SM400,K16,K1,Y0);//左移位
SFTRP(X0 AND T1 AND NOT M0,SM401,K16,K1,Y0);//右移位

10.png
▲  左右移位延时时间不同的程序

感谢阅读指正,关注了解更多!

参阅:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码