【《基于PLC的智能车库门控制系统的软件设计案例》3800字】_第1页
【《基于PLC的智能车库门控制系统的软件设计案例》3800字】_第2页
【《基于PLC的智能车库门控制系统的软件设计案例》3800字】_第3页
【《基于PLC的智能车库门控制系统的软件设计案例》3800字】_第4页
【《基于PLC的智能车库门控制系统的软件设计案例》3800字】_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

基于PLC的智能车库门控制系统的软件设计案例目录TOC\o"1-3"\h\u10088基于PLC的智能车库门控制系统的软件设计案例 1303741.1PLC内部使用地址 1123121.2控制流程图 225441.3梯形图程序 3140301.4语句表程序 121.1PLC内部使用地址为了编程和阅读方便,定义了PLC内部使用地址,例如内存M,定时器T和内部输出D等,如表4-1所示。表4-1PLC内部使用地址名称PLC地址备注振动>阈值M0振动=阈值M1振动<阈值M2开锁定时T0预设1秒自动关门定时T1预设5秒上锁定时T2预设1秒振动浮点数D20测量范围下限浮点数D24模拟量输入测量范围上限浮点数D26模拟量输入测量范围下限浮点数D28模量输入测量上限减下限浮点数D30测量范围上限减下限浮点数D32模拟量输入减模拟量输入下限浮点数D340到1.0标准值D36测量范围乘以标准值D38振动整数D42振动测量范围上限D200预设10000振动测量范围下限D202预设0振动传感器阈值D204预设3000模拟量输入测量范围上限D206预设32000模拟量输入测量范围下限D208预设-320001.2控制流程图否否开机初始化人员通过?是执行开锁、开门,报警否是是执行关门否否是否否开门到位?停止开门关门到位?是停止关门,执行上锁是S1检测到开门否延迟5S?人员通过?是参数设定,设定模拟量输入开始否振动>=阈值报警输出是模拟量读取转换图4-1控制流程图控制程序流程图见图4-1所示。开机初始化,使用M8002开机运行一个扫描周期,进行参数设定,设定振动测量范围上下限,设定模拟量输入上下限,设定振动阈值,设定FX3U-4AD模拟量输入模块参数。开机检测到没有人或者物,红外传感器不动作,检测到没有开门到位,没有关门到位,自动执行关门,关门到位,停止关门,执行上锁,上锁按定时执行,定时到上锁完成,停止上锁。检测到人员或者物品,自动执行开锁,开锁按定时执行,定时到,表示开锁完成,执行开门,开门过程中启动报警输出,开门到上限开门到位行程动作,停止开门。检测到人员或者物品离开,延迟一定时间,定时到,执行自动关门,关门到下限行程开关动作,停止关门,执行上锁,上锁按定制执行,定时到完成上锁。关门过程中检测到人员或者物品,停止关门,执行开门。系统启动后,读取模拟量输入,将振动转成振动值,比较实时振动值与设定的报警阈值,大于或者等于报警阈值,启动报警输出。1.3梯形图程序开机初始化,设定振动测量范围上下限,上限预设100%,就是100.00,2位小数,K10000;下限预设0%。开机初始化M8002为ON一个扫描周期,比较D200是否等于0,D200等于0表示没有设定过参数,则使用预设值进行赋值,D200=10000,为了方便使用整数,后2位是小数,表示振动范围上限为100.00%,不等于0表示用户设定过参数,不需要使用预设值进行设定,使用用户设定参数REF_Ref29867\r\h[9]。同样的,比较D202是否等于0,D202等于0表示D202没有设定过参数,则使用预设值进行赋值,D202=0,表示振动范围下限为0.00%,不等于0表示用户设定过D202参数,不需要使用预设值进行设定D202,使用用户设定D202参数。图4-2开机初始化设定振动测量范围上下限开机初始化,设定振动传感器阈值,预设30%,就是30.00,2位小数,就是3000。比较D204是否等于0,D204等于0表示D204没有设定过参数,则使用预设值进行赋值,D204=3000,表示振动阈值为30.00%,不等于0表示用户设定过D204参数,不需要使用预设值进行设定D204,使用用户设定D204参数。图4-3开机初始化设定振动传感器阈值开机初始化,设定模拟量输入范围上下限;预设模拟量输入上限32000,下限-32000 开机初始化M8002为ON一个扫描周期,比较D206是否等于0,D206等于0表示没有设定过参数,则使用预设值进行赋值,D206=32000,不等于0表示用户设定过参数,不需要使用预设值进行D206设定,使用用户设定D206参数。同样的,开机初始化M8002为ON一个扫描周期,比较D208是否等于0,D208等于0表示没有设定过参数,则使用预设值进行赋值,D208=-32000,不等于0表示用户设定过参数,不需要使用预设值进行D208设定,使用用户设定D208参数。图4-4开机初始化设定模拟量输入测量范围上下限开机初始化,设定模拟量输入模块,设定电压输入-10V到10V;关闭通道2,3,4。TO命令是写入,第1个K0表示模块1,第2个K0表示模块存储缓冲区0,H0FFF0的F表示关闭相应的通道,表示关闭了通道2,3,4,H0FFF0最后一个0表示通道1为电压输入,规格为-10V到10V。K1表示写入一个字数据。图4-5开机初始化设定模拟量输入参数模拟量读取,保存在D0中。为了能够进行模拟量输入模拟仿真,加M8000常闭触点,这样此段程序不运行,可以手动更改模拟量输入,实现了测试。FROM是读取命令,K0表示特殊模块1,K10表示模块缓冲区10。D0用于指定保存数据开始地址,K1表示读取一个数据。图4-6模拟量输入读取振动转换。为了进行计算,先进行数据格式转换,首先将D0保存的整数格式数据(范围-32000到32000整数)使用FLT命令转成浮点数,保存在D20中(范围-32000.0到32000.0),然后使用FLT命令将设定的振动测量范围上下限整数转成浮点数格式保存在D22和D24中,使用FLT命令将设定的模拟量输入范围上下限整数转成浮点数格式保存在D26和D28中。 使用浮点数减法指令DESUB命令,D30=D26-D28,计算模拟量输入上限减模拟量输入下限,得模拟量输入量程。使用浮点数减法指令DESUB命令,D32=D22-D24,计算测量范围上限减测量范围下限,得测量范围量程。使用浮点数减法指令DESUB命令,D34=D20-D28,计算模拟量输入实测值D20减模拟量输入下限,得模拟量输入跟下限差值。然后使用浮点数除法指令DEDIV命令,D36=D34/D30,得到0到1.0的标准值。然后使用浮点数乘法指令DEMUL命令,D38=D36*D32,得标准值乘以模拟量。然后使用浮点数加法指令DEADD命令,D40=D38+D24,得浮点数振动实测值。然后使用INT浮点数转整数指令,将浮点数转成整数,结果保存在D42中,D42就是实测振动值,范围0到100.0%,就是0到10000。图4-7模拟量输入转换振动跟阈值比较使用比较命令CMP比较实测振动值D42和设定振动阈值D204,结果保存在M0,M1,M2中,D42>D204则M0为ON,M1,M2为OFF;D42=D204则M0为OFF,M1为ON,M2为OFF;D42<D204则M0为OFF,M1为OFF,M2为ON。图4-8振动和振动阈值比较门锁开锁检测到没有物体或人,X0动作,X0上升沿(从OFF到ON瞬间),Y3线圈得到一个电,Y3常开的触点关闭,进行自锁,执行一个门锁开锁。或者是执行一个手动打开门,按下手动开门按钮,X3动作,Y3线圈得电,执行手动开锁。开锁定制到,T0常闭触点断开,Y3线圈失电,停止开锁。或者执行门锁上锁,Y4线圈得电,则停止开锁。图4-9门锁开锁输出控制开锁定时,执行门锁开锁,Y3常开触点闭合,启动定时器T0,定时1秒。图4-10门锁开锁的定时开门开锁稳定时线圈达到通电T0常闭未开的触点完全闭合,Y0线圈得到通电,Y0常闭未开的触点完全闭合后即可进行手动自锁,执行系统启动后将开门功能输出。检测至多次开门启动到位,X1常规关闭的触点自动断开,Y0线圈自动失电,停止开门启动重新开门。或者如果检测至没有执行电源开关,Y1常常关闭的触点就会断开,Y0线圈就可能会开始失电,Y0和Y1进行互锁。图4-11开门输出控制自动关门定时。检测到开门到位X1常开触点闭合,检测到没有人员或者物品,X0常闭触点闭合,没有关门到位X2常闭触点闭合,则启动定时器T1,定时5秒。图4-12自动关门定时关门。自动自闭关门定时输出得到一个T1常闭的开触点自动闭合,y1线圈自动得到一个电动自锁器并使Y1常闭的开触点自动闭合,进行电动自锁,执行自动关门定时输出。检测至常规关门触点到位后若X2常规关闭触点自动断开,则关门Y1线圈就可能会自动失电,停止关门启动继续关门。或者检测到有人或者物,红外传感器动作,X0常闭触点断开,停止关门,或者执行初始化,M8002常开触点闭合,没有关门到位X2为OFF,没有检测到红外传感器动作X0为OFF,没有执行正转,Y0为OFF,则Y1线圈得电,执行开机关门。或者手动按关门按钮,X4常开触点闭合,Y1线圈得电,Y1常开触点闭合进行自锁,执行手动关门。检测到关门到位,X2常闭触点断开,停止关门,Y1线圈失电。或者检测到执行正转,Y0常闭触点断开,Y1线圈失电,停止关门。或者检测到有人员或者物品,X0常闭触点断开,Y1线圈失电,停止关门。图4-13关门输出控制门锁上锁。检测到关门完成,Y1下降沿(从ON变为OFF),Y4线圈得电,Y4常开触点闭合进行自锁,执行门锁上锁。上锁按定时执行,定时到,T2常闭触点断开,Y4线圈失电,停止上锁。或者检测到执行门锁开锁Y3常闭触点断开,Y4线圈失电,停止上锁,进行开锁和上锁互锁。或者检测到执行开门,Y0常闭触点断开,停止上锁,或者检测到人员或者物品,X0常闭触点断开,Y4线圈失电,停止上锁。图4-14门锁上锁输出控制报警输出。执行正转开门,Y0常开触点闭合;或者执行门锁开锁Y3常开触点闭合;或者执行关门Y1常开触点闭合;或者执行门锁上锁Y4常开触点闭合;或者检测到振动大于阈值M0为ON;或者检测到振动等于阈值M1为ON,则Y2线圈得电,执行声音报警输出。图4-15报警输出控制END是程序结束标志,表示到此程序结束。图4-16程序结束标志1.4语句表程序表4-4语句表程序REF_Ref156\r\h[10]PLC信息:FXCPUFX3U/FX3UC步号行间声明指令I/O(软元件)0开机初始化,设定振动测量范围上下限,0上限预设100%,就是100.00,2位小数,K100000下限预设0%0LDM80021MPS2AND=D200K07MOVK10000D20012MPP13AND=D202K018MOVK0D20223开机初始化,设定振动传感器阈值,23预设30%,就是30.00,2位小数,就是300023LDM800224AND=D204K029MOVK3000D20434开机初始化,设定模拟量输入范围上下限,34预设模拟量输入上限32000,下限-3200034LDM800235MPS36AND=D206K041MOVK32000D20646MPP47AND=D208K052MOVK-32000D20857开机初始化,设定模拟量输入模块,设定电压输入-10V到10V,57关闭通道2,3,457LDM800258TOK0K0H0FFF0K167模拟量读取,保存在D0中67LDM800068ANIM800069FROMK0K10D0K178振动转换78LDM800079FLTD0D2084FLTD200D2289FLTD202D2494FLTD206D2699FLTD208D28104DESUBD28D26D30117DESUBD22D24D32130DESUBD20D28D34143DEDIVD34D30D36156DEMULD36D32D38169DEADDD38D24D40182INTD40D42187振动跟阈值比较187LDM8000188CMPD42D204M0195门锁开锁195LDPX000197ORPX003199ORY003200ANIT0201ANIY004202OUTY003203开锁定时203LDY003204OUTT0K10207开门207LDT0208ORY000209ANIX001210ANIY001211OUTY000212自动关门定时212LDX001213ANIX000214ANIX0

温馨提示

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

评论

0/150

提交评论