(轮机工程专业论文)profibusdp智能化从站的设计.pdf_第1页
(轮机工程专业论文)profibusdp智能化从站的设计.pdf_第2页
(轮机工程专业论文)profibusdp智能化从站的设计.pdf_第3页
(轮机工程专业论文)profibusdp智能化从站的设计.pdf_第4页
(轮机工程专业论文)profibusdp智能化从站的设计.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(轮机工程专业论文)profibusdp智能化从站的设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

- 7 t ) 4 p r o fi b u s d p 智能化从站的设计 | j f 摘要 p r o f i b u s 是一种国际化、开发式、不依赖于设备生产厂商的总 线标准。广泛适用于制造业自动化,流程工业自动化和楼宇、交通、 电力等其他领域的自动化。p r o f i b u s d p 用于分布式控制系统的高 速数据传输解决方案,它是经过优化的高速( 可达1 2 m b i t s ) 、廉价的 通信连接,专为自动控制系统和设备级分散i o 之间的通信设计,并 且支持即插即用。p r o f i b u s d p 从站是进行输入和输出信息采集和 发送的外围设备( i 0 设备、驱动器、h m i 、阀门等) 。土l c u (v s s r e s e ta x c sx da _ r a l m o d e t e d y a l ev s s x 肿 x w rv d d x r dv s s rrest口xcrs ) c n 孙 d 嘞醴s p c 3 免功 v d d 娜 a b 0t 妯 a b lv s s a b 2 a b 3a d b 0 a b 4a d b l a b 5a d b 2 a b 6a d b 3 a b 7a d b 4 a b 8a d b 5 a b 9a d b 6 a b l 0a d b 7 图3 2s p c 3 引脚连线与封装 3 2 塑璺篓坚兰! 生蔓型堑竺! l 一 苎三主! 塑! ! ! ! ! :竺塑垡垡竺些竺竺竺壅墨 图中a = 1 2 9 0 o 2 5 m m ,b = l o o o _ + o 1 0 m m ,c = l o o o _ _ o 1o 咖,d = 1 2 9 0 0 2 5 m m ,h = 0 0 35 0 0 5 r a m ,g = o 8 0 r a m 。 下表为s p c 3 引脚功能堙3 1 描述 c h , 肚t lc 3 2 m o d e :p o nv d o ic 1 6 5 m o d e :c s - q n a l c p uf 8 0 c 1 6 5 1 由w n h _ q n w 厄1c 触时m c t o r d a o i v l d e rs e l i j n q t h e 酬酐“d 甜f o r c l k 2 0 u r e e d 3 叩i ,r e du h 惦r m o t o r q hc p u c l ki r r s lc i o c k 叫b i n d u t s w t e m v s s c l o d d u s d i r e d e d 曲2o f4 $ v s t e r n c p u 帕 l o 口05l m ii n t e r r a c e s y s m l ,12 m o t o r “a , n t e c l o i n t e t r u l x c p ui n t e m t + c o n t r 8 0 j ( c p o ) a c l o r e t tb u s lc 3 2m o d e i 田,0 lc 1 6 5r n o d 跏b u s jod a m b u l lc 3 2 d fd m 咖眦b m u 脚h dc p u _ _ f 州 iolc 1 6 s m 州d ,圳o r _ b u s l a m a r “e d oo a “e x c h = n q t i , t a l er o t p r o f i b u s - d p l e o x r e 0 y x o t c k0r e e d v f o r 日m a i c p us v = t e mc p u io“ l 怒= 溢。0 ”“” c p u r n = m o q d b 3 io l 蠹嚣掣。“” 1 8 1 9 io帆 l 嚣:盛。产“。 i 盟:墨“” c p u ,m e r n o 。 1 0 = 堋8 0 c c 弛1 6 6 柏d a t a 出毖嚣恕勰裟涨 s m - m 髹鼎0 嵩,。 c p u ( a 0 c 3 萄 a b q ic 茈m o d e :岬0 c 1 8 5 m o d ea d mb u lc p uf c l e 5 ) m i n i o n t x dos e p a ls e n d r s 4 8 5 t e n d e r r t s0h s ”dr s 4 8 5 n d f v s s 2 9b“”“ l 舞器嚣i :黧:。 3 0r x d婚s n m c 3 1瞄 d 山h b 吐 3 2螬 酣陀螺b u s s 憎帅c p u 3 3x c t sbc l w r t os 舯d 咖 0 3s 州喇 f s km o d m 3 4x t e s t 0啼n n m u t td e 帆嘲自x l ( 1 m v d o 3 5n n m u s tb 0 i a c 喇缸e d m v d d 3 6i f c s c 。,i n d m 0 毗w l o m w l m c p u ;i 口n 3 7瞄a d d r e 鸽嘶0s y s t e mc p u 3 8 3 4 0 4 1船a d d r e ub u = 9 y = t e mc p u 4 2曲 4 3a d d r mb u t s y l u f n c p u a b o船 表3 3s p c 3 引脚功能表 上表中引脚名称为x 开头的为低电平有效,v d d = + s v ,v s s = g n d ( 接地) ; 输入级别:i 表示c m o s 输入,i ( c s ) 表示s c h m i t 触发c m o s 输入,i ( c p d ) 表 示带下拉的c m o s 输入,i ( t s ) 表示s c h m i t 触发的t t l 电平。 3 s p c 3 的内存分配 3 3 上海交通大学硕士学位论文 第- = - i p r o f i b u s - d p 智能化从站的硬件实现 下表为s p c 3 的1 5 k b 双端口r a y 的地址分配。 s p c 3 内部的锁存器寄存器位于开始的2 1 个地址单元内。有些锁存器寄存 器既能反映s p c 3 的工作状态,又能影响它的工作,当然这些单元要么是只读的、 要么是只写的。用户无权存取的内部工作单元也位于该地址区间。 处理器组织参数位于r a m 中始于1 6 h 的地址空间内。全部的缓冲器结构( 用 于d p s a p s ) 取决于这些组织参数。另外,一般参数设置数据( 站地址,识别号 。 等) 在这些地址区间传送,状态数据也存放在这些地址单元中( 全局控制命令等) 。 a d d r e s sf u n c t i o n 0 0 0 h 鬻l a l :i i i 籍赣势;j 囊垂i 鬻:摹l i i l l 囊蓑i ;蠹基鬻蔫;i 蘸;蓦l l ;:舞蔫i 萎、jf ,h 、 址、群黝崔i # 硪端群:+ # 嚣鞴;# 嚣搿* 博麓群群嚣爵嚣j t 群 0 1 6 h o r g a n i z a t i o n a l p a r a m e t e r s ( 4 2b y t e s ) 0 4 0 hd p b u f f e r :d a t al n ( 3 ) 。 d a t a o u t ( 3 ) + d 均n o s t i c s ( 2 ) p a r a m e t e r s e t t i n gd a t a ( 1 ) 5 f f hc o n 哟u r a t i o nd a t a ( 1 ) a u x i l i a r yb u f f e r ( 2 ) s s a - b u f f e r ( 1 ) 图3 4s p c 3 的内存分配 与组织参数设置相关的参数,用户定义缓冲器是位于4 0 h 地址之后。所有的 缓冲器必须开始于段地址( 4 8 字节分段) 。 s p c 3 的全部r a y 被划分为1 9 2 个逻辑段,每个段包含8 个字节,所有的段地 址都是8 的倍数。 4 s p c 3 的时序特性 s p c 3 的时钟脉冲见下表: n o p a r a m e t e rm i nm a x u n i t c l o c k p u l s e 4 8 m h z : 1c l o c kh i g ht i m e6 2 51 4 6i 3 s 2c l o c kl o wt i m e6 - 2 51 4 6n s 3r i s et i m e4n s 4 f a l it i m e 4 n s c l k 图3 5s p c 3 的时钟时序 3 4 上海交通大学硕士学位论文第三章p r o f i b u 5 一d p 智能化从站的硬件实现 s p c 3 在连接8 0 3 2 同步方式下的时序:s p c 3 在a l e 负跳变时保存低位地址, 在此同时s p c 3 希望在地址总线上达到高位地址。s p c 3 从高位地址总线上产生了 一个片选信号。存取s p c 3 的请求产生于读信号的负跳变和写信号的正跳变。s p c 3 的读写时序分别见图3 6 和图3 7 。 呻z 十一 i 卜o - 1 v a l o ; | 回延三齐 - 一q ) _ _ 一一i 黟 一 卜一黟一 l 一 ,。、 广 图3 6s p c 3 连接8 0 3 2 的读时序 r :,一 n c 妒,厂 ! ) 二一 一至:一一一 、 ( v a l o yv a l i d 、i 、0 、勇( a a r e s n )刘d m n ) | :j :、。n 卜t i 多-1 、,_ 卜t j d 一 l , 图3 7s p c 3 连接8 0 3 2 的写时序 5 s p c 3 的r s 4 8 5 接口电路 下图为s p c 3 的r s 4 8 5 接口电路。数据传输在r s 4 8 5 工作模式( 即r s 4 8 5 技术) 完成。p r o f i b u s 可用的线路如图3 8 所示。p r o f i b u s 接口【2 3 1 通常为9 针d 型 接插件。其中引脚3 接b 线,引脚4 接r t s ( 请求发送) ,引脚5 接地,引脚6 接电源( 5 v ) ,引脚8 接a 线,其他引脚未用。下图为s p c 3 的r s 4 8 5 接口电路 旺 盯 盯 舳 脒 o 0 旺 盯 盯 帆 a a d x 兰立苎墨:! 垦:堡壁主兰竺笙查 苎三主竺! ! ! 型! 二竺塑丝些坠苎塑竺竺壅墨 图3 8 $ p c 3 的r s 4 8 5 驱动接口 31 2 8 0 0 3 2 单片机 选用i n t e l 公司的8 0 3 2 单片机0 5 ”1 实现控制功能,主要性能 片内2 5 6 字节r a m 。 4 个8 位i o 口。 3 个t 6 位计数器定时器。 1 个串行i o 口。 8 个中断源。 31 3 可编程扩展i 0 芯片8 2 5 5 a 8 2 5 5 a 2 6 2 7 1 是i n t e l 公司生产的通用可编程并行i o 接口芯片,和m c s 一5 1 相 连可为外设提供三个8 位i o 端口,允许采用同步异步和中断方式传送i o 数据。 8 2 5 5 a 的引脚及其功能: 一c s :片选信号端,低电平时芯片选中; 一r d :读引脚,低电平时允许输出数据到c p u ; 一w r :写引脚,低电平时允许c p u 输入数据; v c r :+ 5 v 电源; g n d :接地端; a - a 。:地址线,用来选择内部端口; p a 7 - - p a n :a 口输入输出线,与外设相连; p b ? - - p b 。:b 口输入输出线,与外设相连; p c 7 - - p c 。:cv i 输入输出线,与外设相连: 3 6 上海交通大学硕士学位论文 第三章p r o f i b u s - d p 智能化从站的硬件实现 d t - d 。:三态双向数据线,与微机数据总线连接,用来传送数据; r e s e t :复位信号端,输入高电平有效,复位后清除所有控制寄存器,所有口均 为输入。 314 g z l 3 8 逐次逼近型a d 转换器a d 7 5 7 4 a d 7 5 7 4 口7 1 是一种与8 位p p 兼容的低成本a d 转换器,它采用逐次逼近技术并 达到1 5 “s 的转换时间。a d 7 5 7 4 被设计成内存映象的输入设备,可与静态r a m 、r o m 或低速存储器相连。a d 7 5 7 4 的数据输出位使用三态逻辑,允许直接连到“p 的数 据总线或系统输入端口。内部时钟、+ 5 v 工作状态、单机比较和接口逻辑、以及 低功耗( 3 0 r o w ) 和快速转换时间使得a d 7 5 7 4 对大多数a d c p 接口应用来说是理 想的芯片。小尺寸( 1 8 脚) 和单片的可靠性使它能在航空电子学、仪器和过程自动 化方面得到广泛应用。 8 位分辨率。 r o m 模式和低速内存接口模式。 线性度7 8 ( b i t s ) 。 单一电源供电( + 5 v ) 。 低功耗( 3 0 m w ) 。 转换速度快( 1 5 “s ) 31 58 位d i a 转换器d a c 0 8 3 2 d a c 0 8 3 2 芯片乜5 2 8 3 具有两个输入数据寄存器和一个8 位d a 转换器,能与m c s - - 5 1 系列单片机直接接口。d a c 0 8 3 2 由8 为输入锁存器、8 位d a 转换器及转换 控制电路构成。其控制引脚可以与微处理器的控制总线直接相连,接收微处理器 的控制。由于d a c 0 8 3 2 是电流输出型d a 转换器,要获得模拟电压输出,必须外 加转换电路。d a c 0 8 3 2 芯片为2 0 引脚,双列直插式封装结构,其主要特性为: 8 位分辨率。 电流稳定时间为l “s 。 可双缓冲、单缓冲或直接数字输入。 只需在满量程下调整线性度。 单一电源供电( + 5 v + 1 8 v ) 。 低功耗( 2 0 r o w ) 。 3 2 智能化从站硬件系统的连接 整个硬件系统由s p c 3 、8 0 3 2 、扩展接口8 2 5 5 a 、外部e p r o m 组成,构成一个 p r o f b u s 智能化执行器从站。系统通过8 2 5 5 a 的p a 接收反馈信号,经过8 0 3 2 运 行p i d 算法,由8 2 5 5 的p b 口输出驱动:同时8 0 3 2 通过s p c 3 使用r s - 4 8 5 与外 界通信,获得数据,调整p i d 参数,使系统实现最优控制。系统连接如下图所示: 。t j j 曩 冉 图3 9 系统核心电路 上图中传感器a d 电路采用了a d 7 5 7 4 芯片,d a 驱动电路采用d a c 0 8 3 2 芯片,2 ke p r o m 采用了2 7 1 6 芯片。具体的电路连接原理图见附录。 图3 1 0p r o f i b u s d p 智能化肼站电路原理图 上图中s p c 3 的引脚x c s ( 片选) 连1 k 电阻接地,表明s p c 3 工作在c 3 2 方 式。引脚m o d e 接高电平,引脚x i n t m o 接低电平,8 0 c 3 2 和s p c 3 工作在同 步通讯方式下,此时s p c 3 的地址译码器被启动工作,c s 信号由s p c 3 内部产生: 8 位数据总线复用为,其中低8 位的地址总线上的地址由a l e 信号存放在s p c 3 的内部地址锁存器内:引脚a b 8 、a b 9 、a b l 0 接地,引脚a b 7 0 接收p 2 口送 来的高位地址( a b 70 = 0 0 0 0 0 x x x b ) ,在此方式下c s 针( x c s ) 必须连接高电平 簟 上海交通大学硕士学位论文第三章p r o f i b i $ 一d p 智能化从站的硬件实现 ( v d d ) 。s p c 3 的引脚r t s 和引脚t x d 连接到r s 4 8 5 的发送端上,引脚r x d 连接到r s 4 8 5 的接收端。 对于d a c 0 8 3 2 ,采用了单缓冲器方式接口,如图3 1 0 所示:让i l e 引脚接 + 5 v ,i 蒗和i 币于8 0 3 2 的w r 相连接。寄存器选择信号西及数据传送信号 :丽雨都接p 。由p 。驱动。当p 。选通d a c 0 8 3 2 后,只要i 液输出控制信号, d a c 0 8 3 2 就能完成数据的输入锁存和d a 转换输出。 根据实际需要,在扩展并口8 2 5 5 a 上连接不同的外围电路( a d 、d a 等) , 能实现执行器、传感器和变送器等多种p r o f i b u s 智能化从站。 上海交通大学硕士学位论文 第四章系统软件设计 第四章系统软件设计 4 1 系统软件设计概要 41 ,1 8 0 3 2 的智能软件设计 系统通常采用智能自整定p i d 算法,实际就是过程参数的自动辨识与常规p i d 算法相结合的控制技术。其中p i d 调节器参数由两个因素决定:一是由从站自身 的控制对象系统决定;其次是主站通过p r o f i b u s 现场总线传输给从站决定的。 以下是主要程序的流程图: 图4 1 主程序流程图 流程图中:r ( k ) 为控制设定值,y ( k ) 为第k 次采样输入, 偏差值,u ( k ) 为第k 次输出。吣q 。和q 2 是p i d 调节器参数。 41 2s p c 3 的通讯软件设计 上海交通大学硕士学 l k - 沦文 第四章系统软件设计 使用8 0 c 3 2 指令m o v x r i ,a 和m o v x d p t r ,a 直接读写s p c 3 的r a m ,主要 完成s p c 3 从站的初始化,主要包括:通知s p c 3 硬件扩展、定义报告事件的i d ( 识 别号) 、定义站地址和可用的缓冲器等程序。 s p c 3 的r a m 分布为: o o o h 0 1 5 h ,处理器参数锁存器寄存器。主要有o o h 一0 3 h ,是中断控制寄 存器。0 4 h 、0 5 h 是状态寄存器。0 6 h 、0 7 h 是方式寄存器0 ,0 8 h 、0 9 h 是方式寄 存器1 。 0 1 6 h 0 3 9 h ,组织参数。存放缓冲器的长度和地址结构信息。 0 4 0 h 以上,d p 缓冲器。例如数据输入输出缓冲器,诊断缓冲器,辅助缓冲 器等。该段内存包含了s p c 3 的服务存取点( s a p 5 5 6 2 ) ,能完成d p 从站和主站的 通讯任务。 4 28 0 3 2 智能软件实现 42 1p i d 算法的数字化与智能参数整定 比例积分微分控制简称是p d ( p r o p o r t i o n a li n t e g r a ld i f f e r e n t i a l ) 2 9 ”j 控制, 它的优点是原理简单,使用方便,鲁棒性强。也就是说,其控制品质对过程特性 的变化灵敏度比较低,调节器参数调整比较容易;具有无余差功能,精度较高; 适应性广,可用于各类工业过程控制,并已商品化。计算机过程控制的基本控制 算法也仍然是p i d 控制,据估计工业控制中p i d 占9 0 以上。 p i d 控制是一种反馈控制。反馈控制回路的方块图如图4 - - l 所示,其中广义 过程特性g o ( s ) 由执行器、过程和传感器、测量装置三部分所组成。图中e ( s ) 为偏差,u ( s ) 为控制器输出。 图4 2 反馈控制回路方块图 理想连续p i d 控制作用可用下式【3 1 1 描述: 呻) = k o 以卅寺胁) 破州。警m 。 ( 4 1 1 ) 式中k 。为比例放大系数( 又称比例增益) ; t 为积分时间: 兰塑苎登苎型= 竺翌苎羔兰兰羔一 苎! 主墨塑丝盐 t 。为微分时间; e ( t ) 为设定值r ( t ) 和测量值y ( t ) 之差; u o 为使偏差趋于零时的稳态控制输出即控制作用的初始稳态值。 理想的p i d 控制器的传递函数为: 勰咆= k o 1 + 去坪】 ( 4 1 2 ) 由于本从站系统的控制是一种采样控制,它只能根据采样时刻的偏差值来计 算控制量。因此,在计算机控制系统中,必须首先对式( 4 1 2 ) 3 1 1 进行离散化处 理,用数字形式的差分方程代替连续系统的微分方程。此时积分项和微分项可用 求和及增量式表示: j o , ( o d t = 杰。( ,) f = 7 壹e ( ,) ( 4 1 3 ) j 2 u,o u 生盟。e ( k ) - e ( k - 1 ) :e ( k ) - e ( k - 1 ) d f出t ( 4 i 4 ) 将式( 41 3 ) 3 1 3 和式( 41 4 ) 3 1 1 代入式( 41 1 ) 中,则可以得到离散的p i d 表 达式: tp 个 ”( 后) = 疋p ) + 争p o ) + 等p ( 埘一e 一1 ) 】) ( 4 1 5 ) 0 式中,t = t 一采样周期,必须使t 足够小,才能保证系统有一定的精度; e ( k ) 一第k 次采样时的偏差值; e ( k 1 ) 一第k 1 次采样时的偏差值; k 一采样序号,k = o ,1 ,2 ; u ( k ) 一第k 次采样时控制器的输出。 由于式( 4 15 ) 的输出值与实际从站的输出位置一对应,因此,通常把式 ( 415 ) 称为位置型p i d 的位置控制算式。 由式( 4 15 ) 可以得到结论,要想计算u ( k ) ,不仅需要本次于上次的偏差信 k 号e ( k ) $ t ae ( k - 1 ) ,而且还要在积分项把历次的偏差信号娟) 进行相加,即e ( ) 。 1 = 0 这样,不仅计算烦琐,而且为保存e ( j ) 还要占用很多内存。因此,用式( 4 1 5 ) b ,1 直接进行控制不方便。为此,可以作以下改动。 根据递推原理,可写出k 1 次的p i d 输出表达式: 7 1 丝7 “( j i 一1 ) = k 。p ( 七一1 ) + 号8 u ) + 等 e ( 七一1 ) 一p ( 七一2 ) 】) ( 4 1 6 ) o i1 = 0 1 用式( 415 ) 减去式( 4 16 ) ,可得: u ( k ) = “( 七一1 ) + 足。 p ( 后) 一e ( k 1 ) + k ,p ( 七) + k d p ( 豇) 一2 e ( k 1 ) + e ( k 一2 ) ( 4 1 7 ) t 兰兰茎型堡主兰竺笙墨 苎! 主墨竺鉴竺堡苎 式中,k ,= k 。百t 一积分系数; 髟= 足。一微分系数。 1d 由式( 4l 7 ) 可知,要计算第k 次输出值u ( k ) ,只需知道u ( k - 1 ) ,e ( k ) ,e ( k 1 ) , e ( k 2 ) 即可。 在很多控制系统中,由于执行机构是采用步进电机或多圈电位器进行控制的, 所以,只要给出一个增量信号即可。因此把式( 41 7 ) 两边都减去u ( k 1 ) ,得到: “( 后) = k p ( 七) 一e ( k 1 ) 】+ k ,e ( k ) + 足d b ( 七) 一2 e ( k 一1 ) + e ( k 一2 ) 】( 4 1 8 ) 式( 41 8 ) 中表示第k 次输出的增量值u ( k ) ,等于第k 次输出值u ( k ) 与第k _ 1 次输出值u ( k 1 ) 的差值,即在第k 1 次输出的基础上增加( 或减少) 的量,所以 式( 4 18 ) 叫做增量型p i d 控制算式。 从站的智能化就体现在它p i d 过程参数的自适应性上。我们让从站的p i e ) 过 程参数的整定工作由主站完成,这样有两个好处:一、减轻从站负担;二、主站 可以从整个系统出发,使参数最优化。过程参数通过主站传送给从站。主站过程 参数的智能识别算法见文献 3 0 3l 】。 42 2p i d 算法程序设计 用8 0 5 1 系列汇编语言进行p i d 程序设计有两种计算方法,一种是用定点运算, 另一种为浮点运算。定点运算速度比较快,但精度低;而浮点运算精度高,运算 比较慢。本从站采用浮点运算。 由式( 428 ) 可知,增量型p i d 算式为: a u ( k ) = k p ( 尼) 一e ( k 一1 ) 】+ 墨e ( k ) + k “e ( 七) 一2 e ( 七一1 ) + e ( k 一2 ) 】 设“。( 后) = k g ( 七) 一e ( k 一1 ) “。( k ) = k d e ( 七) 一2 e ( k 一1 ) + e ( j | 一2 ) 因此可以得到: 式( 4 2 9 ) 为离散化的增量型p i d 编程表达式。当系数k 、k 、k 求出后, 分别存放在指定的8 0 3 2 的片内r a m 单元中,详见表4 3 。并在初始化程序中 将e ( k 1 ) 、e ( k 2 ) 、u 。( k ) 单元清零,而后即可运行增量型p i d 子程序。 鲁 上海交通大学硕士学位论文 第日章系统软件设计 存储单元名称存储单元地址存放的数据 c o e f u r4 0 h r ( k ) c o e f k c4 3 h k 。 c o e f 4 6 hk t c o e n ( d4 9 hk d b i a s e 04 9 he ( k ) b i a s e l4 c he ( k - 1 ) b i a s e 24 f he ( k 2 ) b i a s e u c 5 2 h u 。 m i d d l e l 5 5 h中间结果 m i d d l e 2 5 8 h中间结果 m i d d l e 35 b h中间结果 b i a p i d 5 e hu 0 【) 增量型p i e ) 运算子程序流程图,如图4 4 所示: p i d 控制子程序( 增量型) 入口 + 读入r 和y ( k ) 0 计算e o ( ) t r ( k ) y ( k ) 0 计算u 。( k ) ;l ( c e ( k ) - e ( k - 1 ) 】 士 计算u 。o ) = l ( 1 e ( k ) 士 计算u d ( k ) - g l e ( k ) - 2 e 0 , - 1 ) + 2 e t k - 2 ) l 0 a u f k ) = u 。( k ) + u i ( 1 【) + u d ( k ) 0 e ( k - 2 ) , - - e ( k - 1 ) , e ( k - 1 ) i e ( k ) 士 p i d 控制子程序返回出口 图6 - - 4p i d 控制子程序流程图 、? j 矗蠢蕊蕊螽交蠡应。 4 4 兰i 型奎兰壁主兰! 丝圭 苎! 主墨苎整竺兰盐 根据以上的流程图可写出如下的增量型p i d 浮点运算程序: o r g1 0 0 0 h p i c i n cm o vr 1 棚) 虹a m o vr 0 ,# c o e f u r l c a l lf s u b m o vr l ,# b i a s e o l c a l lf s t r m o vr - 0 ,# b i a s e 0 m o vr 1 ,# b i a s e l l c a l lf s u b m o vr l ,# 匝d d l e l l c a l lf s t r m o vr 0 ,# c o e f k c l c a l lf n , m o vr d ,# 田d d l e 2 l c a l lf s t r m o vr o ,# c o e f m o vr 1 ,# b i a s e o l c a l lf 缸, m o vr 1 ,# d d l e 3 l c a l lf s t r m o vr 0 ,# b i a s e u c l c a l lf a d d m o vr 1 ,# 叨d d l e 2 l c a l lf s t r m o vr o ,# 匝d d l e l m o vr l ,# b i a s e l l c a l lf s u b m o vr i ,# 叩d d l e 3 l c a l lf s t r m o vr o ,# b i a s e 2 l c a l lf a d d m o vr 1 ,# 田) d l e 3 l c a l lf s t r m o vr o ,# c o e f k d l c a l lf h 砸i , m o vr 1 ,# d d l e l l c a l lf s t r m o vi ,# 田d d l e 2 l c a l lf a d d m o vr l ,# b i a p i d 计算e ( k ) = r ( k ) 一y ( k ) b i a s e o = e ( k ) 计算e ( k ) - - e ( k - 1 ) m i d d l e l = e ( k ) - - e ( k - 1 ) 计算u 。( k ) = k e ( k ) - - e ( k - 1 ) 】 m i d d l e 2 = u 。( k ) 计算u 。( k ) = l ( i e ( k ) ;保存u i ( k ) ;计算u c ( k ) + u i ( k ) ;m i d d l e 2 = u o ( k ) + u 。( k ) ;计算e ( k ) - - 2 e ( k - 1 ) 计算e ( k ) - - 2 e ( k - 1 ) + e ( k - 2 ) 计算i q e ( k ) - - 2 e ( k - 1 ) + e ( k 2 ) 】 计算u ( k ) = u c ( 1 ( ) + u i ( k ) + u d ( k ) 保存u ( k ) - 4 5 - 圭查茎兰垄兰竺主竺竺丝查 墨! 主墨燮竺堡兰 l c a l lf s t r m o vr 0 ,# b i a p i d ;将p i d 三字节浮点数转换为 l c a l lf i n t ;双字节整数r 2 r 3 m o v5 2 h ,4 f h ;e ( k 2 1 = e ( k - 1 ) m o v5 3 h ,5 0 h m o v5 4 h ,5 1 h m o v4 f h ,4 c h ;e ( k 一1 ) = e ( k ) m o v5 0 h ,4 d h m o v5 1 h ,4 e h r e t d a 工a e q u 3 0 h 以上程序中的f a d d 为浮点加法子程序;f s u b 为浮点减法子程序;f m u l 为浮点相乘子程序;f s t r 为浮点赋值子程序;f i n t 为浮点转换整数子程序。程 序中的p i d 运算是采用三字节浮点数进行运算,每一个数字量均占用三字节r a m 单元,首字节放的是阶码,其中第7 位放浮点数的符号,第6 位放阶码的符号位, 剩下的6 位放阶码值,后两个字节为尾数。 4 2 3输入输出子程序设计 根据硬件系统的连接原理图,a d 7 5 7 4 采用低速内存接口模式,主要优点是: 它允许“p 使用单条指令来完成启动转换、等待和读数据。这种方式下,西和面 是连在一起的。当a d 7 5 7 4 没有被寻址时,西和面输入是高电平,通过对a d 7 5 7 4 地址执行一条存储器读指令启动转换,然后百西西变成低电平使微处理器进入等 待状态。转换完成( 丽是高电平) ,微处理器自动完成读数据。因此设计a d 7 5 7 4 的a 仍转换子程序如下: o r g0 3 0 0 h;程序开始地址 a d :c l r p 1 l;选中a d 7 5 7 4 s e t bp ,;置位a d 7 5 7 4 的面信号端 c l rp ,;读指令,利用稍后面使a d 7 5 7 4 复位 m o vd p t r ,# 8 f f f h ;将8 2 5 5 a 控制寄存器地址写入数据指针 m o va ,# 9 3 h;将8 2 5 5 a 方式控制字送入a m o v x d p t r a ;9 3 h 送控制字寄存器 l o o p l :s e t bp ,;置位a d 7 5 7 4 的西信号端 s e t bp ,;置位a d 7 5 7 4 的面信号端 c l r p ,:选中a d 7 5 7 4 ,并启动转换 l 0 0 p :n o p j n b p 。l o o p;若丽= 1 ( 转换结束) ,否则转l o o p s e t bp ,:置位a d 7 5 7 4 的西信号端 滋l 崩一。如i 藏。蕊涵鍪幽建虢k 、 兰翌墨塑查茎翌主! 竺i 坠一 一 苎! 主墨燮竺堡兰 s e t b p 1 2;置位a d 7 5 7 4 的面信号端 c l r p l l c l r p 。:;读指令,数据输出到p a 口 m o v d p t r ,# 8 f f c h ;a 口地址送数据指针 m o v x a , d p t k;a 口数据送到8 0 3 2 的累加器a m o v6 1 h ,a ;将a 中的数据保存在6 1 h 中 r e t 根据硬件的电路原理图,d a c 0 8 3 2 采用缓冲同步方式d a 接口。整个输出过 程分两步完成数字量的输入锁存和d a 转换输出。子程序如下: o r g0 3 4 0 h;程序开始地址 d a :m o v d p t r ,# s f f f h ;将8 2 5 5 a 控制寄存器地址写入数据指针 m o va ,# 9 0 h;将8 2 5 5 a 方式控制字送入a m o v x d p t r ,a ;9 0 h 送控制字寄存器, m o v d p t r ,# 8 f f d h ;b 口地址送数据指针,用基本锁存输出方式 m o va ,6 2 h;把即将输出并存放在6 2 h 中的数字量送到a m o v x d p t r ,a ;8 0 3 2 输出数据送到b 口 c l r p 。;启动d a c 0 8 3 2 ,开始转换模拟量输出 n o p n o p s e t b p 。;关闭d a c 0 8 3 2 转换 r e t 在运行以上的输入子程序后,r a m 中6 1 h 单元得到模拟输入的数字结果( 一 般为传感器数据) ;而在输出子程序中,6 2 h 内存单元则存放将要输出的数字输 出量。 4 3 s p c 3 的通讯软件设计 4 3 1 从站的初始化 从站上电后由8 0 3 2 控制s p c 3 的初始化。整个初始化工作可以分为两步:第 一步,完成从站在“离线( o f f l i n e ) ”状态下的参数设置,包括d p 工作方式的选 择、u a r t 报文结构和是否选择看门狗等:第二步,完成从站的“上线( o n l i n e ) ”, 改变从站的配置和重置看门狗。整个初始化完成后便可以与主站进行通讯和数据 交换。以下是从站上电后的状态流程图。 辜 兰苎璺尘望塑竺生曼兰竺望苎一一 苎! 主墨竺墼竺堡盐 c h k c 幻n o t s e t _ p r m n o t 图4 5d p - 从站的状态机构 s l a v ed i a g g l c f g s l a v e _ d i a g s e tp r m g e tc f a 图中的p o w e r o n ( 上电) 状态:只有在此状态下,从站能从2 类主站接收 s e t s l a v e _ a d d 电文来改变它的地址。w a i t _ p r m 状态:等待参数化完成。w a i t c f g 状态:等待组态完成。d a t a _ e x c h 数据交换状态:从站正式正常工作。若组态 或数据交换不成功,再回到参数化阶段。 由于s p c 3 可独立完成全部p r o f i b u s - - d p 通信功能,所以从站初始化时选择d p m o d e ,即设置方式寄存器o 的位“d pm o d e = l ”,进而使用固化在s p c 3 硬件中的协 议程序。s p c 3 在d pm o d e 方式下有以下服务存取点( s a p s ) 乜3 【2 4 : d e f a u l ts a p : 用户数据交换( w r i t e r e a d _ d a t a ) s a p 5 3 :系统保留 s a p 5 5 : 设定厦改从站地址( s e ta s l a v ed d r e s s ) s a p 5 6 : 读输x ( r e a di n p u t s ) s a p 5 7 : 读输( r e a d o u t p u t s ) s a p 5 8 : 全局控制命令( g l o b a l _ c o n t r 0 1 ) s a p 5 9 : 读组态数据( g e tc o n f i g ) s a p 6 0 : 读诊断数据( s l a v ed i a g n o s i s ) s a p 6 1 : 设定参数化数据( c h e c k c o n f i g ) s a p 6 2 :检查组态数据 从站初始化程序设计 1 “离线”参数数据设定。 方式寄存器0 的设定 o r g1 2 0 0 h p o 、v e r o n :m o va ,0 3 h 。m 。 、。、琏潮i 速掰 孰 , 上海交通大学硕士学位论文 第四章系统软件设计 一_ _ - _ _ _ - _ - _ _ _ _ _ _ _ _ _ _ - - _ _ - _ _ - _ - _ h - - _ h _ _ - 一 m o vr d ,0 6 h m o v x r 0 ,a m o va ,0 5 h m o v r 0 ,0 7 h 上述指令设定s p c 3 的u 舢玎的起始位和停止位无效;中断低电平有效;最 小延迟时间遵循d p 方式;使用异步通信方式;并使用d pm o d e 和看门狗。 缓冲器结构参数初始化 m o vr o ,1 a h m o v x r 0 ,0 3 h m o vr l o ,1 b h m o v x 国r 0 ,0 8 h m o vr d ,l c h m o v x r 0 ,0 9 h m o vr d ,1 d h m o v x r o ,0 a h m o vr 0 ,1 e h m o v x r 0 ,0 3 h m o vr d ,l f h m o v x 国r 0 ,0 b h m o vr 0 ,2 0 h m o v x r 0 ,o c h m o vr d ,2 l h m o v x r 0 ,0 d h m o vr o ,2 4 h m o v x r 0 ,0 8 h m o vr o ,2 5 h m o v x r 0 ,0 8 h m o vr 0 ,2 6 h m o v x 国r 0 ,0 e h m o vr 0 ,2 7 h m o v x r 0 ,0 f h m o vr o ,2 8 h m o v x r 0 ,0 8 h m o vr d ,2 9 h m o v x r 0 ,0 8 h m o vr 0 ,2 b h m o v x ( 国r 0 ,l o h m o vr o ,2 c h m o v x r 0 ,1 1 h m o vr 0 ,2 d h m o v x r 0 ,0 8 h 设置输出数据缓冲器长度为3 字节 ;设置缓冲器r _ d o u tb u rp t r l 段地址4 0 h 设置缓冲器r _ d o u tb u f p t r 2 段地址4 8 h 设置缓冲器r _ d o u tb u rp t r 3 段地址5 0 h ;设置输入数据缓冲器长度为3 字节 设置缓冲器r d i n b u f p t r l 段地址5 8 h 设置缓冲器r d i nb u fp t r 2 段地址6 0 h ;设置缓冲器r d i nb u fp t r 3 段地址6 8 h 设置rl e nd i a gb u l l 长度为8 字节 设置rl e nd i a g _ b u f 2 长度为8 字节 设置缓冲器r _ d i a gb u f _ p t r i 段地址7 0 h 设置缓冲器r _ d i a g _ b u f _ p t r 2 段地址7 8 h 设置r l e n c n t d b u n 长度为8 字节 设置rl e nc n t r lb u r 2 长度为8 字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论