国产强伦姧在线观看无码,中文字幕99久久亚洲精品,国产精品乱码在线观看,色桃花亚洲天堂视频久久,日韩精品无码观看视频免费

      您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>串口地址轉(zhuǎn)換的純軟件實(shí)現(xiàn)

      直播推薦

      更多>

      企業(yè)動(dòng)態(tài)

      更多>

      推薦展會(huì)

      更多>

      串口地址轉(zhuǎn)換的純軟件實(shí)現(xiàn)

      2012年07月26日 09:22:18人氣:982來源:武漢波士卡

                           串口地址轉(zhuǎn)換的純軟件實(shí)現(xiàn)

                                      武漢波仕電子有限公司 __向媛______

          串口多機(jī)通信,就是RS-232/RS-485多機(jī)通信,要求通信的下位機(jī)必須帶地址。通信時(shí)由上位機(jī)先發(fā)送某個(gè)下位機(jī)的地址,位于同一個(gè)網(wǎng)絡(luò)中的所有下位機(jī)都同時(shí)讀取這個(gè)地址的值,然后與自己的地址進(jìn)行比較,如果地址相同則接收后面的數(shù)據(jù),如果地址不同則不讀取后面的數(shù)據(jù)。某些情況下,下位機(jī)也可以主動(dòng)向上位機(jī)發(fā)送數(shù)據(jù),但是必須按照預(yù)先設(shè)置的格式在數(shù)據(jù)前面加上下位機(jī)的地址,這樣上位機(jī)才可以知道是哪一個(gè)下位機(jī)發(fā)來的數(shù)據(jù)??墒窃谠S多情況下,下位機(jī)沒有設(shè)置地址的功能,或者地址的格式不同,這就必須進(jìn)行串口地址的轉(zhuǎn)換。本文介紹了如何用純軟件實(shí)現(xiàn)串口地址的轉(zhuǎn)換。

      如果上位機(jī)與多個(gè)下位機(jī)之間需要通信,但是下位機(jī)卻不帶地址。純軟件實(shí)現(xiàn)串口地址的轉(zhuǎn)換的原理就是利用計(jì)算機(jī)的兩個(gè)串口,稱為上位機(jī)串口和下位機(jī)串口,利用純軟件加上人為設(shè)置的地址。將上位機(jī)串口接收到的數(shù)據(jù)去掉地址后從下位機(jī)串口發(fā)送出去。將下位機(jī)串口接收到的數(shù)據(jù)加上地址后從上位機(jī)串口發(fā)送出去。

          地址轉(zhuǎn)換軟件使用非常方便。首先根據(jù)用戶通信程序的波特率進(jìn)行波特率設(shè)置,特點(diǎn)是可以獨(dú)立選擇上位機(jī)串口(串口A)和下位機(jī)串口(串口B)不同的的波特率等。

          設(shè)置好串口格式后,按“打開串口”。注意A和B兩個(gè)串口都要打開。成功打開串口后會(huì)在“打開串口”按鈕的旁邊顯示紅色的圓圈。“打開串口”按鈕下面為“清空計(jì)數(shù)”按鈕和本串口接收和發(fā)送數(shù)據(jù)的個(gè)數(shù)。正常情況下,由于串口A接收到的數(shù)據(jù)減去地址碼后立即發(fā)送給了串口B,所以串口A接收的計(jì)數(shù)比串口B發(fā)送的計(jì)數(shù)時(shí)多地址碼的位數(shù)。同理串口B接收的計(jì)數(shù)比串口A發(fā)送的計(jì)數(shù)時(shí)少地址碼的位數(shù)。

          界面右下角有“字符格式”和“十六進(jìn)制”的選項(xiàng),默認(rèn)為“字符格式”。當(dāng)選擇“十六進(jìn)制”時(shí),本軟件可以實(shí)現(xiàn)16進(jìn)制數(shù)據(jù)的格式轉(zhuǎn)換,特別適合MODBUS等工控軟件。

      然后設(shè)置將要連接的下位機(jī)的地址碼,包括地址碼前綴、地址值、地址碼后綴,這3部分合起來共同稱為地址碼。軟件界面的左側(cè)為 “上位機(jī)串口”;右側(cè)“下位機(jī)串口”。

      通信規(guī)則:上位機(jī)串口發(fā)送數(shù)據(jù)=地址碼+下位機(jī)串口接收數(shù)據(jù)

          或者:下位機(jī)串口發(fā)送數(shù)據(jù)=上位機(jī)串口接收數(shù)據(jù)—地址碼

      比如我們可以在軟件界面中鍵入地址碼前綴為###后綴為:(冒號(hào)),那么如果上位機(jī)串口收到 ###3:1234567,則地址為3的產(chǎn)品的下位機(jī)串口發(fā)送出 1234567(地址不是3的軟件的下位機(jī)串口不發(fā)送任何數(shù)據(jù)),就是去幀頭。地址碼就是在地址值的前面加3個(gè)井號(hào)(###)和后面加一個(gè)冒號(hào)(:)的英文字符。如果地址為3的產(chǎn)品的下位機(jī)串口收到abcdefg ,則上位機(jī)串口發(fā)送出###3:abcdefg  就是加幀頭。

      純軟件實(shí)現(xiàn)串口地址轉(zhuǎn)換的zui大優(yōu)勢就在于通用性。由于不同廠家對(duì)地址碼的定義不一樣,軟件的實(shí)現(xiàn)可以非常方便地設(shè)置各種不同的地址編碼方案。比如有以$開頭,以!開頭的地址編碼,只要在本軟件界面的地址碼前綴填寫$或者!,后綴空著即可。

          在同一個(gè)RS-232/RS-485總線中可以同時(shí)接入的地址轉(zhuǎn)換軟件的數(shù)量理論上無限。甚至可以將不同地址編碼方案的軟件一起使用。使用時(shí)將這地址分別設(shè)置為不同的值即可。將所有地址轉(zhuǎn)換軟件的上位機(jī)串口共同接入到一個(gè)總線并接到上位機(jī)的RS-232或RS-485口。 計(jì)算機(jī)必須至少有兩個(gè)RS-232或者RS-485串口,擴(kuò)展串口可以采用USB-串口轉(zhuǎn)換器等。這樣就實(shí)現(xiàn)了兩個(gè)串口之間的地址轉(zhuǎn)換。

          本軟件用Visual Basic軟件編寫,串口用MSCOMM控件實(shí)現(xiàn)。核心功能就是將Mscomm1接收的數(shù)據(jù)立即送到Mscomm2的發(fā)送區(qū)。難點(diǎn)在于對(duì)16進(jìn)制數(shù)據(jù)的轉(zhuǎn)換處理。

      Mscomm的核心代碼如下:

      Private Sub MSComm1_OnComm()

          Dim BytReceived() As Byte

          Dim strBuff As String

          Dim i As Integer

          Select Case mEvent    '事件發(fā)生

                  Case 2

                 MSComm1.InputLen = 0     '讀入緩沖區(qū)全部內(nèi)容

                  strBuff = MSComm1.Input  '讀入到緩沖區(qū)

                  If MSComm1.InputMode = comInputModeBinary Then

                  BytReceived() = strBuff  '如果是二進(jìn)制接收模式則進(jìn)行數(shù)據(jù)處理,否則直接顯示字符串

                  For i = 0 To UBound(BytReceived)

                   If Len(Hex(BytReceived(i))) = 1 Then

             strData = strData & "0" & Hex(BytReceived(i)) & " " 

      '如果只有一個(gè)字符,則前補(bǔ)0,如F顯示0F,zui后補(bǔ)空格

                      Else                      '方便顯示觀察如: 00 0F FE

                          strData = AdressCode+strData & Hex(BytReceived(i)) & " "   

        End If

                  Next

                   Text1 = strData

                    Call hexSend2          '  '發(fā)送一個(gè)16進(jìn)制

                    strData = ""

              Else

                  Text1 = Text1 & strBuff

                 If MSComm2.PortOpen = False Then

                 MsgBox "請(qǐng)打開串口B"

                  End If

                  On Error GoTo uerror3

                  MSComm2.Output = strBuff

                  Label14.Caption = Label14.Caption + Len(strBuff) '發(fā)送計(jì)數(shù)

                 End If

             End Select

      uerror3:   

        End Sub

          本文介紹的串口地址轉(zhuǎn)換的純軟件方法和程序,對(duì)不帶地址的串口多機(jī)通信具有一定的使用價(jià)值。本軟件不僅僅實(shí)現(xiàn)了地址的轉(zhuǎn)換,還同時(shí)實(shí)現(xiàn)了波特率、校驗(yàn)位、數(shù)據(jù)位和停止位的轉(zhuǎn)換。文中介紹的軟件可以從波仕電子的下載。純軟件地址轉(zhuǎn)換的不足之處在于占用了一臺(tái)計(jì)算機(jī),并且必須配有兩個(gè)專門用于地址轉(zhuǎn)換的串口。如果要實(shí)現(xiàn)方便簡單的地址轉(zhuǎn)換,還是要用具有雙串口的單片機(jī)或者FPGA。通過對(duì)單片機(jī)或者FPGA的兩個(gè)串口進(jìn)行地址等格式的設(shè)置,而兩個(gè)串口在內(nèi)部進(jìn)行數(shù)據(jù)地址幀的加減。這種產(chǎn)品就是硬件串口地址轉(zhuǎn)換器,我們將以另外文章《串口地址轉(zhuǎn)換的純硬件實(shí)現(xiàn)》予以介紹。

          詳細(xì)參數(shù)請(qǐng)到查看。咨詢:    向 咨詢訂購:1256985485   :bosicomcn@

       

       

      全年征稿/資訊合作 聯(lián)系郵箱:1271141964@qq.com

      免責(zé)聲明

      • 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
      • 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
      • 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
      • 如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

      <
      更多 >

      工控網(wǎng)機(jī)器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機(jī)械包裝機(jī)械印刷機(jī)械農(nóng)業(yè)機(jī)械食品加工設(shè)備制藥設(shè)備倉儲(chǔ)物流環(huán)保設(shè)備造紙機(jī)械工程機(jī)械紡織機(jī)械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機(jī)械印染機(jī)械制鞋機(jī)械玻璃機(jī)械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


      我要投稿
      • 投稿請(qǐng)發(fā)送郵件至:(郵件標(biāo)題請(qǐng)備注“投稿”)1271141964.qq.com
      • 聯(lián)系電話0571-89719789
      工業(yè)4.0時(shí)代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺(tái)
      智能制造網(wǎng)APP

      功能豐富 實(shí)時(shí)交流

      智能制造網(wǎng)小程序

      訂閱獲取更多服務(wù)

      微信公眾號(hào)

      關(guān)注我們

      抖音

      智能制造網(wǎng)

      抖音號(hào):gkzhan

      打開抖音 搜索頁掃一掃

      視頻號(hào)

      智能制造網(wǎng)

      公眾號(hào):智能制造網(wǎng)

      打開微信掃碼關(guān)注視頻號(hào)

      快手

      智能制造網(wǎng)

      快手ID:gkzhan2006

      打開快手 掃一掃關(guān)注
      意見反饋
      關(guān)閉
      企業(yè)未開通此功能
      詳詢客服 : 0571-87858618