1FL6034-2AF21-1AB1现货西门子代理

供应商
湖南西控自动化设备有限公司
认证
西门子
V90
电机
1FL6034-2AF21-1AB1
德国
2500线增量编码器带键槽带抱闸
联系电话
17838383235
手机号
17838383235
经理
徐嘉泉
所在地
中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
更新时间
2024-06-01 08:00

详细介绍

1fl6034-2af21-1ab1现货西门子代理

1fl6034-2af21-1ab1现货西门子代理

1fl6034-2af21-1ab1现货西门子代理

【干货】西门子s7-1200博途用lad和scl语言控制步进电机程序分析


西门子s7-1200plc控制步进电机的梯形图程序


西门子s7-1200plc控制步进电机的梯形图程序,也可以用结构化编程的思路来编程。


首先,新建一个fb,编程语言选择lad(梯形图)。


然后,在fb编程区编写程序段1~19。


程序段1,m1.2为系统存储器始终为1。手/自动开关为1时,自动模式开启;手/自动开关为0时,手动模式开启。


程序段2,m1.2为系统存储器始终为1。启动使能按钮一个上升沿在步进电机未使能时,置位轴使能;启动使能按钮一个上升沿在步进电机已使能时,复位轴使能。


▼ 程序段1、2


程序段3,步进电机启动使能,调用mc_power指令程序。


程序段4,步进电机点动模式,调用mc_movejog指令程序。


▼ 程序段3、4


程序段5,在手动模式下,按复位按钮,复位指令启动。


程序段6,步进电机复位模式,调用mc_reset指令程序。


程序段7,步进自动转换为手动模式的一个脉冲时,触发暂停模式。


▼程序段5、6、7


程序段8,步进电机暂停模式,调用mc_halt指令程序。


程序段9,在自动模式下,按复位按钮,回原点指令启动。


▼程序段8、9


程序段10,步进电机回原点模式,调用mc_home指令程序。


程序段11,在自动模式下,按自动启动按钮,开始执行定位运行。


▼ 程序段10、11


程序段12,步进电机原点ok情况下,确认原点的偏差范围为-0.5~+0.5,则认为是原点位置。确认位置1、2的定位偏差范围为-0.5~+0.5。


▼ 程序段12


程序段13,自动开始启动按钮按下,如在原点位置,则调用15.0的定位速度和位置1的定位位置;如在位置1处,则调用20.0的定位速度和位置2的定位位置;


▼ 程序段13


程序段14,定位1、2的触发,统一为定位触发。


程序段15,定位模式,通过上几步的设置为步进电机进行定位。


▼ 程序段14、15


程序段16,自动指示灯程序。


程序段17,手动指示灯程序。


程序段18,步进电机启动使能程序


程序段19,步进电机使能异常报警程序。


▼程序段16、17、18、19


后,我们要在主程序块下调用fb程序,直接在项目树中拖过来放开即可,这里要为fb的输入、输出分配好实参地址。


▼ 主程序块调用fb

好了,西门子s7-1200plc控制步进电机的部分梯形图程序就介绍到这里,实际工程应用大家自行增减。




西门子s7-1200plc控制步进电机的scl语言编程


▼ 函数块scl语言程序


#轴使能启动(axis:="步进电机",

       enable:=#轴使能_1,

       startmode:=1,

       stopmode:=1);

#复位启动(axis:="步进电机",

      execute:=#手动模式_1 and #复位按钮);

"回原点启动"(axis:="步进电机",

        execute:=#自动模式_1 and #复位按钮,

        position:=0,

        mode:=3);

#点动模式启动(axis:="步进电机",

        jogforward:=#正向点动 and #手动模式_1,

        jogbackward:=#负向点动 and #手动模式_1);

#定位启动(axis:="步进电机",

        execute:=#定位模式_1,

        position:=#位置,

        velocity:=#速度);


#上升沿检测(clk:=#手动模式_1);

#暂停模式启动(axis:="步进电机",

        execute:=#上升沿检测.q);


//以上为指令块调用


#上升沿检测2(clk:=#启动使能按钮);


if #上升沿检测2.q and not #轴使能启动.status then

    #轴使能_1 := 1 ;

   

end_if;


if #上升沿检测2.q and  #轴使能启动.status then

    #轴使能_1 := 0 ;

   

end_if;


#自动模式_1 := #"自/手动切换";


#手动模式_1 := not #"自/手动切换";


//以上为按钮的状态


#步进启动2 := #自动模式_1 and #自动启动 and"步进电机".statusbits.homingdone;


//以上定位方式的自动启动


if #步进启动2 then

    case #程序步 of

        0:

            #程序步 := 10;

            ;

        10:

            #位置 := #位置1设置值;

            #速度 := #速度1设置值;

            #定位模式_1 := 1;

            #延时处理 := 0;

            if #定位启动.done then

                #定位模式_1:= 0;

            #程序步:= 15;

             end_if;

        

        15:

            #iec_timer_0_instance(in:=#延时处理,

                              pt:=t#0s);

         #延时处理 := 1;

            if#iec_t then

                #位置 :=#位置2设置值;

                #速度:=#速度2设置值;

                #定位模式_1:= 1;

            end_if;

                #延时处理 :=0;

            #程序步:= 20;

            end_if;

            

        20:

           #iec_timer_0_instance_1(in:=#延时处理,

                                  pt:=t#10s);

            

            #延时处理 := 1;

            if#iec_tim then

                #位置 :=#位置3设置值;

                #速度 :=#速度3设置值;

            end_if;

                #程序步 :=10;

            end_if;

        

    end_case;

else

    #位置 := 0;

    #速度 := 0;

    #自动模式_1 := 0;

    #程序步 := 0;

end_if;

//以上为三个位置的定位,预留延时功能


#自动指示灯_1 := #自动模式_1;

#手动指示灯_1 := #手动模式_1;

#报警指示灯_1 := #轴使能启动.error;

#轴使能指示灯 := #轴使能启动.status;

#原点指示灯_1 := "步进电机".statusbits.homingdone;

//以上为输出指示灯


▼ main程序块调用函数块


西门子PLC代理,西门子变频器代理,西门子伺服电机代,西门子工控机代理,西门子触摸屏代理

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话