国产三级在线看完整版-内射白嫩大屁股在线播放91-欧美精品国产精品综合-国产精品视频网站一区-一二三四在线观看视频韩国-国产不卡国产不卡国产精品不卡-日本岛国一区二区三区四区-成年人免费在线看片网站-熟女少妇一区二区三区四区

儀器網(wǎng)(yiqi.com)歡迎您!

| 注冊(cè)2 登錄
網(wǎng)站首頁-資訊-話題-產(chǎn)品-評(píng)測-品牌庫-供應(yīng)商-展會(huì)-招標(biāo)-采購-知識(shí)-技術(shù)-社區(qū)-資料-方案-產(chǎn)品庫-視頻

問答社區(qū)

Modbus RTU模式時(shí),沒有起始位 那怎么判通信開始呢? 本人菜鳥

oyibai80191126 2016-02-22 16:10:59 530  瀏覽
  •  

參與評(píng)論

全部評(píng)論(1條)

  • 卷毛96 2016-02-23 04:30:24
    Modbus RTU模式不需要判斷起始位。它是1主多從的通信方式,主站發(fā)出請(qǐng)求后,它要等待從站應(yīng)答,中間有一個(gè)等待時(shí)間。從站接收請(qǐng)求數(shù)據(jù)包之后,先與本機(jī)地址比較,若地址相等則進(jìn)行CRC效驗(yàn),CRC效驗(yàn)通過后再返回應(yīng)答數(shù)據(jù)包。這樣,在兩個(gè)數(shù)據(jù)包之間是有一個(gè)間隔時(shí)間的,主站和從站通過間隔時(shí)間已經(jīng)能識(shí)別數(shù)據(jù)包。

    贊(16)

    回復(fù)(0)

    評(píng)論

熱門問答

Modbus RTU模式時(shí),沒有起始位 那怎么判通信開始呢? 本人菜鳥
 
2016-02-22 16:10:59 530 1
modbus RTU模式的通信問題
modbus RTU模式的通信通訊格式要求 地址 功能碼 數(shù)據(jù) CRC校驗(yàn) 數(shù)據(jù)長度 1個(gè)字節(jié) 1個(gè)字節(jié) N個(gè)字節(jié) 2個(gè)字節(jié) 如發(fā)送的數(shù)據(jù)... modbus RTU模式的通信通訊格式要求 地址 功能碼 數(shù)據(jù) CRC校驗(yàn) 數(shù)據(jù)長度 1個(gè)字節(jié) 1個(gè)字節(jié) N個(gè)字節(jié) 2個(gè)字節(jié) 如發(fā)送的數(shù)據(jù)為: 03 01 00 00 10 校驗(yàn)高位校驗(yàn)低位 我的問題是: 1、我理解地址03使用1個(gè)字節(jié)數(shù)據(jù)長度表示,是用1個(gè)字節(jié)表示0,再使用一個(gè)字節(jié)表示3,但再就使用了兩個(gè)字節(jié)的數(shù)據(jù)長度了,和通訊要求的格式不符。還有一種理解就是使用1個(gè)字節(jié)的直接表示03,其而進(jìn)制碼為000000011,如果地址是20,其二進(jìn)制碼為00010100,但這種理解出現(xiàn)個(gè)疑問,很多設(shè)備同時(shí)支持ASCII或RTU兩種方式,當(dāng)發(fā)送RTU的地址和ASCII方式的起始符相同時(shí)如都為03,接受方怎么判斷他是RTU發(fā)送的地址,還是ASCII起始符。 2、RTU方式判斷幀消息結(jié)束時(shí)是3.5字符時(shí)間,我想知道在物理層如何判斷的,如消息發(fā)送完后,在物理層485雙絞上,其電壓持續(xù)3.5字符長度+15V即判斷消息發(fā)送完成或是其電壓持續(xù)3.5字符長度-15V判斷消息發(fā)送完成。還是雙絞線上為其他狀態(tài)來判斷消息完成。485通訊線上沒有通訊時(shí)A、 B線狀態(tài)是什么。 請(qǐng)教各位了? 展開
2013-04-08 23:05:15 376 2
modbus rtu串口通信
公司買了一個(gè)溫度巡檢儀,功能有限,我想通過自己做的軟件來增強(qiáng)巡檢儀的功能,但對(duì)串口通信編程知之甚少?,F(xiàn)通過監(jiān)控原程序得到以下數(shù)據(jù):write requests: 01 03 00 01 00 01 D5 CA 01 01 00 50 00 20 3D C3 01 03 00 60 00 10 44 18 read requests: 01 03... 公司買了一個(gè)溫度巡檢儀,功能有限,我想通過自己做的軟件來增強(qiáng)巡檢儀的功能,但對(duì)串口通信編程知之甚少?,F(xiàn)通過監(jiān)控原程序得到以下數(shù)據(jù):write requests: 01 03 00 01 00 01 D5 CA 01 01 00 50 00 20 3D C3 01 03 00 60 00 10 44 18 read requests: 01 03 02 00 02 39 85 01 01 04 00 00 00 00 FB D1 01 03 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 4E 20 AE 38 從中能不能翻譯出什么東西?? 后來我又根據(jù)已有資料及網(wǎng)上相關(guān)程序編寫了以下通訊程序: Private Sub Command1_Click() '發(fā)請(qǐng)求 Dim btSend(23) As Byte btSend(0) = &H1 '目標(biāo)站號(hào) btSend(1) = &H3 '功能碼 btSend(2) = &H0 'I0.0地址(0000)高字節(jié) btSend(3) = &H1 'i0.0地址(0000)低字節(jié) btSend(4) = &H0 '讀取個(gè)數(shù)高字節(jié) btSend(5) = &H1 '讀取個(gè)數(shù)低字節(jié) btSend(6) = &HD5 btSend(7) = &HCA btSend(8) = &H1 btSend(9) = &H1 btSend(10) = &H0 btSend(11) = &H50 btSend(12) = &H0 btSend(13) = &H20 btSend(14) = &H3D btSend(15) = &HC3 btSend(16) = &H1 btSend(17) = &H3 btSend(18) = &H0 btSend(19) = &H60 btSend(20) = &H0 btSend(21) = &H10 btSend(22) = &H44 btSend(23) = &H18 ComK3.Output = CVar(btSend) Dim btReceive As Variant With ComK3 Do DoEvents Loop Until .InBufferCount = 5 .InputLen = 30 btReceive = .Input Text1.Text = Hex$(btReceive(1)) Text2.Text = Hex$(btReceive(2)) Text3.Text = Hex$(btReceive(3)) Text4.Text = Hex$(btReceive(4)) ' Text5.Text = Hex$(btReceive(5)) 'Text6.Text = Hex$(btReceive(6)) ' Text7.Text = Hex$(btReceive(7)) ' Text8.Text = Hex$(btReceive(8)) ' Text9.Text = Hex$(btReceive(9)) ' Text10.Text = Hex$(btReceive(10)) ' Text11.Text = Hex$(btReceive(11)) ' Text12.Text = Hex$(btReceive(12)) ' Text13.Text = Hex$(btReceive(13)) ' Text14.Text = Hex$(btReceive(14)) ' Text15.Text = Hex$(btReceive(15)) ' Text16.Text = Hex$(btReceive(16)) ' End If End With End Sub Private Sub Form_Load() With ComK3 .CommPort = 1 .Settings = "9600,N,8,2" .InputMode = comInputModeBinary '二進(jìn)制收發(fā) .InBufferSize = 512 .OutBufferSize = 512 If (Not .PortOpen) Then .PortOpen = True End With End Sub 能收到4個(gè)亂碼,應(yīng)該是錯(cuò)誤標(biāo)示,原程序待CRC驗(yàn)證,我驗(yàn)證不出,所以先刪除了。期望大俠們幫我修改下程序 展開
2009-07-05 16:19:26 440 2
modbus rtu通信的一些問題
問題一:相關(guān)資料上說modbus rtu通信數(shù)據(jù)中每個(gè)字節(jié)包括” 1個(gè)起始位、8個(gè)數(shù)據(jù)位、 1個(gè)奇偶校驗(yàn)位、1~2個(gè)停止位“,加起來每個(gè)字節(jié)就有12位了。不是一個(gè)字節(jié)只有8位的嗎? 問題二:無符號(hào)十六位二進(jìn)制數(shù)據(jù)乘以100,再除以256,這個(gè)運(yùn)算是起到什么作用呢?
2013-01-29 03:23:16 451 2
modbus協(xié)議RTU模式校驗(yàn)碼怎么計(jì)算
 
2016-01-30 03:44:18 509 1
modbus協(xié)議RTU模式校驗(yàn)碼怎么計(jì)算
 
2016-01-25 04:46:33 636 1
modbus RTU是什么呢?
 
2013-11-09 03:57:33 448 2
RTU怎么通信
如題
2016-02-29 07:07:44 376 1
本人現(xiàn)在在做modbus rtu 協(xié)議 上位機(jī)與智能儀表通信 希望高手指點(diǎn)一下
自己程序謝了 讀儀表地址01的值,讀到txt2.text中 程序如下: Private Sub Form_Load() '初始化串口 MSComm1.CommPort = 1 '選擇串口 MSComm1.Settings = "9600,E,8,1" '設(shè)... 自己程序謝了 讀儀表地址01的值,讀到txt2.text中 程序如下: Private Sub Form_Load() '初始化串口 MSComm1.CommPort = 1 '選擇串口 MSComm1.Settings = "9600,E,8,1" '設(shè)置通信參數(shù) MSComm1.InputMode = comInputModeBinary '設(shè)置接受數(shù)據(jù)為二進(jìn)制形式 MSComm1.InBufferSize = 512 MSComm1.OutBufferSize = 512 MSComm1.InputLen = 0 '從接受緩沖區(qū)讀取全部數(shù)據(jù) Timer1.Interval = 100 Timer1.Enabled = True Timer2.Interval = 10 Timer2.Enabled = False 'MSComm1.SThreshold = 1 ' If Not MSComm1.PortOpen Then MSComm1.PortOpen = True ' End If End Sub Function crc16(ByRef cmdstring() As Byte, ByVal j As Integer) Dim data As Integer Dim i As Integer Dim k As Integer Dim Addressreg_crc As Long Addressreg_crc = &HFFFF For i = 0 To j Addressreg_crc = Addressreg_crc Xor cmdstring(i) For k = 0 To 7 data = Addressreg_crc And &H1 If data Then Addressreg_crc = Addressreg_crc \ 2 ' Addressreg_crc = Addressreg_crc And &H7FFF Addressreg_crc = Addressreg_crc Xor &HA001 Else Addressreg_crc = Addressreg_crc \ 2 ' Addressreg_crc = Addressreg_crc And &H7FFF End If Next k Next i Hibyte = Addressreg_crc And &HFF Lobyte = (Addressreg_crc And &HFF00) / &H100 End Function Private Sub timer1_timer() MSComm1.OutBufferCount = 0 '清空接受緩沖區(qū) Dim sendstr(8) As Byte sendstr(0) = &H1 sendstr(1) = &H3 sendstr(2) = &H0 sendstr(3) = &H1 sendstr(4) = &H0 sendstr(5) = &H1 Call crc16(sendstr(), 5) sendstr(5) = Hibyte sendstr(6) = Lobyte MSComm1.Output = sendstr '發(fā)送查詢命令 Timer2.Enabled = True '啟動(dòng)定時(shí)器2 End Sub ' Private Function Hex2(ByRef c As String) As String ' Hex2 = Hex(CInt(c)) 'If Len(Hex2) < 2 Then 'Hex2 = "0" & Hex2 'End If 'End Function Private Sub Timer2_Timer() Dim inputbuf As String '接收數(shù)組 Dim inputsafebuf() As Byte '安全數(shù)組 Dim index As Integer inputbuf = "" ' MSComm1.RThreshold = 7 inputsafebuf = MSComm1.Input '將輸入緩沖區(qū)中的數(shù)據(jù)放入安全數(shù)組中 Select Case MSComm1.CommEvent Case comEvReceive For index = 0 To UBound(inputsafebuf) - 1 If Len(Hex(inputsafebuf(index))) = 1 Then inputbuf = inputbuf & "0" & inputsafebuf(index) Else inputbuf = inputbuf & inputsafebuf(index) End If Next index '將安全數(shù)組中的數(shù)據(jù)放入接收數(shù)組中 ' n = Val("&H" & CStr(Mid(inputbuf, 5, 2))) '字符數(shù) ' If Mid(inputbuf, 1, 2) = 1 And Mid(inputbuf, 3, 2) = 3 And Mid(inputbuf, 5, 2) = 2 Then txt2.Text = Val("&H" & CStr(Mid(inputbuf, 7, 4))) ' End If Case comEvSend Exit Sub End Select End Sub 展開
2011-09-22 08:32:51 512 3
s7-1200進(jìn)行modbus RTU 通信需要什么硬件
 
2014-03-05 22:37:38 319 2
如何使Wonderware intouch建立modbus rtu通信
 
2017-09-26 03:23:52 453 1
modbus rtu通信有16位數(shù)據(jù)位的嗎
 
2015-08-16 04:27:59 417 1
求助三菱FX2N PLC Modbus rtu 通信問題
 
2017-12-13 00:43:29 416 1
求助三菱FX2N PLC Modbus rtu 通信問題
 
2018-12-06 17:26:32 439 0
如何使Wonderware intouch建立modbus rtu通信
 
2018-11-25 01:36:13 315 0
如何使Wonderware intouch建立modbus rtu通信
 
2017-08-10 12:55:47 355 1
為什么modbus會(huì)有RTU和ASC兩種模式
 
2018-11-11 00:59:29 378 0
三菱L02CPU 加LJ71C24 做MODBUS RTU通信該怎么設(shè)置
 
2017-07-23 06:35:03 592 1
modbus通信RTU和ASCII兩種傳輸方式的區(qū)別?
 
2012-12-05 14:35:01 453 2

4月突出貢獻(xiàn)榜

推薦主頁

最新話題