《虚拟仪器_labview_课件ppt_第十一章_通信编程》由会员分享,可在线阅读,更多相关《虚拟仪器_labview_课件ppt_第十一章_通信编程(79页珍藏版)》请在金锄头文库上搜索。
1、第十一章 通信编程11.1 串行通信11.2 DataSocket通信技术11.3 TCP通信第十一章 通信编程第十一章 通信编程11.1 串行通信早期的仪器、单片机、PLC等均使用串口与 计算机进行通信,RS-232协议是一种通用的串 行通信总线。目前,RS-232总线仍然是虚拟仪 器的构成方式之一。第十一章 通信编程GPIBSerial DAQProcess or Unit Under TestVXI Image AcquisitionMotion ControlPXIApplication SoftwareHardware write buffer:写入串口缓冲区的字符。Return c
2、ount:返回写入串口的字符数。第十一章 通信编程 串口读(Serial Port Read.VI)对串口进行读操作,端口设置为:VISA resource name:设置串口号;byte count:读取字符数;Read buffer:从串口读到的字符;Return count:返回实际读取字符数。第十一章 通信编程 关闭串口(Serial Port Close.VI)对打开的串口进行关闭操作。VISA resource name:设置串口号;第十一章 通信编程 串口检测(Bytes of Serial Port.VI)检测当前串口输入缓冲区中的字节数。用在 Read节点读串口前。第十一章
3、通信编程 串口中断(Serial Port Break.VI)将串口中断至少250ms。第十一章 通信编程11.1.3 串行通信应用实例例13.1 用LabVIEW实现双机串行通讯。 本例使用两台计算机进行通讯,一台计算机 作为服务器,通过串口向外发送数据,另一台 计算机作为客户机,接收由服务器发送过来的 数据。两台计算机串口的连线如下图:第十一章 通信编程服务器框图程序第十一章 通信编程服务器前面板第十一章 通信编程客户机框图程序第十一章 通信编程客户机前面板第十一章 通信编程由一个程序进行串口的读写第十一章 通信编程前面板。第十一章 通信编程下面是一个通用串口通讯程序的界面。第十一章 通信
4、编程11.2 DataSocket通信技术DataSocket是NI公司提供的一种网络测控 系统开发工具,以实现不同的应用程序和数据 源之间的数据共享。DataSocket用类似于Web中的统一资源定位 器(URL)定位数据,URL不同的前缀表示了不同 的数据类型:FILE本地文件;HTTP超文本传输数据;FTP文件传输协议;OPCOPC资源;DSTPDataSocket服务器传输的数据。第十一章 通信编程LabVIEW中还提供了以下3个工具:DataSocket ActiveX控件:利用ActiveX容 器开发共享数据应用。DataSocket服务器管理程序:它是一个配置和管理工具,具有负责
5、确定DataSocket服务的最大连接数,设置服务控制等网络功能。DataSocket服务器:利用DSTP协议在应用程序间交换数据。第十一章 通信编程11.2.1 DataSocket管理器在LabVIEW安装后,会出现DataSocket Sever 和DataSocket Sevser Manager应用程序。第十一章 通信编程启动DataSocket Sevser Manager后对话框如 下:第十一章 通信编程11.2.2 DataSocket服务器启动DataSocket Sevser后对话框如下:第十一章 通信编程11.2.3 DataSocket子模板介绍DataSocket子模
6、板调用路径为Functions Data CommunicationDataSocket 第十一章 通信编程 打开一个连接URL:欲访问的网上用户地址。mode:网络中用户连接的模式。 第十一章 通信编程 向打开的连接写数据Data:表示向DataSocket服务器写入的数据 。第十一章 通信编程 向打开的连接读数据Data:表示从DataSocket服务器读出的数据 。第十一章 通信编程 关闭打开的连接第十一章 通信编程 选择Datasocket的URL显示一个对话框供用户选择URL。第十一章 通信编程DataSocket的前面板对象链接是一种不需要任 何编程的网络数据传输方法。通过Data
7、Socket 将两个程序的前面板对象链接起来,一个发送数 据,另一个接收数据,就可以实现对程序的远程 控制、数据的远程采集等多种功能。建立前面板对象链接的方法如下:在需链接的前面板对象上单击右键,选择弹 出菜单中Data OperationsDataSocket Connection,如下图:11.2.4 使用DataSocket链接前面板对象第十一章 通信编程第十一章 通信编程弹出以下对话框:Connect To:不论发布数据还是接收数据的 机器中,都填写发布数据机器的URL。Connections Type:发布数据选择Publish; 接收数据选择Subscribe。第十一章 通信编程选
8、中Enable选项。完成设置后,前面板对象 右上角出现一个链接指示灯。运行后指示灯亮。注意:在上述程序运行前,必须先从Windows程 序菜单中打开DataSocket Sever。第十一章 通信编程发送数据前面板及框图程序:第十一章 通信编程接收数据前面板及框图程序:第十一章 通信编程11.2.5 使用DataSocket传输数据 向DataSocket写数据 向指定的URL:dstp:/202.197. 33.63/dssine 写数据。数据是一个周期的正弦波,其幅值可用 amplitude 调节。用error out作为while循环结 束条件,即出错即停止。 第十一章 通信编程向Dat
9、aSocket写数据的前面板:第十一章 通信编程 从DataSocket读数据 从指定的URL:dstp:/202.197. 33.63/dssine 中读数据。其幅值受写DataSocket中amplitude的 调节。用error out作为while循环结束条件。另 外用Tick Count测试循环时间。 第十一章 通信编程从DataSocket读数据的前面板:第十一章 通信编程注意:在上述程序运行前,必须先从 Windows程序菜单中打开DataSocket Sever。第十一章 通信编程11.2.6 基于DataSocket的OPC数据传输LabVIEW中DataSocket提供了O
10、PC数据传输功能 。OPC(OLE for Process Control)借用Micro soft的OLE和COM/DCOM技术,为异构设备、软件 的通讯提供了有效的解决方法,是实现控制系统 现场设备级与过程管理级信息交互和控制系统开 放性的关键技术。第十一章 通信编程LabVIEW中可通过DataSocket VI来支持OPC 应用。在LabVIEW中同一个OPC服务器建立连接 ,通过调用Open.VI节点实现。OPC URL的基本结构为:opc:/主机名/OPC服务器名/数据项目下面以SLC500 PLC为例,介绍LabVIEW与PLC 基于DataSocket的数据通信方法。 第十一章
11、 通信编程第十一章 通信编程第十一章 通信编程第十一章 通信编程 RSLinx与其它软件的通信 RSLinx通讯软件是用于A-B可编程控制器的服 务器软件,为A-B的PLC处理器与Rockwell公司及 其他公司(如微软)的许多软件产品提供了通信 连接,如下图。第十一章 通信编程 RSLinx OPC 服务器的设置在使用RSLinx OPC服务器时,先要进行配置 和组态。Step1 配置通信设备。在启动RSLinx后,点击Communications Configure Drivers,添加一个新设备(driver ),选择“1784-KT/KTX(D)/PKTX(O) /PCMK for D
12、H+/DH-485 devices”,并确定新添加的 设备无错误,设备状态显示“正在运行”( Running)。第十一章 通信编程第十一章 通信编程Step2 建立OPC主题(Topic)。在RSWho对话框下,找到相应的PLC,右击PLC 图标,选择“Configure New DDE/OPC Topic” ,建立一个Topic。第十一章 通信编程Step3 测试OPC服务器。应用OPCTools中的OPC Test Client 可对 Step2中建立的MyTopic主题进行测试。第十一章 通信编程 OPC读PLC数据在设置好RSLinx OPC服务器后,LabVIEW 通过DataSoc
13、ket的OPC层与RSLinx OPC服务 器进行通信。下图是进行读操作的数据流图 。第十一章 通信编程第十一章 通信编程从图中可以看出读数据流图由个4个功能块组 成:a) 构建读数据项目数组。对要读取的OPC服 务器数据项目的URL,用数组的形式表示。b) 建立与读数据项目的连接。c) 项目数据更新与显示。d) 关闭与项目的连接。第十一章 通信编程 写PLC数据LabVIEW通过RSLinx OPC服务器对SLC500 PLC 进行写操作的数据流图如下。第十一章 通信编程系统前面板如下:第十一章 通信编程11.3 TCP通信TCP/IP协议是Internet最基本的协议,它 由低层的IP协议
14、和TCP协议组成。LabVIEW中,可以采用TCP/IP节点来实现局域 网通讯。11.3.1 TCP/IP节点介绍LabVIEW中,TCP/IP节点在Functions Data CommunicationProtocolsTCP子模板中。第十一章 通信编程第十一章 通信编程 TCP Listen.VI创建一个听着,并在指定的端口等待客户 端的TCP连接请求。port:端口号;connection ID:TCP连接的标识号;remote address:显示和TCP连接的远程计 算机的IP地址;注意:该节点只能应用于服务器。第十一章 通信编程 TCP Open.VI用指定的计算机和端口打开以T
15、CP连接。address:远端服务器地址;remote port:用户欲创建的TCP连接的端 口号;注意:该节点只能应用于客户机服务器。第十一章 通信编程 TCP Read.VI从指定的TCP连接中读数据。mode:读数据模式;bytes to read:从指定的TCP端口中读取 的最多的字节数;data out:从TCP端口读取的数据;第十一章 通信编程 TCP Write.VI向打开的TCP端口写入数据。Data in:向TCP端口要写的数据;第十一章 通信编程 TCP Close.VI关闭指定的TCP端口。 TCP Create Listener.VI创建一个TCP连接的听者。第十一章
16、通信编程 TCP Wait on Listener.VI在指定的端口上等待TCP连接请求。 IP to String.VI及String to IP第十一章 通信编程 11.3.2 基于C/S模式的网络通讯采用C/S模式是LabVIEW进行网络通讯的最基本结 构。在本例中由服务器产生一组随机波形,通过局 域网送至客户机进行显示。通讯流程如下。第十一章 通信编程 服务器程序设计第十一章 通信编程 客户机程序设计前面板如下:第十一章 通信编程客户机框图程序如下:框图程序中,打开TCP函数按照给定的IP地址 和端口号建立一个TCP连接。与服务器程序对应,客户机框图程序也采用 两个TCP Read节点读