如何用三菱PLC写三轴联动
大家好,我是工控老冯。这段时间工作上的事情耽搁了,这里给大家道个歉。今天给大家带来点干货。觉得老冯写得不错的朋友可以帮忙点个关注,转发评论一下。感谢大家了。
总有朋友问老冯,单轴的运动控制程序他们会写,但是遇到三轴联动的程序就傻眼了。主要的原因就是不知道如何处理M8029这个特殊辅助继电器。今天老冯就给大家讲讲如何写三轴联动程序。
首先,我们看看M8029是什么。M8029为指令执行结束标志位。用法如下图所示。
这也是单轴程序的用法。因为很多朋友怕程序里面出现多个M8029会出现误动作。我们今天暂且不讨论M8029是否会出现误动作。我们今天是要学习三轴联动到底怎么写。其实三菱PLC里面有很多关于运动控制的辅助继电器。这里老冯截取了FX3系列PLC的一部分特殊辅助继电器。
这里面的辅助继电器很多,感兴趣的朋友可以去仔细看看。我们今天主要讲三个,分别是:
M8340:Y0用脉冲输出中监控。
M8350:Y1用脉冲输出中监控。
M8360:Y2用脉冲输出中监控。
有了这三个辅助继电器,想写三轴联动的程序就简单了。下面是老冯随意写得一段程序样例。我们根本就不用M8029,所以没必要去死磕M8029。编程的思路有很多,换个思考方向就好了。
这就是三菱三轴联动的程序写法。如果是用的伺服电机。还可以借助伺服ready,伺服动作完成等信号来编写程序。你学会了吗?#电工交流圈#
工控PLC编程ST编程之搬运码垛案例思路
这次讲一下用ST编程具体做项目的案例,搬运码垛比较简单易懂,应用也比较广泛,下面就是搬运码垛的思路,思路有了,就有了做复杂项目的基础。复杂项目都是简单项目堆积起来的,但是框架思路要对,不然稍微复杂点,那程序就没法看了。
1、搬运码垛项目控制逻辑
逻辑控制主要采用面向过程的编程方法,把所有的分解动作串联在一起。分为两部分。
第一部分是控制传送带和剪断机。
第二部分是码垛。
第一部分中分别用一个NC轴来模拟传送带,剪断机中包括两个气缸,压箱气缸和剪断气缸。除此之外,还用到两个传感器,分别检测箱子进入传送带和箱子进入剪断机。
第二部分是码垛,分别用3个NC轴来模拟机械手的X方向,Y方向和Z方向,其中还包括一个吸嘴气缸,除此之外,还包括一个传感器用于检测是否到达码垛位置。
第一部分的动作流程介绍:
第一个传感器检测到箱子进入到传送带----开启传送带,让传送带匀速运动----第二个传感器检测到箱子进入到剪断机,让压箱气缸动作----当第二个传感器检测不到箱子时,让剪断气缸动作----等待设定时间后,复位压箱气缸和剪断气缸----等待下次循环
第二部分的动作流程介绍:
当传感器检测到箱子在码垛位置----Z轴放下固定距离----让吸嘴动作----当吸嘴到达工作位,Z轴上升到固定位置----X,Y轴移动到对应的码垛位置----Z轴下降----复位吸嘴气缸----Z轴上升---XY轴回到初始位置----等待下次循环
2、控制程序讲解
程序使用功能块APP_Conv,功能块可以自己封装,或者网上下载,找我要也可以!
通过APP_Conv功能块,实现第一部分的流程。
APP_Conv里面调用了一个Axis_PTP_COE功能块和两个FB_Actuator功能块,Axis_PTP_COE用于控制传送带,FB_Actuator用于控制压箱气缸和剪断气缸。
声明变量
APP_Conv包括5个Action,每个Action功能说明:
00_Init:用于系统变量的初始化,以及对伺服轴和气缸命名
10_AUTO:通过Case语句编写动作流程
20_Manual:手动控制传送带轴
30_FB:状态监控及调用气缸功能块
40_Home:让执行器和伺服轴回到初始位置
APP_Conv功能块通过case语句来调用这5个Action,首先进行系统初始化和硬件初始化。接着根据全局变量中的RqSysAutoModeIsActive变量的值,确定到底执行自动或者手动的程序。
具体程序如下:
CASE SysStep OF
0: (*Init*)
00_Init();
SysStep:=100;
100: (*Home*)
40_Home();
IF HomeDone THEN
HomeStep:=0;
SysStep:=200;
END_IF
200: (*Manual*)
IF NOT RqSysAutoModeIsActive THEN
20_Manual();
ELSE
Axis.aMoveOff();(*停止伺服电机的运动*)
SysStep:=300;
END_IF
300 :(*Auto*)
IF RqSysAutoModeIsActive
AND RqSysMachineRunInCycle
AND NOT RqSysGoPauseState
AND NOT gbAlarm_NeedPause
AND NOT gbAlarm_StopAlarm THEN
10_AUTO();
ELSE
Axis.aMoveOff();(*停止伺服电机的运动*)
IF NOT RqSysAutoModeIsActive THEN
SysStep:=200;
END_IF
END_IF
END_CASE
30_FB();
通过APP_Clamp实现第二部分的码垛。
APP_Clamp里面调用了三个Axis_PTP_COE功能块和一个FB_Actuator功能块,Axis_PTP_COE用于控制机械手的X方向,Y方向和Z方向,FB_Actuator用于控制吸嘴。
声明变量
APP_Clamp包括5个Action,每个Action功能说明:
00_Init:用于系统变量的初始化,以及对伺服轴和气缸命名
10_AUTO:通过Case语句编写动作流程
20_Manual:手动控制机械手
30_FB: 状态监控及调用气缸功能块
40_Home:让执行器和伺服轴回到初始位置
APP_Clamp功能块通过case语句来调用这5个Action,首先进行系统初始化和硬件初始化。接着根据全局变量中的RqSysAutoModeIsActive变量的值,确定到底执行自动或者手动的程序。
CASE SysStep OF
0: (*Init*)
00_Init();
SysStep:=100;
100:(*Home*)
40_Home();
IF HomeDone THEN
HomeStep:=0;
SysStep:=200;
END_IF
200:(*Manual*)
IF NOT RqSysAutoModeIsActive THEN
20_Manual();
ELSE
AxisX.aMoveOff();(*停止伺服电机的运动*)
AxisY.aMoveOff();(*停止伺服电机的运动*)
AxisZ.aMoveOff();(*停止伺服电机的运动*)
SysStep:=300;
END_IF
300:(*Auto*)
IF RqSysAutoModeIsActive
AND RqSysMachineRunInCycle
AND NOT RqSysGoPauseState
AND NOT gbAlarm_NeedPause
AND NOT gbAlarm_StopAlarm THEN
10_AUTO();
ELSE
AxisX.aMoveOff();(*停止伺服电机的运动*)
AxisY.aMoveOff();(*停止伺服电机的运动*)
AxisZ.aMoveOff();(*停止伺服电机的运动*)
IF NOT RqSysAutoModeIsActive THEN
SysStep:=200;
END_IF
END_IF
END_CASE
30_FB();
相关问答
如何用编程PLC三轴画图形?过程要注意什么?要涉及到什么算法?
注意逻辑,我学的编程不精,但是我觉得逻辑很重要!这样的专业问题希望和同学或者老师探讨!注意逻辑,我学的编程不精,但是我觉得逻辑很重要!这样的专业问题希望...
plc三轴运动什么意思?
plc的三轴运动的工作原理:机械手,也被称为自动手,能模仿人手和臂的某些动作功能,用以按固定程序抓取、搬运物件或操作工具的自动操作装置。它可代替人的繁重...
老表们,有人知道么!!基于PLC的三轴机械手?
[回答]http://hi.baidu.com/luzhuang126/album/item/4689c6fc8f20b8a6fd037f81.html有合作过很多家公司,但还是千特机电稍微好一点倍速链输...
哪位老师,可不可以告诉我!!基于PLC的三轴机械手?,三轴机械...
[回答]目前市场上有很多做这个的,可以多去了解在看看,芜湖千特机电设备有限公司之前做过还不错,可以联系咨询一下。理论上能,之前三星出过一款用USB链接...
三菱fx3UPLC能否三轴同时回原点?谢谢?
完全没有问题,它自带三轴的输出!至于要不要多轴动作要看编程者的要求,PLC完全没有问题。完全没有问题,它自带三轴的输出!至于要不要多轴动作要看编程者的要...
求助!基于PLC的三轴机械手?,三轴机械手适合新手吗??
[回答]芜湖千特机电设备有限公司实力这块毋庸置疑,服务也不错。这个很简单嘛,你是要西门子的200还是300的,还是三菱的呢?网上有,自己搜。自动化流水线常...
mc3+2如何编程?
MC3+2是一款基于STC12C5A60S2单片机的开发板,可以通过C语言进行编程。下面是一个简单的步骤,介绍如何在MC3+2开发板上进行C语言编程:1.准备必要的工具和软件...
plc是如何区分几轴的?
Plc可以通过脉冲+方向的形式连接伺服驱动器,但是每一组脉冲+方向只能驱动一个伺服。如果plc有高速脉冲输出功能,且有一组脉冲+方向,因此plc轴数为1。如果有四...
西门子plc哪款CPU有三路独立高速脉冲输出?控制三路伺服的?
西门子的S7-200smart系列支持三轴运动控制,是最近推出的产品。S7-200smartPLC的CPU模块本体最多集成3路高速脉冲输出,频率高达100KHz,支持PWM/PO输出方式...
...家服务高端老司机们懂行的朋友请回答,三轴硅胶点胶机编程?
[回答]在市场上五花八门,但我依旧选择深圳市瑞福自动化设备有限公司!瑞福可以的,我们和他们合作有一段时间了,产品质量过关,性价比高,是一个可以长期合作...
扫一扫微信交流