收藏 分销(赏)

EDA电梯控制器专业课程设计.docx

上传人:精**** 文档编号:2727279 上传时间:2024-06-05 格式:DOCX 页数:17 大小:150.11KB 下载积分:8 金币
下载 相关 举报
EDA电梯控制器专业课程设计.docx_第1页
第1页 / 共17页
EDA电梯控制器专业课程设计.docx_第2页
第2页 / 共17页


点击查看更多>>
资源描述
目 录 1 绪论 1 1.1 电梯控制系统发展史 1 1.2 电梯发展方向 2 2 基于EDA技术四层电梯控制器设计 2 2.1 系统控制要求 2 2.1.1 四层电梯控制器功效 2 2.1.2 控制方案制订 3 3 系统仿真 6 4 结束语 6 参考文件 7 附录: 8 摘要:电梯是机械电器紧密结合大型机电产品.关键由机房、井道、轿厢、门系统和电气控制系统组成。伴随建筑业发展,为建筑内提供上下交通运输电梯工业也在日新月异地发展着。电梯已不仅是一个生产步骤中关键设备,更是一个工作和生活中必需设备,完全能够预想到,伴随社会发展,电梯产品在大家物质文化生活中地位将和汽车一样,成为关键运输设备之一。 关键字:电梯控制器,CPLD,VHDL状态机 ,EDA。 1 绪论 1.1 电梯控制系统发展史 从1889年出现第一台名副其实电梯后,电梯控制技术经历了四次大发展。 1)继电器控制阶段。在计算机技术还没有广泛应用于工业控制领域时,继电器一直充当着工业控制中关键部件,电梯控制系统领域也不例外。上世纪八十年代以前,继电器控制一直是中国电梯控制系统全部。到了八十年代,继电器控制仍然是电梯控制系统中主导技术。   (2)PLC控制阶段。PLC实际上是一个通用工业控制技术,在进入电梯控制系统以前,已被广泛应用于其它多种工业控制领域。在中国,从上世纪八十年代末开始,PLC逐步被各电梯厂家成功应用到电梯控制系统中。九十年代,中国自己开发、设计电梯控制系统中,PLC系统占绝对主导地位。   (3)微机控制系统。实际上,在发达国家著名电梯生产厂家中,如奥斯、三菱等,它们根本就没有用过PLC作为电梯控制系统。早在上世纪七十年代末期或八十年代初,专用微机电梯控制系统已经投入市场。早期中国中国生产专用微机电梯控制系统,基础上全部是从国外引进技术产品。直到上世纪九十年代中期起,才逐步有中国自行开发设计比较成功专用微机电梯控制系统产品投入市场。   (4)采取串行通信技术新型电梯专用微机控制系统。早期微机控制系统和PLC控制系统一样,对外围全部开关和按钮信号输入及点灯信号输出全部是经过一对一方法实现,这么带来问题是系统接线很多,对生产、安装和维修保养全部带来很大不便。所以,电梯控制系统设计者们开始追求串行传送方法。到了上世纪九十年代,伴随计算机串行通信技术不停发展,该技术也被应用到了电梯控制系统中。采取此技术电梯专用微机控制系统中,除主控制器外,在操纵箱中、每个召唤盒内全部装有CPU板,它们和主控制器之间经过串行通信传送大量信号。这么,使各部件之间既能传输比过去更多信息,以完成更丰富、更优异操作功效,又大大降低了系统接线。 1.2 电梯发展方向 众所周知,电梯是一个耗能很大产品,伴随国家“节能减排”政策普及,电梯行业已经纷纷行动起来,生产绿色环境保护产品是时代要求。除了驱动系统方面是个很关键步骤,控制系统跟环境保护也是亲密相联。在欧洲已经有这方面认识,对控制系统也提出了很多要求,如对电阻波、电子板等标准更严格。中国作为全球电梯市场一个关键部分,也会得到慢慢规范和完善。假如在中国全部使用电梯中假如有80%采取节能电梯,将节电800亿千瓦时,几乎等于三峡大坝十二个月发电量。 在政府采购中对节能性能给予优先考虑。现在中国电梯销售有靠近二分之一数量在政府采购领域或跟政府采购相关,所以政府采购对节能电梯倾向性能够有效扶持节能电梯产业。因为节能电梯产量不大,市场价格偏高,政府在早期可将其作为环境保护项目给政策倾斜,或对采取节能电梯开发商以政策鼓。 节能电梯技术应和其它技术相结合。和节能相比,使用者现在更为看重还是电梯安全性能。传统电梯安全部件正在改用双向安全系统,电梯使用安全技术也在不停扩大。将节能技术和其它安全技术相结合有利于提升产品品质,更轻易进入采购商视野。 2 基于EDA技术四层电梯控制器设计 2.1 系统控制要求 2.1.1 四层电梯控制器功效 四层电梯控制器功效以下: (1) 每层电梯入口处设有上下请求开关,电梯内设有用户抵达层次停站请求开关。 (2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。 (3)电梯每秒上升(下降)一层楼。 (4)电梯抵达有停站请求楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至实施完最终一个请求信号停留在目前层。 (5)能记忆电梯内外全部请求,并根据电梯运行规则按次序响应,每个请求信号保留至实施后消除。 (6)电梯运行规则—当电梯处于上升模式时,只响应比电梯所在位置上楼请求信号,由下而上逐一实施,直到最终一个上楼请求实施完成;假如高层有下楼请求,则直接升到由下楼请求最高楼层,然后进入下降模式。当电梯处于下降模式则和上升模式相反。 (7)电梯初始状态为一层开门状态 2.1.2 控制方案制订 经过一个统一1秒为周期时钟来触发状态机。依据电梯实际工作情况,能够把状态机设置10个状态,分别是“电梯停留在1层”、“开门”、“关门”、“开门等候第1秒”、“开门等候第二秒”、“开门等候第三秒”、“开门等候第四秒”、“上升”、“下降”和“停止”状态。各个状态之间转换条件可由上面设计要求所决定。 2.1.3 控制方案实现 (1)四层电梯控制系统实体实际: 首先考虑输入端口,一个异步复位端口reset,用于在系统不正常时回到初始状态;在电梯外部,必需有升降请求端口,一层最低,不需要下降请求,四层是最高层。不需要有上升请求,二层和三层则上升,下降请求端口全部有;在电梯内部,应该设有各层停留请求端口;一个电梯时钟输入端口,该输入时钟以1秒为周期,用于驱动电梯升降及开门关门等动作;另有一个是按键时钟输入端口,时钟频率比电梯时钟高。 其次是输出端口,有升降请求信号,就得有一个输出端口来指示请求是否被响应,有请求信号以后,该输出端口输出逻辑’1’,被响应以后则恢复逻辑’0’;一样,在电梯内部也应该有这么输出端口来显示各层停留是否被响应;在电梯外部,需要一个端口来指示电梯现在所处位置;电梯开门关门状态也能用一个输出端口来指示;为了观察电梯运行是否正确,能够设置一个输出端口来指示电梯升降状态。 在端口定义中定义position时选择是整型数据类型(INTEGRER),关键是为了在电梯运行是便于观察。整型直接能够看出电梯运行是楼层改变,在第一层就显示1,第二层就显示2,很直观。当然,position定义也能够用标准逻辑矢量(STD_LOGIC_VECTOR)来定义,不过假如选择标准逻辑矢量,在电梯运行时就不是那么好观察。这里是四层电梯控制器,那么只需定义一个两位就足够显示了。”00”时候对应电梯第一层,”11”时候就对应第四层。不过”11”十进制值为3,没有和层次显示第四层想对应起,所以就放弃选择标准逻辑矢量来定义position,而选择整型。 (2) 四层电梯控制系统结构体设计 首先说明一下状态。状态机设置了10个状态,分别是电梯停留在1层(stopon1)、开门(dooropen)、关门(doorclose)、开门等候第1秒(doorwait1)、开门等候第2秒(doorwait2)、开门等候第3秒(doorwait3)、开门等候第4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在实体说明中定义完端口以后,在结构体个之间需要有以下定义语句,来定义状态机。TYPE lift_state IS (stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3, doorwait4,up,down,stop) --电梯10个状态 SIGNAL mylift:lift_state; --定义为lift类型信号mylift 在结构体中,设计了两个进程相互配合,一个状态机进程作为关键进程,另外一个是信号灯控制进程作为辅助进程。状态机进程中很多判定条件是以信号灯进程产生信号灯信号为依据,而信号灯进程中信号灯熄灭又是有状态机进程中传出clearup和cleardn信号来控制。 在状态机进程中,在电梯上升状态中,经过对信号灯判定,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是经过对信号灯判定,决定下一个状态是继续下降还是是停止;在电梯停止状态中,判定是最复杂,经过对信号判定,决定电梯是上升、下降还是停止。 在信号灯控制进程中,因为使用了专门频率较高按键时钟,所以使得按键灵敏度增大,不过时钟频率不能过高,不然轻易使按键过于灵敏。按键后产生点亮信号灯(逻辑值为’1’)用于作为状态机进程中判定条件,而clearup和cleardn信号为逻辑’1’使得对应信号灯熄灭。 (3)四层电梯控制系统设计 输入输出端口定义表 Buttonclk 按键时钟 Liftclk 电梯时钟 Reset 异步复位信号 f1upbutton 第一层上升请求 f2upbutton 第二层上升请求 f3upbutton 第三层上升请求 f2dnbutton 第二层下降请求 f3dnbutton 第三层下降请求 f4dnbutton 第四层下降请求 Fuplight 上升指示灯(1 到4) Fdnlight 下降指示灯(1 到4) stop1button 第一层到站请求 stop2button 第二层到站请求 stop3button 第三层到站请求 stop4button 第四层到站请求 Stoplight 停止指示灯(1 到4) Position 电梯位置(1 到4) Doorlight 门灯 Udsig 电梯模式 表2-1输入输出端口定义表 Table 2-1 input and output port definition table 源程序见附录 3 系统仿真 图 3-1 系统仿真 Figure 3-1 system simulation 图3-1描述是系统仿真波形。电梯初始状态是停在一楼,电梯门打开,当有些人操作是会先关闭然后升到对应楼层,门打开。因为不能够自行关门,所以,停留四秒以后自动关闭电梯门。人在电梯内部按对应楼层,电梯抵达对应楼层后门打开。而且在对应楼层等候。 4 结束语 因为CPLD含有性能稳定、抗干扰能力强、设计配置灵活等特点,配合VHDL语言突出优点,所以在工业控制方面得到了广泛应用。相信以后必将受到世界范围内电子工程设计人员人员广泛关注和普遍欢迎。本文中设计电梯控制器利用以CPLD为实现载体,以VHDL为描述语言实现了电梯升降舒适感和运行可靠性,更相信在以后智能建筑中得到广泛应用和推广。 参考文件 [1]潘松,黄继业. EDA技术实用教程.北京:科学出版社,. [2]徐志军,徐光辉编著 《 CPLD/FPGA开发和应用 》,电子工业出版社,. 附录: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY dianti IS PORT(buttonclk:IN STD_LOGIC; liftclk:IN STD_LOGIC; reset:IN STD_LOGIC; f1upbutton:IN STD_LOGIC; f2upbutton:IN STD_LOGIC; f2dnbutton:IN STD_LOGIC; f3upbutton:IN STD_LOGIC; f3dnbutton:IN STD_LOGIC; f4dnbutton:IN STD_LOGIC; fuplight:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 1); fdnlight:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 1); stop1button,stop2button,stop3button,stop4button:IN STD_LOGIC; stoplight:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 1); position:BUFFER INTEGER RANGE 1 TO 4; doorlight:OUT STD_LOGIC; udsig:BUFFER STD_LOGIC); END dianti; ARCHITECTURE art OF dianti IS TYPE lift_stata IS (stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop); SIGNAL mylift:lift_stata; SIGNAL clearup:STD_LOGIC; SIGNAL cleardn:STD_LOGIC; BEGIN ctrlift:PROCESS(reset,liftclk) VARIABLE pos:INTEGER RANGE 4 DOWNTO 1; BEGIN IF reset='1' THEN mylift<=stopon1; clearup<='0'; cleardn<='0'; ELSE IF liftclk'EVENT AND liftclk='1' THEN CASE mylift IS WHEN stopon1=>doorlight<='1'; position<=1;pos:=1; mylift<=doorwait1; WHEN doorwait1=>mylift<=doorwait2; WHEN doorwait2=>clearup<='0'; cleardn<='0'; mylift<=doorwait3; WHEN doorwait3=>mylift<=doorwait4; WHEN doorwait4=>mylift<=doorclose; WHEN doorclose=>doorlight<='0'; IF udsig='0' THEN IF position=4 THEN IF stoplight="0000"AND fuplight="0000" AND fdnlight="0000" THEN udsig<='1'; mylift<=doorclose; ELSE udsig<='1';mylift<=down;clearup<='1'; END IF; ELSIF position=3 THEN IF stoplight="0000" AND fuplight="0000" and fdnlight="0000" THEN udsig<='0'; mylift<=doorclose; ELSIF stoplight(4)='1' OR fdnlight(4)='1' THEN udsig<='0'; mylift<=up;clearup<='1'; ELSE udsig<='1';mylift<=down;clearup<='1'; END IF; ELSIF position=2 THEN IF stoplight="0000" AND fuplight="0000" AND fdnlight="0000" THEN udsig<='0';mylift<=doorclose; ELSIF (stoplight(3)='1' OR fuplight(3)='1') THEN udsig<='0';mylift<=up;clearup<='1'; ELSIF (stoplight(4)='1' OR fdnlight(4)='1') THEN udsig<='0';mylift<=up;clearup<='1'; ELSIF (fdnlight(3)='1') THEN udsig<='0';mylift<=up;clearup<='1'; ELSE udsig<='1';mylift<=down;clearup<='1'; END IF; ELSIF position=1 THEN IF stoplight<="0000" AND fuplight<="0000" AND fdnlight<="0000" THEN udsig<='0';mylift<=doorclose; ELSE udsig<='0';mylift<=up;clearup<='1'; END IF; END IF; ELSIF udsig='1' THEN IF position=1 THEN IF stoplight<="0000" AND fuplight<="0000" AND fdnlight<="0000" THEN udsig<='0'; mylift<=doorclose; ELSE udsig<='0';mylift<=up;cleardn<='1'; END IF; ELSIF position=2 THEN IF stoplight<="0000" AND fuplight<="0000" AND fdnlight<="0000" THEN udsig<='1';mylift<=doorclose; ELSIF stoplight(1)='1' OR fuplight(1)='1' THEN udsig<='1'; mylift<=down;cleardn<='1'; ELSE udsig<='0';mylift<=up;clearup<='1'; END IF; ELSIF position=3 THEN IF stoplight<="0000" AND fuplight<="0000" AND fdnlight<="0000" THEN udsig<='1';mylift<=doorclose; ELSIF (stoplight(2)='1' OR fdnlight(2)='1') THEN udsig<='1';mylift<=down;cleardn<='1'; ELSIF (stoplight(1)='1' OR fuplight(1)='1') THEN udsig<='1';mylift<=down;cleardn<='1'; ELSIF (fuplight(2)='1') THEN udsig<='1';mylift<=down;cleardn<='1'; ELSE udsig<='0';mylift<=up;clearup<='1'; END IF; ELSIF position=4 THEN IF stoplight<="0000" AND fuplight<="0000" AND fdnlight<="0000" THEN udsig<='1';mylift<=doorclose; ELSE udsig<='1';mylift<=down;cleardn<='1'; END IF; END IF; END IF; WHEN up=>position<=position+1; pos:=pos+1; IF pos<4 AND(stoplight(pos)='1' OR fdnlight(pos)='1') THEN mylift<=stop; ELSIF pos=4 AND (stoplight(pos)='1' OR fdnlight(pos)='1') THEN mylift<=stop; ELSE mylift<=doorclose; END IF; WHEN down=>position<=position-1; pos:=pos-1; IF pos>1 AND(stoplight(pos)='1' OR fuplight(pos)='1') THEN mylift<=stop; ELSIF pos=1 AND (stoplight(pos)='1' OR fdnlight(pos)='1') THEN mylift<=stop; ELSE mylift<=doorclose; END IF; WHEN stop=>mylift<=dooropen; WHEN dooropen=>doorlight<='1'; IF udsig='0' THEN IF position<=3 AND(stoplight(position)='1' OR fuplight(position)='1')THEN clearup<='1'; ELSE clearup<='1';cleardn<='1'; END IF; ELSIF udsig='1' THEN IF position>=2 AND(stoplight(position)='1' OR fdnlight(position)='1')THEN cleardn<='1'; ELSE clearup<='1';cleardn<='1'; END IF; END IF; mylift<=doorwait1; END CASE; END IF; END IF; END process ctrlift; ctrlight:PROCESS(reset,buttonclk) BEGIN IF reset='1' THEN stoplight<="0000";fuplight<="0000";fdnlight<="0000"; ELSE IF buttonclk'EVENT AND buttonclk='1' THEN IF clearup='1' THEN stoplight(position)<='0';fuplight(position)<='0'; ELSE IF f1upbutton='1' THEN fuplight(1)<='1'; ELSIF f2upbutton='1' THEN fuplight(2)<='1'; ELSIF f3upbutton='1' THEN fuplight(3)<='1'; END IF; END IF; IF cleardn='1' THEN stoplight(position)<='0';fdnlight(position)<='0'; ELSE IF f2dnbutton='1' THEN fdnlight(2)<='1'; ELSIF f3dnbutton='1' THEN fdnlight(3)<='1'; ELSIF f4dnbutton='1' THEN fdnlight(4)<='1'; END IF; END IF; IF stop1button='1' THEN stoplight(1)<='1'; ELSIF stop2button='1' THEN stoplight(2)<='1'; ELSIF stop3button='1' THEN stoplight(3)<='1'; ELSIF stop4button='1' THEN stoplight(4)<='1'; END IF; END IF; END IF; END process ctrlight; END art;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服