谁有VB和OMRON PLC 通信例子啊?能否发个原始代码? 再次特别感谢!

 我来答
穿黑裙的小妖
2018-04-20 · TA获得超过129个赞
知道答主
回答量:190
采纳率:78%
帮助的人:11.8万
展开全部

提供一个VB.NET与OMRON以太网通讯的代码,是我项目里面复制出来的:

    Dim Handle1 As Int32 'PLC的连接句柄
    Dim EntLink As Boolean '连接标志
    Dim PLC As New FinsTcp.PlcClient '引用OMRON的通讯组件

    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)
        txtReLink.Text = re.ToString
        If re = 0 Then
            EntLink = True
            MsgBox("PLC联接成功! ")
        Else
            EntLink = 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
        EntLink = False
        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 EntLink Then
            MsgBox("还未与PLC建立联接!")
            Exit Sub
        End If
        Dim mry As FinsTcp.PlcClient.PlcMemory = cmbReadMry.SelectedIndex + 1
        Dim typ As FinsTcp.PlcClient.DataType = cmbReadType.SelectedIndex + 1
        re = PLC.CmdRead(Handle1, mry, typ, CUShort(Val(txtReadAdd.Text)), CUShort(Val(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 EntLink 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 FinsTcp.PlcClient.PlcMemory = cmbWriteMry.SelectedIndex + 1
        Dim typ As FinsTcp.PlcClient.DataType = cmbWriteType.SelectedIndex + 1
        re = PLC.CmdWrite(Handle1, mry, typ, CUShort(Val(txtWriteAdd.Text)), CUShort(Val(txtWriteCnt.Text)), WD)
        txtReWrite.Text = re.ToString
        If re <> 0 Then
            Timer1.Enabled = False
            butScan.Text = "Cycle R/W"
        End If
    End Sub
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,具有以下基本参数:1. 工作频率:72MHz2. 外部时钟:最高可达120MHz3. 存储器容量:64K bytes4. 数据总线宽度:32位5. 输入/输出端口... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
上海长英
2011-08-30 · 上海长英,自动化电气设计,软件编程。
上海长英
采纳数:1072 获赞数:22874

向TA提问 私信TA
展开全部
有啊
追问
给发代码吗。在此深表感谢!
.......
长英自动化,上海一家公司,买过你们的pro-face触摸屏,PLC。
幸好买的少,太会忽悠人了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式