999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用VB編寫CAN總線以太網通訊協議

2012-02-15 21:12:35韓立立
通信技術 2012年12期
關鍵詞:設備

韓立立

(中國石油大學 理學院實驗中心,山東 青島266580)

0 引言

隨著計算機、網絡技術、軟件工程、自動控制等多個高新技術的發展,越來越多的工業現場情況需要用計算機實現對CAN設備的監控。當CAN設備沒有通訊協議時,就需要編寫符合CAN總線傳輸的通訊協議。

文中將著重闡述該系統通訊方法的實現。由于計算機不能直接發送數據到CAN總線上去,必須經過CAN-以太網網關或CAN-232串口服務器轉換才能實現。

1 通訊介紹

控制器局域網絡(CAN,Control Area Network),它最初是由德國的 BOSCH公司為汽車監測、控制系統而設計的。目前,CAN總線是唯一已成為國際標準的,被公認為是幾種最有前途的現場總線之一。

CAN具有下列主要特性[1]:單根雙絞線最遠傳輸距離10km/5kb/s,最高傳輸速率1Mb/s/40m。非破壞性總線仲裁技術,采用干擾概率低的短幀結構多地址傳送; CAN可與輸入輸出設備、單片機、控制器、收發器等多種設備配合使用。全系統數據兼容性;錯誤檢測和出錯信息自動判別、自動重發、自動脫離。

在總線中傳送的報文,每幀由7 部分組成,詳細說明如下:

1)00:A 口(一般CAN-以太網網關有1-4個CAN端口)收到的數據,0-3 對應A-D 4個CAN 端口,為報文接收到的第1個字節。

2)10 00 00 00:接收到的CAN ID(CAN ID 為1,低位字節在前,高位在后)。

3)08:此CAN 數據包中的CAN 數據區長度(最大8 個字節)。

4)01 02 03 04 05 06 07 08:8 個字節的CAN數據區數據。

5)01:1 為擴展幀(CAN2.0B)格式,0 為標準幀(CAN2.0A)。

6)00:遠程傳輸位,0-非RTR 數據包,1-為RTR數據包。

7)00 00 00 00:保留的4 個數據字節,為報文接收的最后字節。

CAN協議支持兩種報文格式,其唯一的不同是標識符(ID)長度不同,標準格式為11 位,擴展格式為29 位。報文的尾部由幀結束標出。在相鄰的兩條報文間有一很短的間隔位,如果這時沒有站進行總線存取,總線將處于空閑狀態。

2 用VB進行以太網通訊

VB中通過Winsock控件與遠程計算機或以太網設備建立連接,并通過用戶數據交換協議(UDP)或者傳輸控制協議(TCP)進行數據交換。Microsoft Access、Visual Basic、Visual c++等的開發人員都可使用它。用VB的Winsock 控件來編寫客戶端和服務器應用程序,只需設置控件的屬性并調用其方法就可輕易連接到一臺遠程機器上去;并且還可在兩應用程序間進行雙向交換數據,完成兩機間的通信,編程簡單、快捷、安全[2]。

3 通訊協議的編寫

CAN的報文格式分兩種:擴展幀和標準幀。標準幀每次只能傳送8個數據(16進制),而現場需要傳輸的數據類型不僅有開關量,還有模擬量,且一般所需要傳輸的數據都很多。所以我們將CAN的8個數據(例如FFFF006E43301000)分成兩部分:前兩為FFFF代表開關量,如果將16進制轉換成2進制為1111 1111 1111 1111,代表16個開關量數據,從左到右分別是 D1、D2…D16;后 6位006E43301000代表2個模擬量,前一個模擬量為整數(006E轉換成10進制分別是110),后一個模擬量為小數編碼傳輸(43301000用IEEE754編碼,轉換成小數為176.0652,具體轉換方法如下:176.0652轉換成2進制為10110000.0001,規格化二進制數:1.01100000001*2^7 (小數點移了7位),計算指數:7+127=134 (127是個標準數值),按照IEEE754編碼排列為 0 10000110 01100000001 000000000000(不足32位,后面補0,直到補足32位),二進制結果是0100 0011 0011 0000 0001 0000 0000 0000,十六進制結果是0x43301000)。這樣每個CAN標準幀傳輸16個開關量和1個10進制0—65535的整數值和1個10進制任意的小數值(如果實際需要傳輸的整數數據大于 65535,可以作為小數傳輸),實際需要傳輸的開關量或模擬量有多少,就發送相應倍率的CAN標準幀就可以了。例如實際需要傳輸500個開關量和70個模擬量,500除以16取整應該是32;70除以2取整為35;所以應該傳輸35個CAN標準幀。這35個CAN標準幀的區分就在CAN ID中,舉例說明(發送數據為P1—P600):

軟件發送 001400000008FFFF006E43301000000 000000000到CAN設備。代表從上位電腦寫P1—P19到CAN設備其中P1-P16為1,P17為16進制006E,10進制為110;P38為16進制43301000實際值為176.0652;

軟件發送 001500000008FFFF006E43301000000 000000000到CAN設備。代表從上位電腦寫P21—P39到CAN設備其中P21-P36為1,P37為16進制006E,10進制為110;P38為16進制43301000實際值為176.0652[3];

每組20個數據(第20個數據不用),在編制軟件時用循環很容易完成。

4 軟件通訊的實現

將 CAN-以太網網關的工作模式設置成服務器方式;將CAN-以太網網關CAN總線的通訊速率設置成和CAN設備一樣的速率;將計算機的IP地址設置成和CAN-以太網網關同一個網段里的不同IP地址;用VB新建個工程,將Winsock控件添加到工程中,其屬性中的RemoteHost屬性設置成CAN-以太網網關的IP地址,其屬性中的 RemotePort屬性設置成 CAN-以太網網關的偵聽端口,在窗體上添加 Command1、Command2、Text1.Text3個控件,編寫代碼如下:

Private Sub Command1_Click()

Winsock1.Connect

End Sub

Private Sub Command2_Click()’發送0014000 00008FFFF006E00780064000000000000

Dim X(19) As Byte

'X(0) = &H0

X(1) = &H14

X(2) = &H0

X(3) = &H0

X(4) = &H0

X(5) = &H8

X(6) =&HFF

X(7) = &HFF

X(8) = &H0

X(9) = &H6E

X(10) = &H0

X(11) = &H78

X(12) = &H0

X(13) = &H64

X(14) = &H0

X(15) = &H0

X(16) = &H0

X(17) = &H0

X(18) = &H0

X(19) = &H0

Winsock1.SendData X()

End Sub

接收數據代碼如下:

Private Sub Winsock 1_DataArrival (ByVal bytes Total as Long)

Dim p1, buf, data1 As String

Dim InByte, I

Buf = ""

Winsock 1.GetData data1

InByte = data1

For I = LBound(InByte) To UBound(InByte)

If Len(Hex(InByte(I))) = 1 Then Buf = Buf+ "0" + Hex(InByte(I))

If Len(Hex(InByte(I))) = 0 Then Buf = Buf+ "00"

If Len(Hex(InByte(I))) = 2 Then Buf = Buf+ Hex(InByte(I))

Next I

Text1.Text = Buf ‘將接收的數據放到Text1.Text里顯示

End Sub

將設備連接好,加電后,運行軟件點擊Command1,和 CAN設備建立通訊鏈路,點擊Command2,將數據發送到CAN設備。當CAN設備返回數據時,將自動顯示在Text1.Text里。

5 結語

用以上方法將數據讀上來后,可以自己編寫監控界面,也可以用DDE 或OPC的方式將采集數據放到任何組態軟件中,用組態軟件監控設備運行[4]?;谇度胧较到y的智能節點在CAN總線中的應用靈活穩定[5]。CAN總線技術下設計企業的生產監控系統,提高現代制造企業生產的信息化與網絡化水平。

[1] 京金華(北京)有限公司.CAN產品配置手冊[M].北京:出版者不詳,2007:2-22.

[2] 李天啟.Visual Basic 6學習捷徑[M].北京:清華大學出版社,1994:68-98.

[3] 王道義.VisualBasic 6使用詳解[M].北京:機械工業出版社,1997:32-55.

[4] 張亞娟.基于嵌入式系統的智能節點在 CAN總線中的應用[J].通信技術,2006(06):51-54.

[5] 蔡連君.基于 CAN總線的生產監控系統研究[J].通信技術,2009,42(10):151-152.

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 国产真实乱了在线播放| 91久久夜色精品国产网站| 国产白浆在线| 日韩精品一区二区三区免费在线观看| 国产精品专区第一页在线观看| 在线欧美日韩| 国产香蕉在线视频| 欧美黄网在线| 国产成人精品男人的天堂下载| 性欧美精品xxxx| 亚洲综合香蕉| 亚洲丝袜第一页| 精品无码视频在线观看| 国产一区二区三区精品久久呦| 国产成人免费视频精品一区二区| 日韩二区三区| 亚洲精品视频免费| 高清欧美性猛交XXXX黑人猛交| 国产欧美日韩专区发布| 国产精品毛片一区视频播| 欧美精品1区| 日韩欧美色综合| 亚洲天堂福利视频| 欧美一区二区自偷自拍视频| 国产一级片网址| 中文成人在线视频| 天天婬欲婬香婬色婬视频播放| 在线观看国产精品第一区免费| 99这里只有精品在线| 国产激爽大片在线播放| 免费国产黄线在线观看| 欧美性猛交一区二区三区| 97久久人人超碰国产精品| 韩日免费小视频| 国产一区免费在线观看| 美女无遮挡免费视频网站| 日本人妻一区二区三区不卡影院| 亚洲国产成人自拍| 亚洲日本中文字幕天堂网| 国产一区二区三区免费观看| 97在线观看视频免费| 日韩精品一区二区三区大桥未久| 国产综合精品日本亚洲777| 亚洲欧洲日韩综合色天使| 天天综合网色中文字幕| 婷婷久久综合九色综合88| 国产真实二区一区在线亚洲| 欧美成人免费一区在线播放| 丁香婷婷激情网| 国产精品福利社| 丁香婷婷激情网| 国产91视频免费观看| 国产精品微拍| 一级毛片在线直接观看| 久久久久久尹人网香蕉| 谁有在线观看日韩亚洲最新视频| 午夜a级毛片| 不卡无码h在线观看| 欧美色视频网站| 韩国v欧美v亚洲v日本v| 亚洲床戏一区| 国产网站一区二区三区| 国产福利观看| 91色国产在线| 午夜精品福利影院| 亚洲精品爱草草视频在线| 国产又大又粗又猛又爽的视频| 国产18在线| 99色亚洲国产精品11p| 青青久久91| 亚洲无码37.| 中文字幕亚洲专区第19页| 黑人巨大精品欧美一区二区区| 操美女免费网站| 综合五月天网| 亚洲一级毛片在线播放| 久久中文字幕不卡一二区| 国产香蕉在线视频| 亚洲国产精品无码AV| 亚洲天堂久久| 少妇精品久久久一区二区三区| 国产成人亚洲毛片|