1. 首页
  2. 技术文章
  3. 三菱

FX3U PLC通过手摇轮,如何手动控制步进电机(附源程序)

01
一、动作描述:

系统的框架如下图

FX3U PLC通过手摇轮,如何手动控制步进电机(附源程序)

 

一台3U的plc,控制了3台步进电机,分别控制了X、Y、Z这3个轴,PLC接了一个手摇轮,可以手动控制这3个轴,手摇轮的第一个旋钮可以选择控制不同的轴,第二个旋钮可以选择速度的倍率,然后通过转盘控制电机正反运转。

 

02
二、硬件设备:

1.三菱PLC :FX3U-16MT-ES-A

2.42步进电机套装:3台

3.数控机床电子手轮

 

03
三、软件:

所需软件版本:GX Works2(1.576A版本)

04
四、I/O分配:
输入点 注释 输出点 注释
X0 手轮A相 Y0 X轴电机脉冲
X1 手轮B相 Y1 Y轴电机脉冲
X2 X轴档位 Y2

Z轴电机脉冲

X3 Y轴档位 Y3 X轴电机方向
X4 Z轴档位 Y4 Y轴电机方向
X5 1倍档 Y5 Z轴电机方向
X6  10倍档 Y6
X7 100倍档 Y7

 

05
五、程序编写及思路:

(1)根据3U高速计数器的表格,可以找到X0和X1对应的高速计数器对应的高速计数器是C251。

FX3U PLC通过手摇轮,如何手动控制步进电机(附源程序)

 

我们只需要把手轮上转盘的两个信号点,接入X0和X1就可以,用以下的程序就能纪录手轮发出的脉冲信号个数

 

FX3U PLC通过手摇轮,如何手动控制步进电机(附源程序)

 

(2)通过M8012的上升沿信号用DMOV指令把脉冲数读取到D0里面,每隔100ms读取1次,1倍档时我们乘以10倍放到D2寄存器里面,就是相当于算出了1秒里面能够发送的脉冲数,1s发送的脉冲数就是的频率,后面控制的程序就用这个D2的数据去控制,10倍档就控制乘以100,100倍档就乘以1000,最后面清空下这个高速计数器。这样每隔100ms就刷新一般数据(这里我的手轮一圈的脉冲数和步进电机转一圈需要的脉冲数是一致的,假如不同,那你需要根他们的比值去做一个乘法或者除法的运算),另外,3U的plc没有手轮控制的功能,我们程序没办法做到绝对的同步,动作存在误差。

 

FX3U PLC通过手摇轮,如何手动控制步进电机(附源程序)

 

(3)由于硬件的限制,频率一超过10000HZ时步进电机就控制不了(不同的电机硬件这个频率可能不一样,不一定是10000),所以这个参数需要根据你实际的数据去测试这个数据多大是极限,防止我们手轮摇的过快),所以下面做了限制

FX3U PLC通过手摇轮,如何手动控制步进电机(附源程序)

 

(4)最后面,使用可变速脉冲输出指令控制,不同的轴的X点对应不同的Y点进行输出,频率采用前面计算出来的D2进行控制。

FX3U PLC通过手摇轮,如何手动控制步进电机(附源程序)

 

来源:PLC发烧友,作者:陈育鑫

本文转载来自【PLC发烧友】,仅供大家学习交流,如侵权请联系站长删文。

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

联系微信:QQ594673193

工作时间:08:00~20:00

QR code