• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
張國良
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 68 個
工控威望: 138 點
下載積分: 707 分
在線時間: 64(小時)
注冊時間: 2020-02-06
最后登錄: 2024-11-10
查看張國良的 主題 / 回貼
樓主  發(fā)表于: 2024-03-24 12:05
有ABCD三個風機,觸摸屏上可以任意排序,比如A可以是一號可以是二號也可以是三號也可以是四號,BCD同理,現(xiàn)在要求一號風機開10秒停5秒,然后二三四號依次運行,如果是A是一號B是二號,C是三號,D是四號這樣固定好了可以寫出來,但是ABCD是任意排序的,如果下一次ABCD排序成2341,這樣應該怎么寫,plc是三菱的
yha_4611
QQ: 2490453455私信聊天
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 513 個
工控威望: 647 點
下載積分: 1810 分
在線時間: 554(小時)
注冊時間: 2011-11-19
最后登錄: 2024-11-11
查看yha_4611的 主題 / 回貼
1樓  發(fā)表于: 2024-03-24 12:10
每一個電機在觸摸屏上已編號,程序中需要比較編號,從一到四執(zhí)行就可以了。
QQ: 2490453455
17625606414
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 407 個
工控威望: 583 點
下載積分: 113 分
在線時間: 148(小時)
注冊時間: 2022-07-11
最后登錄: 2024-11-11
查看17625606414的 主題 / 回貼
2樓  發(fā)表于: 2024-03-24 13:09
變址
18857713026
賺點辛苦錢不容易啊 誒~~~~ 努力賺錢
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 388 個
工控威望: 482 點
下載積分: 1171 分
在線時間: 186(小時)
注冊時間: 2020-11-27
最后登錄: 2024-11-09
查看18857713026的 主題 / 回貼
3樓  發(fā)表于: 2024-03-24 15:04
程序里就 M0 一號風機  M1 二號風機  M2三號風機  M3四號風機
屏幕上  D0_定義Y0是幾號風機   D1_Y1     D2_Y2  D3_Y3


LD M8000  MOV D0 Z0
LDM0Z0 OUT Y0

LD M8000  MOV D1 Z0
LDM0Z0 OUT Y1

LD M8000  MOV D2 Z0
LDM0Z0 OUT Y2

LD M8000  MOV D3 Z0
LDM0Z0 OUT Y3
fxe2008
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 42 個
工控威望: 168 點
下載積分: 4081 分
在線時間: 72(小時)
注冊時間: 2023-11-20
最后登錄: 2024-09-24
查看fxe2008的 主題 / 回貼
4樓  發(fā)表于: 2024-03-25 09:09
圖片:
引用
引用第3樓18857713026于2024-03-24 15:04發(fā)表的  :
程序里就 M0 一號風機  M1 二號風機  M2三號風機  M3四號風機
屏幕上  D0_定義Y0是幾號風機   D1_Y1     D2_Y2  D3_Y3


LD M8000  MOV D0 Z0
.......

你這程序有問題呀
夢雨天涯
微信hui530527   &
級別: 網(wǎng)絡英雄
精華主題: 0
發(fā)帖數(shù)量: 4191 個
工控威望: 7559 點
下載積分: 14703 分
在線時間: 2839(小時)
注冊時間: 2016-10-31
最后登錄: 2024-11-09
查看夢雨天涯的 主題 / 回貼
5樓  發(fā)表于: 2024-03-25 10:12
程序僅供參考

三菱任意序號啟動,停止延時(FX3U)_嗶哩嗶哩_bilibili
https://www.bilibili.com/video/BV1nH4y1p7pq/
[ 此帖被夢雨天涯在2024-03-25 10:43重新編輯 ]
微信hui530527      b站賬號,非標自動化譚工
請不要隨意加我,不會隨便通過。QQ群942493953
18857713026
賺點辛苦錢不容易啊 誒~~~~ 努力賺錢
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 388 個
工控威望: 482 點
下載積分: 1171 分
在線時間: 186(小時)
注冊時間: 2020-11-27
最后登錄: 2024-11-09
查看18857713026的 主題 / 回貼
6樓  發(fā)表于: 2024-03-25 11:13
引用
引用第4樓fxe2008于2024-03-25 09:09發(fā)表的  :

你這程序有問題呀


什么問題  ??? ?????????????
D0 =0      Y0 = M0  
D0 =1      Y1 = M1
D0 =2      Y2 = M2
D0 =3      Y3 = M3
???????????????????   不會為什么Y0沒亮吧    你看看對應M亮了嗎   不要問這么******的問題
[ 此帖被18857713026在2024-03-25 11:20重新編輯 ]
fxe2008
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 42 個
工控威望: 168 點
下載積分: 4081 分
在線時間: 72(小時)
注冊時間: 2023-11-20
最后登錄: 2024-09-24
查看fxe2008的 主題 / 回貼
7樓  發(fā)表于: 2024-03-25 14:15
引用
引用第6樓18857713026于2024-03-25 11:13發(fā)表的  :


什么問題  ??? ?????????????
D0 =0      Y0 = M0  
D0 =1      Y1 = M1
.......

你沒發(fā)現(xiàn)我發(fā)的圖片上DO=1的時候,Z0數(shù)值沒有變嗎。你模擬下看看,可能和PLC有關系,我選的是FX3U的
18857713026
賺點辛苦錢不容易啊 誒~~~~ 努力賺錢
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 388 個
工控威望: 482 點
下載積分: 1171 分
在線時間: 186(小時)
注冊時間: 2020-11-27
最后登錄: 2024-11-09
查看18857713026的 主題 / 回貼
8樓  發(fā)表于: 2024-03-25 16:48
引用
引用第7樓fxe2008于2024-03-25 14:15發(fā)表的  :

你沒發(fā)現(xiàn)我發(fā)的圖片上DO=1的時候,Z0數(shù)值沒有變嗎。你模擬下看看,可能和PLC有關系,我選的是FX3U的

?????????????
PLC是順序更新啊    
你能看到當然是 Z0的最后一次狀態(tài)啊  
你D1 = 0   D0不管等于多少   Z0永遠是0啊
ljty9527
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 22 個
工控威望: 85 點
下載積分: 2646 分
在線時間: 160(小時)
注冊時間: 2019-10-22
最后登錄: 2024-11-09
查看ljty9527的 主題 / 回貼
9樓  發(fā)表于: 2024-03-25 21:19

flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 884 個
工控威望: 1033 點
下載積分: 1985 分
在線時間: 687(小時)
注冊時間: 2012-05-09
最后登錄: 2024-11-06
查看flyfeky的 主題 / 回貼
10樓  發(fā)表于: 2024-03-25 21:31
按道理, 這里有個數(shù)據(jù)結構 , 叫做隊列, 也就是先進先出 。   可以自己實現(xiàn)隊列算法,如果有現(xiàn)成的也可以。

簡單的可以如下,不算隊列算法,具體的啟停邏輯,我下面是不對的啊.

把 A/B/C/D 用數(shù)字1/2/3/4  分別放到存儲器   D1,D2,D3,D4 中,標識這四個風機。  多的話用數(shù)組和循環(huán),比如100個風機。    Y1 Y2 Y3 Y4 表示輸出。

第一步要設置  D0 D1 D2 D3的值。   比如2341;  /  1234 /  3412/      step的轉換條件 就是 時間到  step:=step+1;
case  step of  
1 :

IF  D1=1  THEN
Y1:=TRUE;  //  Y1通10S 停2s
ELSE IF D1=2 THEN
Y2:=TRUE; //  Y2通10S 停2s
ELSE IF D1=3 THEN
Y3:=TRUE; //  Y3通10S 停2s
ELSE IF D1=4 THEN
Y4:=TRUE; //  Y4通10S 停2s
END IF;

2 :

IF  D2=1  THEN
Y1:=TRUE;
ELSE IF D2=2 THEN
Y2:=TRUE;
ELSE IF D2=3 THEN
Y3:=TRUE;
ELSE IF D2=4 THEN
Y4:=TRUE;
END IF;


3:

4:

end case;
[ 此帖被flyfeky在2024-03-25 22:00重新編輯 ]
本帖最近評分記錄:
  • 下載積分:+1(libin520) 真誠感謝!
  • 西門子倍福WPF+C#數(shù)據(jù)庫,槽式設備專家
    沖出槍林彈雨
    沖出槍林彈雨
    級別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 141 個
    工控威望: 622 點
    下載積分: 350 分
    在線時間: 86(小時)
    注冊時間: 2020-09-05
    最后登錄: 2024-11-10
    查看沖出槍林彈雨的 主題 / 回貼
    11樓  發(fā)表于: 2024-03-25 23:02
    可以參考,能監(jiān)控當前運行風機編號,狀態(tài),以及加了停止動作
    VAR  
        TimerRun : TON;         // 運行計時器  
        TimerStop : TON;        // 停止計時器  
        FanState : ARRAY[1..4] OF BOOL; // 風機狀態(tài)數(shù)組(TRUE-運行,F(xiàn)ALSE-停止)  
        CurrentFan : INT;       // 當前運行的風機編號(1-A,2-B,3-C,4-D)  
        FanOrder : ARRAY[1..4] OF INT := [1, 2, 3, 4]; // 風機排序數(shù)組,可以修改排序  
        EmergencyStop : BOOL;   // 緊急停止按鈕狀態(tài)  
        SafetyInterlock : BOOL; // 安全聯(lián)鎖狀態(tài)  
    END_VAR  
      
    //初始化  
    IF NOT TimerRun.Q AND NOT TimerStop.Q AND NOT EmergencyStop AND SafetyInterlock THEN  
        FOR i := 1 TO 4 DO  
            FanState := FALSE; // 所有風機初始狀態(tài)為停止  
        END_FOR;  
        CurrentFan := FanOrder[1]; // 根據(jù)風機排序數(shù)組確定起始風機  
        TimerRun(IN:=TRUE, PT:=T#10s); // 設置運行計時器為10秒  
    END_IF  
      
    // 風機運行邏輯  
    IF NOT EmergencyStop AND SafetyInterlock THEN  
        IF TimerRun.Q THEN  
            // 當前風機正在運行或即將運行  
            IF NOT FanState[CurrentFan] THEN  
                // 啟動當前風機  
                FanState[CurrentFan] := TRUE;  
                // 這里加入控制當前風機啟動的代碼  
            END_IF  
        ELSE  
            // 運行時間到,停止當前風機  
            FanState[CurrentFan] := FALSE;  
            // 這里加入控制當前風機停止的代碼  
            TimerStop(IN:=TRUE, PT:=T#5s); // 設置停止計時器為5秒  
        END_IF  
          
        IF TimerStop.Q THEN  
            // 停止時間到,切換到下一個風機  
            CurrentFan := FanOrder[(CurrentFan MOD 4) + 1]; // 根據(jù)風機排序數(shù)組循環(huán)風機編號  
            TimerRun(IN:=TRUE, PT:=T#10s); // 重置運行計時器為10秒  
        END_IF  
    ELSE  
        // 緊急停止或安全聯(lián)鎖斷開,停止所有風機  
        FOR i := 1 TO 4 DO  
            FanState := FALSE;  
        END_FOR;  
        TimerRun(IN:=FALSE); // 停止運行計時器  
        TimerStop(IN:=FALSE); // 停止停止計時器  
    END_IF
    技術交流vx: Electric973
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go