欧美鲁鲁_啦啦啦啦在线观看_日韩精品短视频_玩偶姐姐作品在线观看_天天综合天天做天天综合_国产综合图区

凌霸天
級別: 探索解密
精華主題: 0
發帖數量: 25 個
工控威望: 191 點
下載積分: 355 分
在線時間: 20(小時)
注冊時間: 2024-12-16
最后登錄: 2025-07-24
查看凌霸天的 主題 / 回貼
樓主  發表于: 21天前
現有一臺1200PLC,20臺200smart,1200作為主站,200smart作為從站,1200通過modbus rtu協議對20臺從站輪詢讀寫,正常情況只需要讀輪詢,但是只要有寫的情況,需要優先去寫操作,有沒有前輩做過類似的實驗或者實操的,分享一下經驗
凌霸天
級別: 探索解密
精華主題: 0
發帖數量: 25 個
工控威望: 191 點
下載積分: 355 分
在線時間: 20(小時)
注冊時間: 2024-12-16
最后登錄: 2025-07-24
查看凌霸天的 主題 / 回貼
1樓  發表于: 21天前
// 主程序
IF #firstScan THEN
    // 初始化Modbus通信端口 (PORT=0, 波特率9600, 8N1)
    #commLoad(
              REQ := TRUE,
              "PORT" := 0,
              BAUD := 9600,
              PARITY := 2,    // 0=None, 1=Odd, 2=Even
              MB_DB := #mbMaster);
    #firstScan := FALSE;
    
    // 初始化錯誤狀態
    FOR #i := 1 TO 20 DO
        #errorStatus[#i] := FALSE;
        #errorCount[#i] := 0;
    END_FOR;
END_IF;

// 處理寫請求 (高優先級)
IF #writeRequest THEN
    #mode := 1; // 進入寫模式
    #currentSlave := #writeSlaveID;
    
    // 執行寫操作 (功能碼6 - 寫單個寄存器)
    #mbMaster(
              REQ := TRUE,
              MB_ADDR := #writeSlaveID,
              MODE := 1,       // 寫模式
              DATA_ADDR := #writeAddress,
              DATA_LEN := 1,    // 寫入1個寄存器
              DATA_PTR := (#writeValue),
              DONE => #tempDone,
              ERROR => #tempError);
    // 處理寫結果
    IF #tempDone OR #tempError THEN
        #writeRequest := FALSE;
        IF #tempError THEN
            // 記錄錯誤
            #errorStatus[#writeSlaveID] := TRUE;
            #errorCount[#writeSlaveID] := #errorCount[#writeSlaveID] + 1;
        ELSE
            // 清除錯誤狀態(可選)
            #errorStatus[#writeSlaveID] := FALSE;
        END_IF;
        #mode := 0; // 返回讀模式
    END_IF;
    
    // 正常輪詢模式
ELSE
    // 檢查從站錯誤狀態
    IF #errorStatus[#currentSlave] THEN
        // 跳過錯誤從站,直接遞增計數器
        #currentSlave := #currentSlave MOD 20 + 1;
        #pollCounter := #pollCounter + 1;
        RETURN;
    END_IF;
    
    // 執行讀操作 (功能碼3 - 讀保持寄存器)
     #mbMaster(
    REQ := TRUE,
    MB_ADDR := #currentSlave,
    MODE := 0,       // 讀模式
    DATA_ADDR := 40001, // 示例起始地址
    DATA_LEN := 10,   // 讀取10個寄存器
    DATA_PTR := #datebuffer, // 指向數據緩沖區
    DONE => #tempDone,
    ERROR => #tempError);
    
    // 處理讀結果
    IF #tempDone OR #tempError THEN
        IF #tempError THEN
            // 記錄錯誤
            #errorStatus[#currentSlave] := TRUE;
            #errorCount[#currentSlave] := #errorCount[#currentSlave] + 1;
        END_IF;
        
        // 移動到下一個從站
        #currentSlave := #currentSlave MOD 20 + 1;
        #pollCounter := #pollCounter + 1;
    END_IF;
END_IF;
chenwing
級別: 略有小成
精華主題: 0
發帖數量: 53 個
工控威望: 207 點
下載積分: 649 分
在線時間: 135(小時)
注冊時間: 2009-06-22
最后登錄: 2025-07-27
查看chenwing的 主題 / 回貼
2樓  發表于: 前天
牛人,200smart 1200還 Modbus

主站蜘蛛池模板: 男人天堂av网站 | 插入视频免费在线观看 | 欧美日本韩国国产 | 亚洲精品成人在线播放 | 啦啦啦视频在线免费播放 | 超级av在线天堂东京热 | 国产精人妻无码一区二区三区牛牛 | 国产又粗又猛又黄又爽的视频 | 丰满岳乱妇一区二区三区 | 欧美一区二区最爽乱淫视频免费看 | 羞羞的铁拳 | 天天操天天射综合网 | 欧美喷水视频 | 婷婷久久五月 | 国产亚洲欧美日韩在线一区二区三区 | 人妻无码中文字幕永久有效视频 | 一级激情片 | 一本久久a久久精品综合 | 内射少妇36P亚洲区 草草CCYY免费看片线路 | 亚洲精品一区二区三区98年 | 国产精品美女视频免费午夜版 | 国产超碰在线播放 | 波多野结衣亚洲天堂 | 亚洲欧美动漫少妇自拍 | 女阾居的丰满奶水ⅹxxx影片 | 国产 日韩 欧美 综合在线 | av中文字幕免费 | 青青草国产精品亚洲专区无码 | 99在线在线视频观看 | 永久在线高清av | 欧美大bbbbbbbbbbbb | 在线免费色 | 亚洲精品国产拍免费91在线 | 亚洲一区二区三区在线网站 | 欧美大码少妇 | 浪妇荡sao嗯啊~h调教韩国 | 成人免费一区二区三区牛牛 | 香蕉久久精品日日躁夜夜躁 | 国产乱子伦精品免费无码专区 | 综合激情视频 | 中文字幕av一区二区三区人 |