FX3U PLC通过手摇轮,如何手动控制步进电机
一、动作描述:
系统的框架如下图
一台3U的plc,控制了3台步进电机,分别控制了X、Y、Z这3个轴,PLC接了一个手摇轮,可以手动控制这3个轴,手摇轮的第一个旋钮可以选择控制不同的轴,第二个悬念可以选择速度的倍率,然后通过转盘控制电机正反运转。
二、硬件设备:
1.三菱PLC :FX3U-16MT-ES-A
2.42步进电机套装:3台
3.数控机床电子手轮
三、软件:
所需软件版本:GX Works2(1.576A版本)
四、I/O分配:
五、程序编写及思路:
(1)根据3U高速计数器的表格,可以找到X0和X1对应的高速计数器对应的高速计数器是C251。
我们只需要把手轮上转盘的两个信号点,接入X0和X1就可以,用以下的程序就能纪录手轮发出的脉冲信号个数
(2)通过M8012的上升沿信号用DMOV指令把脉冲数读取到D0里面,每隔100ms读取1次,1倍档时我们乘以10倍放到D2寄存器里面,就是相当于算出了1秒里面能够发送的脉冲数,1s发送的脉冲数就是的频率,后面控制的程序就用这个D2的数据去控制,10倍档就控制乘以100,100倍档就乘以1000,最后面清空下这个高速计数器。这样每隔100ms就刷新一般数据(这里我的手轮一圈的脉冲数和步进电机转一圈需要的脉冲数是一致的,假如不同,那你需要根他们的比值去做一个乘法或者除法的运算),另外,3U的plc没有手轮控制的功能,我们程序没办法做到绝对的同步,动作存在误差。
(3)由于硬件的限制,频率一超过10000HZ时步进电机就控制不了(不同的电机硬件这个频率可能不一样,不一定是10000),所以这个参数需要根据你实际的数据去测试这个数据多大是极限,防止我们手轮摇的过快),所以下面做了限制
(4)最后面,使用可变速脉冲输出指令控制,不同的轴的X点对应不同的Y点进行输出,频率采用前面计算出来的D2进行控制。
↓免费学习资料
通过一个SCL编程示例(圆盘工件捷径传送)来聊聊编程的思路
今天跟大家通过一个编程示例来聊聊编程的思路,当然编程的思路或者说方法不是唯一的。
首先,功能要求:
如下图所示:一个圆盘工作台,周围俊宇分布这个8个工位(0#~7#),每个工位安装有一个接近开关,用于检测位置信号,每个工位还有一个按钮,用于工位请求。在转盘上有个工件箱,工件箱下有个磁钢,当磁钢旋转到接近开关上方,接近开关动作
下面聊聊当拿到这个项目的思路,当看到这个功能要求,可以容易想到就是通过按钮控制电机正反转,但是不是这么简单,因为功能要求中是沿最近路径,所以,就要判断工件箱当前位置与请求按钮之间差几个工位。
也就是说要用记录工件箱当前位置和按钮请求的位置,两者做减法,来判断正转还是反转时最短路径。
通过上面的分析,我们做下面比较:分两种情况,结果为负和正。
为负的情况:
若减法的结果为-1,就意味着按钮的位置超前工件箱当前位置一个工位,所以电机反转一个工位。
若减法的结果为-2,就意味着按钮的位置超前工件箱当前位置2个工位,所以电机反转2个工位。
若减法的结果为-3,就意味着按钮的位置超前工件箱当前位置3个工位,所以电机反转3个工位。
若减法的结果为-4,就意味着按钮的位置超前工件箱当前位置4个工位,所以电机反转4个工位。
若减法的结果为0,电机停止。
若减法的结果为-5,就意味着按钮的位置超前工件箱当前位置5个工位,所以电机正转3个工位。
若减法的结果为-6,就意味着按钮的位置超前工件箱当前位置6个工位,所以电机正转2个工位。
若减法的结果为-7,就意味着按钮的位置超前工件箱当前位置7个工位,所以电机正转1个工位。
为正的情况:
若减法的结果为1,就意味着按钮的位置滞后工件箱当前位置一个工位,所以电机正转一个工位。
若减法的结果为2,就意味着按钮的位置滞后工件箱当前位置2个工位,所以电机正转2个工位。
若减法的结果为3,就意味着按钮的位置滞后工件箱当前位置3个工位,所以电机正转3个工位。
若减法的结果为4,就意味着按钮的位置滞后工件箱当前位置4个工位,所以电机正转4个工位。
若减法的结果为5,就意味着按钮的位置滞后工件箱当前位置5个工位,所以电机反转3个工位。
若减法的结果为6,就意味着按钮的位置滞后工件箱当前位置6个工位,所以电机反转2个工位。
若减法的结果为7,就意味着按钮的位置滞后工件箱当前位置7个工位,所以电机反转1个工位。
这样整个过程就分析清了,下面用什么指令来完成功能要求了。
通过上面的分析,我们要求工件箱当前位置和按钮位置要进行记录,并形成位号,编码指令就可以实现,所以,我们就用编码指令来实现。(有朋友不知道编码指令怎么用?或者说很多指令不知道怎么用,其实可以直接看软件的帮助文档。)
大家自己看下编码指令,这里就不赘述了。
下面就是按照上面的思路的编程结果:
接口变量:
程序如下:
源代码如下:
#按钮编码 := ENCO(#按钮);
#位置编码 := ENCO(#位置);
IF #按钮<>0 AND (#位置编码 - #按钮编码) < 0 THEN
IF (#位置编码 - #按钮编码) <= -5 AND NOT #反转 THEN
#正转 := 1;
ELSIF (#位置编码 - #按钮编码) >= -4 AND NOT #正转 THEN
#反转 := 1;
ELSIF (#位置编码 - #按钮编码) = 0 THEN
#反转 := 0;
#正转 := 0;
END_IF;
ELSIF #按钮<>0 AND (#位置编码 - #按钮编码) > 0 THEN
IF (#位置编码 - #按钮编码) >= 3 AND NOT #正转 THEN
#反转 := 1;
ELSIF (#位置编码 - #按钮编码) <=4 AND NOT #反转 THEN
#正转 := 1;
ELSIF (#位置编码 - #按钮编码) = 0 THEN
#反转 := 0;
#正转 := 0;
END_IF;
ELSE
#反转 := 0;
#正转 := 0;
END_IF;
相关问答
求PLC高手帮我编个转盘控制程序?
可以这样处理,每个工位完成后给个信号给分割器开始是依次启动,结束是依次结束,用移位再加一个允许标志分割器到位,给每个工位一个允许标志逻辑控制可以这样处...
圆盘多工位设备plc程序怎么编?
1:确定所编写的PLC型号与所要链接的PLC类型相同,不同改正过来。2:编程软件窗口上选择《PLC》这个选项,在下拉列表里选择《在线工作》就连上PLC了3:在《PLC》...
伺服驱动器电子齿轮比该怎么设置?-ZOL问答
丝杆的进给量(或转盘的角度)、减速比这几个参数去运算出来的。一、如要求PLC发一个脉冲丝杆的进给量是10um而丝杆的螺距是10mm的,减速比是1/2的,伺服电机的分...
餐桌转盘无级遥控调速器交流
1、将餐桌的尺寸(直径)测量准确,在确定餐桌的中心点,再将电动转盘的尺寸测量准确,使电动转盘与餐桌二者同心,就是电动转盘要摆放在餐桌的中心位置。2、将餐桌摆...
FA自动化零部件包括哪些?
FA自动化零部件包括以下几类:1.传感器:用于检测和测量物理量的装置,如温度传感器、压力传感器、光电传感器等。2.执行器:用于转换电气、气动、液压或机械信...
小型缠绕机的正确操作是什么大家推荐一下
[回答]自动缠绕机的注意事项:1、货物须稳固放在托盘后确定没什么问题时,方可启动机器。2、缠绕机转盘应该按顺时针运转。3、禁止缠绕机在运行过程中扯开机...
请问:裹包机是如何定义的
[回答]缠绕机的安全使用注意点:1,禁止测试直流电机控制板、以胶PLC安全输入点与地线之间的电压;2,操作变频器前务必详细阅读随机的变频使用手册;3,缠绕机...
凸轮分割器为什么要装两个感应片?
[回答]产效率;另一个是感应停...小编今天就来为大家讲解一下:凸轮分割器具体看设备使用情况1:通常是一个感应片用来检测到位信号由变频器控制脉冲到达减...
求帮助!缠绕机原理是怎样的呢?在线等
[回答]其实这个是不可取的,因为大的转盘运行过程中,而且用于包装小件的物品会造成浪费,因此并不建议客户定制超大转盘。加压型缠绕机转盘不转,变频器链条...
全自动缠绕机的正确操作是什么知道的请回答
[回答]缠绕机的安全使用注意点:1,禁止测试直流电机控制板、以胶PLC安全输入点与地线之间的电压;2,操作变频器前务必详细阅读随机的变频使用手册;3,缠绕机...