• <cite id="uwv89"></cite>
      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        zhang2601312
        級(jí)別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 26 個(gè)
        工控威望: 128 點(diǎn)
        下載積分: 671 分
        在線(xiàn)時(shí)間: 20(小時(shí))
        注冊(cè)時(shí)間: 2016-08-16
        最后登錄: 2025-06-30
        查看zhang2601312的 主題 / 回貼
        樓主  發(fā)表于: 83天前
        圖片:
        圖片:
        圖片:
        圖片:
        圖片:
        圖片:
        圖片:
        用的用戶(hù)自由通訊發(fā)送和接收功能塊。發(fā)送功能塊對(duì)下發(fā)送了一個(gè)讀取報(bào)文(01 03 00 12 00 04 EC 0C)然后就出現(xiàn)了一個(gè)問(wèn)題。就發(fā)送這個(gè)報(bào)文讀取4個(gè)字節(jié)數(shù)據(jù)時(shí)接收的數(shù)據(jù)是沒(méi)問(wèn)題的。但是我想多讀取幾個(gè)數(shù)據(jù)發(fā)送(01 03 00 12 00 10 EC 03)的話(huà)接收到的報(bào)文就和圖片1一樣亂的。這是為啥呢。問(wèn)了論壇好多高手的意思估計(jì)是接收功能塊設(shè)置問(wèn)題。但是我仔細(xì)看了幫助幾個(gè)模式(ADHOC設(shè)置位1或者0)都測(cè)試過(guò)了還是沒(méi)用。求助各位高手幫忙看下。十分感謝。PS:報(bào)文沒(méi)問(wèn)題
        zhang2601312
        級(jí)別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 26 個(gè)
        工控威望: 128 點(diǎn)
        下載積分: 671 分
        在線(xiàn)時(shí)間: 20(小時(shí))
        注冊(cè)時(shí)間: 2016-08-16
        最后登錄: 2025-06-30
        查看zhang2601312的 主題 / 回貼
        1樓  發(fā)表于: 82天前
        有大神幫我看下嗎?謝謝了
        世界杯之殤
        級(jí)別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 53 個(gè)
        工控威望: 119 點(diǎn)
        下載積分: 6445 分
        在線(xiàn)時(shí)間: 62(小時(shí))
        注冊(cè)時(shí)間: 2023-09-25
        最后登錄: 2025-08-29
        查看世界杯之殤的 主題 / 回貼
        2樓  發(fā)表于: 82天前
        大佬,球球你按一下F1,然后根據(jù)范例來(lái)寫(xiě)吧!
        你現(xiàn)在有事modbus rtu ,后面又是自由口,混著用的嗎?
        tsend_c的req直接改為1
        樓主留言:
        大佬不是啊,我這個(gè)報(bào)文是發(fā)送到下面一個(gè)串口服務(wù)器上面去了。串口服務(wù)器對(duì)上和PLC是TCP通訊。對(duì)下的傳感器是RTU通訊。串口服務(wù)器起一個(gè)RTU轉(zhuǎn)TCP的作用。
        zhang2601312
        級(jí)別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 26 個(gè)
        工控威望: 128 點(diǎn)
        下載積分: 671 分
        在線(xiàn)時(shí)間: 20(小時(shí))
        注冊(cè)時(shí)間: 2016-08-16
        最后登錄: 2025-06-30
        查看zhang2601312的 主題 / 回貼
        3樓  發(fā)表于: 82天前
        各位大佬問(wèn)題已解決。是接收塊LEN填寫(xiě)的數(shù)值和接收DB塊的長(zhǎng)度問(wèn)題。謝謝各位大佬的關(guān)心。3Q3Q
        http200
        級(jí)別: 正式會(huì)員
        精華主題: 0
        發(fā)帖數(shù)量: 13 個(gè)
        工控威望: 57 點(diǎn)
        下載積分: 119 分
        在線(xiàn)時(shí)間: 5(小時(shí))
        注冊(cè)時(shí)間: 2024-12-23
        最后登錄: 2025-07-03
        查看http200的 主題 / 回貼
        4樓  發(fā)表于: 80天前
        開(kāi)放式tcp亂序是因?yàn)榘l(fā)送字節(jié)數(shù)和接收字節(jié)數(shù)對(duì)不上,不足接收字節(jié)數(shù)的就會(huì)被plc先緩存起來(lái)
        樓主留言:
        對(duì)的對(duì)的,接收區(qū)的字節(jié)數(shù)設(shè)置少了,然后數(shù)據(jù)存儲(chǔ)位不夠的話(huà)就會(huì)從頭開(kāi)始。所以看起來(lái)就像亂了一樣
        http200
        級(jí)別: 正式會(huì)員
        精華主題: 0
        發(fā)帖數(shù)量: 13 個(gè)
        工控威望: 57 點(diǎn)
        下載積分: 119 分
        在線(xiàn)時(shí)間: 5(小時(shí))
        注冊(cè)時(shí)間: 2024-12-23
        最后登錄: 2025-07-03
        查看http200的 主題 / 回貼
        5樓  發(fā)表于: 80天前
        前幾天測(cè)試開(kāi)放式tcp也遇到一樣的問(wèn)題,問(wèn)deepseek和chatgpt解決的
        樓主留言:
        我也查了deepseek但是沒(méi)給有用的答復(fù),可能是我的問(wèn)題沒(méi)闡述清楚
        http200
        級(jí)別: 正式會(huì)員
        精華主題: 0
        發(fā)帖數(shù)量: 13 個(gè)
        工控威望: 57 點(diǎn)
        下載積分: 119 分
        在線(xiàn)時(shí)間: 5(小時(shí))
        注冊(cè)時(shí)間: 2024-12-23
        最后登錄: 2025-07-03
        查看http200的 主題 / 回貼
        6樓  發(fā)表于: 80天前
        您遇到的數(shù)據(jù)順序錯(cuò)亂問(wèn)題是由于**TCP協(xié)議本身的無(wú)邊界性和PLC緩沖區(qū)處理機(jī)制**共同導(dǎo)致的。以下是具體原因和解決方案:

        ---

        ### **問(wèn)題根源分析**
        1. **TCP流式協(xié)議特性**  
           TCP是字節(jié)流協(xié)議,不保證應(yīng)用層消息的邊界。若客戶(hù)端快速連續(xù)發(fā)送多組數(shù)據(jù),PLC可能將多次發(fā)送的數(shù)據(jù)合并到同一接收緩沖區(qū)(如網(wǎng)絡(luò)延遲或PLC處理速度慢時(shí))。

        2. **PLC緩沖區(qū)覆蓋機(jī)制**  
           S7-1200的`TRCV`指令默認(rèn)采用**循環(huán)緩沖區(qū)**(FIFO機(jī)制)。當(dāng)新數(shù)據(jù)到達(dá)時(shí),會(huì)從緩沖區(qū)的當(dāng)前指針位置開(kāi)始覆蓋舊數(shù)據(jù),導(dǎo)致看似"亂序"。

        3. **字節(jié)對(duì)齊差異**  
           如果客戶(hù)端發(fā)送時(shí)未顯式指定字節(jié)序(如大端/小端),而PLC默認(rèn)按大端序解析,可能引發(fā)分段錯(cuò)誤(但您的案例中實(shí)際是整體偏移,非字節(jié)反轉(zhuǎn))。

        ---

        ### **解決方案**
        #### **(1) 顯式定義應(yīng)用層協(xié)議**
        在數(shù)據(jù)包中加入**幀頭**和**幀尾**標(biāo)識(shí),例如:
        ```plaintext
        [頭標(biāo)識(shí):0xAA][數(shù)據(jù)長(zhǎng)度:1字節(jié)][數(shù)據(jù):N字節(jié)][校驗(yàn)和:1字節(jié)][尾標(biāo)識(shí):0x55]
        ```
        PLC側(cè)通過(guò)循環(huán)檢查緩沖區(qū)匹配完整幀后再處理。

        #### **(2) 修改TRCV參數(shù)配置**
        ```pascal
        TRCV(
            REQ     := TRUE,        // 持續(xù)使能
            CONT    := TRUE,        // 保持連接
            DATA    := #ReceiveBuf, // 接收緩沖區(qū)
            LEN     := 20,          // 預(yù)期接收長(zhǎng)度
            RCVD_LEN=> #ActualLen,  // 實(shí)際接收長(zhǎng)度輸出
            BUSY    => #BusyFlag);
        ```
        關(guān)鍵點(diǎn):
        - 設(shè)置`LEN`與發(fā)送方嚴(yán)格一致(您已設(shè)為20字節(jié))。
        - 監(jiān)控`RCVD_LEN`確認(rèn)每次接收的實(shí)際字節(jié)數(shù)。

        #### **(3) 強(qiáng)制單次接收同步**
        在客戶(hù)端每次發(fā)送后增加延遲(如100ms),或通過(guò)PLC程序控制:
        ```pascal
        IF #FirstReceive THEN
            TRCV(REQ := TRUE);      // 首次觸發(fā)
            #FirstReceive := FALSE;
        ELSE
            TRCV(REQ := NOT #BusyFlag); // 上次接收完成后再請(qǐng)求
        END_IF;
        ```

        #### **(4) 使用`TRCV_C`替代`TRCV`**
        `TRCV_C`集成連接管理,可減少緩沖區(qū)沖突:
        ```pascal
        TRCV_C(
            CONT    := TRUE,
            LEN     := 20,
            DATA    := #ReceiveBuf,
            RCVD_LEN=> #ActualLen);
        ```

        ---

        ### **您的數(shù)據(jù)案例分析**
        - **原始發(fā)送數(shù)據(jù)**(16進(jìn)制):
          ```plaintext
          15 3E 14 24 54 26 4E 28 51 29 53 AA 56 B0 2D 2D 5C 75 2F C8
          ```
        - **PLC接收數(shù)據(jù)**:
          ```plaintext
          2D 2D 5C 75 2F C8 15 3E 14 24 54 26 4E 28 51 29 53 AA 56 B0
          ```
          **現(xiàn)象解釋**:  
          數(shù)據(jù)被**環(huán)形偏移6字節(jié)**,說(shuō)明PLC緩沖區(qū)中殘留了之前未及時(shí)讀取的6字節(jié)數(shù)據(jù),新數(shù)據(jù)從緩沖區(qū)第7字節(jié)開(kāi)始寫(xiě)入,形成"拼接"效果。

        ---

        ### **終極調(diào)試建議**
        1. **清空緩沖區(qū)**  
           在建立連接后、首次接收前,調(diào)用`TRCV`連續(xù)讀取直到`BUSY`=FALSE,丟棄舊數(shù)據(jù)。

        2. **Wireshark抓包驗(yàn)證**  
           過(guò)濾PLC的IP和端口,確認(rèn)客戶(hù)端是否真正按預(yù)期順序發(fā)送(排除調(diào)試助手本身問(wèn)題)。

        3. **PLC側(cè)診斷**  
           在線(xiàn)監(jiān)視`TRCV`的`RCVD_LEN`和`STATUS`,正常時(shí)應(yīng)返回`16#7000`(無(wú)錯(cuò)誤)。

        4. **代碼示例(清空緩沖區(qū))**  
        ```pascal
        // 初始化階段清空緩沖區(qū)
        #TempBuffer := ARRAY[1..100] OF BYTE; // 臨時(shí)緩沖區(qū)
        WHILE TRUE DO
            TRCV(
                REQ  := TRUE,
                DATA := #TempBuffer,
                LEN  := 100,
                BUSY => #IsBusy);
            IF NOT #IsBusy THEN EXIT; END_IF;
        END_WHILE;
        ```

        ---

        通過(guò)以上方法,您應(yīng)該能解決數(shù)據(jù)錯(cuò)序問(wèn)題。如果仍有異常,請(qǐng)檢查:
        - 客戶(hù)端是否啟用了Nagle算法(建議禁用)
        - PLC的OB1循環(huán)時(shí)間是否過(guò)短(建議≥50ms)
        - 是否有多余的`TRCV`調(diào)用覆蓋了緩沖區(qū)
        樓主留言:
        謝謝回復(fù)解答
        吾志所向
        級(jí)別: 家園常客
        精華主題: 0
        發(fā)帖數(shù)量: 384 個(gè)
        工控威望: 669 點(diǎn)
        下載積分: 1945 分
        在線(xiàn)時(shí)間: 172(小時(shí))
        注冊(cè)時(shí)間: 2016-12-10
        最后登錄: 2025-09-01
        查看吾志所向的 主題 / 回貼
        7樓  發(fā)表于: 74天前
        有不用編程的方案的,不用編寫(xiě)通訊程序,可以節(jié)省時(shí)間來(lái)專(zhuān)心處理工藝流程代碼,
        圖文案例:https://blog.csdn.net/AutoCtrl/article/details/124242478?spm=1001.2014.3001.5502
        資料文件: PLC與其它設(shè)備之間通訊.rar (4854 K) 下载次数:16

        主站蜘蛛池模板: 人人妻人人澡人人爽曰本| 午夜福利国产盗摄久久性| 久久99热成人精品国产| 日日躁夜夜躁狠狠躁超碰97| 国产啪视频免费观看视频| 国产成人剧情AV麻豆果冻| 天天爽天天摸天天碰| 国产亚洲av日韩精品熟女| 久久精品国产清自在天天线| 人妻少妇偷人精品一区| 欧美xxxx做受欧美.88| 悠悠人体艺术视频在线播放| 亚洲中文字幕久久精品码| 男人狂桶女人出白浆免费视频| 波多野结衣久久一区二区| 亚洲大尺度无码无码专线| 色综合色综合色综合久久| 东京热人妻丝袜无码AV一二三区观| 亚洲欧美高清在线精品一区二区| jlzz大jlzz大全免费| 九九久久亚洲精品美国国内| 国产精品一区二区中文| 国产成人免费永久在线平台| 又爽又黄又无遮挡的激情视频| 国产一二三五区不在卡| 亚洲欧美自偷自拍视频图片| 亚洲一区二区三区在线| 国产亚洲精品黑人粗大精选| 亚洲日韩久热中文字幕| 男人狂桶女人高潮嗷嗷| 日本夜爽爽一区二区三区| 美女午夜福利视频一区二区 | 精品国产午夜肉伦伦影院| 成人国产精品日本在线观看| 国产熟女激情一区二区三区| 国产99青青成人A在线| 国产亚洲精品久久久久婷婷图片| 水蜜桃精品综合视频在线| 漂亮人妻中文字幕丝袜| 狠狠色狠狠色综合日日不卡| 粉嫩av蜜臀一区二区三区|