新闻
1FL6066-1AC61-2LH1现货西门子代理
2024-05-20 03:19  浏览:8
1FL6066-1AC61-2LH1现货西门子代理西门子V90伺服问题的解决:参考点不能断电保存和不能多次执行寻参指令的问题




"三阶段"工程师之路

1、基础阶段:博途PLC的系统化与专项学习。

2、中级阶段:博途实例与C#基础学习视频,完成OT与IT融合化学习。

3、阶段:博途的标准化编程方法学习。

标准化方法之路!

一、概述

       SINAMICS V90是西门子推出的一款小型、高效便捷的伺服系统。2016年7月底,推出了带PROFINET接口的V90驱动器,配合SIEMENS PLC, 能够组成一套完善的、经济的、可靠的运动控制解决方案, 轻松实现位置控制,速度控制,扭矩控制等多种控制方式。

PN控制V90伺服,可设置报文111,PZD12/12,通过官方提供的FB284功能块进行控制。

图片

在使用定位模式EPOS控制时,需要先进行回参考点操作。如伺服驱动带增量式编码器,共计三种回参考点模式可用:

· 通过数字量输入信号 REF 设置回参考点

· 通过外部参考点挡块(信号 REF)和编码器零脉冲回参考点

· 仅通过编码器零脉冲回参考点

如伺服驱动带值编码器,共计三种回参考点模式可用。也可以通过 BOP 功能"ABS"调整值编码器(将当前位置设为零位)。详细信息可参见章节"调整值编码器" 。

通过设置参数 p29240 可以选择其中一种模式:

图片

值编码器回参考点模式

如连接值编码器,三种回参考点模式可用。可以通过参数 p29240 选择不同的回参考点模式。当 p29240 = 1 或 2 时,仅能在使用“ABS”功能之前执行回参考点操作。一旦使用“ABS”功能,这两种回零方式将不再生效。

二、存在问题

      根据现场调试发现,在V90的使用中,使用值编码器时,发现有两个问题

     执行回参考点动作后,设备重新上电,参考点丢失。需要在调试软件“V-ASSISTANT”中点击“保存参数到ROM”按钮。

图片


2.      在执行寻找外部信号REF设置参考点后,不能触发第二次寻找参考点指令。 

      官方提供的FB38000功能块,只能解决个问题,将当前位置记为“0”点,并执行

“保存至ROM”,并不能执行寻找参考点的功能。

同时FB38000,官方提供使用方法,需要在中断OB中调用。实际使用效果,反馈时间很长,大约要3,4秒。

图片


三、解决办法

       为了解决存在问题,在阅读V90参数手册后,总结这两个问题的解决方法:

       需要使用FB功能块 SINA_PARA_S (FB287)

图片

过程中用到如下参数:

    P2507 值编码器状态

值编码器寻参后,不能被第二次触发寻参,是由于P2507已被更改为3。如想再次进行寻找参考点指令,需要将此参数的值改为0。

在寻参指令运行结束后,将P2507数值改为2,会将当前位置记为P2599的预设值。


图片


图片

P0971 存储驱动对象参数

    将寻参后的编码器数值保存至ROM,伺服断电后,参考点不会丢失。

    将P0971写入1,激活保存参数功能。


图片


四、总结调用参数过程,总结如下:

值回零,在p2507为3时,不能执行回零动作。

仅在p2507为1时,才能执行回零动作

回零流程:

1.将p2507改为1

2.执行回零动作

3.将p2599改为0(参考点坐标值)

4.将p2507改为2(执行值校准)

5.将p971改为1(保存参数从RAM至ROM)


五、应用效果

       在项目中使用效果,伺服使用值编码器,并使用传感器作为REF信号时。执行回参考点动作后,参数可以保存至ROM。设备重新上电后,不用重新回参考点。

      在有回参考需求时,可通过在HMI上的按钮激活回参动作,并在回参动作后,自动执行修改相关参数指令。解决了不能多次执行回参考点的问题。

由于V90伺服控制器的保存参数功能需要大约2,3秒。寻参动作完成标志变量会在伺服回零动作完成后2,3秒亮起,而在手动模式下,这种延时并不会对其他操作造成大的影响。


六、参考测试后的程序


图片


图片


IF #sCtrl.sFindRef AND #ref_set.Step = 0 THEN

    #ref_set.done := false;


    #ref_set.Step := 10;

END_IF;


IF NOT #sCtrl.sFindRef THEN

    #ref_set.Step := 0;

    #ref_set.Ref_active := FALSE;

    #ref_set.Servo_disable := FALSE;

    #ref_set.SINA_PARA_start := false;

END_IF;


REGION p2507_to_1

    //p2507 set to 1

    IF #ref_set.Step = 10 AND NOT #SINA_PARA_S.Start THEN

        #ref_set.Servo_disable := true;


        #ref_set.Step += 1;

    END_IF;


    IF #ref_set.Step = 11 AND NOT #SINA_PARA_S.Start AND NOT #SINA_POS.AxisEnabled THEN

        #SINA_PARA_S.ReadWrite := 1;

        #SINA_PARA_S.Parameter := 2507;

        #SINA_PARA_S.ValueWrite1 := 1.0;

        #SINA_PARA_S.ValueWrite2 := 1;


        #ref_set.SINA_PARA_start := true;

    END_IF;


    IF #ref_set.Step = 12 AND #SINA_PARA_S.Busy THEN

    END_IF;


    IF #ref_set.Step = 13 AND #SINA_PARA_S.Done AND NOT #SINA_PARA_S.Error THEN

        #ref_set.SINA_PARA_start := false;

        #ref_set.Servo_disable := FALSE;

        #ref_set.Step := 20;

    END_IF;


END_REGION


REGION active REF move

    //active ref move

    IF #ref_set.Step = 20 AND NOT #SINA_PARA_S.Start AND #SINA_POS.AxisEnabled THEN

        #ref_set.Ref_active := TRUE;

    END_IF;


    IF #ref_set.Step = 21 AND NOT #SINA_POS.AxisRef THEN

    END_IF;


    IF #ref_set.Step = 22 AND #SINA_POS.AxisRef THEN

        #ref_set.Ref_active := FALSE;

        #ref_set.Step := 30;

    END_IF;


END_REGION


REGION p2599_to_0

    //p2599 set to 0

    IF #ref_set.Step = 30 AND NOT #SINA_PARA_S.Start THEN


    END_IF;


    IF #ref_set.Step = 31 AND NOT #SINA_PARA_S.Start AND NOT #SINA_POS.AxisEnabled THEN

        #SINA_PARA_S.Parameter := 2599;

        #SINA_PARA_S.ValueWrite1 := 0.0;

        #SINA_PARA_S.ValueWrite2 := 0;


    END_IF;


    IF #ref_set.Step = 32 AND #SINA_PARA_S.Busy THEN

    END_IF;


    IF #ref_set.Step = 33 AND #SINA_PARA_S.Done AND NOT #SINA_PARA_S.Error THEN

        #ref_set.Step := 40;

    END_IF;


END_REGION


REGION p2507_to_2

    //p2507 set to 1

    IF #ref_set.Step = 40 AND NOT #SINA_PARA_S.Start THEN


    END_IF;


    IF #ref_set.Step = 41 AND NOT #SINA_PARA_S.Start AND NOT #SINA_POS.AxisEnabled THEN

        #SINA_PARA_S.ValueWrite1 := 2.0;

        #SINA_PARA_S.ValueWrite2 := 2;


    END_IF;


    IF #ref_set.Step = 42 AND #SINA_PARA_S.Busy THEN

    END_IF;


    IF #ref_set.Step = 43 AND #SINA_PARA_S.Done AND NOT #SINA_PARA_S.Error THEN

        #ref_set.Step := 50;

    END_IF;


END_REGION


REGION p971 to 1

    //p2599 set to 0

    IF #ref_set.Step = 50 AND NOT #SINA_PARA_S.Start THEN


    END_IF;


    IF #ref_set.Step = 51 AND NOT #SINA_PARA_S.Start AND NOT #SINA_POS.AxisEnabled THEN

        #SINA_PARA_S.Parameter := 971;


    END_IF;


    IF #ref_set.Step = 52 AND #SINA_PARA_S.Busy THEN

    END_IF;


    IF #ref_set.Step = 53 AND #SINA_PARA_S.Done AND NOT #SINA_PARA_S.Error THEN

        #ref_set.Step := 99;

    END_IF;


END_REGION


REGION end

    IF #ref_set.Step = 99 THEN

        #ref_set.done := TRUE;

        #ref_set.SINA_PARA_start := FALSE;

    END_IF;


END_REGION


//SINA_PARA_S

#SINA_PARA_S(Start:=#ref_set.SINA_PARA_start,

             AxisNo:=16#02,

             hardwareId:=#HW_access);


图片


五、总结调用参数过程,总结如下:

值回零,在p2507为3时,不能执行回零动作。

仅在p2507为1时,才能执行回零动作

回零流程:

1.将p2507改为1

2.执行回零动作

3.将p2599改为0(参考点坐标值)

4.将p2507改为2(执行值校准)

5.将p971改为1(保存参数从RAM至ROM)


六、应用效果




相关新闻
联系方式
公司:湖南西控自动化设备有限公司
姓名:徐嘉泉(先生)
职位:经理
手机:17838383235
地区:湖南-长沙
地址:中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
QQ:3305575995
微信:17838383235
17838383235 请卖家联系我
拨打电话
微信咨询
请卖家联系我