6台电机,按运行次数轮换。1#电机运行,满足停机条件后,自动停止,下次启动时,启动2#电机,若2#电机故障,则启动3#电机,依次类推。写出轮换程序,并对程序作相关说明,PLC品牌不限。
工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
X1至X6,6台电机各自故障,Y1至Y6,6台电机运行信号,X0启动,M1设备停机条件,三菱PLC
LDP X0 ANI M1 LD= Z0 K1 AND X1 ORB LD= Z0 K2 AND X2 ORB LD= Z0 K3 AND X3 ORB LD= Z0 K4 AND X4 ORB LD= Z0 K5 AND X5 ORB ADD Z0 K1 Z0 SET M0 LD M8000 AND= Z0 K6 AND X6 MOV K1 Z0 LD M0 MPS AND<= Z0 K3 CMP K2 Z0 Y1 MPP AND> Z0 K3 CMP K4 Z0 Y4 LD M1 MOV K0 K2Y1 RST M0 AND>= Z0 K6 M0V K0 Z0 END
下面是我做此题的规划:
1:用西门子300PLC做硬件来控制电机的轮换运行
2:在功能上用计时器设定每台电机的运行时间,并显示当前电机已经运行的时间
3:每台电机都可以手动启动与自动启动,出现故障时自动切换到下一台电机去运行,并输出故障警告。
4:在程序上采用西门子典型的编程手法,展现用FB做多重背景块的编程手法,使更多的同行从中能学到东西!
5:程序大体分两部分用FB做多重背景块,1):电机的运行(运行状态/输出显示/切换) 2):时间的控制/显示/设定
6:程序全部采用模块化编程 在电机的切换上采用JL JU指令来控制
7:等有时间在传上来。
内容的回复:X1至X6,6台电机各自故障,Y1至Y6,6台电机运行信号,X0启动,M1设备停机条件,三菱PLC
LDP X0 ANI M1 LD= Z0 K1 AND X1 ORB LD= Z0 K2 AND X2 ORB LD= Z0 K3 AND X3 ORB LD= Z0 K4 AND X4 ORB LD= Z0 K5 AND X5 ORB ADD Z0 K1 Z0 SET M0 LD M8000 AND= Z0 K6 AND X6 MOV K1 Z0 LD M0 MPS AND<= Z0 K3 CMP K2 Z0 Y1 MPP AND> Z0 K3 CMP K4 Z0 Y4 LD M1 MOV K0 K2Y1 RST M0 AND>= Z0 K6 M0V K0 Z0 END
内容的回复:彩虹的程序我比较感兴趣,我也是用西门子的,的确,用FB多重背景在这里展示了很大的优势。废话不说,下面说说我的思路,其实在西门子提供的库里有这样现成的程序——堆栈,这里就不多说了,下面是我刚写的程序
R Q 0.1 //程序开始先将所有输出复位,满足后面条件,将其置1,下面类似
R Q 0.2
R Q 0.3
R Q 0.4
R Q 0.5
R Q 0.6
SET
A M 128.1 //当按下停止按钮时,程度跳转到N0处,结束
SET
JC N0
A M 128.0 //启动按钮
O Q 0.6 //或者接收到M6下降沿
FN M 130.1 //M6下降沿
S Q 0.1 //将M1置1
//以下程序同上
A Q 0.1
FN M 130.2
S Q 0.2
A Q 0.2
FN M 130.3
S Q 0.3
A Q 0.3
FN M 130.4
S Q 0.4
A Q 0.4
FN M 130.5
S Q 0.5
A Q 0.5
FN M 130.6
S Q 0.6
N0: JU END //程序结束
BE
感觉大家陷入了一个怪圈,基本上大多采用运行时间来做为自动停机条件,其实可以用外部某一模拟量来做为停机条件。(比如,水位,压力等)。还有,程序类命题的出发点是在满足功能的前提下,尽量使程序最简化。
本期评奖结果:
一等奖1名:50MP获得者:ye_w ye_w
二等奖5名:10MP获得者:
老菜鸟 deshengwu
彩虹 纪强
newchp newchp
ANDYLIU008 ANDYLIU008
LIUXD6909 LIUXD6909
三等奖2名:30积分获得者:
donglisheng1@163.com donglisheng1@163.com
panning1528 panning1528