往期精彩文章:
项目设计流程:一个项目电气工程师要做的设计思路三菱Q系列PLC,Modbus 通信控制施耐德变频器运行万用表应用基础知识,口诀速记万用表使用注意事项FX5U PLC,FB块的建立与调用,编写延时启保停程序PLC通信基础知识三菱PLC,CC-Link通信协议基础知识光电开关的L-ON,D-ON,是什么意思?如何接线 ?三菱FX5UPLC,MODBUS专用通信指令控制PLC运行什么是ST语言?三菱PLC,ST语言创建方法及注意事项电工基础,电工最基础、最核心的知识是掌握电的回路三菱PLC输出接线,一篇文章搞懂,其他品牌大同小异变频器前世今生,从电动机使用上浅谈变频器的发展史基恩士FSN18N光纤传感器感光度异常处理,参数调校欧姆龙(OMRON)E5CC温控器控制加热启停的设置欧姆龙E3X-HD10光纤放大器调整20210124资料更新5站点小车自动往返程序
上回说到8站点小车的自由呼叫控制,接下来讲一讲5站点小车的自动往返控制。
案例要求:
一直线运料小车有A、B、C、D、E5个站点,控制台有1个启动按钮开关,启动后,小车从A站点行驶到B站点,到站停留5秒后返回到A站点,A站点停留5秒后再行驶到B站点,以此类推循环跑完4个站点后回到A站点停止。
软元件分配/使用如下表:
X0
启动按钮1
SB1
X6
停止按钮2
SB2
X7
暂停按钮3
SB3
X1-X5
光电开关1-5
SQ1-5
Y2
运行指示灯
H0
Y0
电动机正转
KM1
Y1
电动机反转
KM2
设计思路:
利用步进梯形图指令或中间继电器M一步步走即可。
接线简图:(略)和上例差不多。
编写程序:
首先,我们用梯形图语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择梯形图语言编写:
步进梯形图指令编写梯形图程序如下:
这个程序看起来很复杂,分析起来比较简单,条理清晰、不容易出错。
为了安全起见,小车前后需要各加一个限位开关或其他安全保护装置。
其次,我们再用ST语言来编写,打开三菱PLC编程软件MELSOFT GX Works3,新建一个工程,选择系列、机型,选择ST语言编写:
ST语言程序如下:
//初始化
ZRST(SM402 OR X6,Y0,Y100);
ZRST(SM402 OR X6,S0,S100);
ZRST(X0 AND K2S0=0 AND K2S20=0,Y0,Y100);
ZRST(X0 AND K2S0=0 AND K2S20=0,S0,S100);
SET(X0 AND K2S0=0 AND K2S20=0,S0);
STL(S0);//复位
SET(S0 AND NOT X1 AND NOT Y0,Y1);
RST(S0 AND X1,Y1);
SET(S0 AND X1,S20);
STL(S20);//2号站
SET(S20 AND X1 AND NOT Y1,Y0);
RST(S20 AND X2,Y0);
OUT_T(S20 AND X2,T0,K50);
SET(S20 AND T0,S21);
STL(S21);
SET(S21 AND NOT X1 AND NOT Y0,Y1);
RST(S21 AND X1,Y1);
OUT_T(S21 AND X1,T1,K50);
SET(S21 AND T1,S22);
STL(S22);//3号站
SET(S22 AND X1 AND NOT Y1,Y0);
RST(S22 AND X3,Y0);
OUT_T(S22 AND X3,T2,K50);
SET(S22 AND T2,S23);
STL(S23);
SET(S23 AND NOT X1 AND NOT Y0,Y1);
RST(S23 AND X1,Y1);
OUT_T(S23 AND X1,T3,K50);
SET(S23 AND T3,S24);
STL(S24);//4号站
SET(S24 AND X1 AND NOT Y1,Y0);
RST(S24 AND X4,Y0);
OUT_T(S24 AND X4,T4,K50);
SET(S24 AND T4,S25);
STL(S25);
SET(S25 AND NOT X1 AND NOT Y0,Y1);
RST(S25 AND X1,Y1);
OUT_T(S25 AND X1,T5,K50);
SET(S25 AND T5,S26);
STL(S26);//5号站
SET(S26 AND X1 AND NOT Y1,Y0);
RST(S26 AND X5,Y0);
OUT_T(S26 AND X5,T6,K50);
SET(S26 AND T6,S27);
STL(S27);
SET(S27 AND NOT X1 AND NOT Y0,Y1);
RST(S27 AND X1,Y1);
OUT_T(S27 AND X1,T1,K50);
SET(S27 AND T7,S0);
RETSTL();
ALTP(X7,SM8040); //非自锁按钮交替输出。
Y2:=Y0 OR Y1;
参阅:
《
三菱PLC基本编程练习(10):8站点小车自由呼叫程序》
《
三菱FX5U PLC,交通红绿灯项目的步进阶梯指令编程》