sdm0768
級別: 探索解密
|
這個可以嗎 |
---|---|
|
wangkeming07
學無止境。
級別: 家園?
|
可以啊 沒想到這么多大神,小弟拜服 |
---|---|
|
sdm0768
級別: 探索解密
|
我發個程序,求評分 |
---|---|
|
liuliangdt
liuliangdt
級別: 家園?
|
我用三菱的格式寫的。在仿真上試,跟樓主要求貌似差不多,不知道大家還能不能簡化。 /**************************************/ LD M8002 //開機脈沖 SET M20 //循環8次后的停止標志位 /**************************************/ LD M20 MPS ANI T1 OUT T0 K10 //一秒時鐘 MPP AND T0 OUT T1 K10 //復位定時器0用 /***********************************/ LD T0 INCP D0 //一秒計時 /***********************************/ LD = D0 K1 //第一秒 OUT M0 //接通Y0 /***********************************/ LD= D0 K3 //第三秒 OUT M1 //接通Y1 /***********************************/ LD= D0 K5 //第五秒 OUT M2 //接通Y2 /**********************************/ LD= D0 K7 //第七秒 OUT M3 //接通Y3 /**********************************/ LD= D0 K9 //第九秒 OUT M10 //接通Y0 OUT M11 //接通Y1 OUT M12 //接通Y2 OUT M13 //接通Y3 /**********************************/ LD= D0 K11 //第十一秒 INCP D1 //循環次數加一次 RST D0 //復位一秒計時,重新計時 /***********************************/ LD= D1 K8 //當循環次數達到8次時 RST M20 //復位循環8次后標志位M20 RST D0 //復位一秒計時(這步可以不寫,上面有了) /***********************************/ LD M0 OR M10 OUT Y0 //物理外部Y0輸出 /***********************************/ LD M1 OR M11 OUT Y1 //物理外部Y1輸出 /***********************************/ LD M2 OR M12 OUT Y2 //物理外部Y2輸出 /***********************************/ LD M3 OR M13 OUT Y3 //物理外部Y3輸出 /***********************************/ |
---|---|
|
liuliangdt
liuliangdt
級別: 家園?
|
不好意思,上面錯了。上面是兩秒閃爍一次。 把定時器改成特殊繼電器M8013。 不是閃爍一秒而是依次亮一秒滅一秒, 最后全亮一秒再重新循環。 /**************************************/ LD M8002 //開機脈沖 SET M20 //循環8次后的停止標志位 /**************************************/ LD M20 AND M8013 //一秒特殊繼電器 INCP D0 //一秒計時 /***********************************/ LD = D0 K1 //第一秒 OUT M0 //接通Y0 /***********************************/ LD= D0 K3 //第三秒 OUT M1 //接通Y1 /***********************************/ LD= D0 K5 //第五秒 OUT M2 //接通Y2 /**********************************/ LD= D0 K7 //第七秒 OUT M3 //接通Y3 /**********************************/ LD= D0 K9 //第九秒 OUT M10 //接通Y0 OUT M11 //接通Y1 OUT M12 //接通Y2 OUT M13 //接通Y3 /**********************************/ LD= D0 K11 //第十一秒 INCP D1 //循環次數加一次 RST D0 //復位一秒計時,重新計時 /***********************************/ LD= D1 K8 //當循環次數達到8次時 RST M20 //復位循環8次后標志位M20 RST D0 //復位一秒計時(這步可以不寫,上面有了) /***********************************/ LD M0 OR M10 OUT Y0 //物理外部Y0輸出 /***********************************/ LD M1 OR M11 OUT Y1 //物理外部Y1輸出 /***********************************/ LD M2 OR M12 OUT Y2 //物理外部Y2輸出 /***********************************/ LD M3 OR M13 OUT Y3 //物理外部Y3輸出 /***********************************/ |
---|---|
|
wangkeming07
學無止境。
級別: 家園常客
|
我說了怎么是M8012 ,大神都在民間啊。。。。。。。學習的路太長了 |
---|---|
|
sdm0768
級別: 探索解密
|
18樓的朋友思路很清晰,但好像不能用D1啊,如果D1變成1的話就是一個32位存儲器了,建議改成別的,還有你那個M11,12,13是否可以不要,都變成M10不知是否行呢,最后燈是閃爍的,你的設計是不閃的,可以在驅動幾個輸出的時候用上M8012或M8011.我雖不是發貼的人,但也想找更多的內行人溝通,畢竟我是個菜鳥。說得不好的地方請多包涵。 |
---|---|
|
liuliangdt
liuliangdt
級別: 家園?
|
這里其實要按你的要求的話要用M8012來閃爍的,M8012是100毫秒特殊繼電器。是我沒按你的要求編寫,因為我覺得你的出題可能是沒寫清楚。如果按你的要求寫的話應該在外部輸出Y0/Y1/Y2/Y3前連M8012的。如下: /***********************************/ LD M0 OR M10 AND M8012 //100毫秒特殊繼電器 OUT Y0 //物理外部Y0輸出 /***********************************/ LD M1 OR M11 AND M8012 //100毫秒特殊繼電器 OUT Y1 //物理外部Y1輸出 /***********************************/ LD M2 OR M12 AND M8012 //100毫秒特殊繼電器 OUT Y2 //物理外部Y2輸出 /***********************************/ LD M3 OR M13 AND M8012 //100毫秒特殊繼電器 OUT Y3 //物理外部Y3輸出 /***********************************/ |
---|---|
|
liuliangdt
liuliangdt
級別: 家園常客
|
呵呵,大家都是菜鳥,共同學習交流的。 我編寫的思路清晰可能是因為寫了注釋吧?并且還比較詳細,Y輸出還放在最后很明了。 三菱的數據寄存器是16位的,16位數據變成32位的是取決于使用的功能指令用的16還是32位。 在那里,M10/M11/M12/M13是必須要的。因為下面還使用M0/M1/M2/M3的話在同一個程序里出現了雙線圈。 如果大家有更好的解決辦法的話就一起分享吧。。 我沒有寫成閃爍是因為我覺得樓主的出題可能有誤,他的意思可能是每個燈亮一秒,四個燈依次閃爍。但在發帖是寫成了燈亮閃一秒,我這么主觀的揣測是因為樓主沒有要求在亮的那一秒里閃爍的時間間隔、閃爍的頻率是多少。 大家一起學習、交流、分享、進。。。 我現在的工作與電氣控制無關,我只是廠里的一個普通操作工,請多多指教! |
---|---|
|