91黄动漫 I 欧美 日韩 国产 成人 在线 I a级成人毛片 I 农村黄色片 I 男生捅女生的肌肌 I 精品99一区二区三区 I 妃光莉av I 日日夜夜操操 I 性中国古装videossex I 久久不卡av I 美女高潮动态图 I 极品美女开粉嫩精品 I 牛牛精品一区二区 I 91精品福利视频 I 成人刺激视频 I 91国内精品视频 I 中国一级特黄毛片大片 I 校长狠狠挺进校花体内小说 I 欧美激情黄色片 I 欧美久久久一区 I 爱豆国产剧免费观看大全剧苏畅 I 麻豆国产人妻欲求不满谁演的 I 亚洲一区二区在线免费观看视频 I 国产超碰av人人做人人爽 I 精品国产第一国产综合精品 I 久久免费看av I 欧美一区二区三区白人 I 国产精品夫妻激情 I 校花被肉干高h潮不断 I 欧美最猛黑人xxxx黑人表情 I 国产欧美日韩一区二区搜索 I 极品女神露脸呻吟啪啪 I 人人天天久久 I 亚洲动漫在线 I 日本91福利区 I 五月天 桃色 开心 I av在线免费观看国产 I 男人添女人的免费视频 I 夜夜穞天天穞狠狠穞

  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go
gmajyqi
只有想不到的,沒有做不到的gmaiyqi@163.com
級別: 略有小成
精華主題: 0
發帖數量: 105 個
工控威望: 325 點
下載積分: 2148 分
在線時間: 104(小時)
注冊時間: 2007-03-28
最后登錄: 2026-03-06
查看gmajyqi的 主題 / 回貼
12樓  發表于: 48天前
以下程序只是一個基本框架,實際應用中需要根據具體的PLC型號、輸入輸出地址分配、供水時間要求等進行調整和完善。同時,還可以考慮添加故障報警、手動控制等功能以增強系統的實用性和可靠性。編程思路

1. 定義輸入輸出:將每個電磁閥的狀態(開/關)連接到PLC的輸入點,用于判斷管路是否關閉。將控制電磁閥的輸出信號連接到PLC的輸出點,以控制電磁閥的通斷。

2. 設置狀態變量:使用中間繼電器或數據寄存器來記錄當前的供水組合狀態以及管路的關閉狀態。

3. 狀態判斷與跳轉:在程序中不斷檢查當前要供水的兩路管路是否關閉。如果有管路關閉,則跳過該組合,尋找下一個有效的供水組合,同時要保證始終有兩路給水。

4. 循環控制:當遍歷完所有可能的供水組合后,重新回到初始狀態,實現循環供水。

示例程序(以三菱FX系列PLC梯形圖為例)

假設X0-X6分別對應7條管道是否關閉的輸入信號(X0對應1號管道,X1對應2號管道,以此類推,X為ON表示管道關閉),Y0-Y6分別對應7個電磁閥的輸出信號(Y0控制1號電磁閥,Y1控制2號電磁閥,以此類推)。
// 初始化狀態,假設初始從1、2號供水開始
M0 = ON;  // M0作為當前狀態標志,初始為1、2號供水狀態

// 主循環
LOOP:
    // 判斷1、2號供水狀態
    IF (M0 AND NOT X0 AND NOT X1) THEN
        Y0 = ON;  // 打開1號電磁閥
        Y1 = ON;  // 打開2號電磁閥
        // 延時供水時間(假設T0為定時器,定時時間根據實際需求設置)
        T0 = START;
        WHILE (NOT T0.DONE) DO
            // 等待供水時間結束
        END WHILE;
        Y0 = OFF;
        Y1 = OFF;
        M1 = ON;  // 切換到2、3號供水狀態
        M0 = OFF;
    ELSEIF (M0 AND (X0 OR X1)) THEN
        M1 = ON;  // 若1或2號管道關閉,直接切換到2、3號供水狀態
        M0 = OFF;
    END IF;

    // 判斷2、3號供水狀態
    IF (M1 AND NOT X1 AND NOT X2) THEN
        Y1 = ON;
        Y2 = ON;
        T1 = START;
        WHILE (NOT T1.DONE) DO
            // 等待供水時間結束
        END WHILE;
        Y1 = OFF;
        Y2 = OFF;
        M2 = ON;  // 切換到3、4號供水狀態
        M1 = OFF;
    ELSEIF (M1 AND (X1 OR X2)) THEN
        M2 = ON;  // 若2或3號管道關閉,直接切換到3、4號供水狀態
        M1 = OFF;
    END IF;

    // 依次類推,判斷3、4號;4、5號;5、6號;6、7號;7、1號供水狀態,邏輯同上述
    // 判斷3、4號供水狀態
    IF (M2 AND NOT X2 AND NOT X3) THEN
        Y2 = ON;
        Y3 = ON;
        T2 = START;
        WHILE (NOT T2.DONE) DO
            // 等待供水時間結束
        END WHILE;
        Y2 = OFF;
        Y3 = OFF;
        M3 = ON;  // 切換到4、5號供水狀態
        M2 = OFF;
    ELSEIF (M2 AND (X2 OR X3)) THEN
        M3 = ON;  // 若3或4號管道關閉,直接切換到4、5號供水狀態
        M2 = OFF;
    END IF;

    // 判斷4、5號供水狀態
    IF (M3 AND NOT X3 AND NOT X4) THEN
        Y3 = ON;
        Y4 = ON;
        T3 = START;
        WHILE (NOT T3.DONE) DO
            // 等待供水時間結束
        END WHILE;
        Y3 = OFF;
        Y4 = OFF;
        M4 = ON;  // 切換到5、6號供水狀態
        M3 = OFF;
    ELSEIF (M3 AND (X3 OR X4)) THEN
        M4 = ON;  // 若4或5號管道關閉,直接切換到5、6號供水狀態
        M3 = OFF;
    END IF;

    // 判斷5、6號供水狀態
    IF (M4 AND NOT X4 AND NOT X5) THEN
        Y4 = ON;
        Y5 = ON;
        T4 = START;
        WHILE (NOT T4.DONE) DO
            // 等待供水時間結束
        END WHILE;
        Y4 = OFF;
        Y5 = OFF;
        M5 = ON;  // 切換到6、7號供水狀態
        M4 = OFF;
    ELSEIF (M4 AND (X4 OR X5)) THEN
        M5 = ON;  // 若5或6號管道關閉,直接切換到6、7號供水狀態
        M4 = OFF;
    END IF;

    // 判斷6、7號供水狀態
    IF (M5 AND NOT X5 AND NOT X6) THEN
        Y5 = ON;
        Y6 = ON;
        T5 = START;
        WHILE (NOT T5.DONE) DO
            // 等待供水時間結束
        END WHILE;
        Y5 = OFF;
        Y6 = OFF;
        M6 = ON;  // 切換到7、1號供水狀態
        M5 = OFF;
    ELSEIF (M5 AND (X5 OR X6)) THEN
        M6 = ON;  // 若6或7號管道關閉,直接切換到7、1號供水狀態
        M5 = OFF;
    END IF;

    // 判斷7、1號供水狀態
    IF (M6 AND NOT X6 AND NOT X0) THEN
        Y6 = ON;
        Y0 = ON;
        T6 = START;
        WHILE (NOT T6.DONE) DO
            // 等待供水時間結束
        END WHILE;
        Y6 = OFF;
        Y0 = OFF;
        M0 = ON;  // 切換回1、2號供水狀態
        M6 = OFF;
    ELSEIF (M6 AND (X6 OR X0)) THEN
        M0 = ON;  // 若7或1號管道關閉,直接切換回1、2號供水狀態
        M6 = OFF;
    END IF;

    // 跳轉到循環開始處
    GOTO LOOP;
只有想不到的,沒有做不到的
ljb6688
級別: 工控俠客
精華主題: 0
發帖數量: 1923 個
工控威望: 2102 點
下載積分: 120536 分
在線時間: 2182(小時)
注冊時間: 2009-12-08
最后登錄: 2026-02-14
查看ljb6688的 主題 / 回貼
13樓  發表于: 48天前
引用
引用第8樓夢雨天涯于2026-01-21 10:32發表的  :
FX5U做的   

大佬,講下編程思路呢。
電氣自動化,智能化控制,數據遠傳采集。工控元件代理,機器人附件    
zhengtiguo
上善若水
級別: 家園?
精華主題: 0
發帖數量: 596 個
工控威望: 654 點
下載積分: 5518 分
在線時間: 144(小時)
注冊時間: 2025-05-29
最后登錄: 2026-03-09
查看zhengtiguo的 主題 / 回貼
14樓  發表于: 48天前
排隊
深耕技術
卓發智能
相互學習,共同進步。
級別: 工控俠客
精華主題: 0
發帖數量: 2510 個
工控威望: 3173 點
下載積分: 13629 分
在線時間: 686(小時)
注冊時間: 2008-08-03
最后登錄: 2026-03-07
查看卓發智能的 主題 / 回貼
15樓  發表于: 48天前
// 系統啟停邏輯
V_CycleFlag := I_Start AND NOT I_Stop;

// 定時器觸發:當前狀態供水時長到,觸發狀態跳轉
V_Timer(IN:=V_CycleFlag, PT:=T#10S); // 設定每組供水10秒,可修改

// 狀態跳轉邏輯:定時器到或當前狀態無效,切換下一個狀態
IF V_Timer.Q OR NOT (I_PipeEn[V_CurrentState+1] AND I_PipeEn[IF V_CurrentState=6 THEN 1 ELSE V_CurrentState+2]) THEN
    V_CurrentState := V_CurrentState + 1;
    IF V_CurrentState >=7 THEN
        V_CurrentState := 0; // 狀態循環:6→0
    END_IF;
    V_Timer(IN:=FALSE); // 定時器復位
END_IF;

// 電磁閥輸出邏輯:根據當前狀態,輸出對應兩路電磁閥
// 先復位所有電磁閥
FOR i:=1 TO 7 DO
    Q_Solenoid := FALSE;
END_FOR;

// 按狀態輸出兩路電磁閥(需兩路均使能)
IF V_CycleFlag THEN
    CASE V_CurrentState OF
        0: // 狀態0:1-2路供水
            IF I_PipeEn[1] AND I_PipeEn[2] THEN
                Q_Solenoid[1]:=TRUE; Q_Solenoid[2]:=TRUE;
            END_IF;
        1: // 狀態1:2-3路供水
            IF I_PipeEn[2] AND I_PipeEn[3] THEN
                Q_Solenoid[2]:=TRUE; Q_Solenoid[3]:=TRUE;
            END_IF;
        2: // 狀態2:3-4路供水
            IF I_PipeEn[3] AND I_PipeEn[4] THEN
                Q_Solenoid[3]:=TRUE; Q_Solenoid[4]:=TRUE;
            END_IF;
        3: // 狀態3:4-5路供水
            IF I_PipeEn[4] AND I_PipeEn[5] THEN
                Q_Solenoid[4]:=TRUE; Q_Solenoid[5]:=TRUE;
            END_IF;
        4: // 狀態4:5-6路供水
            IF I_PipeEn[5] AND I_PipeEn[6] THEN
                Q_Solenoid[5]:=TRUE; Q_Solenoid[6]:=TRUE;
            END_IF;
        5: // 狀態5:6-7路供水
            IF I_PipeEn[6] AND I_PipeEn[7] THEN
                Q_Solenoid[6]:=TRUE; Q_Solenoid[7]:=TRUE;
            END_IF;
        6: // 狀態6:7-1路供水
            IF I_PipeEn[7] AND I_PipeEn[1] THEN
                Q_Solenoid[7]:=TRUE; Q_Solenoid[1]:=TRUE;
            END_IF;
    END_CASE;
END_IF;
相信自我!
奮斗人生
級別: 家園?
精華主題: 0
發帖數量: 580 個
工控威望: 750 點
下載積分: 11047 分
在線時間: 69(小時)
注冊時間: 2011-09-05
最后登錄: 2026-02-04
查看奮斗人生的 主題 / 回貼
16樓  發表于: 48天前
引用
引用第8樓夢雨天涯于2026-01-21 10:32發表的  :
FX5U做的   

可以
烏嘍牛
級別: 家園?
精華主題: 0
發帖數量: 854 個
工控威望: 994 點
下載積分: 2515 分
在線時間: 274(小時)
注冊時間: 2020-06-10
最后登錄: 2026-03-09
查看烏嘍牛的 主題 / 回貼
17樓  發表于: 48天前
圍觀,挺有意思
胡三001
級別: 正式會員
精華主題: 0
發帖數量: 37 個
工控威望: 67 點
下載積分: 765 分
在線時間: 31(小時)
注冊時間: 2023-09-14
最后登錄: 2026-03-09
查看胡三001的 主題 / 回貼
18樓  發表于: 47天前
感覺寫起來有點繞啊 !
uthman
QQ:3749615
級別: 家園?
精華主題: 1 篇
發帖數量: 398 個
工控威望: 827 點
下載積分: 2911 分
在線時間: 800(小時)
注冊時間: 2007-10-25
最后登錄: 2026-03-02
查看uthman的 主題 / 回貼
19樓  發表于: 47天前
雪山飛狐
級別: 網絡英雄

精華主題: 0
發帖數量: 16527 個
工控威望: 17609 點
下載積分: 59860 分
在線時間: 1185(小時)
注冊時間: 2019-06-05
最后登錄: 2026-03-09
查看雪山飛狐的 主題 / 回貼
20樓  發表于: 46天前
努力學習編程方法
wudilaolu007
非標行業10年經驗,對汽車行業接觸頗深
級別: 探索解密
精華主題: 0
發帖數量: 11 個
工控威望: 104 點
下載積分: 887 分
在線時間: 12(小時)
注冊時間: 2017-01-05
最后登錄: 2026-02-03
查看wudilaolu007的 主題 / 回貼
21樓  發表于: 36天前
引用
引用第12樓gmajyqi于2026-01-21 13:44發表的  :
以下程序只是一個基本框架,實際應用中需要根據具體的PLC型號、輸入輸出地址分配、供水時間要求等進行調整和完善。同時,還可以考慮添加故障報警、手動控制等功能以增強系統的實用性和可靠性。編程思路

1. 定義輸入輸出:將每個電磁閥的狀態(開/關)連接到PLC的輸入點,用于判斷管路是否關閉。將控制電磁閥的輸出信號連接到PLC的輸出點,以控制電磁閥的通斷。

2. 設置狀態變量:使用中間繼電器或數據寄存器來記錄當前的供水組合狀態以及管路的關閉狀態。
.......

意思是以后不要來論壇了,去問AI就行了?
payfsl
級別: 工控俠客
精華主題: 2 篇
發帖數量: 2637 個
工控威望: 2921 點
下載積分: 40364 分
在線時間: 492(小時)
注冊時間: 2010-08-03
最后登錄: 2026-03-05
查看payfsl的 主題 / 回貼
22樓  發表于: 34天前
用三菱 ST 語言實現 7 個電磁閥的循環聯動供水邏輯,核心要求是:按「1-2→2-3→…→7-1→1-2」的順序循環,任意時刻保持兩路供水,且能自動跳過關閉的管路(電磁閥),同時保證始終有兩路有效電磁閥工作。 下面我將提供可直接在三菱 PLC(支持 ST 語言,如 FX5U、Q 系列)中運行的代碼,全程使用中文變量,附帶邏輯說明和使用注意事項。
一、整體設計思路
1. 定義 7 個電磁閥的狀態變量(是否開啟、是否故障 / 關閉禁用),中文命名保證可讀性。
2. 定義當前供水的「前一路」和「后一路」電磁閥編號,確保任意時刻兩路聯動。
3. 設計「有效下一步」查找邏輯:當目標管路(電磁閥)關閉時,自動順延查找下一個可用電磁閥,保證始終有兩路有效供水。
4. 設計循環切換邏輯,包含切換延時(可配置,避免切換過快),支持循環往復運行。
5. 增加啟?刂,方便實際現場操作。
二、三菱 ST 語言完整代碼
(* ==============================================
   7電磁閥循環聯動供水程序(三菱ST語言)
   核心功能:循環切換、跳過關閉管路、始終保持兩路供水
   適用PLC:FX5U、Q系列(支持ST語言)
============================================== *)

(* ---------------------- 第一步:全局變量定義(可放入DB塊或全局變量表) ---------------------- *)
(* 1. 電磁閥狀態變量(BOOL型:TRUE=開啟/可用,FALSE=關閉/禁用/故障) *)
VAR_GLOBAL
    (* 7個電磁閥的啟用狀態(FALSE=管路關閉,需跳過;TRUE=管路可用,可供水) *)
    電磁閥1啟用 : BOOL := TRUE;
    電磁閥2啟用 : BOOL := TRUE;
    電磁閥3啟用 : BOOL := TRUE;
    電磁閥4啟用 : BOOL := TRUE;
    電磁閥5啟用 : BOOL := TRUE;
    電磁閥6啟用 : BOOL := TRUE;
    電磁閥7啟用 : BOOL := TRUE;
    
    (* 7個電磁閥的輸出控制(TRUE=通電供水,FALSE=斷電停止) *)
    電磁閥1輸出 : BOOL := FALSE;
    電磁閥2輸出 : BOOL := FALSE;
    電磁閥3輸出 : BOOL := FALSE;
    電磁閥4輸出 : BOOL := FALSE;
    電磁閥5輸出 : BOOL := FALSE;
    電磁閥6輸出 : BOOL := FALSE;
    電磁閥7輸出 : BOOL := FALSE;
    
    (* 控制類變量 *)
    系統運行標志 : BOOL := FALSE;  (* 系統啟停開關:TRUE=運行,FALSE=停止(可關聯外部按鈕) *)
    切換延時時間 : INT := 5000;   (* 供水切換延時(單位:ms),可根據現場需求修改(如5000=5秒) *)
    切換延時定時器 : TON;         (* 切換延時定時器(三菱ST內置TON指令) *)
    
    (* 邏輯狀態變量 *)
    當前前電磁閥編號 : INT := 1;  (* 當前供水的前一個電磁閥編號(1-7) *)
    當前后電磁閥編號 : INT := 2;  (* 當前供水的后一個電磁閥編號(1-7),與前一個聯動 *)
END_VAR

(* ---------------------- 第二步:核心邏輯實現 ---------------------- *)
(* 1. 系統停止時的復位邏輯 *)
IF NOT 系統運行標志 THEN
    (* 停止所有電磁閥輸出 *)
    電磁閥1輸出 := FALSE;
    電磁閥2輸出 := FALSE;
    電磁閥3輸出 := FALSE;
    電磁閥4輸出 := FALSE;
    電磁閥5輸出 := FALSE;
    電磁閥6輸出 := FALSE;
    電磁閥7輸出 := FALSE;
    
    (* 復位定時器和狀態變量 *)
    切換延時定時器(IN := FALSE, PT := 0);
    當前前電磁閥編號 := 1;
    當前后電磁閥編號 := 2;
END_IF;

(* 2. 系統運行時的核心循環邏輯 *)
IF 系統運行標志 THEN
    (* 2.1 先執行當前有效電磁閥的輸出控制(保證兩路供水) *)
    (* 根據當前編號,開啟對應的兩路電磁閥(僅啟用狀態為TRUE的才輸出) *)
    CASE 當前前電磁閥編號 OF
        1: 電磁閥1輸出 := 電磁閥1啟用;
        2: 電磁閥2輸出 := 電磁閥2啟用;
        3: 電磁閥3輸出 := 電磁閥3啟用;
        4: 電磁閥4輸出 := 電磁閥4啟用;
        5: 電磁閥5輸出 := 電磁閥5啟用;
        6: 電磁閥6輸出 := 電磁閥6啟用;
        7: 電磁閥7輸出 := 電磁閥7啟用;
    END_CASE;
    
    CASE 當前后電磁閥編號 OF
        1: 電磁閥1輸出 := 電磁閥1啟用;
        2: 電磁閥2輸出 := 電磁閥2啟用;
        3: 電磁閥3輸出 := 電磁閥3啟用;
        4: 電磁閥4輸出 := 電磁閥4啟用;
        5: 電磁閥5輸出 := 電磁閥5啟用;
        6: 電磁閥6輸出 := 電磁閥6啟用;
        7: 電磁閥7輸出 := 電磁閥7啟用;
    END_CASE;
    
    (* 2.2 啟動切換延時定時器(達到延時后進行下一步切換) *)
    切換延時定時器(IN := TRUE, PT := 切換延時時間);
    
    (* 2.3 延時到達后,查找下一組有效電磁閥并更新狀態 *)
    IF 切換延時定時器.Q THEN
        (* 定義臨時變量,用于查找下一組有效電磁閥 *)
        VAR_TEMP
            臨時下一個前編號 : INT;
            臨時下一個后編號 : INT;
            查找計數器 : INT;  (* 防止死循環,最多查找7次(對應7個電磁閥) *)
        END_VAR
        
        (* 初始化臨時變量和查找計數器 *)
        臨時下一個前編號 := 當前前電磁閥編號 + 1;
        臨時下一個后編號 := 當前后電磁閥編號 + 1;
        查找計數器 := 0;
        
        (* 循環查找:直到找到兩組都啟用的電磁閥,或查找完7次(保證循環) *)
        REPEAT
            (* 編號越界處理(7之后回到1,實現循環) *)
            IF 臨時下一個前編號 > 7 THEN
                臨時下一個前編號 := 1;
            END_IF;
            IF 臨時下一個后編號 > 7 THEN
                臨時下一個后編號 := 1;
            END_IF;
            
            (* 判斷當前臨時編號對應的電磁閥是否都啟用(核心:跳過關閉管路) *)
            (* 先獲取臨時編號對應的啟用狀態 *)
            VAR_TEMP
                臨時前啟用 : BOOL;
                臨時后啟用 : BOOL;
            END_VAR
            
            (* 賦值臨時前電磁閥啟用狀態 *)
            CASE 臨時下一個前編號 OF
                1: 臨時前啟用 := 電磁閥1啟用;
                2: 臨時前啟用 := 電磁閥2啟用;
                3: 臨時前啟用 := 電磁閥3啟用;
                4: 臨時前啟用 := 電磁閥4啟用;
                5: 臨時前啟用 := 電磁閥5啟用;
                6: 臨時前啟用 := 電磁閥6啟用;
                7: 臨時前啟用 := 電磁閥7啟用;
            END_CASE;
            
            (* 賦值臨時后電磁閥啟用狀態 *)
            CASE 臨時下一個后編號 OF
                1: 臨時后啟用 := 電磁閥1啟用;
                2: 臨時后啟用 := 電磁閥2啟用;
                3: 臨時后啟用 := 電磁閥3啟用;
                4: 臨時后啟用 := 電磁閥4啟用;
                5: 臨時后啟用 := 電磁閥5啟用;
                6: 臨時后啟用 := 電磁閥6啟用;
                7: 臨時后啟用 := 電磁閥7啟用;
            END_CASE;
            
            (* 如果當前臨時組合都啟用,或查找次數達7次(強制循環,避免卡死),則退出查找 *)
            IF (臨時前啟用 AND 臨時后啟用) OR (查找計數器 >= 7) THEN
                EXIT;
            ELSE
                (* 否則,順延查找下一個組合 *)
                臨時下一個前編號 := 臨時下一個前編號 + 1;
                臨時下一個后編號 := 臨時下一個后編號 + 1;
                查找計數器 := 查找計數器 + 1;
            END_IF;
        UNTIL (臨時前啟用 AND 臨時后啟用) OR (查找計數器 >= 7)
        END_REPEAT;
        
        (* 2.4 更新當前電磁閥編號為找到的有效組合 *)
        當前前電磁閥編號 := 臨時下一個前編號;
        當前后電磁閥編號 := 臨時下一個后編號;
        
        (* 2.5 復位定時器,準備下一次延時 *)
        切換延時定時器(IN := FALSE, PT := 0);
    END_IF;
END_IF;
三、代碼關鍵部分解釋
1.  變量定義部分 ◦ 「電磁閥 X 啟用」:用于標記管路是否可用(可關聯外部故障信號、手動關閉開關),FALSE則跳過該管路。 ◦ 「電磁閥 X 輸出」:直接關聯 PLC 的輸出點(Y 點),控制電磁閥物理通電。 ◦ 「切換延時時間」:可根據現場需求修改,比如改為 10000(10 秒),避免供水切換過快導致水壓波動。 ◦ 「切換延時定時器」:使用三菱 ST 內置的TON(通電延時定時器),IN為啟動信號,PT為延時時間,Q為延時到位輸出。  
2.  系統停止復位邏輯 ◦ 停止時直接關閉所有電磁閥輸出,復位狀態變量和定時器,保證下次啟動從初始狀態(1-2)開始。  
3.  有效電磁閥輸出控制 ◦ 使用CASE語句根據當前編號匹配對應的電磁閥,僅當「啟用狀態」為TRUE時才輸出TRUE,避免向關閉的管路供水。  
4.  跳過關閉管路的核心查找邏輯 ◦ 采用REPEAT...UNTIL循環查找下一組有效組合,順延編號并處理越界(7→1),保證循環性。 ◦ 增加「查找計數器」(最多 7 次),防止所有電磁閥都關閉時出現死循環,提升程序健壯性。 ◦ 僅當兩組電磁閥都啟用時,才更新當前編號,確保任意時刻有兩路有效供水。  
5.  循環切換邏輯 ◦ 延時到位后更新編號,然后復位定時器,進入下一個延時周期,實現「1-2→2-3→…→7-1→1-2」的無限循環。    
四、實際運行注意事項
1.  PLC 硬件關聯 ◦ 將「電磁閥 X 輸出」變量關聯到 PLC 的實際輸出點(Y 點),例如電磁閥1輸出對應Y0,電磁閥2輸出對應Y1,以此類推。 ◦ 將「系統運行標志」關聯到外部啟動按鈕(X 點),例如X0為啟動,X1為停止(可增加互鎖邏輯)。 ◦ 將「電磁閥 X 啟用」可關聯外部故障檢測信號(如壓力開關、行程開關),或手動選擇開關(X 點),實現管路關閉的自動識別。  
2.  參數調整 ◦ 「切換延時時間」根據現場供水需求調整,單位為ms(三菱 ST 中TON的PT參數,FX5U/Q 系列支持 ms 級延時)。 ◦ 若需加快切換速度,可減小該值(如 1000=1 秒);若需穩定供水,可增大該值(如 30000=30 秒)。  
3.  容錯性補充 ◦ 若現場可能出現「超過 2 個電磁閥關閉」的情況,當前代碼已能自動順延跳過,無需額外修改。 ◦ 若需增加「電磁閥故障報警」,可在「電磁閥 X 啟用」為FALSE時,觸發對應的報警輸出(如Y10)。  
4.  三菱 PLC 兼容性 ◦ 該代碼使用標準 ST 語言,兼容FX5U(需升級到最新固件)、Q 系列(Q03UDE 及以上),直接導入 PLC 的程序塊即可運行。 ◦ 若使用 FX3U(僅支持部分 ST 語言),需將TON定時器改為傳統的T定時器(如T0),并調整延時參數(單位為 100ms,如 50=5 秒)。    
五、運行效果示例
1. 正常情況(所有電磁閥啟用):按「1-2→2-3→3-4→…→7-1→1-2」循環,每 5 秒切換一次,始終兩路供水。
2. 異常情況(電磁閥 3 關閉):切換到「2-3」時,檢測到 3 禁用,自動順延查找「3-4」→「4-5」,直接切換到「4-5」,跳過關閉的 3,保持兩路供水。
3. 系統停止:所有電磁閥斷電,復位初始狀態,再次啟動從「1-2」開始(若 1-2 可用)。 
 總結
1. 核心邏輯通過「編號順延 + 循環查找」實現關閉管路的跳過,保證任意時刻兩路有效供水。
2. 中文變量命名貼合現場需求,直接關聯 PLC 硬件即可實際運行,無需復雜修改。
3. 程序包含復位、延時、容錯等功能,滿足工業現場的穩定性要求,兼容三菱主流 PLC 型號。如何在代碼中添加故障診斷功能? 如何優化代碼以提高運行效率? 如何將代碼移植到其他型號的三菱PLC上?
三人行必有我師焉,擇其善者而從之 ,學而不思則罔,思而不學則殆
15836154775
級別: 探索解密
精華主題: 0
發帖數量: 58 個
工控威望: 151 點
下載積分: 14210 分
在線時間: 219(小時)
注冊時間: 2016-06-13
最后登錄: 2026-03-05
查看15836154775的 主題 / 回貼
23樓  發表于: 31天前
感謝樓上大佬的講解,寫的很好很詳細。我雖然不怎么會用 st編程,但我理解了你的方法思路,用梯形圖編成了,說一下我自己的感受,開始看到要求時,覺得很簡單,自己編的時候覺得很復雜,覺得自己實現不了,因為我用的方法思路不對,我總想著用兩個水泵一起的條件去判斷,邏輯很復雜比如(12, 13,14,15,16,17,23,24,25,26,27,.........................),感覺很難。通過看你的編程方法思路,我豁然開朗,原來可以1個水泵,1個水泵去判斷,邏輯簡單多了。再次感謝感謝感謝!!!。。。
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go

主站蜘蛛池模板: 国产黄在线免费观看 | 国产精品国产三级在线专区 | 久久影视一区二区 | 美色综合 | 狠狠色丁香婷婷综合久久小说 | 思热99re视热频这里只精品 | 午夜精品久久久久99热蜜桃导演 | 成人性做爰aaa片免费看不忠 | 青青草免费视频在线播放 | 色欲悠久久久久综合区 | 免费看久久妇女高潮a | 国产免费传媒av片生线 | 91精品成人久久 | 中文字幕在线不卡视频 | 掀开奶罩边吃边摸下娇喘视频 | 一级黄在线观看 | 精品夜夜澡人妻无码av蜜桃 | 国产成人综合视频 | 韩国久久久久久级做爰片 | 国产精品无码久久av嫩草 | 欧美日韩一区二区在线播放 | 国产精品成人一区二区 | 欧美视频在线观看不卡 | 青青草国产线观看 | 欧美精品黑人粗大破除 | 婷婷综合久久 | 强奷漂亮人妻系列老师 | 天天干,夜夜操 | 成人综合网亚洲伊人 | 午夜伦4480yy私人影院 | 欧美国产中文 | 色五月激情五月亚洲综合考虑 | 欧洲色网 | 在线精品视频一区二区三四 | 亚洲婷婷天堂 | 国产a网 | 亚洲精品成a人在线观看网站 | 米奇7777狠狠狠狠视频影院 | 日产久久视频 | 又色又爽又高潮免费视频观看 | 亚洲系列一区中文字幕 | 琪琪午夜理论片福利在线观看 | 狠狠躁狠狠躁东京热无码专区 | 精品无码老熟妇magnet | 日本在线观看视频网站 | 老色鬼在线精品视频 | 亚洲精品国产suv | www色婷婷| 69堂国产成人免费视频 | 草草浮力地址线路①屁屁影院 | 四虎影视4hu4虎成人 | 五月婷婷一区二区 | 国产色秀视频在线播放 | 久久青青草原 | 中文久久乱码一区二区 | 丝袜毛片 | 无码精品国产va在线观看 | 91一区视频 | 中出乱码av亚洲精品久久天堂 | 亚洲欧洲成人精品香蕉网 | 精品一区二区无码av | 成人看片黄a免费看在线 | 在线免费观看欧美大片 | 久久女人天堂精品av影院麻 | 99热9 | 一二三在线视频 | 18禁成人黄网站免费观看 | 亚州性无码不卡免费视频 | 受虐狂 极端 奴役 折磨在线看 | 亚洲碰碰人人av熟女天堂 | 精东av在线 | 一区二区视频观看 | 日韩久久高清 | 美女裸体视频永久免费 | 久久嫩草av | 国产做a爱免费视频在线观看 | 亚洲国产一区二区三区 | 精品无码国产污污污免费 | 青青草国产免费久久久下载 | 亚洲人成无码网站久久99热国产 | 又黄又爽又色的视频 | 日本欧美一区二区三区高清 | 五月综合色婷婷在线观看 | 一本一道久久综合狠狠老 | 免费毛片在线播放 | 亚洲国产精品va在线观看麻豆 | 日韩毛片av| 欧美成人aaa片一区国产精品 | 久久久成人综合亚洲欧洲精品 | 国产在线精品视频免费观看 | 精品国产一区二区三区四区四 | 大地资源中文第三页 | 国产一区二区丝袜高跟鞋 | 色婷婷av一区二区三区之红樱桃 | 亚欧色一区w666天堂 | 成视频年人黄网站免费视频 | 日韩综合久久 | 国产又粗又猛的视频 | 亚洲午夜久久久久久久久久 |