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

关于启程

启程自动化培训成立于2012年,培训项目主打西门子PLC编程系统集成、工业机器人编程、EPLAN电气设计、视觉等培训与技术服务的机构。推荐高薪就业,越努力越幸运

西门子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_Timer_0_Instance.Q THEN

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

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

#绝对定位模式_1 := 1;

END_IF;

IF #绝对定位启动.Done THEN

#绝对定位模式_1 := 0;

#延时处理 := 0;

#程序步:= 20;

END_IF;

20:

#IEC_Timer_0_Instance_1(IN:=#延时处理,

PT:=t#10s);

#延时处理 := 1;

IF #IEC_Timer_0_Instance_1.Q THEN

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

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

#绝对定位模式_1 := 1;

END_IF;

IF #绝对定位启动.Done THEN

#绝对定位模式_1 := 0;

#延时处理 := 0;

#程序步 := 10;

END_IF;

END_CASE;

ELSE

#位置 := 0;

#速度 := 0;

#自动模式_1 := 0;

#程序步 := 0;

END_IF;

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

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

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

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

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

#原点指示灯_1 := '步进电机'.StatusBits.HomingDone;

//以上为输出指示灯

▼ Main程序块调用函数块

(0)

相关推荐

  • 第一个SCL程序

    希望你看完这篇教程后,能写下自己的第一个SCL程序,鲁迅曾经说过,好的开始是成功的一半. 使用SCL语言编程方法简介 SCL语言基本语法规则:表达式 写完前面两篇文章,当我在准备写第三篇时,突然发现这 ...

  • SCL||在STEP 7 (TIA Portal)中, 如何在LAD/FBD/STL 和SCL语言中...

    在调试过程中,经常需要对指令或完整的程序段进行改为注释使指令失效的做法,以便测试程序或定位程序错误. 在 LAD 和 FBD 语言中,为了使一个指令或者一整段程序失效,你需要设置一个位并联到指令或串联 ...

  • SCL与STL的区别是什么?16个SCL常见问题及解答

        SCL  与 与 STL : S7-SCL 可以编译成 STL, 虽然其代码量相对于 STL 编程有所增加,但我们更关心的是程序结构和程序的总体效率.类似于计算机行业的发展,汇编语言已经被舍弃 ...

  • SCL能代替T型图吗?

    一.SCL的概述及特点 SCL(Structured Control Language,结构化控制语言)是一种类似于PASCAL语法的高级编程语言,如果您熟悉PASCAL.BASIC语言或C/C++等 ...

  • 【程序案例】 用LAD与SCL做指示灯随机控制启动顺序

    一.动作描述: 1. 现有5个指示灯或者电机,进行电机1~5编号需要实现它们的随机间隔启动: 2. 5个指示灯对应5个选择开关,选择的顺序决定电机启动的顺序:比如先选择开关2,则2号电机最先启动,依次 ...

  • 西门子Siemens v16 博途软件安装教程

    软件下载 [软件名称]:Siemens v16 [操作系统]:64位 [文件大小]:7.26 GB [安装环境]:Win10/Win8/Win7 [下载地址]: https://pan.baidu.c ...

  • (博途)S7-300PLC传送带工件计数控制程序设计

    传送带想必在工控界并不陌生,商场的自动扶梯,机场的自动人行道,码头上自动装卸货传送带,工厂生产流水线,农业机械中(联合收割机.插秧机)都有应用,传送带上传送的物品肯定是要得知它传送了多少物品,那么如何 ...

  • 周报80期 | 西门子200/300/1200、WINCC、博途必备知识解答!

    技成周报:80期 1.设置PG/PC接口,为什么会出现"所有接口正在通讯,此时不能更改访问路径"? 答:这个可能的原因是电脑中启动了其它软件,关闭电脑重新启动STEP 7 - Mi ...

  • 西门子博途S7

    西门子博途S7

  • 西门子博途 TIA 的 Modbus 主站通讯技术讲解

    西门子PLC因其市场占有率较高,且被广大用户使用,应用比较广泛,而其博图TIA平台得到了推广应用,本文将介绍使用CP341进行Modbus 主站通讯 硬件:CP341,Dongle,CPU,PS307 ...

  • TIA博途 西门子PLC 编程 伺服控制 开端

    在做PLC编程,自动化这个行业,伺服控制是抛不开的,想要将自动化做得更进一步,我们呢就必须将伺服控制原理,伺服控制,伺服马达....这些知识都必须掌握在手中,我接下来的几篇就会侧重讲一些伺服的知识. ...

  • 西门子1200博图里面下载PLC时,下载不了或者报错的几种常见原因及对策详解

    在西门子博图里面,下载PLC时,尤其是在转在线时,总报错误,是什么原因呢?总结一下,发生这种报错的原因大致有硬件和软件两个部分的问题 一.硬件错误 硬件错误包括网线,电源,PLC型号,组态的设备型号等 ...

  • 博途V15 西门子S7-1200与触摸屏案例

    博途V15 西门子S7-1200与触摸屏案例

  • 西门子博途1200PLC案例分享:皮带逆启顺停

    关于启程 启程自动化成立于2012年,培训项目主打西门子PLC编程系统集成.工业机器人编程.EPLAN电气设计.视觉等培训与技术服务的机构.推荐高薪就业,越努力越幸运 皮带逆向按时间启动,顺向按时间停 ...