快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

乐橙ag客户端:利用Winscok控件实现VB与PLC的以太网通信



关键词:

VB

MODBUS/TCP协议

择要:工业以太网以其特有的低资源,高实效,高扩展性及高智能的魅力,吸引着越来越多的制造业的厂商。是以经由过程MODBUS/TCP协议实现诸如PLC的I/O模块,以及连接其它简单域总线或 I/O模块的网关办事有紧张的意义。本文基于VB评论争论PLC与监控谋略机的通信问题。

1、小序

在收集的各个层上,跟着自动化和节制工程师必要与收集打交道的时机越来越多,联网的希望和必要也正在徐徐飞腾。而且,在监控和数据采集利用中,大年夜多半工程师已将以太网协议利用于数据采集与监视节制系统(SCADA)和工厂的诊断、测试及掩护。若何简便地实现与PLC的交互已经成为浩繁厂商新的竞争疆场。由此孕育发生了人机界面及各类组态软件产品,这些产品的呈现简化了对PLC的节制、操作,使PLC的利用加倍方便。但也有其合营的毛病,价格普遍偏高和可二次开拓性较差。VB作为“原始”的编程说话,兼具了上述两方面的上风。本文结合一个简单的案例来粗略评论争论若何经由过程VB实现PC机与PLC的以太网通信问题。

2、以太网通信的基础观点

2.1以太网的标准

以太网是一种局域网。早期标准为IEEE 802.3,数据链路层应用CSMA/CD,10Mb/s速率物理层有:

(1)10 Base 5粗同轴电缆,RG-8,一段最长为500m。

(2)10 Base 2细同轴电缆,RG-58,一段最长为185m。

(3)10 Base T双绞线,UTP或STP,一段最长为100m。

2.2工业以太网与商用以太网的差别

什么是工业以太网?技巧上,它与IEEE802.3兼容,故从逻辑上可把商用网和工业网当作是一个以太网,而用户可根据现场环境,机动装置自己的收集部件。但从工业情况的恶劣和抗滋扰的要求,设计者盼望采纳市场上可找到的以太网芯片和序言,兼顾斟酌下述工业现场的特殊要求:首先要斟酌高温、湿润、振动。二是对工业抗电磁滋扰和抗辐射有必然要求,如满意EN50081-2、EN50082-2标准,而办公室级其余产品未经这些工业标准测试,表1列出了一些常用工业标准。为改良抗滋扰性和低落辐射,工业以太网产品多应用多层线路板或双面电路板,且外壳采纳金属如铸铝樊篱滋扰。三是电源要求,因集线器、互换机、收发器多为有源部件,而现场电源的品德又较差,故常采纳双路直流电或交流电为其供电,别的斟酌方便安装,工业以太网产品多半应用DIN导轨或面板安装。四是通信介质选择,在办公室情况下多半配线应用UTP,而在工业情况下保举用户应用STP(带樊篱双绞线)和光纤。

2.3 应用TCP/IP协议的缘故原由及其概述

最主要的一个缘故原由在于它能应用在多种物理收集技巧上,包括局域网和广域网技巧。TCP/IP协议的成功,很大年夜程度上取决于它能适应险些所有底层通信技巧。20世纪80年代初,先在X.25上运行TCP/IP协议;而后又在一个拨号语音收集(如电话系统)上应用TCP/IP协议,又有TCP/IP在令牌环网上运行成功;着末又实现了TCP/IP远程分组无线网点与其他Internet网点间TCP/IP通信。以是TCP/IP协议极其机动,具备连接不合收集的能力。别的,应用TCP/IP也简化了OSI模型,由于它省略了表示层和会话层。假如现在把以太网的物理层和数据链路层加到OSI模型,就构成了基于以太网的TCP/IP网,如图1所示。用以太网实现TCP/IP乐橙ag客户端也是经济的一种要领。

IP是Internet最基础的协议。IP是面向报文的协议,它自力处置惩罚每个报文包,每个报文包必须含有完备的寻址信息。IP报文包的款式如图2所示。

IP地址的类型共有4种(如图3所示):A类用于处置惩罚超大年夜型收集,最多16387064个主机(1~126);B类收集最多可有64516个主机(收集地址的第一段为128~191);C类用于小型收集,最多可有254个主机(收集地址的第一段为192~223);D类用于多点播送,用于多目的信息的传输。全零(“0.0.0.0”)地址对应于当前主机,全1地址(“255.255.255.255”)是当前子网的广播地址。

TCP是基于传输层的协议,协议文件可从RFC793获得,应用广泛,面向连接的靠得住协议。它能把报文分化为数段,在目的站再从新装置这些段,支庄从新发送未被收到的段,供给两台设备间的全双工连乐橙ag客户端接,容许它们高效地互换大年夜量数据。TCP应用滑动窗口协议来高效应用收集。因为TCP很少干预底层送达系统的事情,它适应各类送达系统,且供给流量节制,能使各类不合速度的系统进行通信。报文段是TCP所应用的基础传输单元,用于传输数据或节制信息。

3、MODBUS数据帧款式

在TCP/IP以太网上传输,支持Ethernet II和802.3两种帧款式。图3所示,Modbus TCP数据帧包孕报文头、功能代码和数据3部分。

4、MODBUS功能代码

4.13种类型

(1)公共功能代码乐橙ag客户端(如表2所示):已定义好的功能码,包管其独一性,由Modbus.org认可。

(2)用户自定义功能代码有两组,分手为65~72和100~110,无需认可,但不包管代码应用的独一性。如变为公共代码,需交RFC认可。

(3)保留的功能代码,由某些公司应用在某些传统设备的代码,弗成作为公共用途。

表2Modbus常用公共代码功能

4.2功能代码划分:按利用深浅,可分为3个种别。

(1)种别0,对付客户机/办事器最小的可用子集:读多个维持寄存器(fc.3);写多个维持寄存器(fc.16)。

(2)种别1,可实现基础互易操作的常用代码:读线圈(fc.1);读开关量输入(fc.2);读输入寄存器(fc.4);写线圈(fc.5);写单一寄存器(fc.6)。

(3)种别2,用于人机界面、监控系统的例行操作和数据传送功能:

(4)强制多个线圈(fc.15);读通用寄存器(fc.20);写通用寄存器(fc.21);樊篱写寄存器(fc.22);读写寄存器(fc.23)。

5、VB的基础观点

VB(Visual Basic)是面向工具的法度榜样设计说话,用它来开拓Windows操作系统下的利用法度榜样,它供给了很多接口成员,工具、属性、事故、措施便是4个紧张的接口,VB供给了许多常用的控件。

5.1卷标控件

卷标控件如图4(a)所示,该控件专用于显示翰墨、数字用,显示如图4(b)所示。

5.2 按钮控件

按钮控件如图5(a)所示,该控件应用率很高,供给一个供系统用户操感化的按钮,如图5(b)所示。

6、基于Winsock控件的TCP/IP以太网通信

要完成VB与PLC等设备的以太网通信要用到Winsock控件,在此有需要对该控件作较具体的阐明。Winsock是一个ActiveX控件,必要要手动添加许多项目,其步骤如下:

(1)选择菜单的【工程】。

(2)选择【部件】。

(3)在弹出的对话框中做如图6的选择。

图6 对话框界面

(4)如图7所示,在部件选项卡就会呈现Winsock控件。

图7 Winsock控件

7、Winsock控件的基础属性

此控件对付用户在运行时弗成见,供给了一个简单的道路造访TCP及UDP收集办事而无需懂得底层细节,应用时你只需设置属性、在恰当的时刻调用它供给的措施即可。

主要属性有:

BytesReceived:返回当前缓冲区中的字节数量,我们可以应用 GetData 措施以接管数据。只读且设计时弗成用。

LocalHostName:返回本机名字符串,设计时弗成用。

LocalIP:返回以(xxx.x乐橙ag客户端xx.xxx.xxx)款式表达的IP地址串。设计时弗成用,运行时只读。

LocalPort :本机应用接管端口可读写,设计时可用,Long型。对付客户,假如无需指定端口,则用端口0发送数据。在此环境下,控件将随机选择一个端口。在一个连接确定后,为TCP的端口。对付办事器,指用于监听的端口。如设置为0,则用随机数。在调用Listen 措施后,该属性自动包孕用到的端口。端口0老是用于在两谋略机间建立动态连接。客户盼望经由过程端口0得到一个随机端口以”回调”连接办事器。

Protocol :套接字类型,为TC乐橙ag客户端P或UDP二者之一,缺省为TCP类型。设置为sckTCPProtocol表示TCP协议sckUDPProtocol表示UDP协议。在此属性被重置之前需用Close措施关闭之。

RemoteHost:发送或接管数据的主机,你可供给主机名如:FTP://ftp.microsoft.com,或一IP地址串,例如“100.0.1.1”。

RemoteHostIP:远程主机的IP地址。对付客户法度榜样,在连接确定后应用Connect措施,此属性包孕远程主机的IP名串。对付办事器法度榜样, 在引入连接需求后(Connection Request 事故),此属性包孕IP串。当应用UDP套接字,在Data Arrival事故发生后,此属性为发送UDP数据的机械IP地址串。

RemotePort:连接套接字端口值。例如平日HTTP利用应用80端口,FTP则应用21。

State:控件的状态, 只读且设计时弗成用。可为以下值:

常量描述

sckClosed 0 缺省值,关闭套接字

sckOpen 1 打开套接字

sckListening 2 正监听端口

sckConnectionPending 3 正在进行不决的连接

sckResolvingHost 4 正解析主机地址

sckHostResolved 5 主机地址已解析

sckConnecting 6 正在连接

sckConnected 7 已连接

sckClosing 8 连接关闭

sckError 9 差错

8、VB与PLC基于MODBUS TCP的以太网通信的实现

以下举例阐明若何实现VB与PLC的以太网通信。

(1)节制要求:用交替型按钮节制Y0,并用唆使灯显示Y0状态(绿色为运行,血色为竣事);能够对D100、D200两个寄存器进行数值写入与读出的操作。

(2)实现思路:同样Y0的地址分手为H0500。写入FF00为ON,0000为OFF,按功能码05操作;D100,D200地址分手为H1064,H10C8,按功能码03操作

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: