首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于Winsock控件实现PLC网络通信控制设计方法
来源:本站整理  作者:佚名  2009-07-29 11:27:50




        4.通信程序的具体实现
        在新建VB工程后,需要执行VB工具栏“工程/部件” 命令www.cechina.cn,将Winsock控件添加到工程中, 并命名为“WskClient”。程序采用TCP/IP协议进行通信,其主要属性设定如下:
        With WskClient
        .Protocol = sckTCPProtocol ‘采用TCP/IP协议
        .LocalPort = 9600 ‘本地计算机端口号
        .RemoteHost = txtIP.Text ‘取得远程PLC的IP地址
        .RemotePort = txtPort.Text ‘远程PLC端口号
        .Bind 9600 ‘指定使用的本地端口
        End With
        初始化工作完成后向PLC提出连接请求,待PLC接受请求并发送应答信息后,客户端程序依照各种帧格式建立好要发送的信息帧,就可以与PLC进行双向的数据交流了。在这一过程中控制工程网版权所有,可建立发送失败后的重发机制,以增强通信的可靠性。
        首先控制工程网版权所有,建立并发送“握手信息”指令(20字节),指明客户机节点号;当计算机接收到PLC返回帧(24字节)后,检查PLC是否收到命令
控制工程网版权所有
,并取得服务器和客户机节点号。当计算机接收到PLC返回的数据时
控制工程网版权所有
,会产生DataArrival事件,参数BytesTotal包含接收到的数据字节数。在DataArrival事件中,可以调用GetData方法接收数据。如果接收到Close事件,则用Close方法关闭连接。另外,可用Winsock的State属性来反映当前TCP/IP的连接状态。这里仅列举主要程序如下:
        ‘向服务器请求连接
        WskClient.Connect
        TimeDelay 100
        Do
        DoEvents
        Loop Until WskClient.state=sckConnected
        ‘建立并发送FINS命令帧
        Private Sub SendData_Click()
        ReDim SendData (19) As Byte
        SendData (0) = &H46‘FINS命令帧报头的第1个字节
&n
bsp;       ……
        WskClient.SendData SendData() ‘发送FINS命令帧
        End Sub
        ‘接收PLC响应帧,并分析数据
        Private Sub WskClient_DataArrival(ByVal bytesTotal As Long)
        Dim i As Integer
        ReDim ArriveData(bytesTotal) As Byte
        wsk.GetData ArriveData
, vbArray + vbByte, bytesTotal
        ‘接收数据,保存在ArriveData数组中
        For i = 0 To bytesTotal - 1
        txtArData.Text = txtArData.Text & " " & ArriveData (i)
        Next i
        ……‘其它数据处理
        If ArriveData(7) <> 16 Then
        MsgBox“接收信息丢失“
        ElseIf SendData(19)= ArriveData (bytesTotal-5) Then
        MsgBox“节点地址错误“
        End If
        End If
        在接收信息后,当PLC收到传输过去的信息后,会将对应的命令反馈值传回,这个事件程序内的程序将它显示在文本框中,还可作进一步处理。主程序流程图如图4所示。

程序流程图

        图4 程序流程图

        若采用UDP协议,则通信的基本过程与TCP相同,只是不需要建立连接。此外,UDP应用程序可以是客户机,也可以是服务器控制工程网版权所有,而不必象TCP应用程序那样必须分别建立客户机程序和服务器程序。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。因此如果网络中设备不是很多,且发送数据量不大时,可选择耗费计算机“资源”更小的UDP协议进行通信。
        5.结束语
        采用Winsock控件实现的上位机以太网通信程序,已成功应用于数字小样并条机监控系统中,该法简单实用,在不追加投资的情况下,实现车间设备 的网络数据实时监控的功能,达到了理想的效果。而且以VB作为监控软件的开发平台,软件的二次开发不受限制,节约成本控制工程网版权所有,并可根据需要随时对程序进行升级。为实现对控制系统进行有效的信息管理与监控,基于以太网的PLC控制系统必将有更为广泛的应用,本文的论述对解决这类问题提供了一定参考价值。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:134,507.80000 毫秒