我现在想做一个东西.其步骤如下.
按下工作按扭X0 步进电机正转开始运行拖动螺杆
螺杆拖动到位后,触发开关X1.步进电机停止工作.
X2输入时 ,步进电机反转拖动螺杆
X3输入时,步时电机停止工作.
隔1S,继续反转2000个脉冲
麻烦各位老师帮我写个程序,让我学习下!谢谢了!
发图最好.
PLC控制步进电机的实例(图与程序)
·采用绝对位置控制指令(DRVA),大致阐述FX1S控制步进电机的方法。由于水平有限,本实例采用非专业述语论述,请勿引用。
·FX系列PLC单元能同时输出两组100KHZ脉冲,是低成本控制伺服与步进电机的较好选择!
·PLS+,PLS-为步进驱动器的脉冲信号端子,DIR+,DIR-为步进驱动器的方向信号端子。
·所谓绝对位置控制(DRVA),就是指定要走到距离原点的位置,原点位置数据存放于32位寄存器D8140里。当机械位于我们设定的原点位置时用程序把D8140的值清零,也就确定了原点的位置。
·实例动作方式:X0闭合动作到A点停止,X1闭合动作到B点停止,接线图与动作位置示例如左图(距离用脉冲数表示)。
·程序如下图:(此程序只为说明用,实用需改善。)
·说明:
·在原点时将D8140的值清零(本程序中没有做此功能)
·32位寄存器D8140是存放Y0的输出脉冲数,正转时增加,反转时减少。当正转动作到A点时,D8140的值是3000。此时闭合X1,机械反转动作到B点,也就是-3000的位置。D8140的值就是-3000。
·当机械从A点向B点动作过程中,X1断开(如在C点断开)则D8140的值就是200,此时再闭合X0,机械正转动作到A点停止。
·当机械停在A点时,再闭合X0,因为机械已经在距离原点3000的位置上,故而机械没有动作!
·把程序中的绝对位置指令(DRVA)换成相对位置指令(DRVI):
·当机械在B点时(假设此时D8140的值是-3000)闭合X0,则机械正转3000个脉冲停止,也就是停在了原点。D8140的值为0
·当机械在B点时(假设此时D8140的值是-3000)闭合X1,则机械反转3000个脉冲停止,也就是停在了左边距离B点3000的位置(图中未画出),D8140的值为-6000。
·一般两相步进电机驱动器端子示意图:
·FREE+,FREE-:脱机信号,步进电机的没有脉冲信号输入时具有自锁功能,也就是锁住转子不动。而当有脱机信号时解除自锁功能,转子处于自由状态并且不响应步进脉冲。
·V+,GND:为驱动器直流电源端子,也有交流供电类型。
·A+,A-,B+,B-分别接步进电机的两相线圈。
首先你的要求不明确 我看了下 那个嗝1S是一定要完成正传反转之后呢?还是直接按X3反转停止后就开始2000个脉冲反转呢?
下面是我按照X3停止就反转编程的 假设2000个脉冲5秒内完成
输入
X0 正传起动 X1停止
X2 反转起动 X3停止
1S后反转2000 停止
输出Y0 正转 Y1 反转
追问好像有点懂了,如果X1不输入的话,步进电机是不是一直在转的呢?
追答也不是 那要看你脉冲多少个?要是0个脉冲 就一直继续
追问Y0是给驱动器的脉冲, Y1通或不通就是控制正反转,对吗?
追答是的 驱动器看看是什么类型的 有的可以选择的有两种方式 我们选择电平信号方式!
这样的话 Y0是脉冲 YO动作了 Y1不动作就是正传
如果YO有脉冲Y1也动作 那就是反转
如果正反转和你要的结果反了 可以改变电机的A+A-或者B的 只要换一个就行