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