上位機軟件開(kāi)發(fā)實例(上位機軟件開(kāi)發(fā)是什麼(me)意思)

軟件開(kāi)發(fā) 2392
今天給各位分享上位機軟件開(kāi)發(fā)實例的知識,其中也會(huì)對(duì)上位機軟件開(kāi)發(fā)是什麼(me)意思進(jìn)行解釋,如果能(néng)碰巧解決你現在面(miàn)臨的問題,别忘了關注本站,現在開(kāi)始吧!本文目錄一覽: 1、隻會(huì)C語言能(néng)不能(néng)開(kāi)發(fā)上位機軟件?

今天給各位分享上位機軟件開(kāi)發(fā)實例的知識,其中也會(huì)對(duì)上位機軟件開(kāi)發(fā)是什麼(me)意思進(jìn)行解釋,如果能(néng)碰巧解決你現在面(miàn)臨的問題,别忘了關注本站,現在開(kāi)始吧!

本文目錄一覽:

隻會(huì)C語言能(néng)不能(néng)開(kāi)發(fā)上位機軟件?

能(néng)。

現在C能(néng)做一些軟件的底層,也就是功能(néng)級的開(kāi)發(fā),當然也确實的是,現在大部分連功能(néng)層都(dōu)用C++寫了...上位機軟件确定了功能(néng)用C寫,那你就可以上,上位機的管理你寫不了,管理都(dōu)給客戶端或者web,碰到那些玩意,C就往後(hòu)靠吧。

如何用c語言開(kāi)發(fā)自己的上位機軟件

一般開(kāi)發(fā)上位機軟件都(dōu)是帶圖形界面(miàn)的。C也能(néng)做出圖形界面(miàn)的軟件,但是開(kāi)發(fā)周期太長(cháng)也不實用。所以最好(hǎo)還(hái)是需要會(huì)一些其他語言,例如C++,C#,Java這(zhè)些做圖形界面(miàn)開(kāi)發(fā)周期短的語言。既然會(huì)C,那麼(me)學(xué)習其他語言也隻是一個熟悉語法的過(guò)程。所以很快就能(néng)上手,因爲語言都(dōu)是相通的嘛。可以開(kāi)闊自己的視野去學(xué)習一下新的語言。不是說隻會(huì)C有什麼(me)弊端,隻是想說會(huì)的多才會(huì)知道(dào)語言之間的優劣。

利用電腦做上位機開(kāi)發(fā)一個軟件,用單片機做下位機。在上位機上點擊軟件上的按鈕能(néng)使單片機輸出一路I/O口

主要涉及到單片機基礎知識,重點是串口通信,上位機可以考慮vc和.net,這(zhè)兩(liǎng)種(zhǒng)都(dōu)可以。.net使用c#語言,感覺比較好(hǎo)上手,我也可以給你點視頻教程,一學(xué)就會(huì)。

SCADA系統中的上位機,都(dōu)使用什麼(me)軟件來開(kāi)發(fā)?

MODBUS吧 呵呵,PROFIBUS,CAN總線,自己開(kāi)發(fā)多了,VB,VC,DELPHI,C#,呵呵,不知道(dào)你什麼(me)廠家的PLC,SCADA,就是遠程集散控制吧,呵呵,稍微懂點,現在好(hǎo)像用的比較多

vb串口通信程序實例

我也是自己摸索開(kāi)發(fā)出來的每一款VBtoCOM通訊,有具體的思路如下:

給你推薦一個工具“com串口測試工具 ComTone V1.0 中文綠色版”

1、打開(kāi)你的噪音計的測試軟件,調整好(hǎo)串口号、通訊頻率等等,我用溫度計舉例說明。

開(kāi)始查詢後(hòu)有返回數值,這(zhè)個Receive:就是返回的數值000304012200004b05,

打開(kāi)串口監視精靈,監視軟件的com口事(shì)件:

這(zhè)裡(lǐ)面(miàn)的Write是測試軟件發(fā)出的查詢指令,read是設備返回的數據指令

Private Sub Command1_Click() '發(fā)送指令

If Not MSComm1.PortOpen Then

  MSComm1.CommPort = 7 '串口爲7

  MSComm1.Settings = "9600,n,8,1"

  MSComm1.InBufferCount = 0 '清除接收緩沖區

  MSComm1.OutBufferCount = 0 '清除發(fā)送緩沖區

  MSComm1.InputMode = comInputModeBinary '二進(jìn)制接收

  MSComm1.InputLen = 0 '讀取接收緩沖區的所有字符

  MSComm1.PortOpen = True  '打開(kāi)串口

  MSComm1.RTSEnable = False '置爲發(fā)送狀态

End If

Dim pu() As Byte

Dim strdata  As String

Dim crc_js() As Byte

ReDim pu(7)  '這(zhè)個數組是8位的查詢指令

pu(0) = "H00" '溫度計地址

pu(1) = "H03" '查詢指令

pu(2) = "H00" '2、3爲溫度計地址

pu(3) = "H00" '2、3爲溫度計地址

pu(4) = "H00" '4、5爲讀取寄存器長(cháng)度

pu(5) = "H02" '4、5爲讀取寄存器長(cháng)度

pu(6) = "HC5" '6、7爲CRC校驗碼 因爲我們不知道(dào)設備的CRC校驗規則所以用測試軟件産生的校驗碼

pu(7) = "HDA" '6、7爲CRC校驗碼

MSComm1.Output = pu

'不做任何事(shì)情,僅僅允許其它應用程序處理它們的事(shì)件。

DoEvents

MSComm1.InBufferCount = 0 '清除接收緩沖區

MSComm1.RThreshold = 9 '所要接收的數據長(cháng)度,我們通過(guò)COM檢測精靈看到了回傳數據一共是9字節

MSComm1.RTSEnable = True '轉爲接收狀态

End Sub

Private Sub Command2_Click()

Timer1.Enabled = False

End Sub

Private Sub Form_Unload(Cancel As Integer)

    If MSComm1.PortOpen Then

        MSComm1.PortOpen = False  '關閉串口

    End If

    Timer1.Enabled = False

End Sub

Private Sub MSComm1_OnComm() 'COM事(shì)件

    Dim PA() As Byte

    Dim PB As String

Select Case MSComm1.CommEvent

 Case comEvReceive

            MSComm1.InputLen = 0 '讀取接收緩沖區的所有字符

            PB = MSComm1.Input

            PA() = PB

            For i = 0 To UBound(PA())

                'Print "PA("  i  ")"; PA(i)

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

                    strdata = strdata  "0"  Hex(PA(i))

                Else

                    strdata = strdata  Hex(PA(i))

                End If

            Next

            '回傳的數據串:000304012600000AC4,這(zhè)9字節根據通訊協議我們進(jìn)行拆分

            '00爲協議内回傳機号,03爲讀命令,04爲返回的數據長(cháng)度 0126 爲我要的溫度數據爲十六進(jìn)制表達,下面(miàn)我進(jìn)行數據處理

            wd = CLng("H"  Left(Right(strdata, 12), 4)) / 10  "℃"   '根據通訊協議換算成(chéng)溫度

            Text1 = Text1  vbCrLf  strdata  "  "  wd

            strdata = ""

   MSComm1.PortOpen = False  '關閉串口

 End Select

End Sub

Private Sub Timer1_Timer()

Call Command1_Click

End Sub

這(zhè)是我的測試結果。

下面(miàn)是通訊協議

這(zhè)個是我的軟件用檢測精靈檢測的結果

上位機軟件開(kāi)發(fā)實例的介紹就聊到這(zhè)裡(lǐ)吧,感謝你花時間閱讀本站内容,更多關于上位機軟件開(kāi)發(fā)是什麼(me)意思、上位機軟件開(kāi)發(fā)實例的信息别忘了在本站進(jìn)行查找喔。

掃碼二維碼