zhang2601312
級別: 探索解密
![]() |
圖片:
![]() 用1200通過開放用戶通訊的發送數據和接收數據功能塊問題。發送讀取下屬設備報文超過2個寄存器的話返回的報文就出錯(一直在正確的和錯誤的來回閃)只讀取2個寄存器返回的報文就沒問題。請問下這是什么原因導致的呢。謝謝各位了 |
---|---|
|
zhang2601312
級別: 探索解密
![]() |
感覺不是輪詢的問題,就是我發送讀取2個寄存器的時候返回的報文是正確的。發送讀取超過2個寄存器的返回報文就出錯(在對的報文和錯的報文之間來回跳動)可能會是別的原因嗎? |
---|---|
|
世界杯之殤
級別: 探索解密
![]() |
你敢不敢把LEN對應的字長度改一下? 關于LEN的描述: 要通過作業發送的最大字節數。如果在參數 DATA 中使用純符號值,則 LEN 參數的值必須為“0”。 樓主留言:如果我想讀10個字節的數據這個RCVD_LEN應該填寫多少呢。 |
---|---|
|
世界杯之殤
級別: 探索解密
![]() |
對應就是10!然后實際數據長度必須大于等于這個長度才不會報錯 樓主留言:直接在RCVD_LEN寫入數值不行,建立DB塊UDINT數值傳送過去也不行哦。 |
---|---|
|
世界杯之殤
級別: 探索解密
![]() |
離線以后直接賦值啊,常量都可以!如果是變量賦值要求uint類型的 如果你發送區DATA的是優化訪問快,就把這個設置成0,然后發送和接受端的數據類型及長度要一致也可以! tips: 打開博圖,然后F1,或者右側拖動指令的地方放在需要了解的指令上面變成黃色后點擊可以進入幫助,里面會有詳細的參數說明 樓主留言:我弄錯了,是LEN區。我以為是RCVD_LEN區。LEN區可以寫入數值,但是我寫入了并且把優化塊取消了還是沒用。返回的報文還是亂的 |
---|---|
|