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 夜夜穞天天穞狠狠穞

zhang2601312
級別: 探索解密
精華主題: 0
發帖數量: 26 個
工控威望: 128 點
下載積分: 671 分
在線時間: 20(小時)
注冊時間: 2016-08-16
最后登錄: 2025-06-30
查看zhang2601312的 主題 / 回貼
樓主  發表于: 2025-06-12 20:48
圖片:
圖片:
圖片:
圖片:
圖片:
圖片:
圖片:
用的用戶自由通訊發送和接收功能塊。發送功能塊對下發送了一個讀取報文(01 03 00 12 00 04 EC 0C)然后就出現了一個問題。就發送這個報文讀取4個字節數據時接收的數據是沒問題的。但是我想多讀取幾個數據發送(01 03 00 12 00 10 EC 03)的話接收到的報文就和圖片1一樣亂的。這是為啥呢。問了論壇好多高手的意思估計是接收功能塊設置問題。但是我仔細看了幫助幾個模式(ADHOC設置位1或者0)都測試過了還是沒用。求助各位高手幫忙看下。十分感謝。PS:報文沒問題
zhang2601312
級別: 探索解密
精華主題: 0
發帖數量: 26 個
工控威望: 128 點
下載積分: 671 分
在線時間: 20(小時)
注冊時間: 2016-08-16
最后登錄: 2025-06-30
查看zhang2601312的 主題 / 回貼
1樓  發表于: 2025-06-13 09:52
有大神幫我看下嗎?謝謝了
世界杯之殤
級別: 探索解密
精華主題: 0
發帖數量: 68 個
工控威望: 135 點
下載積分: 6788 分
在線時間: 72(小時)
注冊時間: 2023-09-25
最后登錄: 2025-12-24
查看世界杯之殤的 主題 / 回貼
2樓  發表于: 2025-06-13 11:41
大佬,球球你按一下F1,然后根據范例來寫吧!
你現在有事modbus rtu ,后面又是自由口,混著用的嗎?
tsend_c的req直接改為1
樓主留言:
大佬不是啊,我這個報文是發送到下面一個串口服務器上面去了。串口服務器對上和PLC是TCP通訊。對下的傳感器是RTU通訊。串口服務器起一個RTU轉TCP的作用。
zhang2601312
級別: 探索解密
精華主題: 0
發帖數量: 26 個
工控威望: 128 點
下載積分: 671 分
在線時間: 20(小時)
注冊時間: 2016-08-16
最后登錄: 2025-06-30
查看zhang2601312的 主題 / 回貼
3樓  發表于: 2025-06-13 17:18
各位大佬問題已解決。是接收塊LEN填寫的數值和接收DB塊的長度問題。謝謝各位大佬的關心。3Q3Q
http200
級別: 正式會員
精華主題: 0
發帖數量: 13 個
工控威望: 57 點
下載積分: 119 分
在線時間: 5(小時)
注冊時間: 2024-12-23
最后登錄: 2025-07-03
查看http200的 主題 / 回貼
4樓  發表于: 2025-06-16 00:41
開放式tcp亂序是因為發送字節數和接收字節數對不上,不足接收字節數的就會被plc先緩存起來
樓主留言:
對的對的,接收區的字節數設置少了,然后數據存儲位不夠的話就會從頭開始。所以看起來就像亂了一樣
http200
級別: 正式會員
精華主題: 0
發帖數量: 13 個
工控威望: 57 點
下載積分: 119 分
在線時間: 5(小時)
注冊時間: 2024-12-23
最后登錄: 2025-07-03
查看http200的 主題 / 回貼
5樓  發表于: 2025-06-16 00:42
前幾天測試開放式tcp也遇到一樣的問題,問deepseek和chatgpt解決的
樓主留言:
我也查了deepseek但是沒給有用的答復,可能是我的問題沒闡述清楚
http200
級別: 正式會員
精華主題: 0
發帖數量: 13 個
工控威望: 57 點
下載積分: 119 分
在線時間: 5(小時)
注冊時間: 2024-12-23
最后登錄: 2025-07-03
查看http200的 主題 / 回貼
6樓  發表于: 2025-06-16 00:42
您遇到的數據順序錯亂問題是由于**TCP協議本身的無邊界性和PLC緩沖區處理機制**共同導致的。以下是具體原因和解決方案:

---

### **問題根源分析**
1. **TCP流式協議特性**  
   TCP是字節流協議,不保證應用層消息的邊界。若客戶端快速連續發送多組數據,PLC可能將多次發送的數據合并到同一接收緩沖區(如網絡延遲或PLC處理速度慢時)。

2. **PLC緩沖區覆蓋機制**  
   S7-1200的`TRCV`指令默認采用**循環緩沖區**(FIFO機制)。當新數據到達時,會從緩沖區的當前指針位置開始覆蓋舊數據,導致看似"亂序"。

3. **字節對齊差異**  
   如果客戶端發送時未顯式指定字節序(如大端/小端),而PLC默認按大端序解析,可能引發分段錯誤(但您的案例中實際是整體偏移,非字節反轉)。

---

### **解決方案**
#### **(1) 顯式定義應用層協議**
在數據包中加入**幀頭**和**幀尾**標識,例如:
```plaintext
[頭標識:0xAA][數據長度:1字節][數據:N字節][校驗和:1字節][尾標識:0x55]
```
PLC側通過循環檢查緩沖區匹配完整幀后再處理。

#### **(2) 修改TRCV參數配置**
```pascal
TRCV(
    REQ     := TRUE,        // 持續使能
    CONT    := TRUE,        // 保持連接
    DATA    := #ReceiveBuf, // 接收緩沖區
    LEN     := 20,          // 預期接收長度
    RCVD_LEN=> #ActualLen,  // 實際接收長度輸出
    BUSY    => #BusyFlag);
```
關鍵點:
- 設置`LEN`與發送方嚴格一致(您已設為20字節)。
- 監控`RCVD_LEN`確認每次接收的實際字節數。

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

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

---

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

---

### **終極調試建議**
1. **清空緩沖區**  
   在建立連接后、首次接收前,調用`TRCV`連續讀取直到`BUSY`=FALSE,丟棄舊數據。

2. **Wireshark抓包驗證**  
   過濾PLC的IP和端口,確認客戶端是否真正按預期順序發送(排除調試助手本身問題)。

3. **PLC側診斷**  
   在線監視`TRCV`的`RCVD_LEN`和`STATUS`,正常時應返回`16#7000`(無錯誤)。

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

---

通過以上方法,您應該能解決數據錯序問題。如果仍有異常,請檢查:
- 客戶端是否啟用了Nagle算法(建議禁用)
- PLC的OB1循環時間是否過短(建議≥50ms)
- 是否有多余的`TRCV`調用覆蓋了緩沖區
樓主留言:
謝謝回復解答
吾志所向
級別: 家園常客
精華主題: 0
發帖數量: 427 個
工控威望: 672 點
下載積分: 1955 分
在線時間: 173(小時)
注冊時間: 2016-12-10
最后登錄: 2025-12-11
查看吾志所向的 主題 / 回貼
7樓  發表于: 2025-06-21 11:25
有不用編程的方案的,不用編寫通訊程序,可以節省時間來專心處理工藝流程代碼,
圖文案例:https://blog.csdn.net/AutoCtrl/article/details/124242478?spm=1001.2014.3001.5502
資料文件: PLC與其它設備之間通訊.rar (4854 K) 下载次数:17

主站蜘蛛池模板: 91一级视频 | 亚洲一区二区三区国产精华液 | 99久久国产综合精品五月天喷水 | 91九色在线观看 | 色妞www精品免费视频 | 色播久久人人爽人人爽人人片av | 亚洲午夜私人影院在线观看 | 国产精品久久久久婷婷 | 精品国产三级a∨在线观看 日本国产在线播放 | 日本熟妇人妻xxxxx-欢迎您 | 中文精品一卡2卡3卡4卡国色 | 久久精品亚洲乱码伦伦中文 | 亚洲国产精品成人av | 第一福利网站 | 国产亚洲精品久久久999 | 少妇扒开腿让我爽了一夜 | 91免费看nba国产91免费看nba国产 | 青青青草网站免费视频在线观看 | 免费视频爱爱太爽了 | 国产欧美一区二区三区四区五区 | 鲁鲁鲁爽爽爽在线视频观看 | 国产在线麻豆精品观看 | 观看在线人视频 | 麻豆ā片免费观看在线看 | 无码日韩人妻av一区二区三区 | 乱码一卡二卡新区永久入口 | 少妇厨房愉情理伦bd在线观看 | 91精品久久久久久久久不口人 | 五 月 丁 香 综合中文 | 艹逼国产| 妇女伦子伦视频高清在线 | 亚洲精品日本无v一区 | 人妻丰满熟妇av无码区动漫 | 又大又粗又黄的网站不卡无码 | 精品一区二区三区自拍图片区 | 88福利视频 | 一本一道波多野结衣av黑人 | 国产成人精品综合 | 高清有码国产一区二区 | 狼友网精品视频在线观看 | 国产精品a成v人在线播放 | 日韩精品无码一区二区三区四区 | 日韩精品视频在线观看免费 | 狠狠色丁香婷婷综合 | 激情久久小说 | 亚洲第一伊人 | 欧美精品第一页 | 69精品久久 | 国产成人精品日本亚洲77上位 | 高潮呻吟18p | 亚洲精品免费在线观看视频 | 无码av天堂一区二区三区 | 精品久久久无码中文字幕边打电话 | 欧美精品一区视频 | 午夜高清国产拍精品 | 国产熟妇乱xxxxx大屁股网 | 亚洲国产精品日韩专区av | 极品尤物一区二区三区 | 天天色综合图片 | 日本aa在线观看 | aaaaaabbbbbb毛片 | 午夜爽爽爽男女免费观看 | 中文字幕第18页 | 800av在线播放 | 性欧美丰满熟妇xxxx性久久久 | 久久久久久国产精品免费无码 | 国产午夜无码片在线观看 | www.国产黄色 | 欧美精品卡一卡二 | 一本无码人妻在中文字幕免费 | 亚洲视频精品一区 | 狠狠干狠狠搞 | 亚洲精品揄拍自拍首页一 | 97久久久久人妻精品专区 | 人妻少妇伦在线麻豆m电影 免费无码又爽又刺激软件下载 | 黄色a毛片| 久久久久久a亚洲欧洲av | 伊人久久大香线蕉av不卡 | 五月婷激情 | 亚洲 都市 无码 校园 激情 | 成人高潮片免费网站 | 亚洲综合久 | 妩媚尤物娇喘无力呻吟在线视频 | 91精品999 | 日韩欧美在线中文字幕 | 国产美女久久 | 国产成人精品自在钱拍 | 亚洲国产成在人网站天堂 | 欧美二区三区四区 | 亚洲一区二区视频在线 | 亚洲国产成人精品无码区在线网站 | 男插女青青 | 两人做人爱费视频午夜 | aaa特黄| 国内精品91 | 国产在线98福利播放视频 | 一区天堂| 免费xxxxxxxx在线播超清 | 国产麻豆精品精东影业av网站 |