今天學習了劉金玉老師零基礎VB教程的第73期,學習的主要內容是windows API使用入門。
1.API簡單的理解就是指接口,Windows API它是windows操作系統開發的接口用來控制系統內的各種應用。
2.哪里去找API?VB6.0自帶WindowsAPI的查找工具,而且還可以根據查找的接口,自動生成一個申明語句。在Windows開始菜單欄中找到api瀏覽器,打開api瀏覽器——然后導入WIN32API.TXT——搜索我們需要的API函數,使用私有模式,復制文本。
3.案例:使用sleep API創建一個倒計時工具。
Dim WithEvents label1 As Label
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Click()
AutoRedraw=True
Dim n As Long
For n=10 To -10 Step -1
label1.Caption=n
Sleep (500)
DoEvents
Next n
End Sub
Private Sub form_load()
Set label1=Controls.Add("vb.label", "label1")
label1.Caption="10"
label1.FontSize=40
label1.AutoSize=True
label1.Left=ScaleWidth / 2 - label1.Width / 2
label1.Top=ScaleHeight / 2 - label1.Height / 2
label1.Visible=True
End Sub
有很多的初學者學習200 SAMRT的字節、字、雙字能理解,當字節組合在一起就懵了,怎么計算?怎么看?看完小編的文章幫你解決這個煩惱。
首先我們來了解一下字節、字、雙字。
字節Byte:由八個位組成的一個單元,也就是8個bit組成1個Byte。數據存儲是以“字節”(Byte)為單位,數據傳輸大多是以“位”(bit,又名“比特”)為單位,一個位就代表一個0或1(即二進制),每8個位(bit,簡寫為b)組成一個字節(Byte,簡寫為B),是最小一級的信息單位。
VB0:V存儲區的字節0,包含了V0.0—V0.7的8個bit位,V0.0是最低bit位,V0.7是最高bit位。
字Word:16個位為一個字,計算機進行數據存儲和數據處理的運算的單位,通常稱16位是一個字。
VW0:V存儲區的字0,包含VBO、VB1,VB0包含V0.0—V0.7的8個bit位,VB1包含V1.0—V1.7的8個bit位。VW0中V0.7是最高bit位,V1.0是最低bit位,VB0是高字節,VB1是低字節。
雙字Doubleword :32位是一個雙字。在16位的CPU中,一個字剛好為兩個字節,而32位CPU中,一個字是四個字節。
VD0:V存儲區的雙字0,包含VW0、VW2 ,包含VB0、VB1、VB2、VB3,VB0包含V0.0—V0.7的8個bit位,VB1包含V1.0—V1.7的8個bit位,VB2包含V2.0—V2.7的8個bit位,VB3包含V3.0—V3.7的8個bit位。VD0中V0.7是最高bit位,V3.0是最低bit位,VW0是高字,VB0是高字節,VB3是低字節。
二進制數如何轉換成十進制、八進制、十六進制呢?
可以通過百度查找就能找到很多方法,這里小編主要教快捷的方法,使用電腦中的計算器,win10系統在搜索處輸入“計算器”就可以找到這個軟件,單擊計算器左上角的紅框處,選擇下列的程序員。
選擇程序員后如下圖所示,HEX:十六進制,DEC:十進制,OCT:八進制數,BIN:二進制數。如果是二進制轉其他數值,選擇BIN處輸入需要轉換的數值。
最后說一下,多個數據組合在一起怎么算?
在這里將通過一個例子來說講解。
S7-200 SMART 系列PLC的存儲區的尋址方式:
若V3.5=1,V 1.0=1,VB2=10,VB5=0,則V0.1=?、V2.3=?、VW0=?、VB1=?、VB3=?、VW2=?、VD0=?
對于這個題,很多初學者,一看到就懵了,不會。那么怎么做呢?
首先我們先看V0.1與哪個地址有關聯?V0.1和V3.5、V1.0、VB2、VB5都沒有關聯,默認的位是為0的,所以V0.1=0。
V2.3與哪個地址有關聯?VB2,VB2=10,轉換成二進制:00001010,所以V2.3=1。
VW0與哪個地址有關聯?VW0包含了VB0、VB1, VB1包含了V1.0,因為V1.0=1,VW0=00000000 0000 0001,轉換成十進制VW0=1。
VB3與哪個地址有關聯?VB3包含了V3.5,因為V3.5=1,所以VB3=00100000,轉換成十進制VB3=32。
VW2與哪些地址有關聯呢?VW2包含了VB2、VB3,VB2=0000 1010, VB3=0010 0000,所以VW2=00001010 0010 0000,轉換成十進制VW2=2592。
VD0與哪些地址有關聯呢?VD0包含了VW0和VW2,
VW0=00000000 0000 0001, VW2=0000 1010 0010 0000
VD0=00000000 0000 0001 0000 1010 0010 0000,轉換成十進制VD0=68128。
那么除了這種方法還能怎么做呢?
連接上PLC,把數據寫入對應的地址,然后監控需要求的地址數據。
總結
對于初學者來說,不會進制轉換可以使用計算器直接轉換。數據組合非常檢驗初學者的一個水平,這個組合在使用過程中用的比較少,主要要考慮使用的地址會不會沖突,地址不沖突就不需要去算這些地址。
(來源:技成培訓網原創,作者:鄒志銳,轉載請注明出處!)