上位机软件开发案例(上位机软件开发流程)

软件开发 1294
今天给各位分享上位机软件开发案例的知识,其中也会对上位机软件开发流程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、求大神指导怎么用VC编写LED旋转显示屏的上位机软件

今天给各位分享上位机软件开发案例的知识,其中也会对上位机软件开发流程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求大神指导怎么用VC编写LED旋转显示屏的上位机软件

你下载一个串口的MFC案例,带源代码的,然后自己更改通信部分的代码,无非就是发送和接收。有个屁协议

谁帮我推荐几款三轴运动控制器,可以示教编程的

EMAC200独立式可编程运动控制器——4轴

(特点:运行速度最快的运动控制、功能设置简介通过程序内部相当可以轻松引导客户完成硬件配置)(今年来在高校运用的量增加,所以针对实验程序的案例比较多,完整系统运用程序因为受到此控制器程序保护功能因素,所以相对要少)

ACR9000独立式可编程运动控制器——2、4、6、8轴

(特点:功能最全面的运动控制、几乎涵盖了运动控制运用中的所以应用能力)(在工厂使用的比较多,案例程序比较完整)

PMAC2可编程运动控制卡,需要搭载工控机运行

(特点:美国第一款进入中国的运动控制卡,功能强大但程序设计复杂)(这款控制卡运用比较早,案例程序繁杂)

独立式可编程运动控制器是已经封装好了外壳,在内部提升了防护等级,如抗干扰、振动、防尘灯,一般单台规格为2、4、6、8轴,需要更多的轴是通过总线外扩充一般扩展轴速也都能达到256轴以上。可以脱离电脑通自己的CPU独立运行,同时可以考虑加装触摸屏来监视,设备运行情况。

运动控制卡(板块型)通常通过PCI插槽连接到电脑上,工厂一般用工控机来和运动控制卡组合使用,因为工控机可以提供多个插槽给运动控制卡以便扩展轴数。

上位机开发

就目前就业市场来看,不管上位机,还是下位机,应用程序领域的人才需求总是最大的。

做测试软件其实不一定需要用 c#,假如你对c/c++开发比较熟,那直接用 MFC 等写些

对话框应用就好了,测试软件不至于会太复杂。另外假如 c/c++ 通了,C#之类的不要

太简单。

对于做工作来说的话,除非你已经走在自己已经认准的那条道上了。否则你还是兵来将

挡,水来土掩的好。任何时候,有任何需要,你凭借自己的基础稍做学习都能立马上手。

还有一点,不是说你今天或者这几个月做了 c# ,后面几年时间你就必须得用它来吃饭了。

做c#的过程也许只是你长期职业追求中的一个插曲而已,对于增加知识面也有好处。

能给我发个VB与三菱PLC通讯的源代码实例吗,非常感谢啊

得说明是什么型号的PLC啊,串口还是网口,VB6还是VB.NET?

算了,写段代码,VB.NET与Q系列以太网通讯的:

Imports System.Net

Imports System.Runtime.InteropServices

Public Class Form1

    Dim Handle1 As Int32

    Dim EntLink1 As Boolean

    Dim ScanCount1 As Long

    Dim PLC As New EntQsPlc_Asc.PlcClient'EntQsPlc_ASC.DLL是Q系列以太网通讯组件

    Public Declare Function timeGetTime Lib "winmm.dll" () As UInt32

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.CenterToScreen()

        cmbReadMry.Items.Clear()

        cmbReadMry.Items.Add("X")

        cmbReadMry.Items.Add("Y")

        cmbReadMry.Items.Add("M")

        cmbReadMry.Items.Add("D")

        cmbReadMry.Items.Add("R")

        cmbReadMry.Items.Add("Z")

        '

        cmbWriteMry.Items.Clear()

        cmbWriteMry.Items.Add("X")

        cmbWriteMry.Items.Add("Y")

        cmbWriteMry.Items.Add("M")

        cmbWriteMry.Items.Add("D")

        cmbWriteMry.Items.Add("R")

        cmbWriteMry.Items.Add("Z")

        '

        cmbBitMry.Items.Clear()

        cmbBitMry.Items.Add("X")

        cmbBitMry.Items.Add("Y")

        cmbBitMry.Items.Add("M")

        '

        cmbReadType.Items.Clear()

        cmbReadType.Items.Add("INT16")

        cmbReadType.Items.Add("UINT16")

        cmbReadType.Items.Add("DINT32")

        cmbReadType.Items.Add("HEX32")

        cmbReadType.Items.Add("REAL32")

        cmbReadType.Items.Add("BIN16")

        '

        cmbWriteType.Items.Clear()

        cmbWriteType.Items.Add("INT16")

        cmbWriteType.Items.Add("UINT16")

        cmbWriteType.Items.Add("DINT32")

        cmbWriteType.Items.Add("HEX32")

        cmbWriteType.Items.Add("REAL32")

        cmbWriteType.Items.Add("BIN16")

        cmbReadMry.SelectedIndex = 3

        cmbWriteMry.SelectedIndex = 3

        cmbBitMry.SelectedIndex = 2

        cmbReadType.SelectedIndex = 0

        cmbWriteType.SelectedIndex = 0

        lstRead.Items.Clear()

        txtWrite.Text = ""

        '

        cmbCmdType.SelectedIndex = 0

    End Sub

    Private Sub butLink_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butLink.Click

        Dim re As Short

        Dim restr As String = ""

        re = PLC.EntLink(Trim(txtLocalIP.Text), Val(txtLocalPort.Text), Trim(txtRemoteIP.Text), Val(txtRemotePort.Text), "DEMO", Handle1, 1000, CBool(cmbCmdType.SelectedIndex))

        txtReLink.Text = re.ToString

        If re = 0 Then

            EntLink1 = True

            MsgBox("PLC联接成功! ")

        Else

            EntLink1 = False

            MsgBox("PLC联接失败: "  restr)

        End If

    End Sub           

    Private Sub butClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butClose.Click

        Dim re As Short

        If Not EntLink1 Then

            MsgBox("还未与PLC建立联接!")

            Exit Sub

        End If

        re = PLC.DeLink(Handle1)

        txtReClose.Text = re.ToString

    End Sub

    Private Sub butRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butRead.Click

        Dim re As Short

        Dim i As Short

        Dim RD() As Object

        ReDim RD(Val(txtReadCnt.Text - 1))

        If Not EntLink1 Then

            MsgBox("还未与PLC建立联接!")

            ' Exit Sub

        End If

        Dim mry As EntQsPlc_Asc.PlcClient.PlcMemory = cmbReadMry.SelectedIndex + 1

        Dim typ As EntQsPlc_Asc.PlcClient.DataType = cmbReadType.SelectedIndex + 1

        re = PLC.CmdRead(Handle1, mry, typ, CInt(txtReadAdd.Text), CUShort(txtReadCnt.Text), RD)

        txtReRead.Text = re.ToString

        lstRead.Items.Clear()

        For i = 0 To UBound(RD) Step 1

            If Not IsNothing(RD(i)) Then lstRead.Items.Add(RD(i))

        Next i

        If re  0 Then

            Timer1.Enabled = False

            butScan.Text = "Cycle R/W"

        End If

    End Sub

    Private Sub butWrite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butWrite.Click

        Dim re As Short

        Dim i As Short

        Dim temp() As String

        Dim WD() As Object

        If Not EntLink1 Then

            MsgBox("还未与PLC建立联接!")

            Exit Sub

        End If

        ReDim WD(Val(txtWriteCnt.Text) - 1)

        temp = Split(txtWrite.Text, vbCrLf)

        For i = 0 To UBound(WD) Step 1

            If i  UBound(temp) Then

                WD(i) = 0

            Else

                WD(i) = Trim(temp(i))

            End If

        Next i

        Dim mry As EntQsPlc_Asc.PlcClient.PlcMemory = cmbWriteMry.SelectedIndex + 1

        Dim typ As EntQsPlc_Asc.PlcClient.DataType = cmbWriteType.SelectedIndex + 1

        re = PLC.CmdWrite(Handle1, mry, typ, CInt(txtWriteAdd.Text), CUShort(txtWriteCnt.Text), WD)

        txtReWrite.Text = re.ToString

        If re  0 Then

            Timer1.Enabled = False

            butScan.Text = "Cycle R/W"

        End If

    End Sub

    

    

    Private Sub butScan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butScan.Click

        If Not EntLink1 Then

            MsgBox("还未与PLC建立联接!")

            Exit Sub

        End If

        Timer1.Enabled = Not Timer1.Enabled

        If Timer1.Enabled Then

            ScanCount1 = 0

            butScan.Text = "Stop R/W"

        Else

            butScan.Text = "Cycle R/W"

        End If

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        Timer1.Enabled = False

        Dim tim As Integer = timeGetTime

        If Not EntLink1 Then

            MsgBox("还未与PLC建立联接!")

            Exit Sub

        End If

        '

        Call butRead_Click(Nothing, Nothing)

        Call butWrite_Click(Nothing, Nothing)

        '

        If (Val(txtReRead.Text)  0) Or (Val(txtReWrite.Text)  0) Then

            butScan.Text = "Cycle R/W"

            Exit Sub

        Else

            ScanCount1 += 1

            txtScanCnt.Text = ScanCount1

            txtScanPrd.Text = (timeGetTime - tim)  "ms"

        End If

        Timer1.Enabled = True

    End Sub

    Private Sub butBitTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butBitTest.Click

        If Not EntLink1 Then

            MsgBox("还未与PLC建立联接!")

            Exit Sub

        End If

        Dim rd As Boolean

        Dim re As Short

        Dim mry As EntQsPlc_Asc.PlcClient.PlcMemory = cmbBitMry.SelectedIndex + 1

        re = PLC.Bit_Test(Handle1, mry, CUShort(txtBitAdd.Text), rd)

        txtBitTest.Text = rd

        txtReBit.Text = re

    End Sub

    Private Sub butBitSet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butBitSet.Click

        If Not EntLink1 Then

            MsgBox("还未与PLC建立联接!")

            Exit Sub

        End If

        Dim re As Short

        re = PLC.Bit_Set(Handle1, cmbBitMry.SelectedIndex + 1, Val(txtBitAdd.Text))

        txtReBit.Text = re

    End Sub

    Private Sub butBitRst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butBitRst.Click

        If Not EntLink1 Then

            MsgBox("还未与PLC建立联接!")

            Exit Sub

        End If

        Dim re As Short

        re = PLC.Bit_Reset(Handle1, cmbBitMry.SelectedIndex + 1, Val(txtBitAdd.Text))

        txtReBit.Text = re

    End Sub

End Class

如何用c语言开发自己的上位机软件

一般开发上位机软件都是带图形界面的。C也能做出图形界面的软件,但是开发周期太长也不实用。所以最好还是需要会一些其他语言,例如C++,C#,Java这些做图形界面开发周期短的语言。既然会C,那么学习其他语言也只是一个熟悉语法的过程。所以很快就能上手,因为语言都是相通的嘛。可以开阔自己的视野去学习一下新的语言。不是说只会C有什么弊端,只是想说会的多才会知道语言之间的优劣。

利用电脑做上位机开发一个软件,用单片机做下位机。在上位机上点击软件上的按钮能使单片机输出一路I/O口

主要涉及到单片机基础知识,重点是串口通信,上位机可以考虑vc和.net,这两种都可以。.net使用c#语言,感觉比较好上手,我也可以给你点视频教程,一学就会。

上位机软件开发案例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于上位机软件开发流程、上位机软件开发案例的信息别忘了在本站进行查找喔。

扫码二维码