logo资料库

基于FLUENT_MATLAB接口的分布参数系统闭环控制仿真.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
第 20 卷第 11 期 系 统 仿 真 学 报© Vol. 20 No. 11 2008 年 6 月 Journal of System Simulation Jun., 2008 基于 FLUENT/MATLAB 接口的分布参数系统闭环控制仿真 鲍 文,李伟鹏,常军涛,付海洋 (哈尔滨工业大学能源科学与工程学院,哈尔滨 150001) 摘 要:在工程实际中常遇到的流动、传热和燃烧等问题中,大都为分布参数系统。针对该分布参 数模型建模难的问题,结合 CFD 仿真软件 FLUENT 和系统仿真软件 MATLAB 各自的优点,根据 WinSock 网络通信原理,开发了 FLUENT/MATLAB 接口,建立了分布参数模型闭环控制快速原 型的仿真平台,并且通过算例仿真验证了该方法的可行性与实用性。 关键词:FLUENT/MATLAB 接口;WinSock 网络通信;分布参数系统;仿真技术 中图分类号:TP391.9 文献标识码:A 文章编号:1004-731X (2008) 11-2851-04 Closed-loop Control Simulation Technology of Distributed Parameter System Based on FLUENT/MATLAB Interface BAO Wen, LI Wei-peng, CHANG Jun-tao, FU Hai-yang (School of Energy Science and Engineering, Harbin Institute of Technology, Harbin 150001, China) Abstract: The problems of fluxion, heat transfer and combustion which are frequently met in practical project are mostly distribution parameter system. In order to solve the difficulty in building the model of distribution parameter system, combined the advantage of CFD emulation software FLUENT and system simulation software MATLAB, according to WinSock network communication principle, the interface of FLUENT/MATLAB was developed, and a fast prototype simulation platform for the closed-loop control of distribution parameter system was established. And through calculation example, the practicality and the feasibility of this method were verified. Key words: FLUENT/MATLAB interface; WinSock network communication; distributed parameter system; simulation technology 引 言1 在工程实际中常遇到的流动、传热和燃烧等问题中,大 都为分布参数系统,其能量和质量在空间上是连续分布的, 一般用偏微分方程描述其状态变化规律。此类系统动态过程 的建模与仿真多采用简单易行的集总参数方法,但此方法难 以反映系统参数的瞬态分布特性[1-3]。如果建立分布参数动态模 型,存在建模难、计算量大的困难,并且许多模型仅限于零维 或一维描述,往往不能反映符合实际的分布参数特性[4-7]。 目前,随着计算流体力学、计算热力学的发展和高速、 大容量、低价格的计算机的相继出现,利用成熟的 CFD 商 业软件(例如 FLUENT),对于工程中常遇到的非定常分布 参数模型能够很好的模拟,并且其计算精度、可靠性和效率 得到很大提高,在工程中的得到广泛的应用[8、9]。虽然商业 CFD 软件具有建模简单、精度高等特点,但其不能实现对 分布参数模型的闭环反馈控制,存在很大的局限。 本文结合 CFD 计算软件 FLUENT 和系统仿真软件 MATLAB 各自的优点,利用网络通信协议实现了两者的接 口,通过系统参数的实时同步传输,使得在 Simulink 中搭建 的控制模块能够实时的控制 FLUENT 计算模型,建立了研 究分布参数闭环控制的快速原型仿真平台,为研究分布参数 收稿日期:2007-01-11 修回日期:2007-03-10 作者简介:鲍文(1970-),男,山东人泰安人,博士,研究方向为热能 动力系统建模与控制、高超声速推进、智能信息处理等。 系统仿真提供了新的思路。 1 FLUENT/MATLAB 接口的设计思路 实现 FLUENT/MATLAB 接口技术关键在于解决两软件 之间的数据传输,在保证 FLUENT 和 MATLAB 实时同步运 行的前提下,两者的数据能够高效稳定的传输。应用 Internet 网络通信传输数据的方法,在 Windows 仿真平台下,给同 一台计算机上给两软件分配不同的网络端口,设计合理的网 络通信函数嵌入两软件的接口函数中,通过控制网络通信协 议传输数据的方式,就能够实现 FLUENT 与 MATLAB 的数 据传输。 TCP/IP 协议是当今最为广泛应用的网络互联协议,包 括应用层、传输层、互联网络层和网络接口层。传输层提供 了节点间的数据传送服务,这一层负责传送数据,主要包括 传输控制协议(TCP)和用户数据报协议(UDP)。在 TCP/ IP 协议组中,TCP 是一种面向连接的协议,为用户提供可靠 的、全双工的字节流服务,具有确认、流控制、多路复用和 同步功能。UDP 协议则是无连接的,每个分组都携带完整的 目的地址,各分组在系统中独立传送,它不能保证分组的先 后顺序,不进行分组出错的恢复与重传。虽然 UDP 协议不 保证传输的可靠性,但是提供高传输效率的数据报服务 [10,11]。由于 MATLAB/FLUENT 数据交互传输模型简单,并 且为了提高数据传输效率并减小模拟仿真时间,采用 UDP • 2851 •
第 20 卷第 11 期 Vol. 20 No. 11 2008 年 6 月 系 统 仿 真 学 报 Jun., 2008 协议。FLUENT 与 MATLAB 数据传输原理如图 1 所示。 FLUENT FLUENT 被控对象 被控对象 u1 u1 … un un y1 y1 … yn yn UDP UDP 接发数据 接发数据 UDP UDP 接发数据 接发数据 Matlab-Simulink Matlab-Simulink … 控制器 控制器 … 图 1 FLUENT 与 MATLAB 数据传输原理图 FLUENT 软件采用基于完全非结构化网格的有限体积 法,能够很好的模拟流体和传热分布参数模型的定常或非定 常问题,它是用 C 语言开发的,其常规功能不支持外部接口, 但为用户提供了自定义函数(UDF),为 FLUENT 二次开发 提供了条件。应用 UDF 的可以实现定制模型边界条件、定 义材料属性、定义表面和体积反应率、添加输运方程中的源 项、自定义标量输运方程等功能,同时也支持 Windows 库 函数。因此,应用 FLUENT 的 UDF 功能既可以定制和获取 模型的系统参数,又能够编写接收和发送数据的通信函数。 Matlab 中的 Simulink 软件包集动态系统建模、仿真和 综合分析于一身, 可以处理的系统包括:线性、非线性系统; 离散、连续及混合系统;单任务、多任务离散事件系统,广 泛地应用于控制领域。MATLAB 由 C 语言开发的,在 Simulink 中提供了 S-函数功能,用户可以根据需要编写函 数,经过编译生成 MEX 动态链接文件,可以加载到 Simulink 模 块 中。 因此, 通 信函 数可以 通 过 S- 函数 编 译加 载 到 Simulink 模块中。 UDP 通信协议 UDP通信协议 S-Function S-Function 发送数据 发送数据 UDF UDF FLUENT FLUENT 接受数据 接受数据 分布参数模型 分布参数模型 控制器 控制器 S-Function S-Function 接受数据 接受数据 UDF UDF 发送数据 发送数据 UDF UDF 获取模型被控量 获取模型被控量 图 2 FLUENT 与 MATLAB 接口实现示意图 现数据传输的基本单元是套接字,分为基于 TCP 协议的流 式套接字和基于 UDP 协议的数据报套接字。数据报套接字 比流式套接字模型简单,并且由于数据报套接字基于 UDP 协议,传输效率高。 应用程序 1 应用程序1 应用程序2 应用程序 2 网络编程界面,例如 Windows Sockets 网络编程界面,例如Windows Sockets 网络通信服务界面,例如 TCP/IP 网络通信服务界面,例如TCP/IP 操作系统,例如 Windows 操作系统,例如Windows 物理通讯介质 物理通讯介质 图 3 应用程序与 WinSock 关系图 开发 MATLAB/FLUENT 数据通信接口,采用客户端与 服务器(C/S)模式,数据传输采用基于 UDP 协议的数据报 套接字。图 4 为采用数据报套接字服务器与客户端的通讯时 序图,首先客户端和服务器端都要创建一个数据报套接字, 然后通过 bind 函数绑定分配的端口,将套接字与本地地址 相连。客户端和服务器端都可以使用 sendto 函数发送数据, 使用 recvfrom 函数接受数据,完成数据报的传递。发送数据 时,发送方除指定本地套接字号外,还需指定接受方的套接 字号,从而在数据发送过程中建立全相关[12,13]。 服务器端 服务器端 socket()建立数据包套 Socket()建立数据包套 接字,返回套接字号s 接字,返回套接字号 s 客户端 客户端 Socket()建立数据包套 socket()建立数据包套 接字,返回套接字号 接字,返回套接字号 bind()将套接字号 s 与 bind()将套接字号s与 本地地址相连 本地地址相连 bind()将套接字号s与 bind()将套接字号 s 与 本地地址相连 本地地址相连 recvform()/send()在套 recvform()/send()在套 接字号 s 上读写数据 接字号s上读写数据 服务请求/应答 服务请求/应答 recvform()/send()在套 recvform()/send()在套 接字号s上读写数据 接字号 s 上读写数据 图 2 是 FLUENT 与 MATLAB 接口实现示意图,分别在 S-函数和 UDF 中嵌入 UDP 网络通信函数,实现两个软件之 间的数据传输,在保证两软件实时同步运行的前提下,那么 就可以应用 Simulink 强大的系统仿真功能对 FLUENT 模拟的 分布参数模型进行控制,即可实现对仿真模型闭环反馈控制。 2 基于 WinSock 网络编程的 FLUENT/MA TLAB 接口的实现 2.1 WinSock 数据报网络编程 closesocket()关闭套接 closesocket()关闭套接 字s,服务结束 字 s,服务结束 closesocket()关闭套接 closesocket()关闭套接 字 s,结束对话 字s,结束对话 图 4 无连接套接字应用程序时序图 由于默认情况下 recvfrom 函数处于阻塞模式,在接受到 数据前,程序将不会向下执行[14],这样就使得客户端与服务 器端能够实时同步工作,满足了 FLUENT 与 MATLAB 在闭 环反馈过程中实时同步运行。 2.2 FLUENT 客户端的实现 WinSock(Windows Socket 的简称)是从 UNIX 系统的标 准 TCP/IP 编程接口 Socket 演变而来,采用 WinSock 实现应 用程序数据通信的关系图如图 3 所示。WinSock 网络通信实 UDF 分为解释型和编译型,解释型不具备标准 C 编译 器的所有功能,而编译型比解释型运行快,并且支持任何 ANSI-compliant C 编译器,不存在 C 语言上的限制,因此使 • 2852 •
第 20 卷第 11 期 Vol. 20 No. 11 2008 年 6 月 鲍文, 等:基于 FLUENT/MATLAB 接口的分布参数系统闭环控制仿真 Jun., 2008 用编译型 UDF 建立网络通信函数。 编译型 UDF 需要安装 C 编译器(例如 VC++6.0),一 旦编译好的 UDF 库文件在 FLUENT 链接运行后,与共享库 相关的东西会保存到 case 文件中,那么只要读取 case 文件, 编译的库文件会自动链接到 FLUENT 处理过程。编译型 UDF 要在 FLUENT 安装目录下建立编译 UDF 库目录结构, 如图 5 所示,编写好的源码放在 src 文件夹下,把 makefile 和 user_nt.udf 两个文件复制到相应版本的目录下,用文本文 件编译 user_nt.udf 文件,设置 SOURCES 为编译好的用户 自定义函数。在 MS-DOS 命令提示窗口,键入 nmake 建立 目录,即可通过 UDF 面板进行链接。 libudf ntx86 src Udfexample.c 2d 2d_host 2d_node makefile user_nt.udf makefile user_nt.udf makefile user_nt.udf 图 5 编译 UDF 建立库目录示意图(Windows) 程序开始 程序开始 定义变量 定义变量 套结字的创建与绑定 套结字的创建与绑定 创建绑定完成 NO NO 终止程序 终止程序 UDF 宏获取取 UDF宏获取取 FLUENT模型被控量 FLUENT 模型被控量 向服务端发送数 向服务端发送数 据,并等待接收 据,并等待接收 接收数据 接收数据 接收完成 接收完成 通过 UDF 宏赋值到 通过UDF宏赋值到 控制边界 控制边界 MATLAB服务端 MATLAB 服务端 Simulink接收数据 Simulink 接收数据 控制器 控制器 Simulink 发送数据 Simulink发送数据 NO NO 终止程序 终止程序 FLUENT 迭代计算 FLUENT迭代计算 求解连续、动量和 求解连续、动量和 能量控制方程 能量控制方程 NO NO 循环次数 循环次数 释放套结字 释放套结字 迭代结束 迭代结束 图 6 UDF 通信程序流程图 充本地地址,然后绑定套接字,验证是否与服务器端建立关 联,从而判断程序是否向下进行。 (2) 在创建和绑定套接字无误后,通过 UDF 特定的宏 命令提取 FLUENT 模型的控制参数变量,利用宏命令可 以获取位置坐标、温度、压力、速度等参数及其不同方向 的梯度,在本文的实例中用到,thread_loop_f( )、begin_c _loop( )和 C_T( )三个宏函数,其中 thread_loop_f( )、 begin_c_loop( )作用是循环单元面和控制体,用 C_T( )获 取单元面的温度. (3) 将获取的变量数据发送到指定的服务器端口,发送 数据后,通信函数处于阻塞状态,FLUENT 迭代计算不会向 下运行,直到接受到 MATLAB 发送的数据。 (4) 发送到 Simulink 接收端的数据,与目标值比较,经 控制器调节,输出量由 Simulink 发送端向 FLUENT 接收端 口发送,并判定是否接收到数据。 (5) 在确认接受无误后,通过 UDF 宏赋值到模型边界或 其它模型属性,例如反应速率、材料特性等。本文实例中用 到 F_PROFILE( )宏函数把接收到的数据赋值为进口边界的 温度。 (6) 判断是否达到迭代次数,如果迭代完成则跳出循环, 并释放套接字;否则进入 FLUENT 流场求解计算,然后再 调用 UDF 通信函数。 2.3 MATLAB-Simulink 服务端的实现 Simulink 为用户提供了 S-函数模块,可以根据不同的 需要编写外部接口程序。图 7 为 S-函数的运行流程图, 依照 S-函数的编写格式,把套接字的初始化和绑定程序 编写在 S-函数的初始化函数里,数据的接受和发送程序 写在 mdlOutputs 函数中,最后释放套接字。分别编写接 收和发送 S-函数,通过循环运行不断的与客户端传输数据。 初始化 {初始化 仿真开始 仿真开始 mdlInitialize Sizes mdlInitialize Sizes mdlInitialize Sample Times mdlInitialize Sample Times mdlOutputs mdlOutputs mdlTerminate mdlTerminate 图 7 S-函数的运行步骤 UDF 函数的编写具有规定的格式,程序前要包含 udf.h 头文件,通过 UDF 规定的宏命令读写模型参数。WinSock 通信函数嵌入在 UDF 中,需包含 stdafx.h、winsock.h、 windows.h、stdio.h、stdlib.h 几个头文件,UDF 通信程序流 程如图 6 所示,基本步骤为: (1) 首先要定义变量,创建套接字并根据指定的端口填 在加载 Simulink 网络通信函数前首先运行 mex -setup 或 mbuild -setup 命令来对编译环境进行设置,确定编译器为 VC+ +6.0,然后对编写好的 cpp 文件进行编译,生成动态链 接库文件,即可加载到 Simulink 模块中调用。仿真采用定步 长,设置 Simulink 与 FLUENT 相同的时间步长和迭代次数, 仿真开始首先启动 MATLAB 服务端。 • 2853 •
第 20 卷第 11 期 Vol. 20 No. 11 2008 年 6 月 系 统 仿 真 学 报 Jun., 2008 3 算例 为验证 FLUENT/MATLAB 通讯的可靠性,构建了混合 器模型,如图 8 所示。混合器两进口初始温度分别为 350K 和 290K,速度均为 10m/s,出口初始平均温度为 320.3K。 现在的问题是,在其他边界调节不变的情况下,如何构建闭 环仿真,进而设计合理的控制器调节进口 1 的温度使得出口 的平均温度快速的达到在目标温度 325K。 随时间的变化规律,如图 11 所示。图 12 为不同时刻温度场 的分布图,可以看出整个温度场的变化趋势,另外利用 FLUENT 可以做成视频动画文件,能够更详细的观测模型各 参数的变化规律。 进口1 进口 1 T=350K T=350K V=10m/s V=10m/s 进口2 进口 2 T=290K T=290K V=10m/s V=10m/s P1 P2 P3 P4 40cm 6cm 4cm 出口 出口 m m c c 0 0 4 4 m m c c 6 6 图 8 混合器 Fluent 网格图(P1-P4 为温度测点) 应用 MATLAB/FLUENT 接口技术,选用简单的 PI 控制 器,在 Simulink 中搭建控制器和数据速度接发模块,如图 9 所示。 325 Constant Gain 25 Gain1 Integrator S-Function1 send Scope S-Function2 receive 图 9 Simulink 仿真控制模块 Scope1 尝试调节 PI 参数,观测出口平均水温的变化规律,获 得较好的系统动态特性。图 10 给出了四种不同 PI 参数被控 量的变化规律,当 Kp=1 和 Ki=25 时,超调小,具有较好的 动态特性,出口水温在 0.6s 后达到预定温度。 图 10 出口平均温度变化曲线 图 11 不同测点温度变化曲线 t=0s t=0.1s t=0.2s t=0.3s t=0.4s t=0.5s 图 12 不同时刻温度场分布图 本例中不仅可以控制出口的平均温度,通过编写合理的 UDF 程序,还可以选取模型中任意位置的温度、压力等参 数作为被控量,通过网络通信与 Simulink 传输数据,同样调 节量可以是某边界的温度、压力或速度等,也可以设置多参 数调节。由此可知,FLUENT/MATLAB 技术适用于更复杂 的分布参数系统,可以推广到更广泛的应用领域。 4 结论 本文针对该分布参数模型建模难的问题,结合 CFD 仿 真软件 FLUENT 和系统仿真软件 MATLAB 各自的优点,根 据网络通信原理,开发了 FLUENT/MATLAB 接口,有效合 理的结合了两软件的优点,建立了分布参数模型闭环控制快 速原型的仿真平台,为研究分布参数模型闭环控制仿真提供 同时,当 Kp=1 和 Ki=25 时,在混合器模型的中线上选 取四个温度测点,在 FLUENT 中设置观测器记录测点温度 了研究平台,算例仿真验证了该方法的可行性与实用性,可 以推广到更广泛的应用领域。 • 2854 • (下转第 2858 页)
第 20 卷第 11 期 Vol. 20 No. 11 2008 年 6 月 系 统 仿 真 学 报 Jun., 2008 Simulink 设计某一实验对象模型,充当辨识对象,仿真真实 的实验对象即可。而这里的关键是构造仿真对象的数学模 型。一旦模型确定,仿真的实验对象就有了。由于不需要真 实设备,整个实验不需要购买设备,因此可大大节省设备投 入资金。这也是虚拟辨识实验的一大优势。 引擎文件包括辨识对象的模型文件和辨识函数文件。辨 识函数文件将由 VLabServer 调用,来控制仿真的过程。在 此我们以文献[7]中提到的水槽对象为仿真辨识对象。此辨 识对象由三个液位对象即三个透明有机玻璃液位槽组成。它 们可单独工作,也可以串联工作。一个水槽可以看成一阶惯 性系统,三个水槽的串联可以看成三个一阶惯性环节串联而 成。模型如图 7。 所设计的子实验名称。在辨识实验中,它共有 AUTOCHECKING、 SAMPLEDATA 、 IDENTIFICATION 、 模 型 阶 次 、 DATAPREPROCESS、MODELCOMPARE 六个子实验名。 para1、para2、…、para7 为参数列表。由于每个子实验调用 labtank 函数时所用的参数个数不一样,因此其数量取决于参数 最多的子实验。 4 结论 本文介绍了系统辨识虚拟实验平台的软硬件结构、系统 辨识客户端程序设计,VLabServer 虚拟实验服务器程序设 计和科学计算引擎文件设计等。由于采用 B/S 结构,用户能 随时随地(Any Time and Any Where) 通过因特网访问系统。 系统集客户端程序、WEB 服务器、虚拟实验服务器和 Matlab/Simulink 为一体,构建了一个切实可行的辨识虚拟实 验平台。平台具有较强的扩展能力,增加实验对象的模型文 件,就可增加辨识实验数量。三阶水槽对象的辨识虚拟实验 的实现,验证了平台设计的可行性。 参考文献: [1] C C Ko, B M Chen, S H Chen, V Ramakrishnan, R Chen, S Y Hu, Y Zhuang. A large scale web-based virtual oscilloscope laboratory experiment [J]. IEEE Engineering Science and Education Journal (S0963-7346), 2000, 9(2): 69-76. C C Ko, B M Chen, J Chen, Y Zhuang, K C Tan. Development of a web-based laboratory for control experiments on a coupled tank apparatus [J]. IEEE Transactions on Education (S0018-9359), 2001, 44(1): 87-104. [3] 李仁发, 李方敏. 虚拟实验室网络体系结构研究[J]. 系统仿真学 报, 2002, 14(3): 359-362, 393. [4] 刘萍先, 俞立, 杨马英, 郑笑建. 控制系统网络虚拟实验室方案 设计[J]. 计算机仿真, 2004, 21(2): 151-154. [5] 郑笑键, 杨马英, 刘萍先. 控制系统网络虚拟实验室[J]. 计算机 工程与应用, 2004, 40(10): 146-149. [6] 方崇智, 萧德云. 过程辨识[M]. 北京: 清华大学出版社, 2002. [7] 谢启. 预测函数控制技术及其应用研究[D]. 浙江工业大学硕士学 位论文, 2002. 图 7 M 序列信号输入三阶水槽模型 [2] 为了适应对象辨识过程的反复性及辨识算法的多样性, 辨识函数文件分为主函数文件和算法函数文件。主函数文件 只有一个,算法函数文件有多个。VLabServer 虚拟实验服 务器中设置多个子实验。实验时每个子实验调用其对应的算 法函数文件。并且,每个实验所需要的参数,由主函数文件 统一传递。主函数的定义如下式: function[A,B,C,D,E,F,G]=labtank(subLabName, para1, para2, para3, para4, para5, para6, para7 ) 其中:labtank 为主函数名,这个函数名将在虚拟实验服务 器配置中使用。SubLabName 为子实验名,这个名字对应客户 (上接第 2854 页) 参考文献: [1] 陈红,何祖威. 一维流体相变过程的统一分布参数模型及数值仿 Boiler [J]. Proceedings of the CSEE, 1991, 11(1): 63-72. (in Chinese).) [7] Niu Z S, Wong K V. Adaptive simulink of boiler unit performance [J]. Energy Conversation Management, 1998, 39(13): 1383-1394. [8] 赵兴艳,苏莫明. CFD 方法在流体机械设计中的应用[J]. 流体机 真方法[J]. 系统仿真学报,2005, 17(3): 571-573. 械,2000, 28(3): 22-25. [2] 于达仁, 崔涛, 鲍文. 高超声速发动机分布参数控制问题[J]. 航 空动力学报,2004, 19(2): 259-264. [3] 宣宇清,胡益雄. 基于分布参数的房间空调蒸发器的数学模型及 其仿真研究[J]. 制冷与空调, 2004, 3(4): 32-35. [4] 初云涛,周怀春. 蒸发系统分布参数特性动态仿真研究[J]. 中国 电机工程学报,2006, 26(11): 17-22. [5] 董芄, 洪梅, 秦裕琨. 大型煤粉锅炉炉膛传热工程化三维数值计 算方法及其应用[J]. 动力工程,2000, 20(2): 606-610. [6] 朱金荣,章臣樾. 直流锅炉炉内传热及蒸发工况的实时数学模型 [J]. 中国电机工程学报, 1991, 11(1): 63-72. (Zhu Jingrong, Zhang Chenyue. A Real-Time Mathematical Model for the Heat Transfer in The Furnace and The Evaporating Condition of An Once-Through [9] Kai Zhang, Jiyu Zhang, Biiang Zhang. CFD Model of Dense Gas2solid Systems in Jetting fluidized Beds. [J]. Chemical Research in Chinese Universities, 2002, 18(2): 117-120. [10] 黄焕,黄赞. 一种基于 TCP 协议的点对点通信方法[J]. 计算机与 现代化, 2005, 9: 62-64. [11] 胡延平,陈志刚,王志春,王建新. 基于 UDP 协议的语音聊天系 统的设计与实现[J]. 计算机工程与设计, 2002, 23(12): 58-60. [12] 庞文尧. 基于 C/S 模式的远程控制系统研究开发 [D]. 浙江大学, 2003, 38-40. [13] 冯长江, 古兆兵, 赵月飞, 赵盼. 基于 WinSock 的远程控制技术 的研究[J]. 仪表技术,2006, 1: 44-47. [14] 殷肖川,刘志宏,姬伟锋,万映辉. 网络编程与开发技术[M]. 西 安:西安交通大学出版社. 2003. • 2858 •
分享到:
收藏