编辑: liubingb 2019-09-13
科技信 息oIT论坛 O S C I E N C E&

T E C H N O L OG Y I N F O R MAT I O N

2 0

1 0年第11期O前言Vxworks串口通信程序设计与实现 郭平(上海 科技 管理 学校 中国上海200433)VxWo r k s是美国Wi n d R i v e r S y s t e m 公司 ( 即WR S公司 ) 推出 的一个运行在 目标机上 的高性能 、 可裁减 的嵌入式 实时操作系统.

它以其良好 的可靠 性和卓越 的实时性被广泛地应用在通 信、 军事、 航空 、 航 天等高精尖技术及实 时性要求极高 的领域 中, 如卫 星通 讯、 军事演习 、 弹道制导、 飞机导航 等. 在美 国的 F 一

16、FA一18战斗机 、 B 一 2隐形轰炸 机和爱国者导 弹上 .甚至连1997年 4月在火星表面登 陆的火星探测器上也 使用了VxWorks.1Vx wo r k s简介从1995年 以后 , WR S公司推出了一 套实时操 作 系统 开发环境――T o ma d

0 .T o r na d o集成环境提供 了高效明晰的图形化的实时应 用 开发平 台,它包括一套完整的面向嵌入式系统的开发和调测工 具. T o r na d o环境采用主机―― 目标 机交叉开发模型 ,应用程序在 主机的 Wi n d o w s 环境下 编译 链接生成 可执行文件 . 下载 到 目标机 , 通过 主机 上的目标 服务 器( T a r g e t S e r v e r ) 与 目标机上 的 目标代理 ( T a r g e t A g e n t ) 的通信完成对应用程序 的调试 、 分析. T o r n a d o包含三个完 整 的部 分:(1)Tornado系列工具, 一套位于主机或 目标机上强大 的交互式 开发工具和使用程序 ;

(

2 ) V x Wo r k s 系统,目标板 上高性能可扩展 的实时操作 系统;

(

3 ) 可 选用 的连接主机 和 目标机 的通讯 软件包 , 如 以太 网、串行 线、在线仿真器或 R O M 仿真器.

2 串 口通 信基本原理串L I 在嵌入式系统 中是一类重要的数据通信接 口, 其本质 功能是 作为 C P U和串行设备 间的编码转换器.当数据从 C P U经过 串行 端口发送 出去时 , 字节数据转换为串行的位 ;

在接 收数据时 , 串行 的位被转 换 为字节数据 .应用程序要使用串 口进行 通信 , 必须在使用之前 向操 作系统提 出资源 申请要求( 打开串 口) , 通信完成后 必须 释放资源( 关闭串口1 串口通信 的优点是开发 简单 , 在传输数 据量不大 、 要求速度不 高 而传输距离较远的通信场合得 到广 泛应用 . 在VxWo r k s中.任何 对于串 口的操作都可 以视为对一个文件 的操 作,而不必 了解串 口设备或程序驱动实现的细节 .在 串口通信软件 的 设计 中, 当串口初 始化完成后 , 在使用前利用 o p e n

0 打开相 应串 口, 然后进行配置.配置完成后 . 依据串 口打开时的读 写标志 , 调用 函数 r e a d

0 、 w r i t e

0 对 串口进行读操作 、 写操作 或同时进行读 写操作 . 为提高数据接收的实时性 , 可采用 中断方式 .利用 V x Wo r k s 提供 的select函数 的事件触发 机制 , 将读串 口的任务 阻塞使 其一直等待数 据,当有数据来到的时候该任务会立刻 自动响应 , 提 高系统 的实时性 .

3 环境配置在本实时应用系统 中采 用386机 作为目标 机.修改通用配置文件config.h.宏定义/#defineINCLUDE W DB #d e f i n e I NCLUDE W DB TI Y TE S T #u n de f W DB COMM TYPE # d e f i n e W DB C OMM T YP E WDB COMM S ERI AL 定义通信方式为串 口连接 , # d e f i n e W D B r HA N NE L 通遭 号{#defin e W DB―

1 T r Y― B A UD

9 6

0 0 串 口速 率,#defin e W DB I I T Y DEV NAME t y Co /

0 # d e f in e CONS OL E Tr Y O # d e f i n e DEF AUL T _ BOOT _ L I NE f d= O ,

0 (

0 , o )h o s t n a me : / f d

0 / v x Wo r k s h = 主机ipe:目标 机ipu=主机 上 的登 录用 户名 4程序 示例

4 .

1 在程序 中加入下列头文件 # i n c l u d e<

v x W o r k s . h >

精nclude strLib. h # i n c l u d e<

s t r in g I h >

# i n c l u d e<

s i o Li b _ h >

# i n c l u d e<

i o Li b - h >

撕nclude<

s t d i o . h >

衔n c l u d e<

i o c t

1 . h >

# i n c l u d e<

s e l e c t Li b . h >

#i n c l u d e t y p e s / v x Ty pe s Ol d . h

4 .

2 打开 串口 i n t o p e n _c o r n1 ( v o i d ) / / 打开串I = I 1函数 ( i n t s f d 串 口设备文件描述符 s f d = o p e n ( '

'

/ t y C o /

0 , O _ R D WR, o ) ;

/ / 打开 串121】并返回串口设备 文件描述符 i s f d : = E RR

0 R ) , / 如果不能打开 串口 1则打印出错信息 p r i n t f ( Y o u c a n t o p e n p o r t c o r al ! ) ;

}

4 -

3 配置串 口intconfig_com1 ( v o i d ) / / 串口l配置 函数 { i o c t l ( s f d , n0 S E T Op 耵0 N s , 0P

1 1 _ L I N E ) ;

/ / 设置串 口工作模式为行 模式 : L I N E _ MO D E i o c t l ( s f d , ~O B A U DR A T E ,

9 6

0 0 ) ;

/ / 设置串 口波特率为

9 6

0 0 b p s i o c t l ( s f d , ~O F L U S H, o 】 ;

/ / 清空输入输出缓冲区 i o c t l ( s f d , S I O ― H W_ O P T S _ S E T , c S

8 f S T ℃P B l P A R E N B f P A R OD D ) ;

/ / { 殳置8位数据位 , 2位停止位 , 带校验位 , 奇校验 )

4 .

4 串 口接收数据 i n t a c c e p t _ c o ml ( v o i d ) { w h i l e (

1 ) { c h a r a c c e p t _ b u f f F D_ Z E RO ( &

f d s _ d a t a

1 ;

F D_ S E T ( s M, &

f d s _ d a t a ) wi d t h = s f d +1 : / / 从串 口 1接收数据 函数 / , 位码置零,/初始化位码 ∥ 任务阻塞等待读串 口准备完毕;

i f ( s e l e c t ( w i d t h , &

f d s _ d a t a , N U L L , N U L L , N U L L ) : :E R R OR ) r e t u r n ( E R R OR

1 : r e a d ( s f d , a c c e p t _ b u f , s i z e o f ( a c c e p t _ b u

0 ) ;

1 1 ,

9 , 口读字符 p r i n f f ( a c c e p t m e s s a g e i s : %s . a c c e p t b u f ) ;

, , 输 出接收到的信息 ) }

4 .

5 串 口发送数据 i m s e n d c o ml ( v o i d

1 / / 向串口 1发送数据 函数 { c h a r * s e n d _ b u f = Da t a h a d a c c e p t e d ! : / / 待发送数据 / , 任务阻塞等待写串 口准备完毕 i f ( s e l e c t ( w i d t h , N U L L , &

f d s _ d a t a , N UL L , NU L L ) = = ER R O R ) r e t u m( E R RO R ) ;

( 下转第

1 1 9页) 科技信息 0机械 与电子O S C I E N C E&

T E C HN O L OG Y I N F O R MA T I O N

2 0

1 0年第11期小、负中、 负大} , 简记为 : { P B, P M, P S,

0 , N S , N M, NB ) .输 入语 言变量 E、 E C和输 出语 言变量 U均采用三角形隶属 函数 . 当考虑模糊 控制规则 时. 选取控制量变化 的原则是 : 当误差大或 较大 的时候 , 选择控制量以尽快消除误 差为主 : 当误差较小时 , 选择控 制量要注意防止超调 , 以系统的稳定 性为主要 出发点 .因此 , 当EC为 负时水位有上涨 的趋势 . 如果 此时水位为 高, 则应关 闭水 阀以减少入 水量 , 使水位降下来 ;

反之 , 开大水阀.据此 , 得到如表 l所示 的49条 规则 .输出变量的解模糊 采用中位数判决法 表1锅炉汽包水 位模糊控制规 则表NB NM N S Z E P S P M P B 【N B N B N B N M N M N S Z E Z E NM NB NB NM NM NS ZE ZE NS NB N B N M NS Z E P M P M Z E NB N B NM Z E P M P B P l B P S N M NM Z E P S P M P B P B P M Z E Z E P S P M P M P B P B PB ZE ZE P S PM PM PB PB

4 仿真研究为验证模糊控制的有效性 .本文采 用MA T L AB对锅 炉水位控制 系统进行仿真.已知某供 汽量 为120t/h锅炉 , 其给水流量与水位 的传 递函数 G ) 、 蒸汽流量与水位 的传递 函数 G ) 分别 为Ⅲ: C I ( S ) = 器=0.37Gz(5)=一+器应用 MA T L A B软件 的模糊 工具 箱建立锅炉汽包水位 的模糊控制 器,并应 用SIMU L I N K仿真工具分别建立采用 P I D控 制和模糊控制策 略的三冲量锅炉水位控制 系统 , 分别如 图 3和 图4所示. 为使仿真直观、 方便, 取水位 给定值 和输 出水位具 有相 同的量 纲,水位测量变送器 的传递 系数取为

1 .仿真时 , P I D控制器中的 比例系 数=1.4, 积分系数 F =

0 .

0 1

5 , 微分系数 k ~ =

5 0 . 模糊控制器中的量化因 子kO.05, : O .

5 ,模糊输 出的比例 因子 =

2 .

7 .利用 MA T L A B中的 S i m u l i n k进行仿真[

4 1 .在30mm阶跃输入信号作用下 . 分别得到两种控 制方式下 的仿真 曲线 , 如图5所示. 其中, 曲线 a为PID控制时的水位 响应曲线 , 曲线 b为模糊控制时的水位响应曲线. | / t i r t m / s 图5仿真结果从仿真结果 的对 比可 以看 出, 采用模糊控制方案的系统超调量显 著 减小 , 系统响应时间缩短 , 动态性能较好 , 其控制效果 明显优于常规 P I D控制方 案.

5 结束 语 模糊控制是智能控制研究的热点之一. 对于锅 炉汽包水位这种不 具有确定数学模型 的被控对象 ,模糊控 制能够满足较高的控制要求 , 鲁棒性更强 , 具有更快的响应和更小的超调 , 且抗干扰能力强 , 是一种 较好 的控制方案. 图3锅炉水位PID控制系统仿真模型图图4锅炉水位模糊控制 系统仿真模型图 【 参考文献】 [

1 ] 边立秀 , 周俊霞 , 赵劲松 , 等. 热 工控制系统[ M] . 北京 : 中国电 力 出版 社,2002,

1 . [

2 ] 陈平, 王永初 , 陈小云. 一种基于模糊 l i D控制的锅炉 汽包水 位控制方法『 J I . 福建工程学 院学报 ,

2 0

0 6,

4 (

1 ) :

8 3 ―

8 5 . [

3 ] 罗智勇.模糊一PID在 工业锅炉汽包水位控制中的应用阴.计算机应用与软件 .

2 0

0 9 ,

2 6 (

1 ) :

2 0

0 ―

2 0

2 . [ 4] 吴 晓莉 , 林哲辉 . MA T L AB辅助模糊 系统设计【 M1 . 西安 : 西安 电子 科技大学出版 社,2002,

8 . 作者简介 : 薛莉莉, 女.浙江乐清人. 电气工程及其 自动化专 业.研究方向为智能控制技 术.[责任编辑 : 翟成梁 ] ( 上接第

6 9页) i f ( F D _ I S S E T ( s f d , &

f d s _ d a t a ) ) / / 检查串1 3准备好就 向串口写数据 w r i t e ( s f d , s e n d b u f , s i z e o ~ s e n d _ b u

0 ) ;

}

4 .

6 关闭串 日close(sfd);

5 结束语本文描述了在 实时操作系统 V x Wo r k s中利用 串I:1实现数据通信 的方法 , 并给出了示例程序 . 该方法适用 于工业控制 , 具有广泛的适应 性.[责任编辑 : 王静】

11 9 ........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题