已阅读5页,还剩59页未读, 继续免费阅读
(测试计量技术及仪器专业论文)复合式干燥机的集散控制系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士论文复合式干燥机的集散控制系统 x6 2 4 7 4 0 摘要 本文基于实际工程背景,研究与探讨了复合式干燥机集散控制系统的设计与分 析。该系统是将集散计算机系统( d c s ) 与可编程序控制器( p l c ) 融合为一体的、 过程自动化与信息管理自动化相结合的新型综合集散控制系统。简要介绍了干燥杌 系统目前所存在的问题。阐述了复合式干燥机集散控制系统的总体方案与设计,顺 序控制设计法在p l c 梯形图程序设计中的应用,给出了节能且提高干燥空气质量的 一种设计方法。讨论了在界面设计中界面的用色规则,复合式干燥机集散控制系统 主控界面的设计与功能,p l c 与p c 之间通讯,以及分布式应用系统结构实现。研 究了随着技术的发展,生产管理的特殊需要。 关键词:集散控制系统,复合式干燥机系统,网络通讯,p l c 程序设计,主控 界面,客户机服务器,数据库。 硕士论文复合式干燥机的集散控制系统 a b s t r a c r r i nt m sp a p e r ,ac o m p u t e rc o n t r o ls y s t e mw h i c h1 sa p p l i e dt o ac o m p l e xo z y e ri s d e s i g n e da n da n a l y z e db a s e d o nt h ep r o j e c tb a c k g r o u n d n l es y s t e mi sc o n s i s to fd c s a n dp l cw h i c hc a d a c h i e v e p r o c e s s i n g a u t o m a t i o na n di n f o r m a t i o nm a r l _ a g e m e n t a u t o m a t i o n d u r i n gm yw r i t i n gt h i sp a p e r , i n t r o d u c e d t h ep r e s e n ts i t u a t i o na n dd i s c u s s e d t h et o t a lp l a na n dd e s i g n a t i o no ft h ec o n t r o ls y s t e m a p p l i e dt h et h e o r yo fs e q u e n t i a l c o n t r 0 1t ot h ep l c1 a d d e rl o g i cp r o g r a m g i v e l lo u tam e t h o dw h i c h c a ns a v ee n e 喀ya n d i r a p r o v et h eh e a t - a i rq u a i l t y d i s c u s s e d t h ec o l o rm l eo f t h ei n t e r f a c e ,a n di n t r o d u c e dt h e d e s i g na n df u n c t i o no f t h em a s t e r c o n t r o li n t e r f a c e d i s c u s s e dt 1 1 ec o m m u n i c a t i o no fp c a n dp c 、p ca n dp l c ,a n dd e s i g n e dt h es o f t w a r eb a s e do nt h ed i s t r i b u t es t r u c t u r e d i s c u s s e dt h ed e m a n dt h a tm a n a g et h ef a c t o r y 、v i t l lt l ed e v e l o p m e n to f t e c h n o l o g y k e y w o r d ld c s ,c o m p l e xd r y e r ,n e t w o r kc o m m u n i c a t i o n ,p l cp r o g r a m m i n g t h em a s t e r 。c o n t r o li n t e r f a c e ,c l i e n t s e r v e r ,d a t a b a s e , - 2 硕士论文复合式干燥机的集散控制系统 1 绪论 1 1 工程背景 压缩空气是仅次于电力的第二大动力能源,但未经处理过的压缩空气中还含有 相当数量的水分,它们是设备,管道和阀门锈蚀的根本原因,冬季饱和湿空气中的 水分析出并结冰还会堵塞气动系统中的小空通道,甚至会使管道及附件冻结而损 坏,或增大气流阻力,或产生误动作,由于气动元件失效造成的停工,维修等间接 经济损失,其代价往往是直接的经济损失的上百、上千倍。 所以必须把这些水分从压缩空气中除去,这个过程就叫做气体干燥。现在工业 生产中已经普遍采用复合式干燥机对压缩空气进行深度干燥处理,即冷冻式干燥机 与吸附式干燥机的串联系统。 对冷冻式干燥机的控制技术已经很成熟,利用变频技术就可达到控制要求。对 于吸附式干燥机,时序控制是其工作程序最常采用的方法,即通过可编程逻辑控制 器( p l c ) 按预先设定的时间次序对吸附干燥机的各个阀门进行控制,但p l c 固定 在一标准的露点设定值,无法根据实际的工作环境条件而实时调节,以及对于出气 量要求的不同,也无法对露点值有不同的设定,这难免会造成极大的能源浪费;通 过对露点的测量,当超过露点的预定值则干燥机吸附切换,可以达到节能的目的,但 是吸附时间过长,会导致吸附热散失,出现再生能量供应不足的现象,吸附剂负载 过重,能力下降:如果仅对单一的p l c 进行智能控制则又显得成本太高,因为对于 干燥器所处的外部工作环境而言并不是在某一时期内剧烈变化的,毋需频繁的调整 露点值,看来项目重点在于对吸附式干燥机的改造。 综上所述,对于多台p l c 控制的干燥机组,如何才能随时根据实际要求有效地 调节多台干燥器的露点值得到合格的成品气,又要大大的节约成本,从而达到高效节 能的效果则成为该复合式干燥机系统项目的关键。 本文基于这一工程背景讨论与研究了集散型计算机系统( d c s ) 与可编程序 控制器( p l c ) 融合为一体的、过程控制自动化与信息管理自动化相结合的新型综 合集散型控制系统。 1 2 系统分析 本课题基于山东滕州压缩机厂实际项目,滕州压缩机厂目前有八台工作机组 硕士论文复合式干燥机的集散控制系统 c d s l 8 0 0 a 型复合式干燥机( 额定处理量4 0 m 3 m i n ,冷冻压缩机功率7 4 5 7 w ,工作 压力o 8 m p a ) ,主要以人工操作为主,运行人员劳动强度大,虽然目前干燥机控制 系统以由传统的继电器逻辑电路顺序型控制系统逐步过渡到以可编程序控制器 ( p l c ) 为主要核心的控制系统,由于p l c 内部采用微处理器进行逻辑控制,提高 了控制的灵活性与可靠性。但是该控制系统仍未摆脱继电接触控制系统的控制模 式,p l c 仅作为复杂的继电器组来使用,所有的操作均以开关或按钮组合来进行干 燥机吸附再生流程的选择和启停,未能完全发挥出p l c 强大的智能化、网络化功能、 操作不方便直观,离现代控制技术水平存在一定差距。 由于早期的技术条件的限制,没有露点控制信号,只有通过缩短吸附式干燥机 的工作周期( 一般为4 1 0 m i n ) 即吸附时间持续越短,成品气干燥的效果越好,来 获得较低的露点。但这是以能耗较高为代价的,尤其在深夜和假日用气量少等低负 荷运做的条件下,还按原工作周期运行,就会出现“大马拉小车”的费能现象,且 对干燥器运行的性能和寿命都有着不利的影响。 缺乏友好、便捷的人机交互控制界面,目前干燥机控制通常是由操作台开关控 制,系统缺乏灵活的流程组合功能,且对于露点、温度、湿度没有实时记录无法 使管理人员及时的统计、汇总,更无法与厂内的网络互连,不能达到信息管理自动 化的目的。 1 3 主要构思和工作任务 滕州压缩机厂的复合式干燥机系统由8 个干燥机组组成。其中,每套干燥机组 由冷冻式干燥机和吸附式干燥机串联构成。其主要工作流程见图1 1 ,压缩空气的 干燥过程是:湿空气先进入空气一空气热交换器预冷,再进入空气冷媒热交换器冷 却干燥。冷却干燥后的空气,进入a 吸附塔进行深度干燥。最后露点合格的空气又 进入空气- 空气热交换器预热,形成热的干燥空气( 成品气) 进入用气管道供生产使 用。同时利用一部分成品气吹入b 吸附塔,使硅胶再生( 恢复吸水能力) 。经过 定工作时间后a ,b 塔切换:b 塔干燥,a 塔再生,重复以上过程吼 硕士论文复台式干燥帆的集数控制系统 一曙 伊1 厶。 墨* 癯e 气* + t 气j 忆一 日4 4 2 气 吲bl i 气一4 热2 * * r l ,_ 一一d = 1 2 k q 数据传输方式 全双工 半双工 6 2 2m o d b u s 协议 图6 4r s 一2 3 2r s 一4 8 5 性能对比 r s 一4 8 5 标准只是一个物理的通讯接口标准,要实现总线监控还要在此基础上建 立自己的高层通讯协议。在复合式干燥机集散控制系统中,拟采用的通讯协议是 m o d b u s 协议,该协议是m o d i c o n 公司的一个全数字、开放式现场总线的通信协议。 目前,已成为自动化仪表行业事实上的工业标准。近年来,越来越多的p l c 及各种 智能仪表厂家都把m o d b u s 通讯协议作为与主系统通讯的首选,m o d b u s 的使用也越 来越广泛,系统的连接也变得容易实现。 m o d b u s 协议采用主从式通讯方式,即主设备( 主控机) 能初始化传输( 查询) , 其他从设备( p l c ) 根据主控机查询提供的数据做出相应的反应。主控机只能有一 台,每个p l c 都有指定的地址,地址范围在o 1 2 7 之间( 其中0 为广播地址) 。 主控机可单独和p l c 通信。也能以广播的方式和所有的p l c 进行通信。如果单 独通信,p l c 返回一个消息作为回应,如果是以广播的方式查询的。则不作任何回 硕士论文复合式干燥机的集散控制系统 应。m o d b u s 建立了主控机查询的格式:设备( 或广播) 的地址、功能代码、所有要 发送的数据、错误检测域。 p l c 回应消息也由m o d b u s 协议构成,包括确定要行动的域、任何要返回的数据、 错误检测域。如果在消息接收过程中发生一个错误,或p l c 不能执行其命令,p l c 将建立一个错误消息并把它作为回应发送给主控机。查询回应如图6 5 所示 主 图6 5 主从查询一回应周期 m o d b u s 协议支持两种数据传输模式:a s c i i 和r t u ,这两种模式在报文结构、 功能命令上是相同的仅帧信息的表示方法不同。 1 a s c i i 模式 以a s c i i 模式建立通信时,信息是以字符为基本单位传输的,每一字符用a s c i i 码表示,如:数字9 8 在a s c i i 模式下占用2 字节:0 0 1 1 t 0 0 l0 0 1 1 1 0 0 0 ,用以 表示字符9 和8 。显然,以a s c i i 模式通信要比r t u 模式花两倍的时间 和空间开销,优点是表示通用性好,读取容易。 a s c i i 模式的消息格式如图6 6 。 l 地址功能码数据l r c 校验码l 2 字符2 字符n 字符2 字符 图6 6a s c i i 模式 每个字节的位:1 个起始位、7 个数据位、1 个奇偶校验位,无校验则无、l 个 停止位( 有校验) ,2 个停止位( 无校验) 错误检测域:l r c ( 纵向冗余检测) 2 r t u 模式 以r t u 模式建立通信时,信息是以8 位二进制方式传输的,如:数字9 8 在r t u 硕士论文 复合式干燥机的集散控制系统 模式下用8 位二进制0 1 1 0 0 0 1 0 表示,这种方式的晟大好处是在同等传输速率 下,可以比a s c i i 模式传输较多的信息,该模式在智能仪表上被普遍采用。 r t u 模式的消息格式如图6 7 。 图6 7r t u 模式 每个字节的位:1 个起始位,8 个数据位,1 个奇偶校验位、无校验则无,1 个 停止位( 有校验) 、2 个停止位( 无校验) 比较这两种数据传输模式,r t u 模式具有在相同速率下较a s c i i 模式具有更大 的数据流量,所以在该设计中采用r t u 传输模式。 根据图6 7 得知r t u 模式下通信帧是由地址域、功能码域、数据域、校验域 组成。 大致可以分析如下: 1 地址域 帧首的地址域包含8 位,可能的p l c 的地址是o 2 4 7 ( 十进制) ,单个的p l c 的 地址范围是1 、2 4 7 。主控机通过将要联络的p l c 的地址放入消息中的地址域来 选通p l c ,当p l c 发送回应消息时,它把自己的地址放入回应的地址域中,以 便主控机知道是哪一个p l c 做出回应。地址0 用作广播地址,以便所有的p l c 都能认识。 2 功能码域 功能码域包含8 位,可能的代码范围是十进制的0 2 5 5 。当消息从主控机发往 p l c 时,功能码域将告之p l c 需要执行哪些行为,例如0 3 读寄存器数据,0 6 预置寄存器数据。当p l c 回应时,它使用功能码域来指示是正常回应还是某种 错误发生( 称为异常回应) 。对于正常回应,p l c 仅回应相应的功能码;对于异 常回应,p l c 返回一等同于正常代码的代码,但在功能码的最高位设置为l 。 例如;主控机发送给p l c 消息要求读取寄存器数据,将产生代码0 0 0 0 0 0 1l ( 十 六进制0 3 h ) ,对正常回应,p l c 回应相同的功能码,对异常回应,它返回1 0 0 0 0 0 1l ( 十六进制8 3 h ) 。 m o d b u s 标准功能码如图6 8 所示: 硕士论文复合式千燥机的集散控制系统 0 l读n 个内部位 0 2读n 个内部位 0 3读n 个内部字 0 4 读n 个内部字 0 5写 1 个内部位 0 6写1 个内部字 1 5 写n 个内部位 1 6写 n 个内部字 图6 8m o d b u s 功能码 3 数据域 数据域是由两个十六进制数集合构成的,范围0 0 f f 。从主控机发给p l c 消息 的数据域包含附加的信息:p l c 必须用于进行执行有功能码定义的行为。例如 如果主控机需要从p l c 读取寄存器数据( 功能码0 3 1 t ) ,数据域指定了起始寄存 器地以及要读取的寄存器数量;如果主控机需要写一组p l c 寄存器( 功能码 i o h ) ,数据域指明了要写的起始寄存器以及要写的寄存器数量,数据域的数据 字节数,要写入寄存器的数据。如果没有错误发生,从p l c 返回的数据域包含 请求的数据。如果错误发生,此域包含一异常代码主控机应用程序可以判断 下一步行动。 4 校验域 为避免通讯线路因躁声干扰引起某些数据位的改变而导致误码,r t u 帧采用了 c r c ( 循环冗余校验) ,它包含一个1 6 位值,校验域的内容是通过对消息内容 进行循环冗余校验方法得出的。下一节将详细介绍c r c 校验。 6 2 3c r c 校验程序 由于现场状况、传输距离等诸多可能出现的因素影响,主控机与p l c 之间的通 讯数据常会发生无法检测的错误。为了防止错误所带来的影响,一般在通信是采取 数据校验的方法,c r c 校验码是常用的校验方式之一。 c r c 校验码是利用除法和余数的原理来作错误侦测的。它由两个字节构成,以 下为c r c 的计算步骤: 1 设置c r c 寄存器,并给其赋值为f f f f 。 2 将将数据的第一个8 位字符与c r c 寄存器低8 位进行异或并把结果存入 硕士论文 复合式干燥机的集散控制系统 c r c 寄存器。 3 c r c 寄存器向右移一位,最高位( m s b ) 补零,移出并检查最低位( l s b ) 。 4 如果l s b 为0 ,重复第三步;若l s b 为1 ,c r c 寄存器与多项式码相异或。 5 重复第三步与第四步直到8 位移位全部完成。此时一个8 位数据处理完毕。 6 重复第二步至第五步直到所有数据全部处理完成。 7 最终c r c 寄存器的内容即为c r c 值。 明白了c r c 校验码的产生过程,编写程序来就简单多了。编写c r c 校验码程序 有两种方法:计算法与查表法。在这里使用查表法,这样可以大大减少c p u 的运算 时间。下面简要介绍c r c 函数编写的源代码: p r o c e d u r et f o r m 2 c r c ( v a rc h e c k s t r :a r r a yo fb y t e :i n :i n t e g e r ) v s ro n e c h r ,u c h c r c h i ,u c h c r c l o :b y t e : l e n t h ,i :i n t e g e r : u i n d e x :l o n g i n t :字符串长度 b e g i n i e n t h := i n + l : u e h c r c h i := $ f f : u c h c r c l o := $ f f : f o ri := 1t ol e n t hd o 进行c r c 计算 b e g i n o n e c h r := c h e c k s t r i - 1 : u i n d e x := u c h c r c h ix o ro n e c h r : u c h c r c h i := u c h c r c l ox o ra u c h c r c h i u i n d e x : u c h c r c l o := a u c h c r c l o u i n d e x : e n d : h i b y t e := u c h c r c h i : l o b y t e := u c h c r c l o : e n d : a u c h c r c h i 、a u c h c r c l o 分别是c r c 校验码的高、低位字节值表。因篇幅太长这 里就不再列举了。 硕士论文复台式干燥机的集散控制系统 6 2 4 实现方法 主控机与p l c 通信程序的编写可以有两种方法:一个是利用w i n d o w s 下面的a p i 函数直接编写;一个是采用m i c r o s o f t 公司提供的m s c o m m 通信控件进行编程。本 课题使用第二种方法,m s c o m m 控件的具体用法在4 3 3 节已做详细介绍,这里不在 重复了,着重叙述建立通讯的步骤: 1 利用m s c o m m 的c o m m p o r t 、s e t t i n g s 方法选择串行口并初始化,建立包含 地址、功能码、寄存器起始地址和寄存器数的请求数组,调用c r c 一1 6 函 数将上述数据生成c r c 校验码并附加在尾部,以组成完整的请求帧。 2 利用m s c o m m 的o u t p u t 方法,将上述请求帧送入串行口。 3 按照查询方式检查输人缓冲区字节数以及帧首部的两个字节,确认响应 数据的正确性。 4 用m s c o n m 的i n p u t 方法读取响应数据,计算出数据的字节长度,为了更好 地保证数据的正确,对p l c 返回的数据同样进行校验,例如返回的数据组 的长度是n ,对前n 一2 个字节进行c r c 校验,检验结果与最后两个字节想 吻合,则说明p l c 返回了正确的代码,并将随后的数据读入数组,进行处 理和转换即可得到实际采集值。 下面是主控机读取p l c 模拟量的程序: p r o c e d u r et f o r n l t i m e r l t i m e r ( s e n d e r :t o b j e c t ) :读取p l c 温度参数 v a r s e n d s t r :a r r a yo fb y t e : r c v s t r :a r r a yo fb y t e : t e m p s t r l ,t e m p s t r 2 :b y t e : b e g i n i fm s c o m m l p o r t o p e n = t r u et h e n b e g i n s e t l e n g t h ( s e n d s t r ,8 ) :请求命令 s e n d s t r 0 := $ 0 1 : s e n d s t r 1 := $ 0 3 : s e n d s t r 2 := $ o o : s e n d s t r 3 := $ o a :模拟量赋予第十个字 s e n d s t r 4 := $ 0 0 : s e n d s t r 5 := $ 0 1 : f o r m 2 c r c ( s e n d s t r ,5 ) :c r c 校验 硕士论文 复台式干燥机的集散控制系统 s e n d s t r 6 := h i b y t e : s e n d s t r 7 := l o b y t e ; m s e o m m l i n b u f f e r c o u n t := 0 : m s c o m m l o u t p u t := s e n d s t r : s l e e p ( 1 2 0 ) : i fm s c o m m l i n b u f f e r c o u n t = 7t h e n b e g i n i := m s e o f n m l i n b u f f e r c o u n t : s e t l e n g t h ( r c v s t r ,i ) : r c v s t r := m s c o m m l i n p u t :接收p l c 返回值 f o r m 2 c r c ( r c v s t r ,i - 3 ) :c r c 校验 t e m p s t r l := h i b y t e : t e m p s t r 2 := l o b y t e : i f ( t e m p s t r l = r c v s t r i - 2 ) a n d ( t e m p s t r 2 = r c v s t r i 一1 ) t h e n b e g i n f o rk := ot oi 一1d o 6 3 主控机链入m i s 网 复合式干燥机集散控制系统网络分层结构中,为了实现将集中控制室的控制画 面、计量等信号传送到车间及相应地生产管理部门微机上的功能,并充分利用厂现 有的条件和设备,通过网卡及调制解调器将主控机链入厂内部局域网。为了能使主 控室的主机与网上的其它主机建立正确的数据通讯,主机与网上的其它主机的通讯 环境必须完全匹配亦即双方必须具有相同的通讯协议。在本次系统设计中,通讯双 方采用t c p i p 协议进行通讯。 6 3 1t g p i p 协议简述 与o s i 参考模型不同,t c p i p 不是作为标准人为制定的,而是产生于网间网研 究和应用实践中,二者的内部细节差别很大。t c p i p 协议分层模型如图6 9 所示。 嘲盯惦 r乞;呲h n 出出 钋肌 硕士论文复合式干燥机的集散控制系统 其中: 图6 9t c p i p 协议分层模型 l 应用层 向用户提供一组常用的应用程序,如文件传输访问、电子邮件等。但严格说来, 该层并不属于w p ,蹬网闻网协议。 2 传输层 提供应用程序间( 即端到端) 的通讯。其功能包括以下三个方面: 格式化信息流。 提供可靠传输。 解决不同应用程序的识别问题。 3 网间网层( i p ) 负责相邻计算枫之阍的通讯。其功能包括以下三个方面: 处理来自传输层的分组发送请求:收到请求后,将分组装入i p 数据报, 填充报头,选择去信宿机的路径,然后将数据报发往适当的网络接口。 处理输入数据报:首先检套其合法性,然后进行寻径一如该数据已 到达信宿地,则去掉报头,将余下部分即传输层分组交给适当的传输 协议,反之,则转发该数据报。 处理i c m p 报文、路径、流控、拥塞等问题。 4 网络接翻层 这是t c p i p 协议的最低层,负责接收i p 数据报并通过网络发送之,或者从网 络上接收物理帧,抽出i p 数据报,交给i p 层。 从t c p i p 协议的分层模型可知,t c p i p 协议静核心部分是传输层( t c p 与u d p ) 、 网络层( i p 协议) 和物理接口层( 面向各种物理硬件技术) ,它向外提供的只是原 始的编程界面如w i n d o w ss o c k e t s 编程界面( w i n d o w ss o c k e t s 编程界面是一套开 议 报 蹴 一 一 燃 硕士论文复合式干燥机的集散控制系统 放的、支持多种协议的w i n d o w s 下的网络编程接口) ,而不是直接的用户服务,用 户服务要靠核外的应用程序实现。应用程序靠调用w i n d o w ss o c k e t s 的a p i 实现相 互之间的通讯,而w i n d o w ss o c k e t s 又利用下层的网络通讯协议功能和操作系统调 用实现实际的通讯工作。它们之间的关系如图6 1 0 所示。 应用程序ail应用程序bl 王 王 网间网编程界面如w i n d o w ss o c k e t sl 王 通讯服务界面如t c p h p 核心协议i 王 操作系统如w i n d o w s 9 8 e 物理通讯介质 图6 1 0 分层模型的软件实现 因此,我们可将整个t c p i p 核心协议连同物理介质一起,都看成是提供应用 程序间相互通讯的一种设施即网间网设施,它比物理通讯设施抽象、通用、功能更 强大,它的目的在于向不同主机上的应用程序提供相互通讯的手段。 在多任务操作系统w i n d o w s 9 8 中,进程是应用程序存在和活动的形式,一个应 用程序的一个实例对应于一个进程,故网间网设施即进程间通讯的设施。 在网间网进程通讯中,为了能识别不同的进程,它除了用主机地址标识进程以 外,还采用一个比进程更低级、更稳定的概念即端口来标识进程,端口是t c p u d p 与应用程序打交道的访问点t s a p ( 传输层服务访问点t r a n s p o r ts e r v i c ea c c e s s p o i n t ) ,是t c p u d p 协议软件的一部分。同时,考虑到网间网还必须能识别不同的 协议族( 这是因为不同协议的地址格式不同、工作方式不同,且端口分配也是相互 独立的。) ,因此,网间网中一个全局唯一地标识一个进程需要一个三元组: 协议, 本地地址,本地端口号) ,称这种描述为s o c k e t 。而一个完整的网间网进程通讯实 例是由二个进程组成的,所以,一个完整的网间网进程通讯需要一个五元组来标识: 协议,本地地址,本地端口号,远地地址,远地端口号 ,称这种描述为s o c k e t 连接。 硕士论文 复合式干燥机的集数控制系统 6 3 2 主控机与两络主机的通讯 在该集散控制系统中,集控室的主机与网络上的其它主机之间通讯方式有两种 选择方式即广播式、应答式。考虑到广播式发送将加重m i s 网的负担,且网络上同 时干燥机运行情况的主机数较少,又加上广播数据的开销远远高于直接传输数据的 开销( 每广播一个报文,m i s 网上所有主机都要对它进行处理。) ,因此,在本系统 中我们采用客户一服务器通讯方式。 1 客户一服务器模型 在t c p i p 网间网中。最主要的进程闻相互作用的模型就是客户一服务器模型。 发起连接的一方即客户,由它发出连接请求,接收连接的一方主机中有一个特 殊的后台进程即服务器进程。服务器进程随系统一起启动并常驻内存,它拥有 一个全局公认的s o c k e t ( 含本地主机地址和服务器t s a p ) ,网络上的任何客户 都可以向它发出连接请求和信息请求。客户根据对方的s o c k e t 向对方发起连 接请求,在请求报文中同时给出自己的t s a p 及所在主机地址即本地s o c k e t 。 服务器进程监听其公认s o c k e t ,一旦收到连接请求,服务器进程便选择一个自 由s o c k e t 并向客户发回新s o c k e t ,继续监听公认s o c k e t 。而客户与服务器进 程之间通过新s o c k e t 完成通讯。具体原理如图6 1 1 所示。 服务器客户 图6 1 1s o c k e t 通讯示意图 2 客户一服务器软件的实现 在用w i n d o w ss o c k e t s 实现的客户一服务器中,由于w i n d o w ss o c k e t s 的 服务是以动态连接库w i n s o c k d l l 形式实现的,所以必须首先调用w s a s t a r t u p 0 函数对w i n d o w ss o c k e t s ,d l l 进行初始化,协商w i n s o c k 的版本支持,并分配必要 的资源。其次,由于w i n d o w s 基于消息的特点,且w i n d o w ss o c k e t s 支持异步选择 机制,允许应用程序通过函数w s a a s y n c s e l e c t 0 提名一个或多个感兴趣的网络事 件,如f d r e a d 、f d _ w r i t e 、f d s o n n e c t 、f da c c e p t 等网络事件,当被提名的网 硕士论文复合式干燥机的集散控制系统 络事件发生时,w i n d o w s 应用程序的主界面窗口将会收到一个消息,这样就可以实 现相应事件的驱动了。第三,在应用程序主界面窗体释放前,先调用 w s 从s y n c s e l e c t ( ) 函数禁止网络事件,随后通过调用c l o s e s o c k e t0 来关闭套接口, 再调用w s a c l e a n u p0 终止对w i n d o w ss o c k e t s d l l 的使用,并释放资源,以备下一 次使用。第四,在通讯过程中,应用程序可通过w s a g e t l a s t e r r o r0 获取相应地错 误代码。具体实现如图6 1 2 所示。 服务器 iw s a s t a r m p ol s o c k e t ( ) 。: 客户器 i & n 1 4 0 i w 蠹蠢( ) i 1 w s a a s 学8 e l e c t ( ) is 。c + k e t ( ) i i 号t e n o 、7 a s y n i c s e l 训i 等待客户连接请求请求连接 。0 ,、 f d _ c o t m e c t 事件等待服务器连接响应 - i i 一旧李芋 w s a a s y n c s e l e c t o - i c l o s e s o c k e t o i i t w s a c i e a n u d gl 图6 1 2s o c k e t 通信过程流程图 硕士论文 复合式干燥机的集散控制系统 在此,就客户一服务器的软件实现所涉及到的i n d o w s s o c k e t 函数简述如下: 1 仓9 建s o c k e t 一一一s o c k e t ( ) 应用程序在通讯之前,首先必须调用s o c k e t0 函数,以便向系统申请一个唯一 属于自己的s o c k e t 号亦即指定五元组描述中的“协议”元。若调用参数出错 或系统中已无空闲s o c k e t ,s o c k e t 0 将返回s o c k e t e r r o r 。反之,则返回系 统为其分配的s o c k e t 号。 2 指定本地地址b i n d 一一- b i n d0 b i n d ( ) 函数将本地主机地址和本地端口t s a p 与由s o c k e t 0 创建的s o c k e t 号 联系起来,即将本地s o c k e t 地址赋予s o c k e t ,以指定五元组描述中的本地二 元。若参数指定的地址无效或者端口已被其它程序占用,b i n d0 将返回 s o c k e t e r r o r 。 3 建立s o c k e t 连接一一c o n n e c t0 在客户端,c o n n e c t0 函数首先将本地主机地址和本地端口t s a p 与由系统调用 s o c k e t0 创建的s o c k e t 号联系起来,即将本地s o c k e t 地址赋予s o c k e t ,其次, 向服务器发出连接请求,以指定五元组描述中的最后二元即远地主机地址和远 地端口t s a p 。若连接失败,c o n n e c t0 将返回s o c k e t e r r o r 。 4 接收s o c k e t 连接一一a c c e p t0 在服务器端,a c c e p t 0 函数从全局公认的s o c k e t 上接收客户连接请求并予以 承认则s o c k e t 连接便建立了亦即在欲相互通讯的两个进程间建立了联系。 除此以外,a c c e p t0 函数还将返回一个新的s o c k e t 号并利用新s o c k e t 响应 a c c e p t 0 所接收的客户请求。若接收失败,a c c e p t 0 将返回i n v a l i d s o c k e t 。 5 监听s o c k e t 一一一l i s t e n 0 l i s t e n ( ) 函数用于面向连接的服务器,以指定在全局公认的s o c k e t 上排队请 求的个数。 6 发送数据一s e n d ( s o c k i d ,b u f f ,b u f f l e n ) s e n d 0 函数适用于面向连接的数据发送。s o c k i d 是指发送端的s o c k e t 号;b u f f 是指向存放发送数据的缓冲区的地址指针;b u f f l e n 是指发送缓冲区的大小。 若发送成功,s e n d ( ) 返回所发送数据的总数。 7 接收数据一一- r e c v ( s o c k i d ,b u f f ,b u f f l e n ) r e c v 0 函数用于面向连接的数据接收。s o c k i d 是指接收端的s o c k e t 号:b u f f 是指向接收读出数据的缓冲区的地址指针;b u f f l e n 是指接收缓冲区的大小。 若接收成功,r e c v ( ) 返回所读入数据的总数。 硕士论文复合式干燥机的集散控制系统 结论 本课题基于滕州压缩机厂的复合式干燥机控制改造工程,作者有幸负责控制系 统的设计和规划,分析比较了可编程逻辑控制技术与集散控制技术在控制系统中的 应用,独立完成了控制系统主控软件的设计与调试以及可编程控制器的编写,分析 了主控机与p l c 间的通讯协议及实现方法。经过系统调试和试运行,干燥机控制系 统一切运行正常不久将投
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广元创业园停电通知书
- 广州一小区停运通知书
- 广汽本田召回通知书
- 废旧回收站停工通知书
- 康馨雅苑停电通知书
- 延津返乡政策调整通知书
- 建国南苑停电通知书
- 建造茅草屋停工通知书
- 开学后两周放假通知书
- 开工辞退员工通知书
- GB/T 18983-2017淬火-回火弹簧钢丝
- GB 30080-2013铜及铜合金熔铸安全生产规范
- FZ/T 51010-2014纤维级聚对苯二甲酸1,3-丙二醇酯切片(PTT)
- 国开电大-数学分析专题研究-形考任务1-3答案
- 串联和并联说课最终版
- 附表3临时工程验收记录表
- 道德与法治《我学习,我快乐》评课稿
- SC200施工升降机说明书
- 五年级下册音乐教案-7.5掀起你的盖头来 |湘艺版
- 沉默的螺旋课件
- 华东师大版七年级体育与健康《冰雪类运动的基本技术》(一等奖课件)
评论
0/150
提交评论