M0-M7对应Y0-Y7七个灯。如果我按135顺序按键,那么
plc吧
全部回复
仅看楼主
level 9
无什所谓 楼主
M0-M7对应Y0-Y7七个灯。如果我按135顺序按键,那么他就按135顺序闪烁,不能有多个灯一起亮的情况。12345就12345顺序。如果一个按钮都没按,所有灯都不亮。每个灯的闪烁时间可以自由更改,例如136,我第一个灯设置的时间为0.6,那么他就亮0.6S然后往下循环,第二个灯设置6S。那么那个灯就亮六秒。第三个灯设置一秒他就亮一秒,然后不断的循环,如果途中某个灯亮的时间很久,我选择关闭此灯,那么他将直接熄灭,下一个灯将点亮。总之能随时增加灯或者减少灯。中途增加,那么循环中就会自己增加。
2019年09月23日 05点09分 1
level 3
题目概念有点模糊
2019年09月23日 08点09分 2
够清晰了吧?
2019年09月23日 09点09分
level 7
他的意思就是按123,突然加个4。然后程序里面也会加个4,变成1234。是这个意思吧?
2019年09月23日 09点09分 3
level 7
要说那么复杂么……会理解不会编程,下一位
2019年09月23日 09点09分 4
level 9
无什所谓 楼主
怎么能循环啊
2019年09月23日 11点09分 9
每个亮的时间也不一样
2019年09月23日 12点09分
最低位就是第一个按的吗
2019年09月23日 12点09分
@ltl520530 就是没有顺序的按,然后亮相应的时间,还要循环
2019年09月24日 00点09分
编码指令是忽略低位,编码高位。再说编码指令只是得到他的控制顺序,实际控制还是得用偏移来完成
2019年09月24日 00点09分
level 5
会出现761的情况么
2019年09月24日 00点09分 11
level 9
如果要按你的输入顺序来亮灯的话,是不是得有一个中间插入和删除的功能?如果有插入和删除的功能,你必有一个现行点的选择,现行点的延时,所以我认为你是简单的开关某个点而已,代码如下,
CASE step1 OF
0 : (*初始化 & 等待启动*)
step2 := 0;
temptime := 0;
ZRST( TRUE , Y0 , Y7 );
IF start THEN
step1 := step1+1;
END_IF
;
1:(*点亮输出*)
输出[step2] := 条件[step2];
IF 条件[step2] THEN
INC( M8013 , temptime );
IF temptime >= stime[step2] THEN
输出[step2] := FALSE;
step1 := step1+1;
END_IF;
ELSE
输出[step2] := FALSE;
step1 := step1+1;
END_IF;
;
2:(*复位计时器 & 程序指针+1 & 判断指针大小*)
temptime := 0;
step2 := step2+1;
IF NOT (stoping) THEN
IF step2 <= 7 THEN
step1 := 1;
ELSE
step2 := 0;
step1 := 1;
END_IF;
ELSE
start := FALSE;
stoping := FALSE;
step2 := 0;
END_IF
;
END_CASE ;
2019年09月24日 01点09分 12
level 8
留个qq。常联系技术问题
2019年09月24日 03点09分 13
level 3
加我q
2019年09月25日 06点09分 14
1