Microsoft Word - 22.doc

Similar documents
第 05 期 董房等 : 一种卫星遥测在线状态监测及分析系统的设计 WEB 1 2 总体功能及组成 2.1 总体功能 1 2 3Web 2.2 结构组成 Web WEB WEB 2.3 系统各模块接口关系

文档 1

Chapter #

VoIP Make a Rtp Call VoIP Abstract... 2 VoIP RTP...3 Socket IP...9 Config Two Voice-hub

考生编号 政治 政治分 外语 外语分 科目 1 科目 1 分 科目 2 科目 2 分 总分 专业代码 专业名称 专业排名 考试方式 报名号 思想政治理论 47 英语一 33 数学一 59 电子与通信基础 电子与通信工程 57 全国统考 11

第 03 期 刘高军等 : 基于 CNONIX 的 XML 与 EXCEL 相互转换技术研究 XML XML CNONIX XML EXCEL EXCEL EXCEL EXCEL CNONIXEXCEL XML EXCEL CNONIX XML EXCEL CNONIX 1 CNONIX 数据元分析

PowerPoint Presentation

7 北京大学学报 医学版 # +94* 4 ' % 论著!! "# $ #% %"&!%'!! $ "( )& * $ +,-.)/ ) 01 " * ). " 2")3 )01 ( /" 433% /1 " 0 "51 " -.)/$ 6',)") 4.))%) 0

F4

第 卷 第 期 年 月 半 导 体 学 报! " # $%&'%' $!&' #% #$1 /#1 $'! / ?/ ?/ / 3 0,?/ ) * +!!! '!,!! -. & ' $! '! 4% %&1)/1(7%&)03 (% )

/ / (FC 3)...

CHINA SCIENCE AND TECHNOLOGY DEVELOPMENT REPORT

标题

SVM OA 1 SVM MLP Tab 1 1 Drug feature data quantization table

Microsoft Word - 46.doc

计算机网络实验说明

第二部分

第 期 曹 源 等 形式化方法在列车运行控制系统中的应用

考试时间课程名称级人数考试地点 机械工程 17 级卓越 1 30 D-386 机械工程 17 级卓越 2 30 D-386 自动化 17 级 1 30 D-3108 自动化 17 级 2 30 D-3108 电子信息工程 17 级 1 32 C-170 电子信息工程 17 级 2 32 C-242

ebook

计算机网络编程


北 京 大 学

一个开放源码的嵌入式仿真环境 ― SkyEye

ebook67-1

XXX专业本科人才培养方案

11.1 C/S 编程模型 2017 年 5 月 3 日 20: 每个网络应用都是基于 C/S 编程模型的 采用这个模型, 一个应用是由一个服务器进程和一个或多个客户端进程组成 服务器管理某种资源, 并且通过操作这种资源来为它的客户端提供某种服务 C/S 模型中的基本操作是事务 (

Microsoft PowerPoint - µÚ5.7½Ú VxWorksÍøÂç±à³Ì[³Ìʤ].ppt

,, 2,,,,,,,,, S7-400 PLC, F M mm ;, AGC 6 mm ;,, 3 AGC AFC ( ) ( ), I/O ET 200M, PROFIBUS-DP S7 400 PLC 1 S7-400 PLC ( HMI) ET200M, PROFIBUS

环境指标

, [3 ] Petri, 25 7, 500, [4,5 ], 3, (2), 2003, [ 6 ],,, ,, [7 ], 569, 26, ( ) : 2 ; 3 ; 4, ; 5, : (a) ( ) :,,

93年各縣國中教師甄試最新考情.doc

Microsoft Word - 32

Socket Socket TcpClient Socket.Connect TcpClient.Connect Socket.Send / Receive NetworkStream 6-5

Chap6.ppt

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式 软 件 工 程 专 业 课 程 类 型...7


Mechanical Science and Technology for Aerospace Engineering October Vol No. 10 Web SaaS B /S Web2. 0 Web2. 0 TP315 A

CHINA SCIENCE AND TECHNOLOGY DEVELOPMENT REPORT ()

医院信息系统门诊划价子系统

第 1 期 常 壮 等 : 基 于 RS-485 总 线 的 舰 船 损 管 训 练 平 台 控 系 统 研 究 87 能 : 1) 损 管 基 本 理 论 的 学 习 帮 助 舰 员 熟 悉 舰 艇 舱 室 相 关 规 章 制 度 损 管 施 分 布 和 使 用 不 沉 性 文 件 等 ) 损 管

Chap06

31

Computer Networks and Internets

10 中 草 药 Chinese Traditional and Herbal Drugs 第 43 卷 第 1 期 2012 年 1 月 生 药 打 粉 入 药 的 基 本 特 点, 借 鉴 材 料 学 粉 体 学 等 学 科 的 研 究 成 果, 在 中 药 传 统 制 药 理 念 的 启 发

Microsoft Word - 专论综述1.doc

<4D F736F F D20CDC1B5D8B5C4B1A3D5CFB9A6C4DCD3EBD6D0B9FAC5A9B4E5D1F8C0CFB1A3D5CFCCE5CFB5B5C4BDA8C9E820D6D3CBAED3B32E646F63>

陶艳.doc

什么是 Servlet 技术 Servlet 与 JSP 的联系与区别 实例介绍了解 Servlet 技术的特点和应用领域, 以及与 JSP 的联系与区别 4.EJB 技术 EJB 技术基础 EJB 基本环境的建立 实例介绍了解 EJB 技术的特点和应用领域, 熟悉 EJB 应用的部署和维护 5.S

第 期 寇海洲等 利用 实现被动方式实时提醒系统设计 应答信号 返回 等待另一客户的数据驱动 关闭服务器 客户端 打开一通信通道 并创建套接字 向服务器发送服务报文 等待并接收应答 结束后关闭通信通道并终止 在 中建立两个控制台应用程序 一个服务器 一个客户端 为了使程序支持 在程序的头文件中要包括

AL-M200 Series

第 十 一 期 2015 年 2 月 关 于 车 辆 购 置 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳 转 至 全 文 ) 国 家 税 务 总 局 公 告 2015 年 第 4 号 关 于 电 池 涂 料 消 费 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳

untitled

桂医大研〔2015〕10号

2011第1期第二部分

FortiADC SLB Virtual Server L7 方式部署介绍 版本 1.0 时间支持的版本作者状态反馈 2015 年 10 月 FortiADC v4.3.x 刘康明已审核

第 30 卷 苏 州 教 育 学 院 学 报 文 化 休 闲 旅 游 资 源 为 主 要 特 色 新 城 区 休 闲 地 主 要 包 括 工 业 园 区 高 新 区 吴 中 区 相 城 区 四 区 和 吴 江 区 的 一 部 分, 大 致 以 苏 州 绕 城 高 速 公 路 为 界 本 区 以 湖

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

:,,, :,, ; (, : ) :, ;,,,, ;, ; ;,,, -,,. %, %,,. %, ;. % ;. % (, : ),,, :,,,, (, : ),,,, -,, (, : ), -,,,,,,,,, - (, : ),,,,,,,

% % CHINA SCIENCE AND TECHNOLOGY DEVELOPMENT REPORT % % % % 28.6%

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

Microsoft Word - 专论综述1.doc


目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

80 1. 芬兰教育发展联盟

<4D F736F F D D DBACEC0F25FD0A3B6D4B8E55F2DB6FED0A32D2D2DC8A5B5F4CDBCD6D0B5C4BBD8B3B5B7FBBAC52E646F63>

2013 年 科普工作全面扎实推进 科普能力建设稳步增强 科 普队伍继续壮大 科普经费投入增长显著 科普基础设施日益完善 全国科技活动周 等一系列重大科普活动得到公众广泛参与 针对 农村 青少年等特定地区 特定人群的科普活动在保持原有特色的 基础上不断创新 新媒体科普迅速发展 官方的科技资源网络共享

标题

壹:教育文化公益慈善機關或團體免納所得稅適用標準

经历文艺复兴与启蒙运动洗礼的欧洲 是现代博物馆与考古学的发祥地 二者自从降世 Royal Commission for the 就亲如孪生 血缘密切 1807 年 保护与收藏丹麦古物皇家委员会 Preservation of Antiquities 成立 尼厄鲁普 Rasmus Nyerup 又译作

L1-01.FIT)

考生编号政治政治分外语外语分科目 1 科目 1 分科目 2 科目 2 分总分专业代码专业名称专业排名考试方式报名号 思想政治理论 62 英语一 78 数学一 108 普通物理 ( 包括力学 电磁学 光学 ) 物理电子学 1 全国统考 11

计 算 机 网 络 基 础 任 务 教 程 () 组 成 计 算 机 网 络 的 每 台 计 算 机 都 是 独 立 的 即 计 算 机 之 间 没 有 明 显 的 主 从 关 系, 每 台 计 算 机 可 以 连 网 工 作, 也 可 以 不 连 网 工 作 (2) 建 立 计 算 机 网 络 的

~ ~

2013_6_3.indd

天津商学院(二).DOC

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

第 猿 猿 卷 第 愿 期 20 员 猿 年 愿 月 张 媛 媛 等 院 肥 胖 与 雌 激 素 的 相 互 关 系 及 其 对 子 宫 的 作 用 研 究 原 员 远 员 原 素 等 多 种 原 因 有 关 袁 对 于 女 性 而 言 绝 经 后 雌 激 素 水 平 下 降 是 更 年 期 肥 胖

计算机网络实验

128 中 南 大 学 学 报 ( 社 会 科 学 版 ) 2012 年 第 18 卷 第 5 期 毫 无 价 值, 而 且 还 会 遗 患 无 穷 随 着 社 会 生 活 节 奏 的 加 快 和 生 活 方 式 的 改 变, 食 品 供 应 将 日 益 社 会 化, 更 多 的 人 依 赖 食 品

3 : : 63,,,,,,,, 1903,,, 1904, (, ), [5 ],,,,,, [ 4 ] ( P ),,,,,,,,, [ 4 ] ( P ),,,,,, 1904,,,,,,,,,,, 1900,, : ( ) ; ( ) ; ( ) ; ( ), ; (

IT Data-intensive application,iscsi Middl

Microsoft Word 年第三期09

复 变 函 数 与 积 分 变 换 常 微 分 方 程 数 值 分 析 数 值 分 析 课 程 实 习 微 分 方 程 数 值

indd

第16卷 第2期 邯郸学院学报 年6月

计算机网络

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

~ ~ ~ ~ ~ ~ ~ % % ~ 20% 50% ~ 60%

Simulator By SunLingxi 2003

Microsoft Word - A doc

标题

9 Internet 10 Internet

國立屏東教育大學化學生物系

<4D F736F F D20C540A468BAC2BFEFB3F8A657B6B7AABE2E646F63>

31 17 www. watergasheat. com km 2 17 km 15 km hm % mm Fig. 1 Technical route of p

(Methods) Client Server Microsoft Winsock Control VB 1 VB Microsoft Winsock Control 6.0 Microsoft Winsock Control 6.0 1(a). 2

关于建立境内违法互联网站黑名单管理制度的通知

<4D F736F F D20D0C5CFA2BBAFB7A2D5B9D6D8B5E3D7A8CFEEB9E6BBAE2E646F63>

? 這 全 都 是 市 政 府 提 供 給 我 的 資 料 低 底 盤 公 車 計 畫 96 年 預 算 新 台 幣 4,500 萬 元 97 年 預 算 新 台 幣 1 億 6,500 萬 元 98 年 預 算 新 台 幣 3 億 2,300 萬 元, 共 有 307 台 低 底 盤 公 車,99

Transcription:

利用 TCP/IP 实现 Windows 与 Vxworks 的通信 李峰应宏重庆三峡学院数学与计算机科学学院重庆 404000 张军中国空气动力研究与发展中心四川绵阳 621000 摘要 : 结合 TCP/IP 在某测控系统的实际应用, 讨论了在嵌入式实时操作系统 VxWorks 和 Windows 间实现网络通信的关键技术, 并给出了基本原理和开发步骤 关键词 :VxWorks; Windows; 实时操作系统 ; TCP/IP; C/S 中图分类号 :TP311.11 文献标识码 :A 基金资助 : 重庆市自然科学基金 CSTC,2005BB2001 Implementation of TCP/IP Communication Program in Windows and VxWorks Lifeng Yinghong Mathematics and Computer Science College of Chongqing Three Gorges University Zhangjun China Aerodynamics Research and Development Center [Abstract] Combining with the application of a measure and control system, the key techniques of the network communication between embedded real-time operating system VxWorks and Windows are discussed. Communication mechanism and developing process are provided. [Key words] VxWorks;Windows; RTOS;TCP/IP; C/S 1 前言 由于 TCP/IP 协议在开放性 稳定性和可靠性方面均有很大的优势, 采用 TCP/IP 协议很容易实现测控网络的体系结构 随着计算机和网络技术的发展, 采用客户 / 服务器网络模式在网络中进行数据传输成为测控领域的典型模式 而 TCP/IP 的套接字技术是实现这种客户机 / 服务器网络模式的基础, 有了这个强有力的工具, 可以实现异种机 异种操作系统应用程序间的相互连接和通信 2 开发环境 2.1 开发环境在某工业控制系统中, 采用工业控制机做上位机, 下位机是一台采用 VXI 总线的嵌入式设备 根据该控制系统的功能与性能要求, 下位机采用实时性能很高的 VxWorks 实时操作系统, 上位机采用用户比较熟悉的 Windows 操作系统 为提高开发效率, 采用 LabWindows/CVI 做为上位机的软件开发工具, 下位机则采用 VxWorks 专有的 Tornado 集成开发环境 在嵌入式实时操作系统 VxWorks 中使用 TCP 通信, 使传输速度和实时性能二者得到了很好的结合, 是 VxWorks 在实时控制系统中进行网络网络通信的最佳选择 2.2 LabWindows/CVI 程序开发环境

LabWindows/CVI 是一个用 C 语言构建仪器系统的交互式软件开发环境, 是一种开放的开发环境, 它以模块化方式对 C 语言进行编辑 编译 连接和调试 它把 C 语言的有力与柔性同虚拟仪器的软件工具库结合起来, 并提供了很多厂家生产的多达三百多种仪器的驱动程序 其重要特征就是在 Windows 平台上简化了图形用户接口的设计, 并使用户能很容易地生成各种应用程序 LabWindows/CVI 的 TCP 库函数提供了与平台无关的 面向连接的 字节流网络通信协议编程接口 为了方便用户进行网络编程,LabWindows/CVI 中封装了 TCP 类库, 可以开发基于 TCP/IP 的网络应用, 提高了开发网络应用程序的能力 2.3 VxWorks 中 Tornado 集成开发环境 VxWorks 是一个具有微内核 可裁剪的高性能强实时操作系统, 在实时操作系统市场上处于领先地位 VxWorks 是由 wrs(wind River Systems,Inc.) 公司开发的一套具有微内核 高性能 可伸缩的实时操作系统, 支持广泛的网络通信协议,wRS 公司还提供了优秀的实时操作系统开发工具 Tornado Tornado 能够支持 Windows Unix 等流行的工作平台和 PowerPC X86 ARM 等几乎所有的目标处理器, 所提供的工具可用于所有目标机 除了基本的功能和开发工具外,Tornado 还具有先进的系列网络产品, 极大地扩展了 Tornado 的网络特性, 并增强了嵌人式微处理器的网络特性 3 TCP 通信基本原理 TCP 协议即数据传输协议, 它允许创建和维护与远程计算机的连接, 使其彼此可以进行数据传输 VxWorks 支持 TCP 协议, 它提供了标准的 BSD socket 调用 socket 编程均采用用客户机 / 服务器模式, 一个完整的 socket 网络应用可以用图 1 来描述 Socket() bind() listen() accept() 阻塞监听客户连接 read() 建立连接 数据 ( 请求 ) Socket() connect() write() write() 数据 ( 回答 ) read() close() close() 服务器客户端图 1 TCP 客户 - 服务器模式的 socket 工作流程服务器首先调用 socket () 建立一个套接字 socket, 然后调用 bind() 将套接字与一个本地网络地址 (IP 地址和端口号 ) 捆绑在一起, 以保证客户端正确识别 接着服务器再调用 listen() 使套接字处于被动的准备接收状态, 同时规定它的请求队列长度 ; 随后调用 accept() 来接收客户连接, 服务器进程随即进人阻塞状态

客户与服务器的关系是不对称的 服务器先启动, 然后在某时刻客户主动发出请求, 服务器被动应答 客户端程序首先调用 socket(), 这个函数产生用于与各分系统连接的套接口, 并为每个套接口返回一个 ID 号, 然后初始化一个套接口结构体, 为其赋上该 ID 号以及服务端的 I P 地址和端口号, 并将其作为函数 connect() 的参数, 调用 connect() 函数主动去连接服务端 当服务端与客户端建立连接之后, 就可以发送 (write) 和接收 (read) 数据 4 程序设计使用 TCP 进行网络通信时每个连接包括一个服务器和客户 通常情况下, 为了使用方便, 把下位机 (VxWorks 端 ) 做为服务器, 把上位机 (Windows 端 ) 做为客户机 4.1 服务器通信程序的开发 Tornado 集成了用于 VxWorks 应用程序开发和调试的各种工具 开发者在主机系统里, 利用这个集成环境组织 编写 编译和调试应用程序, 然后下载到目标机上运行 调试 编译在主机上完成, 测试 调试需要主机目标机协调完成 在实时操作系统 VxWorks 的 Tornado 集成开发环境中用 C 语言来开发服务器通信程序的过程如下 (1) 创建套接字 创建 socket 是利用函数 socket (AF_INET,SOCK_STREAM,0), 其中 AF_INET 指定通信域为 TCP/IP 协议族,SOCK_STREAM 是全双工的字节流 socket 调用成功返回一个套接字描述符, 接着用函数 bzero((char*) &serveraddr,sa_len) 对服务器地址等数据结构初始化并对字节顺序进行初始化 (2) 绑定 函数 bind(lsnfd,(struct sockaddr *)&serveraddr,sa_len) 将套接口和端口号绑定在一起 (3) 监听 函数 listen(lsnfd,max_connection) 将在 lsnfd 套接字指定的端口上开始监听, 等待客户机的连接请求 (4) 建立连接 函数 accept(lsnfd,(struct sockaddr *) &clientaddr,&sockaddrsize)) 接收客户机的连接请求并为此建交一个连接 函数 accept 返回一个新的套接字描述符 confd 来供连接使用, 服务器则可在以前的 socket 上继续监听 (5) 发送和接收数据 函数 fioread(confd,replybuf,rlen) 用于从套接字缓冲区 replybuf 读取 Rlen 所指定字节长度的数据 函数 write (confd,replybuf,wlen) 用于向套接字缓冲区 replybuf 写 Wlen 所指定字节长度的数据 (6) 关闭连接 用函数 close(confd) 来关闭一个套接字描述符 4.2 客户机通信程序的开发 LabWindows/CVI 中封装了 TCP 类库, 可以很方便地开发基于 TCP/IP 的网络应用程序, 其开发客户机通信程序的过程如下 (1) 建立一个 TCP 连接 利用函数 ConnectToTCPServer ( ) 可以与该函数指定的远端服务器的指定端口建立一个 TCP 连接, 并指定一个 TCP 客户回调函数 客户回调函数响应连接中断事件和服务器向客户发送数据准备好事件 (2) 接收和发送数据 接收数据的程序段一般在建立连接时指定的 TCP 客户回调函数中, 接收数据函数 ClientTCPRead 用于从服务器应用程序读取数据 该函数等待直到指定的端口获取了数据或指定的时间到 发送数据用函数 ClientTCPWrite, 它将指定数据缓冲区中指定大小的数据发送出去 该

函数据等待直到数据有效或指定的时间到 (3) 终止一个 TCP 连接 DisconnectFromTCPServer 函数用来终止与服务器应用程序指定的连接, 其他连接不受影响 5 程序设计扩展上面介绍的是把下位机 (VxWorks 端 ) 做为服务器, 把上位机 (Windows 端 ) 做为客户机 反之, 把上位机 (Windows 端 ) 做为服务器, 把下位机 (VxWorks 端 ) 做为客户机也可, 基本过程类似 5.1 服务器通信程序的开发 LabWindows/CVI 开发服务器通信程序的过程如下 (1) 注册服务器 函数 RegisterTCPServer 把程序注册为 TCP 服务器并允许客户程序连接 当有客户端请求来时就与之建立一个 TCP 连接 (2) 接收和发送数据 接收数据的程序段一般在建立连接时指定的 TCP 服务器回调函数中, 接收数据函数 ServerTCPRead 用于从客户应用程序读取数据 该函数等待直到指定的端口获取了数据或指定的时间到 发送数据用函数 ServerTCPWrite, 它将指定数据缓冲区中指定大小的数据发送出去 该函数据等待直到数据有效或指定的时间到 (3) 终止一个 TCP 连接 DisconnectTCPClient 函数用来终止与服务器应用程序指定的连接, 其他连接不受影响 在实时操作系统 VxWorks 中开发服务器通信程序的过程如下 5.2 客户机通信程序的开发在实时操作系统 VxWorks 中开发客户机通信程序的过程如下 (1) 创建 socket 创建 socket 是利用函数 socket (AF_INET,SOCK_STREAM,0), 然后对服务器地址等数据结构和字节顺序进行初始化 (2) 请求连接 用函数 connect( ) 来与远端的服务器建立一个 TCP 连接请求 (3) 接收和发送数据 与服务器端读函数 fioread 不同的是, 客户端的读函数是 Read(sFd,replyBuf,Rlen), 它也是用于从套接字缓冲区 replybuf 读取 Rlen 所指定字节长度的数据 函数 write (confd, MSG,Wlen) 用于把 MSG 所指定的数据以 Wlen 所指定字节长度的数据发送出去 (4) 终止一个 TCP 连接 函数 close( ) 用来关闭一个套接字描述符 6 结束语本文描述了在 Windows 和实时操作系统 VxWorks 中利用 TCP 实现数据通信的方法, 目前已经在我们开发的某测控系统中获得了应用 该方法可适用于工业控制等多方面, 具有广泛的适应性 参考文献 : 1 李方敏编著 VxWorks 高级程序设计. 北京 : 清华大学出版社,2004.05 2 陈智育, 温彦军, 陈琪编著 VxWorks 程序开发实践. 北京 : 人民邮电出版社,2004.05 3 张毅刚, 乔立岩等编著. 虚拟仪器软件开发环境 Lab Windows/CVI6.0 编程指南. 北京 : 机械工业出版社,2002.08 4 Comer D,Stevens DL. 用 TCP/IP 进行网际互联 [M]. 北京 : 电子工业出版社,2001. 5 张军. 计算机技术在风洞现场总线中的应用研究 [D]. 成都 : 电子科技大学,2004

作者简历 : 第一作者 : 李峰 (1966-), 女, 重庆三峡学院数学与计算机科学学院, 讲师, 从事计算机软件研究与计算机教学 英文简历 : Feng Li (1966-), female, Mathematics and Computer Science College of Chongqing Three Gorges University, lecturer, engaging in studying software and teaching computer specialty. 第二作者 : 应宏 (1962-), 男, 重庆三峡学院数学与计算机科学学院, 学院首届学术带头人, 副教授, 从事分布计算技术研究 联系人 : 李峰单位 : 重庆三峡学院数学与计算机科学学院 E-Mail: myaxzh@sina.com.cn 邮编 : 404000