三菱PLC编程实例和编程优化9篇
- 格式:doc
- 大小:925.00 KB
- 文档页数:24
1.一个逻辑很强的程序【Q】检测出口温度来控制20个风扇,温度高于设定值就启动一台风扇,一分钟后温度还高于设定值就启动下一台风扇,。
一分钟后温度降到设定值以下就关闭一台风扇。
上面的动作容易实现,现在的问题是每个风扇都有手动和自动两个状态。
假如说现在1,6,9,18,20。
5台在自动,其余手动温度高于设定值启动1,温度还高于设定值怎么才能跳过2,3,4,5 直接启动6呢?我考虑的是为每台风扇编号,首先检测哪几台在自动状态,然后控制,可是这样逻辑太复杂了有没有简单的办法????【A】fx3u可以对位变址,程序比较简单,循环控制即可:FX2N就要用移位,间接获得自动位,M0仍为1min计时,M10~M29为自动状态标识,M100~M119为对应的风扇输出,其他为缓存位:2.三菱PLC程序动作分析【Q】这是其中的一部分为什么C1线圈已得电,可下面的 RST M100却没有得电这里的动作为什么是M19得电一次,M100置位一次,M19再得电一次,变复位一次。
如此循环。
我用的是在线模拟,有关系吗?【A】考虑一个扫描周期内的状态:首先M100是OFF的,C1被M100的常闭触点一直复位中;M19置ON后第一个扫描周期第一句指令:当M19第一次为ON时,C0计数到1,线圈变为ON;第二句指令:C0将M100置位为ON;(注意此时程序还没有扫描到后面,C1仍然是在被复位的状态。
而内存中的M100状态已经由OFF变为ON了)第三句指令:M100将C0复位;第四句指令:虽然M19和M100同时为ON,但是因为C1仍在被复位的状态,所以此时没有计数。
虽然输出线圈显示为ON了,但计数值仍为0;第五句指令:C1计数值为0,未达到设定值1,触点保持为OFF,未能复位M100;第六句指令:M100保持为ON,未能继续复位C1;第二个扫描周期:第一句指令:当M19仍为ON时,但M100也为ON了,所以C0不计数,保持上一次被复位的状态OFF;第二句指令:C0状态为OFF,对M100线圈无影响,M100仍为ON;第三句指令:M100继续将C0复位;第四句指令:虽然M19和M100同时为ON,但C1仍没有计数。
1课题一 PLC 空制运料小车、课题要求:要求:根据给定的设备和仪器仪表,在规定的时间内完成程序的设计、安装、调试等 工作,达到课题规定的要求。
、设计原则:按照完成的工作是否达到了全部或部分要求,由实验老师对其结 果进行评价。
、课题内容:其中启动按钮S01用来开启运料小车,停止按钮S02用来手动停止运料小车(其工作 方式见考核要求2选定)。
按S01小车从原点起动,KM1接触器吸合使小车向前运行直到 碰SQ 盯关停,KM 接触器吸合使甲料斗装料5秒,然后小车继续向前运行直到碰 SQ3开 关停,此时KM 接触器吸合使乙料斗装料3秒,随后KM 接触器吸合小车返回原点直到碰 SQ 开关停止,KM 接触器吸合使小车卸料5秒后完成一次循环。
正在演示中四、设计要求:1、编程方法由实验老师指定:⑴用欧姆龙系列PLC 简易编程器编程 ⑵用计算机软件编程2、 工作方式:A. 小车连续循环与单次循环可按S07自锁按钮进行选择,当S07为“ 0”时小车连 续循SQ1向前KM1甲料斗eSQ2KM2OSQ3乙料斗KM3环,当S07为“1 ”时小车单次循环;B.小车连续循环,按停止按钮S02小车完成当前运行环节后,立即返回原点,直到碰SQ开关立即停止;当再按启动按钮S01小车重新运行;C.连续作3次循环后自动停止,中途按停止按钮S02则小车完成一次循环后才能停止;3、按工艺要求画出控制流程图;4、写出梯形图程序或语句程序;5、用欧姆龙系列PLC简易编程器或计算机软件进行程序输入;6、在考核箱上接线,用电脑软件模拟仿真进行调试。
五、输入输出端口配置:六、问题:小车工作方式设定:A.小车连续循环与单次循环可按S07自锁按钮进行选择,当S07为“ 0”时小车连续循环,当S07为“1”时小车单次循环;B.小车连续循环,按停止按钮S02小车完成当前运行环节后,立即返回原点,直到碰SQ 开关立即停止;当再按启动按钮S01小车重新运行;C连续作3次循环后自动停止,中途按停止按钮S02小车完成一次循环后才能停止。
三菱PLC编程实例第一篇:三菱PLC编程实例三菱PLC编程实例可编程控制器控制实例 1 十字路口红绿灯控制【动作要求】一般十字路口红绿灯控制,依下所列之条件动作。
I/O 组件:红灯黄灯绿灯绿灯闪烁东西向 Y0 Y1 Y2 Y2 南北向 Y10 Y11 Y12 Y12 时间 35秒 5秒 25秒 5秒洗手间自动冲水控制【动作要求】1.第一个使用者站满 3 秒钟作第一次冲水 2 秒钟。
2.第一个使用者离开后作第二次冲水 3 秒钟。
3.若第二个使用者于第二次冲水3 秒钟之内进入则停止冲水,待第二个使用者离开后再冲水 3 秒钟。
I/O 组件:X0 为感应侦测输入信号Y0 为输出冲水地下停车场出入红绿号志控制【动作要求】为节省空间,地下停车场的出入口为单线道因此设置红绿号志藉以管制车辆的进出顺序。
一楼及地下一楼各设一个红绿灯号志,信道一次只供一部车进入,平时号志为绿灯当车道有车时则为红灯。
I/O 组件:红灯由Y0 控制,绿灯由Y1 控制。
另设一楼感应器X0,地下一楼感应器 X1。
喷水池控制【动作要求】前后四排水柱,当开关X0 ON 时,依序从第一排水柱开始喷水10 秒、再来第二排喷水 10 秒,第三排喷水 10 秒、第四排喷水 10 秒后又回到第一排喷水,开关 X0 OFF 则喷水停止。
重新打开开关 X0,仍从第一排水柱开始喷水。
I/O 组件:1.喷水开关输入 X0。
2.第一排水柱输出Y0、第二排水柱输出Y1、第三排水柱输出Y2、第四排水柱输出 Y3。
自动门控制【动作要求】.人一靠自动门,马达立刻高速开门(正转),后经过开门减速开关转变为低速,直到碰触开门极限开关马达暂停。
.在感应器侦测无人经 0.5 秒,激活马达高速关门(反转),后经过关门减速开关转变为低速,直到碰触关门极限开关马达停止。
.在关门期间,感应器感应到门前有人,自动门不许作关门动作,暂停0.5 秒,而后自动转为开门动作。
.自动门动作期间停电自动门停止,在复电后亦能正常操作。
plc编程实例PLC基础实验9实验二十五自动售货机的模拟控制在自动售货机单元完成本实验一、实验目的了解并掌握可逆计数器CTUD在控制系统中的应用,灵活运用定时器TON使他实现脉冲的功能。
二、实验说明M1、M2、M3三个复位按钮表示投入自动售货机的人民币面值,YO货币指示(例如:按下M1则Y0显示1),自动售货机里有汽水(3元/瓶)和咖啡(5元/瓶)两种饮料,当Y0所显示的值大于或等于这两种饮料的价格时,C或D发光二极管会点亮,表明可以购买饮料;按下汽水按钮或咖啡按钮表明购买饮料,此时A或B发光二极管会点亮, E或F 发光二极管会点亮,表明饮料已从售货机取出;按下ZL按钮表示找零,此时Y0清零,延时0.6S找零出口 G发光二极管点亮。
深圳稻草人自动化培训三、实验面板图:四、实验步骤1、输入输出接线2、打开主机电源将程序下载到主机中。
3、启动并运行程序观察现象。
五梯形图参考程序输入M1 M2 M3 QS CF ZLI0.0 I0.1 I0.2 I0.3 I0.4 I0.5输出Y0 A B C D E F G Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7实验二十六 加工中心的模拟控制在加工中心单元完成本实验 一、实验目的1.通过对加工中心实验的模拟,掌握运用PLC 解决实际问题的方法。
2.熟练掌握PLC 的编程和调试方法。
二、实验说明T1、T2为钻头,用其实现钻功能;T3、T4为铣刀,用其实现铣刀功能。
X 轴、Y 轴、Z 轴模拟加工中心三坐标的六个方向上的运动。
围绕T1-T4刀具,分别运用X 轴的左右运动;Y 轴的前后运动;Z 轴的上下运动实现整个加工过程的演示。
在X 、Y 、Z 轴运动中,用DECX 、DECY 、DECZ 按钮模拟伺服电机的反馈控制。
用X 左、X 右拨动开关模拟X 轴的左、右方向限位;用Y 前、Y 后模拟Y 轴的前、后限位;用Z 上、Z 下模拟刀具的退刀和进刀过程中的限位现象。
三菱PLC编程实例介绍本文将介绍三菱PLC编程的实例。
我们将使用GX Works3软件进行PLC程序的编写和调试。
在本文中,我将分享三个不同的实例,每个实例都有不同的功能和目的。
通过这些实例,您将能够了解三菱PLC编程的基本原理和实践技巧。
实例一:交通信号灯控制系统问题描述:设计一个交通信号灯控制系统,使其能够按照指定的时间间隔控制交通信号灯的状态。
设备和组件:•三菱PLC(例如:FX3U系列)•交通信号灯模拟器•交通信号灯灯泡•输入开关按钮程序设计:1.首先,创建一个新的GX Works3项目并添加PLC型号为FX3U的PLC模块。
2.在程序编辑器中,创建一个主程序,并在主程序中添加以下步骤:–设置输入和输出点的引脚号码,并将其命名。
–创建一个计时器,用于控制信号灯的时间间隔。
–使用逻辑和计时器指令,编写逻辑来控制交通信号灯的状态。
–添加适当的条件来处理不同的信号灯模式,例如红灯-黄灯-绿灯的循环。
3.在主程序中添加一个循环,使程序能够持续运行。
4.在系统参数设置中,将PLC模式设置为“RUN”模式,并将程序下载到PLC模块中。
5.连接交通信号灯模拟器和输入开关按钮到PLC的输入和输出点上。
6.按下输入开关按钮,观察交通信号灯的状态是否按照预期进行切换。
在这个实例中,您将学会如何创建一个基本的交通信号灯控制程序,并使用逻辑和计时器指令来控制PLC的输出。
实例二:自动灌溉系统问题描述:设计一个自动灌溉系统,使其能够根据土壤湿度和时间设置来自动控制水泵的启停。
设备和组件:•三菱PLC(例如:Q系列)•湿度传感器•水泵•电磁阀•输入开关按钮程序设计:1.创建一个新的GX Works3项目并添加PLC型号为Q 的PLC模块。
2.在程序编辑器中,创建一个主程序,并在主程序中添加以下步骤:–设置输入和输出点的引脚号码,并将其命名。
–创建一个定时器,用于控制自动灌溉系统的时间设置。
–使用逻辑和计时器指令,编写逻辑来判断土壤湿度是否超过设定值。
1课题一 PLC 空制运料小车、课题要求:要求:根据给定的设备和仪器仪表,在规定的时间内完成程序的设计、安装、调试等 工作,达到课题规定的要求。
、设计原则:按照完成的工作是否达到了全部或部分要求,由实验老师对其结 果进行评价。
、课题内容:其中启动按钮S01用来开启运料小车,停止按钮S02用来手动停止运料小车(其工作 方式见考核要求2选定)。
按S01小车从原点起动,KM1接触器吸合使小车向前运行直到 碰SQ 盯关停,KM 接触器吸合使甲料斗装料5秒,然后小车继续向前运行直到碰 SQ3开 关停,此时KM 接触器吸合使乙料斗装料3秒,随后KM 接触器吸合小车返回原点直到碰 SQ 开关停止,KM 接触器吸合使小车卸料5秒后完成一次循环。
正在演示中四、设计要求:1、编程方法由实验老师指定:⑴用欧姆龙系列PLC 简易编程器编程 ⑵用计算机软件编程2、 工作方式:A. 小车连续循环与单次循环可按S07自锁按钮进行选择,当S07为“ 0”时小车连 续循SQ1向前KM1甲料斗eSQ2KM2OSQ3乙料斗KM3环,当S07为“1 ”时小车单次循环;B.小车连续循环,按停止按钮S02小车完成当前运行环节后,立即返回原点,直到碰SQ开关立即停止;当再按启动按钮S01小车重新运行;C.连续作3次循环后自动停止,中途按停止按钮S02则小车完成一次循环后才能停止;3、按工艺要求画出控制流程图;4、写出梯形图程序或语句程序;5、用欧姆龙系列PLC简易编程器或计算机软件进行程序输入;6、在考核箱上接线,用电脑软件模拟仿真进行调试。
五、输入输出端口配置:六、问题:小车工作方式设定:A.小车连续循环与单次循环可按S07自锁按钮进行选择,当S07为“ 0”时小车连续循环,当S07为“1”时小车单次循环;B.小车连续循环,按停止按钮S02小车完成当前运行环节后,立即返回原点,直到碰SQ 开关立即停止;当再按启动按钮S01小车重新运行;C连续作3次循环后自动停止,中途按停止按钮S02小车完成一次循环后才能停止。
1.一个逻辑很强的程序【Q】检测出口温度来控制20个风扇,温度高于设定值就启动一台风扇,一分钟后温度还高于设定值就启动下一台风扇,。
一分钟后温度降到设定值以下就关闭一台风扇。
上面的动作容易实现,现在的问题是每个风扇都有手动和自动两个状态。
假如说现在1,6,9,18,20。
5台在自动,其余手动温度高于设定值启动1,温度还高于设定值怎么才能跳过2,3,4,5 直接启动6呢?我考虑的是为每台风扇编号,首先检测哪几台在自动状态,然后控制,可是这样逻辑太复杂了有没有简单的办法【A】fx3u可以对位变址,程序比较简单,循环控制即可:FX2N就要用移位,间接获得自动位,M0仍为1min计时,M10~M29为自动状态标识,M100~M119为对应的风扇输出,其他为缓存位:2.三菱PLC程序动作分析【Q】这是其中的一部分为什么C1线圈已得电,可下面的RST M100却没有得电这里的动作为什么是M19得电一次,M100置位一次,M19再得电一次,变复位一次。
如此循环。
我用的是在线模拟,有关系吗?【A】考虑一个扫描周期内的状态:首先M100是OFF的,C1被M100的常闭触点一直复位中;M19置ON后第一个扫描周期第一句指令:当M19第一次为ON时,C0计数到1,线圈变为ON;第二句指令:C0将M100置位为ON;(注意此时程序还没有扫描到后面,C1仍然是在被复位的状态。
而内存中的M100状态已经由OFF变为ON了)第三句指令:M100将C0复位;第四句指令:虽然M19和M100同时为ON,但是因为C1仍在被复位的状态,所以此时没有计数。
虽然输出线圈显示为ON了,但计数值仍为0;第五句指令:C1计数值为0,未达到设定值1,触点保持为OFF,未能复位M100;第六句指令:M100保持为ON,未能继续复位C1;第二个扫描周期:第一句指令:当M19仍为ON时,但M100也为ON了,所以C0不计数,保持上一次被复位的状态OFF;第二句指令:C0状态为OFF,对M100线圈无影响,M100仍为ON;第三句指令:M100继续将C0复位;第四句指令:虽然M19和M100同时为ON,但C1仍没有计数。
因为计数器计数需要前边的条件状态有个OFF---->ON的状态变化,而此时M10和M100保持了上一个扫描周期的状态,一直是ON,没有变化,所以C1计数值保持为0,虽然输出线圈的状态是ON 的,但因实际计数值为0,未达到1,所以C1触点的状态仍为OFF;第五句指令:C1保持为OFF,未能复位M100;第六句指令:M100保持为ON,未能继续复位C1;此后就继续保持这种状态,也就是楼主图片中的情况;直到M19再次出现OFF---->ON的状态,使C1得到一个计数值使其触点状态变为ON,将M100复位,再由M100的常闭触点将C1复位。
这个过程中应该也能观察到C0前面M19和M100都为ON而C0计数值也为0的情况。
3.三菱PLC的FOR-NEXT指令中脉冲指令如何动作【Q】:for k4m8013 incp d10nextm8013 incp d20按照指令说明执行的结果应该是d10 是d20的四倍但是我在gx developer中仿真的结果是d10 = d20请问为什么【A】:分析:INC P 是脉冲型的,程序从下扫到下,只执行一次INC行为程序本来的意思是FOR K4 后,NEXT前的程序四次循环后再执行NEXT以下的句子由于INCP限制它只执行一次,所以是相同的,如果改成INC就应该是4倍了(仿真通过)进展说实话,我也是看了楼主的贴才好好看这个指令,同时做了几次试验仍然是INC的情况下,我把M8013改成上升沿,果然,结果也是两者相等!试验一和试验二证明,在FOR NEXT里面,脉冲型也是有效果的,一个扫描周期只执行一次。
深入然后我又把条件改成M8000,结果果然就是相差四倍!每一个扫描周期FOR K4执行四次,FOR K1执行1次。
【A】:每一个扫描周期FOR ……NEXT之间执行4次;但因为INCP是脉冲指令,在M8013、M8000这样的条件下每个扫描周期里没有ON--OFF--ON的变化,所以这4次程序执行结果还是只+1而已,故D10与D20结果相等。
改为INC后,只要是前面条件为通路,每个扫描周期FOR……NEXT的执行效果就是+4了,所以D10为D20的4倍。
注:本例中用M8013,通断时间为500ms,而仿真默认扫描周期为100ms,循环四次后刚好到达M8013的OFF 段,故直接将INCP指令改为INC指令无异常。
若为实际PLC监控,D10数值并非是D20的4倍。
4.三菱PLC编程实例:让数值在0~10之间来回变化要求:1,使用FX2N系列PLC2,让D0每秒变化一次,0,1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,4,3,2,1,0这样循环【A】【A】【A】【A】【A】【A】【A】【A】【A】【A】【A】【A】5.子程序调用终止时其内部继电器的状态分析【Q】程序如下:M0——|↓|————————[ ZRST M10 M20 ]M0——| |————————[ CALL P0 ]————————————————————[ FEND ]P0 M8000——| |————————[ SET M11 ]M11——| ↑ |————————[ SET M12 ]————————————————————[ SRET ]————————————————————[ END]现在的问题是第一次按M0,M11 M12可以同时被置位,第二次按下是只能M11置位,M12时钟为低电平。
到底是什么问题子程序P0,修改为M11——| ↑ |————————[ SET M12 ]M8000——| |————————[ SET M11 ]M11 M12可以同时被置位,哪位高手给解释一下到底是怎么回事。
第二种情况:程序如下:M0——|↓|————————[ ZRST M10 M20 ]M0——| |————————[ CALL P0 ]————————————————————[ FEND ]P0 M8000——| |————————[ SET M11 ]M11——| |————————[ SET M12 ]|___________[ INCP D0 ]————————————————————[ SRET ]————————————————————[ END]子程序改成这样,M11 M12都可以被置位,但是D0就加一次数,是什么问题子程序P0,修改为M11——| ↑ |————————[ SET M12 ]|___________[ INCP D0 ]M8000——| |————————[ SET M11 ]子程序改成这样。
M11 M12可以同时被置位,D0计数正常,是什么问题【A】第一段:第一次按下M0时M11/M12被置位,因为执行了P0程序;松开M0时M11/M12被复位,这是没有问题的,因为主程序在一直运行。
但要注意此时子程序P0没有被调用,其中的程序不被执行。
第二次按下M0时,再次调用P0程序,首先M11就被置位了,所以程序执行到M12的时候,M11的状态是从第一次松开M0前的ON状态切换到了之后按下M0时的ON状态,中间没有ON--OFF--ON的变化,也就谈不上上升沿之类,所以M12无法被置位。
第二段:直接把子程序被调用时的程序放到主程序中去分析即可。
6.关于三菱CML指令【Q】请问取反k10 等于多少啊,我记得的是k5,但是三菱plc编程软件显示—11,怎么都想不通啊【A】K10换成二进制为:0000 0000 0000 1010对其取反的结果为:1111 1111 1111 0101=====================================对于带符号的数,计算机存储时为其补码形式,但显示时仍还原为原码。
这样,对1111 1111 1111 0101除去第一位的符号位,其他位取反得其反码1000 0000 0000 1010,再加一得其补码1000 0000 0000 1011 。
最后得到的这个1000 0000 0000 1011 显示出来即为-11 。
【Q】为什么取反后还要加一个补码了【A】是加1求其补码,而不是加一个补码。
补码的补码为其原码,补码=发码+1 。
============================== 对于正数原码=反码=补码7.这两个基本的程序有什么区别【Q】说说这两个基本的程序有什么区别【A】首先默认Y1为OFF,X1为OFF到ON的扫描周期:图1例中第一句执行时将Y1置位,第二句执行时立刻将Y1复位。
这样Y1永远不会有输出ON的状态。
图2例中第一句执行时无效果,第二句执行时将Y1置位。
即使在第二扫描周期中第一句会将Y1复位,在执行第二句时再次置位Y1,这样Y1应是输出为ON的状态。
综上:当X1为OFF时两者Y1皆为OFF;当X1为ON时图1中Y1为OFF,图2中Y1为ON。
8.三菱PLC编程实例:灯的流程控制程序【Q】在FX2N上的Y0-Y23上接有20个信号灯,X1上接有一个开关,控制要求如下:在程序初始化后当X1为ON时信号灯依次点亮至全亮(从1#开始至20#时间间隙为2S),当X1为OFF时,信号灯依次由全亮至全灭.(从1#开始至20#时间间隙为2S),在灯的点亮过程中(也就是X1为ON,时)转入在灯的灭过程中(也就是X1为OFF时)信号灯也同样按程序工作,说明一下:例当X1为ON时,灯依次点亮至10#灯(时间间隙为2S);这时将X1设为OFF,灯依次从1#灭至5#(时间间隙为2S);这时将X1设为ON灯依次从11#亮至20#再至5#(时间间隙为2S);不知我说清没有.总之在X1的信号变换后,,灯亮灭遵循先亮先灭的原则,每个灯的点亮的时间平衡并循环.【A】今天看到,试了下,后面一段改为后面的就可以了【A】提供一个用“移位寄存器”的思路。
除衔接点外,仿真基本通过,未用PLC试。
【注】本例中第一段和第二段程序原始文件可进入下载9.PC与FX30DUE传输数据办法前段时间改造旧设备,遇到了一块FX30DU-E的操作面板。
从网上东查西找,才搞定了怎么用电脑跟它通讯,并上传和下载程序。
虽然过程不太复杂,但也有几项需要注意的地方。
1.首先是准备资料。
1.1编程软件版本:SW0PC-FXDU/WIN-C。
1.2电脑端口设置:1.3通讯线缆制作方法:F2-232CAB-1OK,这样的话,需要的软硬件准备工作就已经作完了。
但是直接将通讯线插到电脑上和DU连接起来就可以了吗?不一定。
因为,DU上也是需要一些设置的。