对网友求助问题的几个回帖展示之三十八
本文一例为网上一网友的求助帖,该求助帖是有一定难度,是一篇能锻炼与提高PLC编程思维与技巧的好帖。本人对此帖要求进行分析,找出了一种如何分拣其3中零件的编程思路,并按此思路选用S7-200PLC进行编程。现将此贴的编程思路及程序贴出,展示给大家,供大家分析讨论。
求助帖:就是浙江天煌科技那种光机电气一体化试验台,有金属零件,白色尼龙零件,黑色尼龙零件。要求A出口的零件按金属、白色、金属、白色的顺序排列,B出口的零件按白色、黑色、黑色排列,同时满足A出口和B出口的零件优先进入A出口,不满足组合排列关系的零件进入C出口。
实在是不知道如何下手,求大神给分析一下这个程序用该怎么编写,都需要用什么指令。
回复:要想编写这个程序,首先要按A、B、C口的分拣排列顺序的要求进行仔细分析,从中总结出3者的分选模型。我的思路是这样的:
1、动作安排:混合在一起的3种零件由传动装置移到分拣处时,由分拣处的3种传感器进行识别判断:如是白色零件,传感器1 将使I0.0=1,如是黑色零件,传感器2 将使I0.1=1,如是金属零件,传感器3 将使I0.2=1,(即分选出不同的零件是用3个传感器完成,具体工作原理这里不做说明)。
2、A口拨出装置为Q0.0,其动作时间=1秒,B口拨出装置为Q0.1,动作时间=1秒,C口拨出装置为Q0.2,动作时间=1秒,
3、分选:借用2个存储器MB0、MB1作加1计数器,并利用它们的计数状态进行分选:
(1)白色零件分选:如I0.0=1,说明到分拣处的零件为白色,如此时M0.0=0,则使Q0.0=1,即将零件拨入A口。如此时M0.0=1,且MB1=0时,则使Q0.1=1,即将零件拨入B口,如此时M0.0=1,且MB1≠0时,则使Q0.2=1,即将零件拨入C口。
A、B、C 口拨入动作时间均为1秒,1秒后各自复位,其A口复位时将MB0加1,其B口复位时将MB1加1,并立即对MB1值进行判断:如MB1≥3,立即使MB1清零(即MB1=0,运行中MB1值始终为0、1、2)。
(2)、黑色零件分选:如I0.1=1,说明到分拣处的零件为黑色,如此时MB1≥1,则使Q0.1=1,即将零件拨入B口。如此时MB1=0,则使Q0.2=1,即将零件拨入C 口。其B口动作1秒后复位,且使MB1加1,再判断MB1值。如MB1≥3,则使MB1=0,其C口动作1秒后复位。
(3)、金属零件分选:如I0.2=1,说明到分拣处的零件为金属零件,如此时 M0.0=1, 则使Q0.0=1,即将零件拨入A口,如此时 M0.0=0, 则使Q0.2=1,即将零件拨入C口, A口与C口各动作时间均为1秒,其A口复位后将使MB0加1。
下面就是按着上诉编程构思编写的程序:
一、PLC输入与输出口的说明:
1、系统是这样运行的:每隔一定时间(如设为5秒)传送装置将一待检零件移到零件分拣处,零件分拣处安置有3个传感器,其输出分别接PLC的输入口I0.0~I0.2:其传感器1能检出白色塑料零件,它的输出接PLC的I0.0输入端,当白色零件进入分拣处时,传感器1输出为1,将使PLC的I0.0=1。传感器2能检出黑色塑料零件,它的输出接PLC的I0.1输入端,当黑色零件进入分拣处时,传感器2输出为1,使PLC的I0.1=1。,传感器3能检出金属零件,它的输出接PLC的I0.2输入端:当金属零件进入分拣处时,传感器3输出为1,使PLC的I0.2=1。
当被检零件被A、B、C口被对应的分拣装置拨走后,其传送装置未拨下一个零件之间,分拣处无零件,其3个传感器输出皆=0,即I0.0~I0,2输入皆=0。
2、PLC输出口:A口分拣拨入装置由Q0.0输出1秒脉宽的脉冲驱动,B口分拣拨入装置由Q0.1输出1秒脉宽的脉冲驱动,C口分拣拨入装置由Q0.2输出1秒脉宽的脉冲驱动。
二、PLC梯形图:
本文到此结束,如有不妥之处请给于指正,本人深表感谢。谢谢大家!
回39楼:如果电机转速变送器输出是模拟信号(0~10V或4~20ma,对应电机转速为0~最大转速 Vm )你可选用输入输出模块EM235,用电机转速变送器输出的模拟信号输入给EM235的模拟量输入端(如A+、A-、RA端)。控制电机转速的模拟信号,先通过PLC内部计算,将计算出的数字量送给AQW0,由EM235转换,将AQW0转换为模拟量,再由EM235输出端(V0-M0或I0-M0)输送给电机的控制端。
电机变送器输出的模拟信号输入给EM235输入端转换成数字量AIW0为:
1、AIW0 = 0~32000 ---- (对0~10V 模拟信号)
2、AIW0 = 6400~32000 ---- (对 4~20ma 模拟信号)
电机转速Vx与数字量AIW0的转换公式为:
1、 Vx = Vm * AIW0 / 32000 ----(对0~10V 模拟信号)
2、 Ix = Vm * (AIW0 - 6400)/(32000-6400) ----(对 4~20ma 模拟信号)
由数字量AQW0转换为模拟量(即由EM235输出端输出的控制电机转速模拟量)的转换公式为:
1、 AQW0 = 3200 * Vx ----(对0~10V 模拟信号)
2、 AQW0 = 6400 + 25600 * (Ix - 4) / 16 ----(对 4~20ma 模拟信号)
具体编程可以看看我写过的帖子“对输入、输出模拟量的PLC编程的探讨及编程实例解析”,网址为:http://bbs.gongkong.com/d/201112/410897_1.shtml