“工程师你好,我正在使用ET200S 1Step 模块控制步进电机,程序运行正常,输出区从QB400开始,触发向前启动Q404.4 或 向后启动Q404.5,电机都不动作,剩余距离监控一直是0,系统没有报错,换了一个模块也是同样的现象。”
刚打开电脑,就遇到这样一个语气急切的客户,这个问题可能折腾他不少时间,我赶紧接上电源,连好线,准备按照他的配置做了一下测试。实验之前,有必要向大家介绍一下这个模块的基本情况。
1STEP 5V (订货号 6ES7 138-4DC01-0AB0)为步进电机的功率部件生成脉冲。发送的脉冲数决定行进的距离。脉冲频率决定速度。每个时间单位(秒)的脉冲频率变化是加速或减速的衡量指标。每接收到一个脉冲,步进电机轴都会旋转特定的角度。在快速脉冲序列中,该步进运动变成连续旋转运动。该模块可做相对定位和绝对定位,具有差分的脉冲和方向接口,最大脉冲频率510KHz。反馈接口可以监测剩余距离、位置或频率。
实验过程并不难,按照客户的配置简单进行一下硬件组态和参数分配,然后下载下去,直接在变量表中对变量进行赋值和监控,下降沿触发“向前启动”,可以监控到位置值的不断变化,说明模块运行正常。

然而客户的现象怎么才能复现出来呢?火花闪动一下,莫非客户用的是上升沿触发的方式?大家知道,PLC编程一般使用上升沿来执行触发操作,但1STEP 5V 这个模块偏偏使用下降沿触发启动,所以按照习惯的编程方式,则会出现下面的现象:

剩余距离一直是0的状态,而且没有错误的提示。赶紧给客户打电话,客户恍然大悟!