《虚拟仪器 labview 课件PPT 第十一章 通信编程.ppt》由会员分享,可在线阅读,更多相关《虚拟仪器 labview 课件PPT 第十一章 通信编程.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第十一章 通信编程11.1 11.1 串行通信串行通信11.2 11.2 DataSocketDataSocket通信技术通信技术11.3 TCP11.3 TCP通信通信第十一章第十一章 通信编程通信编程第十一章 通信编程11.1 11.1 串行通信串行通信 早期的仪器、单片机、早期的仪器、单片机、PLCPLC等均使用串口与等均使用串口与计算机进行通信,计算机进行通信,RS-232RS-232协议是一种通用的串协议是一种通用的串行通信总线。目前,行通信总线。目前,RS-232RS-232总线仍然是虚拟仪总线仍然是虚拟仪器的构成方式之一。器的构成方式之一。第十一章 通信编程GPIBSerialD
2、AQProcessorUnit Under TestVXIImage AcquisitionMotionControlPXIApplicationSoftwareHardware&Driver Software LabWindows/CVI LabVIEW虚拟仪器系统构成虚拟仪器系统构成第十一章 通信编程11.1.1 11.1.1 串行通信模板及节点串行通信模板及节点 LabVIEWLabVIEW共有共有8 8个串行通信节点个串行通信节点,分别实现串口设置、分别实现串口设置、串口写、串口读、关闭串口及检测串口缓存、中断等串口写、串口读、关闭串口及检测串口缓存、中断等功能。模板及图标如下:功能。
3、模板及图标如下:第十一章 通信编程11.1.2 11.1.2 串行通信节点的使用方法串行通信节点的使用方法 初始化串口初始化串口(Serial Port(Serial Port Init.VIInit.VI)该节点用于设置串口号、波特率、数据位、该节点用于设置串口号、波特率、数据位、停止位、奇偶校验、缓冲区大小及流量控制等停止位、奇偶校验、缓冲区大小及流量控制等参数。参数。第十一章 通信编程 串口写串口写(Serial Port(Serial Port Write.VIWrite.VI)对串口进行写操作,端口设置为:对串口进行写操作,端口设置为:VISA resource nameVISA r
4、esource name:设置串口号:设置串口号;write buffer write buffer:写入串口缓冲区的字符。:写入串口缓冲区的字符。Return countReturn count:返回写入串口的字符数。:返回写入串口的字符数。第十一章 通信编程 串口读串口读(Serial Port(Serial Port Read.VIRead.VI)对串口进行读操作,端口设置为:对串口进行读操作,端口设置为:VISA resource nameVISA resource name:设置串口号;:设置串口号;byte countbyte count:读取字符数;:读取字符数;Read buf
5、ferRead buffer:从串口读到的字符;:从串口读到的字符;Return countReturn count:返回实际读取字符数。:返回实际读取字符数。第十一章 通信编程 关闭串口关闭串口(Serial Port(Serial Port Close.VIClose.VI)对打开的串口进行关闭操作。对打开的串口进行关闭操作。VISA resource nameVISA resource name:设置串口号;:设置串口号;第十一章 通信编程 串口检测串口检测(Bytes of Serial(Bytes of Serial Port.VIPort.VI)检测当前串口输入缓冲区中的字节数。用
6、在检测当前串口输入缓冲区中的字节数。用在ReadRead节点读串口前。节点读串口前。第十一章 通信编程 串口中断串口中断(Serial Port(Serial Port Break.VIBreak.VI)将串口中断至少将串口中断至少250ms250ms。第十一章 通信编程11.1.3 11.1.3 串行通信应用实例串行通信应用实例 例例13.1 13.1 用用LabVIEWLabVIEW实现双机串行通讯。实现双机串行通讯。本例使用两台计算机进行通讯,一台计算机本例使用两台计算机进行通讯,一台计算机作为服务器,通过串口向外发送数据,另一台作为服务器,通过串口向外发送数据,另一台计算机作为客户机,
7、接收由服务器发送过来的计算机作为客户机,接收由服务器发送过来的数据。数据。两台计算机串口的连线如下图:两台计算机串口的连线如下图:第十一章 通信编程服务器框图程序服务器框图程序第十一章 通信编程服务器前面板服务器前面板第十一章 通信编程客户机框图程序客户机框图程序第十一章 通信编程客户机前面板客户机前面板第十一章 通信编程由一个程序进行串口的读写由一个程序进行串口的读写第十一章 通信编程 前面板。前面板。第十一章 通信编程 下面是一个通用串口通讯程序的界面。下面是一个通用串口通讯程序的界面。第十一章 通信编程11.2 11.2 DataSocketDataSocket通信技术通信技术 Data
8、SocketDataSocket是是NINI公司提供的一种网络测控系公司提供的一种网络测控系统开发工具,以实现不同的应用程序和数据源统开发工具,以实现不同的应用程序和数据源之间的数据共享。之间的数据共享。DataSocketDataSocket用类似于用类似于WebWeb中的统一资源定位中的统一资源定位器器(URL)(URL)定位数据,定位数据,URLURL不同的前缀表示了不同不同的前缀表示了不同的数据类型:的数据类型:FILEFILE本地文件;本地文件;HTTPHTTP超文本传输数据;超文本传输数据;FTPFTP文件传输协议;文件传输协议;OPCOPCOPCOPC资源;资源;DSTPDSTP
9、DataSocketDataSocket服务器传输的数据。服务器传输的数据。第十一章 通信编程 LabVIEWLabVIEW中还提供了以下中还提供了以下3 3个工具:个工具:DataSocketDataSocket ActiveX ActiveX控件:利用控件:利用ActiveXActiveX容容 器开发共享数据应用。器开发共享数据应用。DataSocketDataSocket服务器管理程序:它是一个配服务器管理程序:它是一个配 置和管理工具,具有负责确定置和管理工具,具有负责确定DataSocketDataSocket 服务的最大连接数,设置服务控制等网络服务的最大连接数,设置服务控制等网络
10、 功能。功能。DataSocketDataSocket服务器:利用服务器:利用DSTPDSTP协议在应用程协议在应用程 序间交换数据。序间交换数据。第十一章 通信编程11.2.1 11.2.1 DataSocketDataSocket管理器管理器 在在LabVIEWLabVIEW安装后,会出现安装后,会出现DataSocketDataSocket Sever Sever和和DataSocketDataSocket SevserSevser Manager Manager应用程序。应用程序。第十一章 通信编程 启动启动DataSocketDataSocket SevserSevser Manag
11、er Manager后对话框如后对话框如下:下:第十一章 通信编程11.2.2 11.2.2 DataSocketDataSocket服务器服务器 启动启动DataSocketDataSocket SevserSevser后对话框如下:后对话框如下:第十一章 通信编程11.2.3 11.2.3 DataSocketDataSocket子模板介绍子模板介绍 DataSocketDataSocket子模板调用路径为子模板调用路径为Functions Functions Data CommunicationData CommunicationDataSocketDataSocket 第十一章 通信编
12、程 打开一个连接打开一个连接 URLURL:欲访问的网上用户地址。:欲访问的网上用户地址。modemode:网络中用户连接的模式。:网络中用户连接的模式。第十一章 通信编程 向打开的连接写数据向打开的连接写数据 DataData:表示向:表示向DataSocketDataSocket服务器写入的数据。服务器写入的数据。第十一章 通信编程 向打开的连接读数据向打开的连接读数据 DataData:表示从:表示从DataSocketDataSocket服务器读出的数据。服务器读出的数据。第十一章 通信编程 关闭打开的连接关闭打开的连接 第十一章 通信编程 选择选择DatasocketDatasock
13、et的的URLURL 显示一个对话框供用户选择显示一个对话框供用户选择URLURL。第十一章 通信编程 DataSocketDataSocket的前面板对象链接是一种不需要任的前面板对象链接是一种不需要任何编程的网络数据传输方法。通过何编程的网络数据传输方法。通过DataSocketDataSocket 将两个程序的前面板对象链接起来,一个发送数将两个程序的前面板对象链接起来,一个发送数据,另一个接收数据,就可以实现对程序的远程据,另一个接收数据,就可以实现对程序的远程控制、数据的远程采集等多种功能。控制、数据的远程采集等多种功能。建立前面板对象链接的方法如下:建立前面板对象链接的方法如下:在
14、需链接的前面板对象上单击右键,选择弹在需链接的前面板对象上单击右键,选择弹出菜单中出菜单中Data OperationsData OperationsDataSocketDataSocket ConnectionConnection,如下图:,如下图:11.2.4 11.2.4 使用使用DataSocketDataSocket链接前面板对象链接前面板对象第十一章 通信编程第十一章 通信编程弹出以下对话框:弹出以下对话框:Connect ToConnect To:不论发布数据还是接收数据的:不论发布数据还是接收数据的机器中,都填写发布数据机器的机器中,都填写发布数据机器的URLURL。Conne
15、ctions TypeConnections Type:发布数据选择:发布数据选择PublishPublish;接收数据选择接收数据选择SubscribeSubscribe。第十一章 通信编程 选中选中EnableEnable选项。完成设置后,前面板对象选项。完成设置后,前面板对象右上角出现一个链接指示灯。运行后指示灯亮。右上角出现一个链接指示灯。运行后指示灯亮。注意:在上述程序运行前,必须先从注意:在上述程序运行前,必须先从WindowsWindows程程序菜单中打开序菜单中打开DataSocketDataSocket Sever Sever。第十一章 通信编程发送数据前面板及框图程序:发送
16、数据前面板及框图程序:第十一章 通信编程接收数据前面板及框图程序:接收数据前面板及框图程序:第十一章 通信编程11.2.5 11.2.5 使用使用DataSocketDataSocket传输数据传输数据 向向DataSocketDataSocket写数据写数据 向指定的向指定的URLURL:dstp:/202.197.33.63/dssinedstp:/202.197.33.63/dssine写数据。数据是一个周期的正弦波,其幅值可用写数据。数据是一个周期的正弦波,其幅值可用amplitude amplitude 调节。用调节。用error outerror out作为作为whilewhile
17、循环结循环结束条件,即出错即停止。束条件,即出错即停止。第十一章 通信编程向向DataSocketDataSocket写数据的前面板:写数据的前面板:第十一章 通信编程 从从DataSocketDataSocket读数据读数据 从指定的从指定的URLURL:dstp:/202.197.33.63/dssinedstp:/202.197.33.63/dssine中读数据。其幅值受写中读数据。其幅值受写DataSocketDataSocket中中amplitudeamplitude的的调节。用调节。用error outerror out作为作为whilewhile循环结束条件。另循环结束条件。另外
18、用外用Tick CountTick Count测试循环时间。测试循环时间。第十一章 通信编程从从DataSocketDataSocket读数据的前面板:读数据的前面板:第十一章 通信编程注意:在上述程序运行前,必须先从注意:在上述程序运行前,必须先从WindowsWindows程序菜单中打开程序菜单中打开DataSocketDataSocket SeverSever。第十一章 通信编程11.2.6 11.2.6 基于基于DataSocketDataSocket的的OPCOPC数据传输数据传输 LabVIEWLabVIEW中中DataSocketDataSocket提供了提供了OPCOPC数据传
19、输功能。数据传输功能。OPCOPC(OLE for Process ControlOLE for Process Control)借用)借用Micro Micro softsoft的的OLEOLE和和COM/DCOMCOM/DCOM技术,为异构设备、软件技术,为异构设备、软件的通讯提供了有效的解决方法,是实现控制系统的通讯提供了有效的解决方法,是实现控制系统现场设备级与过程管理级信息交互和控制系统开现场设备级与过程管理级信息交互和控制系统开放性的关键技术。放性的关键技术。第十一章 通信编程 LabVIEWLabVIEW中可通过中可通过DataSocketDataSocket VI VI来支持来
20、支持OPCOPC应用。在应用。在LabVIEWLabVIEW中同一个中同一个OPCOPC服务器建立连接,服务器建立连接,通过调用通过调用Open.VIOpen.VI节点实现。节点实现。OPC URLOPC URL的基本结构为的基本结构为:opcopc:/:/主机名主机名/OPC/OPC服务器名服务器名/数据项目数据项目 下面以下面以SLC500 PLCSLC500 PLC为例,介绍为例,介绍LabVIEWLabVIEW与与PLCPLC基于基于DataSocketDataSocket的数据通信方法。的数据通信方法。第十一章 通信编程第十一章 通信编程第十一章 通信编程第十一章 通信编程 RSLi
21、nxRSLinx与其它软件的通信与其它软件的通信 RSLinxRSLinx通讯软件是用于通讯软件是用于A-BA-B可编程控制器的服可编程控制器的服务器软件务器软件,为为A-BA-B的的PLCPLC处理器与处理器与RockwellRockwell公司及公司及其他公司其他公司(如微软如微软)的许多软件产品提供了通信的许多软件产品提供了通信连接,如下图。连接,如下图。第十一章 通信编程 RSLinxRSLinx OPC OPC 服务器的设置服务器的设置 在使用在使用RSLinxRSLinx OPC OPC服务器时,先要进行配置服务器时,先要进行配置和组态。和组态。Step1 Step1 配置通信设备
22、。配置通信设备。在启动在启动RSLinxRSLinx后,点击后,点击Communications Communications Configure DriversConfigure Drivers,添加一个新设备,添加一个新设备(driverdriver),选择),选择“1784-KT/KTX(D)/PKTX(O)1784-KT/KTX(D)/PKTX(O)/PCMK for DH+/DH-485 devices/PCMK for DH+/DH-485 devices”,并确定新,并确定新添加的设备无错误,设备状态显示添加的设备无错误,设备状态显示“正在运行正在运行”(RunningRunni
23、ng)。)。第十一章 通信编程第十一章 通信编程 Step2 Step2 建立建立OPCOPC主题主题(Topic)(Topic)。在在RSWhoRSWho对话框下,找到相应的对话框下,找到相应的PLCPLC,右击,右击PLCPLC图标,选择图标,选择“Configure New DDE/OPC TopicConfigure New DDE/OPC Topic”,建立一个,建立一个TopicTopic。第十一章 通信编程 Step3 Step3 测试测试OPCOPC服务器。服务器。应用应用OPCToolsOPCTools中的中的OPC Test Client OPC Test Client 可
24、对可对Step2Step2中建立的中建立的MyTopicMyTopic主题进行测试。主题进行测试。第十一章 通信编程 OPCOPC读读PLCPLC数据数据 在设置好在设置好RSLinxRSLinx OPC OPC服务器后,服务器后,LabVIEWLabVIEW通过通过DataSocketDataSocket的的OPCOPC层与层与RSLinxRSLinx OPC OPC服务服务器进行通信。下图是进行读操作的数据流图。器进行通信。下图是进行读操作的数据流图。第十一章 通信编程第十一章 通信编程 从图中可以看出读数据流图由个从图中可以看出读数据流图由个4 4个功能块组个功能块组成:成:a)a)构建
25、读数据项目数组。对要读取的构建读数据项目数组。对要读取的OPCOPC服服务器数据项目的务器数据项目的URLURL,用数组的形式表示。,用数组的形式表示。b)b)建立与读数据项目的连接。建立与读数据项目的连接。c)c)项目数据更新与显示。项目数据更新与显示。d)d)关闭与项目的连接。关闭与项目的连接。第十一章 通信编程 写写PLCPLC数据数据 LabVIEWLabVIEW通过通过RSLinxRSLinx OPC OPC服务器对服务器对SLC500 PLCSLC500 PLC进行写操作的数据流图如下。进行写操作的数据流图如下。第十一章 通信编程 系统前面板如下:系统前面板如下:第十一章 通信编程
26、11.3 TCP11.3 TCP通信通信 TCP/IPTCP/IP协议是协议是InternetInternet最基本的协议,它由最基本的协议,它由低层的低层的IPIP协议和协议和TCPTCP协议组成。协议组成。LabVIEWLabVIEW中,可以采用中,可以采用TCP/IPTCP/IP节点来实现局域节点来实现局域网通讯。网通讯。11.3.1 TCP/IP11.3.1 TCP/IP节点介绍节点介绍 LabVIEWLabVIEW中,中,TCP/IPTCP/IP节点在节点在Functions Data Functions Data CommunicationProtocolsTCPCommunica
27、tionProtocolsTCP子模板中。子模板中。第十一章 通信编程第十一章 通信编程 TCP TCP Listen.VIListen.VI 创建一个听着,并在指定的端口等待客户创建一个听着,并在指定的端口等待客户端的端的TCPTCP连接请求。连接请求。portport:端口号;:端口号;connection IDconnection ID:TCPTCP连接的标识号;连接的标识号;remote addressremote address:显示和:显示和TCPTCP连接的远程计连接的远程计算机的算机的IPIP地址;地址;注意:该节点只能应用于服务器。注意:该节点只能应用于服务器。第十一章 通信
28、编程 TCP TCP Open.VIOpen.VI 用指定的计算机和端口打开以用指定的计算机和端口打开以TCPTCP连接。连接。addressaddress:远端服务器地址;:远端服务器地址;remote portremote port:用户欲创建的:用户欲创建的TCPTCP连接的端连接的端口号;口号;注意:该节点只能应用于客户机服务器。注意:该节点只能应用于客户机服务器。第十一章 通信编程 TCP TCP Read.VIRead.VI 从指定的从指定的TCPTCP连接中读数据。连接中读数据。modemode:读数据模式;:读数据模式;bytes to readbytes to read:从指
29、定的:从指定的TCPTCP端口中读取端口中读取的最多的字节数;的最多的字节数;data outdata out:从:从TCPTCP端口读取的数据;端口读取的数据;第十一章 通信编程 TCP TCP Write.VIWrite.VI 向打开的向打开的TCPTCP端口写入数据。端口写入数据。Data inData in:向:向TCPTCP端口要写的数据;端口要写的数据;第十一章 通信编程 TCP TCP Close.VIClose.VI 关闭指定的关闭指定的TCPTCP端口。端口。TCP Create TCP Create Listener.VIListener.VI 创建一个创建一个TCPTCP
30、连接的听者。连接的听者。第十一章 通信编程 TCP Wait on TCP Wait on Listener.VIListener.VI 在指定的端口上等待在指定的端口上等待TCPTCP连接请求。连接请求。IP to IP to String.VIString.VI及及String to IPString to IP第十一章 通信编程11.3.2 11.3.2 基于基于C/SC/S模式的网络通讯模式的网络通讯 采用采用C/SC/S模式是模式是LabVIEWLabVIEW进行网络通讯的最基本结进行网络通讯的最基本结构。在本例中由服务器产生一组随机波形,通过局构。在本例中由服务器产生一组随机波形,
31、通过局域网送至客户机进行显示。通讯流程如下。域网送至客户机进行显示。通讯流程如下。第十一章 通信编程 服务器程序设计服务器程序设计第十一章 通信编程 客户机程序设计客户机程序设计 前面板如下:前面板如下:第十一章 通信编程 客户机框图程序如下:客户机框图程序如下:框图程序中,打开框图程序中,打开TCPTCP函数按照给定的函数按照给定的IPIP地址地址和端口号建立一个和端口号建立一个TCPTCP连接。连接。与服务器程序对应,客户机框图程序也采用与服务器程序对应,客户机框图程序也采用两个两个TCP ReadTCP Read节点读数据。其中第一个读数据节点读数据。其中第一个读数据长度,第二个读数据值
32、。长度,第二个读数据值。第十一章 通信编程11.3.3 11.3.3 基于基于WebWeb的网络通讯的网络通讯 使用使用LabVIEWLabVIEW的的WebWeb服务器在服务器在WebWeb上发布上发布LabVIEWLabVIEW程序,可以使本地或远程计算机浏览程序,可以使本地或远程计算机浏览LabVIEWLabVIEW程序程序面板,甚至控制面板,甚至控制LabVIEWLabVIEW程序的运行。程序的运行。步骤如下:步骤如下:Web ServerWeb Server的配置的配置 在在WebWeb上发布上发布LabVIEWLabVIEW程序有多种方法,但在使程序有多种方法,但在使用每种方法前必
33、须首先设置和启动用每种方法前必须首先设置和启动WebWeb服务器。服务器。这些设置在这些设置在LabVIEWLabVIEW主菜单下:主菜单下:ToolOptionsToolOptions“Web Web Sever:ConfigurationSever:Configuration”第十一章 通信编程第十一章 通信编程 选中启动选中启动Enable Web SeverEnable Web Sever单选框。单选框。Root Directory:Root Directory:填写填写WebWeb服务器存放服务器存放HTMLHTML文文件的位置。件的位置。Log FileLog File:保存:保存
34、WebWeb连接信息文件的位置。连接信息文件的位置。第十一章 通信编程 Browser Access List:Browser Access List:列出所有允许或不允列出所有允许或不允许访问许访问WebWeb服务器的计算机服务器的计算机IPIP或名称。或名称。Allow AccessAllow Access:允许访问。:允许访问。Web ServerWeb Server:Browser AccessBrowser Access的配置的配置第十一章 通信编程 Visible Visible VIsVIs:列出所有可以通过列出所有可以通过WebWeb服务器服务器的查看的程序名。的查看的程序名。
35、Web ServerWeb Server:Visible Visible VIsVIs的设置的设置第十一章 通信编程 WebWeb程序的发布程序的发布 利用利用LabVIEWLabVIEW内嵌的内嵌的Web Publishing ToolsWeb Publishing Tools就就可以把程序发布到可以把程序发布到WebWeb上,供客户端浏览。上,供客户端浏览。第十一章 通信编程Document TitleDocument Title:出现在网页上的文件标题;:出现在网页上的文件标题;HeaderHeader:出现在图像上方的文字;:出现在图像上方的文字;FooterFooter:出现在图像下
36、方的文字;:出现在图像下方的文字;VI NameVI Name:在:在WebWeb上发布的上发布的VIVI程序;程序;Viewing OptionsViewing Options:客户机上的浏览模式:客户机上的浏览模式 EmbeddedEmbedded:网页中面板图形随程序同步刷:网页中面板图形随程序同步刷 洗。洗。如果安装了如果安装了LabVIEWLabVIEW Enterprise Connectivity Toolset Enterprise Connectivity Toolset,还可在网页上控制程序的运行;,还可在网页上控制程序的运行;SnapshotSnapshot:网页中面板图
37、形是静态的;:网页中面板图形是静态的;MonitorMonitor:监控状态。:监控状态。第十一章 通信编程 客户机上浏览客户机上浏览LabVIEWLabVIEW面板面板第十一章 通信编程 在在WebWeb上浏览程序前面板时上浏览程序前面板时URLURL填写格式为:填写格式为:Http:/202.197.33.63/.snap?WebHttp:/202.197.33.63/.snap?Web发布程序发布程序.vi.vi 这里这里202.197.33.63202.197.33.63为计算机为计算机IPIP地址,地址,WebWeb发发布程序布程序.vi.vi为希望查看的程序名,注意必须填写为希望查
38、看的程序名,注意必须填写.vi.vi。.snap?.snap?表示返回一个静态前面板。表示返回一个静态前面板。如将如将 .snap?.snap?改写为改写为.monitor?.monitor?则返回动态的则返回动态的图像。图像。第十一章 通信编程LabVIEWLabVIEW VIsVIs的前面板的前面板第十一章 通信编程 可以监测远程计算机上一个程序的前面板,可以监测远程计算机上一个程序的前面板,甚至完全控制一个程序的运行。甚至完全控制一个程序的运行。前面板的远程链接的方法如下:点击前面板的远程链接的方法如下:点击OperateConnect to Remote PanelOperateConnect to Remote Panel,弹出以下,弹出以下对话框:对话框:11.3.3 11.3.3 前面板的远程链接前面板的远程链接第十一章 通信编程WebWeb浏览的前面板浏览的前面板