hntl2005
級別: 探索解密
|
圖片:
圖片:
圖片:
PLC做客戶端,與上位機以太網通訊也沒有問題。但是接收到的字符每次都缺第1位(比方上位發一串字符23232323,我接收到32323235).末尾又多一位。 (用網絡通訊助手驗證過上位機發送的字符是沒有問題的,比方上位發一串字符23232323,網絡助手接收到23232323),這樣驗證上位機發送的字符是沒有問題。因此推斷出是PLC接收字符出現了問題。 與上位機通訊試嘗試過多組數據通訊,都是第一個字符丟失,末尾多一個字符。中間字符沒有問題。求解問題出在哪里。 |
---|---|
|
xiapeng01
級別: 探索解密
|
SOCKET通信時,第一個字保存發送或接收內容的長度,若發送長度是奇數,則最后一個字符后面會有一個無意義字符 |
---|---|
|
hxyeer
級別: 略有小成
|
上位機通訊,你讓上位機開發走MC協議啊,直接與PLC地址對應不就好了,何必還要寫通訊程序。 |
---|---|
|
zm19870128
級別: 探索解密
|
接收數據第一個地址是接收數據長度 如果數據內容/長度為奇數的時候最高位PLC系統會自動補數(這個數據沒有用),偶數是沒有彌補,這就是三菱有點惡心地方 解決這個方法是要計算數據長度用變址方式找到最后一個地址,把最后一個地址里高8Bit刪除 |
---|---|
|
xiapeng01
級別: 探索解密
|
------------------------------------------------------------------------------------------------- [ 此帖被xiapeng01在2022-05-19 10:25重新編輯 ] |
---|---|
|
xiapeng01
級別: 探索解密
|
第一個字節存放發送或接收的內容長度,接收內容如果為奇數位,則最后一個字節后會跟一個無意義的字符 |
---|---|
|