运动控制向导为运动轴创建的指令
快速入门篇十四:运动控制器基础轴参数与基础运动控制指令
快速⼊门篇⼗四:运动控制器基础轴参数与基础运动控制指令今天,我们来讲解⼀下正运动技术运动控制器的基础轴参数与基础运动控制指令。
视频——正运动技术基础运动控制指令⼀材料准备与控制器接线参考控制器接线参考⼆常⽤轴参数的设置1、BASE——轴选择语法:BASE(轴1,轴2,轴3,...)最⼤可⽤轴数根据控制器实际硬件决定。
BASE指令⽤于导向下⼀个运动指令轴的参数读/写⼊特定轴或轴组。
每⼀个过程有其⾃⼰的BASE基本轴组,每个程序能单独赋值。
ZBasic 程序与控制轴运动的运动发⽣器分开。
每个轴的运动发⽣器有其独⽴的功能,因此每个轴能以⾃⼰的速度、加速度等进⾏编程。
轴可以通过叠加运动、同步运动或者通过插补链接在⼀起,插补运动的速度等参数采⽤主轴的参数,默认BASE选择的第⼀个轴例⼦:BASE(0,1,2,3) '轴列表选择:0,1,2,3,轴0为主轴BASE(3,2,5) '轴列表选择:3,2,5,轴3为主轴2、ATYPE——轴类型语法:ATYPE=类型值设置轴的类型,提供轴类型列表,只能设置为当前轴具备的特性。
在程序初始化的时候就设置好ATYPE,ATYPE若不匹配会导致程序⽆法正常运⾏。
⽀持不同类型的轴混合插补。
例⼦:BASE(0,1,2) '主轴为轴0ATYPE=1,1,1 '按轴列表匹配,设为脉冲轴类型ATYPE AXIS(4)=3 '轴4设为正交编码器类型ATYPE(3)=65 '轴3设为ECAT周期位置模式653、UNITS——脉冲当量语法:UNITS=脉冲数 UNITS(轴号)=脉冲数控制器以UNITS作为基本单位,指定每单位发送的脉冲数,⽀持5位⼩数精度。
UNITS是⽤户单位与脉冲单位之间的纽带,UNITS=10000,MOVE(2) 等效给电机20000个脉冲。
若电机不带机械负载,电机转的圈数取决于电机转⼀圈需要的脉冲数:例1:电机转⼀圈需要10000脉冲数,MOVE(3)想让电机转3圈,则UNITS=10000。
pmac中m指令 -回复
pmac中m指令-回复PMAC中的M指令是指控制运动的指令集,它在工业自动化领域中被广泛应用。
本文将从PMAC的基本概念开始,逐步介绍M指令的使用方法和常见应用场景。
一、PMAC基本概念PMAC(Programmable Multi-Axis Controller)是一种多轴可编程控制器,可以控制多个伺服驱动器实现高精度运动控制。
PMAC系统由控制器、伺服驱动器和伺服电机组成,通过编程指令实现对运动轴的控制。
M指令是PMAC系统中用于控制运动轴的特定指令。
二、M指令的基本格式M指令由字母"M"和一个整数地址组成,如M0、M1、M2等。
根据具体的应用需求,M指令可以携带参数以及附加信息。
下面将逐步介绍常见的M指令及其使用方法。
三、常见M指令及其使用方法1. M0:停止运动M0指令用于停止运动轴的运动。
一般使用格式为"M0 X",其中X为运动轴的编号。
例如,要停止1号轴的运动,可以使用"M0 1"。
2. M1:暂停运动M1指令用于暂停运动轴的运动。
使用格式为"M1 X",其中X为轴的编号。
3. M2:加速到指定速度M2指令用于将运动轴加速到指定速度。
使用格式为"M2 X S",其中X为轴的编号,S为目标速度。
例如,要将1号轴加速到5000rpm的速度,可以使用"M2 1 5000"。
4. M3:顺时针旋转M3指令用于使运动轴顺时针旋转。
使用格式为"M3 X",其中X为轴的编号。
5. M4:逆时针旋转M4指令用于使运动轴逆时针旋转。
使用格式为"M4 X",其中X为轴的编号。
6. M5:紧急停止M5指令用于紧急停止运动轴的运动。
使用格式为"M5 X",其中X为轴的编号。
该指令会立即停止轴的运动,并切断电机的电源。
7. M6:切换工具M6指令用于切换工具,如工作头或刀具。
SMART常用的运动控制子程序的应用详解
SMART 常用的运动控制子程序的应用详解
之前我们讲解过SMART 运动控制向导的组态应用,组态好向导后自动生成运动子程序,只需调用对应功能的子程序进行编程即可,那幺今天我们分别学习一下常用的子程序的应用。
1、初始化运动轴指令,对每个轴必须要启用一条初始化指令。
而且要保证EN 和MOD_EN 一直是接通状态(SM0.0)
Done:初始化完成标志,正在初始化为OFF,完成则变成为ON。
Error:显示错误代码编号,详情打开帮助查看运动轴错误代码。
C_Pos:当前位置,相对脉冲方式时单位为脉冲数,工程单位则为mm
等,其它的子例程中类似,不做另外的说明。
C_Speed:当前速度,相对脉冲时单位为HZ,工程单位则为mm/s,其它子
例程中类似,不做另外的说明。
【智】S7-200SMART运动控制指令详解带你启程!
【智】S7-200SMART运动控制指令详解带你启程!大家好,我是微控小智,今天又跟大家见面了。
学习需要坚持,做技术亦是如此,厚积才能博发。
小智写的程序都是进行反复测试过的,可以放心跟着操作,有疑问的地方可以留言。
S7-200SMART运动控制指令由编程软件向导生成,运动控制指令有很多条构成,且每条指令都带有很多接口参数,要想使用这些指令,先要知道接口是什么意思,虽然帮助文章都有解释,但读懂帮助文件也很费劲,那么今天,小智就来给大家介绍一下常用的S7-200SMART运动控制指令。
S7-200SMART运动控制指令向导如下图所示:1.启用并初始化轴AXISx_CTRL子程序(控制)启用和初始化运动轴,方法是自动命令运动轴每CPU更改为RUN模式时加载组态/曲线表。
在项目中只对每条运动轴使用此子程序一次,并确保程序会在每次扫描时调用此子程序。
使用SM0.0(始终开启)作为EN参数的输入。
管脚含义:MODE:启用模块。
1=可发送命令;0=中止进行中的任何命令Done:完成标志位Error:错误代码(字节)C_Pos:轴的当前位置(绝对定位或者相对定位),工程单位:Real型数据;相对脉冲:DINT型数据C_Speed:轴的当前速度,Real型数据C_Dir:轴的当前方向(1=反向,0=正向)2.手动控制轴AXISx_MAN子例程(手动模式)将运动轴置为手动模式。
这允许电机按不同的速度运行,或沿正向或负向慢进。
在同一时间仅能启用RUN、JOG_P或JOG_N输入之一。
管脚含义:RUN:1=轴手动运行(速度和方向分别由Speed和Dir管脚控制)0=停止手动控制JOG_P:1=正转点动控制JOG_N:1=反转点动控制Speed:RUN运行时的目标速度,Real型数据Dir:RUN运行时的方向Error:错误代码(字节)C_Pos:轴当前位置(绝对定位或者相对定位),工程单位:Real型数据;相对脉冲:DINT型数据C_Speed:轴当前速度,Real型数据C_Dir:轴的当前方向(1=反向,0=正向)3.绝对或者相对定位AXISx_GOTO子程序命令运动轴转到所需位置。
plc st语言movp指令
PLC(可编程逻辑控制器)是用于自动化控制系统中的重要设备,它通过特定的PLC编程语言来实现各种控制任务。
其中,ST(结构化文本)语言是一种常用的PLC编程语言,它具有编写结构清晰、代码可读性强的特点。
在ST语言中,movp指令是一个常用的指令,用于在PLC 程序中实现点到点的运动控制。
下面我们将详细介绍ST语言和movp 指令的使用方法。
一、ST语言概述ST语言是一种基于结构化文本的PLC编程语言,它提供了丰富的语法和逻辑结构,可以方便地实现各种控制任务。
与传统的通联图和功能块图相比,ST语言的代码结构更清晰,能够更直观地表达程序逻辑。
在ST语言中,程序由不同的程序块组成,包括顺序功能块、中断功能块、函数块等,可以根据实际需要自由组合。
ST语言还支持各种常用的数据类型和运算符,能够满足复杂控制任务的编写需求。
二、movp指令功能movp指令是ST语言中的一个常用指令,它主要用于实现点到点的运动控制。
在工业自动化领域中,各种机械设备需要进行精准的定位和移动,movp指令能够实现对运动轴的位置控制,使设备能够按照预先设定的路径进行运动。
通过movp指令,PLC可以实现各种复杂的运动控制任务,包括直线运动、圆弧运动、螺旋运动等。
三、movp指令参数在ST语言中,使用movp指令需要指定一系列参数,包括运动轴编号、目标位置、速度、加速度、减速度等。
具体参数的设置需要根据实际的设备和运动控制要求来确定,通常需要结合设备的运动特性和工作环境来进行调试和优化。
通过合理设置参数,可以实现设备的精准定位和稳定运动,提高生产效率和产品质量。
四、movp指令应用movp指令在工业自动化领域中有着广泛的应用,可以实现各种复杂的运动控制任务。
在生产线上,通过PLC的运动控制程序可以实现对输送带、机械臂、装配机等设备的精准控制,使产品能够按照预定的路径和速度进行自动化生产。
另外,在包装、搬运、装配等环节中,movp指令也能够发挥重要作用,实现设备的快速、稳定、灵活的运动控制。
运动控制指令介绍
运动及轴命令ACC类型:轴指令语法: ACC(rate)注意:这个指令用来和旧的Trio控制器兼容。
在新控制程序中加速度率和减速度率可用ACCEL 和DECEL轴参数设定。
说明:同时设定加速度率和减速度率参数:rate:加速率,单位:UNITS/SEC/SEC例子:例1:把轴的加、减速设置成相同的值,在指定的速度下,运行电机ACC(120) ‘ 加减速同时设为 120 units/sec/secSPEED=14.5 ‘ 电机速度设为 14.5 units/secMOVE(200) ‘ 电机走 200个units的增量距离ADD_DAC类型:轴指令语法: ADD_DAC(轴)说明: ADD_DAC指令提供双反馈控制。
允许一个辅助编码器(轴2)反馈到伺服轴(轴1)。
指令使得两个伺服环的输出共同决定伺服轴的速度指令输出。
这个指令通常应用于轧辊反馈系统,需要一个辅助编码器补偿滑动。
当一个运动轴,带两个反馈编码器时,用到这条指令。
实现方法:在虚拟轴上做动作,用ADDAX()或CONNECT()把此动作加到两个轴上,再用ADD_DAC把两个轴的速度指令输出加到同一轴上如果2个反馈装置分辨率的不同,必须注意两个轴所要求的目标位置不一样。
注:在下例中,需要设置辅助编码器轴的ATYPE为伺服轴。
使用ADD_DAC(-1)取消连接参数:轴速度参考输出到基本轴,设置-1取消连接,并返回正常操作。
参阅: AXIS,ADDAX,OUTLIMIT例1:BASE(1)‘使两轴编码器在相同的线性距离反馈回相同的计数ENCODER_RATIO(counts_per_mm2, counts_per_mm1)UNITS AXIS(1) = counts_per_mm1UNITS AXIS(2) = counts_per_mm1 ‘ 单位必须相同ADD_DAC(2) ' 把轴2 的DAC_OUT叠加到轴1上ADDAX(1) AXIS(2) ' 把轴1的轨迹加到轴2上‘到现在,两轴已经准备就绪MOVE(1200)WAIT IDLEADDAX类型:运动控制指令语法: ADDAX(轴号)说明: ADDAX指令将2个或多个的运动叠加形成较复杂的运动轨迹。
两轴运动控制器指令说明
指令说明:输出状态设置输出口号。
出厂参数默认的是M0-01到M9-10如下图所示:如您要重新设置,可以如下图所示:在控制器主界面进入参数设置-》IO设置-》输出。
重新设置好参数。
M0-M9相当与指令里的参数01-10相当与接线板的输出1-10(绿灯)输出状态指令是用于接输出点的。
比如:接水泵,气缸,电磁阀等等。
但必须先接中间继电器,由中间继电器转出去。
继电器接法如下图:(一头接24V,一头接输出口。
)参数:P(输出口号),S(输出状态)取值范围:P(0-9),S(0:关,1:开)(特殊指令)输入控制输出在参数设置画面下(主画面进入“参数设置”),按“空格”键进入此设置。
显示“入00态00出00态00类00”共四行。
入:指输入口号(1-10)态:指相应的输入口为0/1时有效出:批输出态号(0-9),对应于M0-M9态:指相应的输出态为0/1类:0:电平状态:相应的输入口与其态相符时使输出态置为相应的输出状态1:脉冲方式:相应的输入口触发一次使输出态置为相应的输出状态注:输入口为零时无效最多可设置四个延时等待延时相应时间。
时间单位0.1/0.01秒参数:T(延时的时间)。
取值范围:(0-99999)当T为0时执行暂停功能,暂停后按面板上的启动键继续。
时间单位:0.1秒默认的是0.1秒,如需时间更精确的话,在控制器界面进入参数设置-》系统参数-》选项(0.01秒)如下图时间单位:0.01秒直线插补沿直线,以F速度×速度倍率,运动给定的增量值。
此运动受速度倍率的影响,且与当前F速度有关。
参数:X,Y,Z,C(向运动增量)F(运动速度,如F速度为0,默认速度300,数值越大速度越高)注:F为0,受上直线插补、测位运动、圆弧指令速度的影响参数:P(输入口号)S(输入口状态)取值范围:P(1-10)S(0,1)P参数(非0)选择的输入口S状态为(0/1)时等待。
(用与常开、常闭)常开常闭接法:(三线传感器:一头接输入点,另外两头分别接24V,24G)(二线传感器:一头接输入点,另外一头接24G)当P为0,S为1时,执行无限运动。
scl 运动控制指令用法
scl 运动控制指令用法SCL(Structured Control Language)是一种用于PLC(Programmable Logic Controller,可编程逻辑控制器)编程的语言,它用于编写和控制程序的执行顺序。
SCL包含了各种控制指令,用于实现程序的逻辑控制、数据处理和运动控制等功能。
本文将详细介绍SCL运动控制指令的用法,包括单轴运动、连续轴运动、定位运动等内容。
1. 单轴运动单轴运动是指控制一个轴的位置和速度,常用于简单的运动控制场景。
SCL提供了丰富的指令来实现单轴运动控制,其中包括:- MC_MoveAbsolute:绝对位置运动指令,用于将轴移动到指定的绝对位置。
- MC_MoveRelative:相对位置运动指令,用于将轴移动到相对于当前位置的指定位置。
- MC_Stop:停止指令,用于立即停止轴的运动。
以下是一个简单的单轴运动控制程序示例:SCLORG M100MC_MoveAbsolute Axis1, 1000, 500, 500该程序首先在M100位置标记处执行,然后使轴Axis1移动到绝对位置1000,速度为500,加减速度为500。
2. 连续轴运动连续轴运动是指同时控制多个轴进行同步或异步的运动控制。
SCL提供了一系列指令来实现连续轴运动,其中包括:- MC_GroupCreate:创建轴组指令,用于将多个轴组成一个轴组,以便进行同步或异步的运动控制。
- MC_GroupMoveAbsolute:轴组绝对位置运动指令,用于将轴组移动到指定的绝对位置。
- MC_GroupMoveRelative:轴组相对位置运动指令,用于将轴组移动到相对于当前位置的指定位置。
以下是一个简单的连续轴运动控制程序示例:SCLORG M100MC_GroupCreate Group1, Axis1, Axis2MC_GroupMoveAbsolute Group1, 1000, 500, 500该程序首先在M100位置标记处执行,然后创建一个轴组Group1,包含轴Axis1和Axis2,然后将轴组Group1移动到绝对位置1000,速度为500,加减速度为500。
1200plc绝对位置指令
1200plc绝对位置指令1200 plc绝对位置指令是指在Siemens S7-1200系列可编程逻辑控制器(PLC)中使用的一种指令,它通过指定绝对位置的方式控制执行器或运动轴的位置。
本文将详细介绍1200 plc绝对位置指令的功能、使用方法以及与其他相关指令的比较。
1200 plc绝对位置指令主要用于控制运动轴的位置,比如机械臂、运输台等。
它可以直接对运动轴的位置进行精确定位,从而实现准确的运动控制。
通过绝对位置指令,我们可以精确地控制运动轴的启动、停止、加速、减速,以及定位动作等。
使用1200 plc绝对位置指令时,我们首先需要定义一个运动轴的数据块,并在该数据块中设置相关参数,比如指定轴的类型、运动模式、速度、加速度等。
然后,我们可以使用绝对位置指令对运动轴进行控制。
在1200 plc绝对位置指令中,最常用的指令是“MC_MoveAbsolute”。
该指令可以将运动轴移动到指定的绝对位置。
具体语法如下:MC_MoveAbsolute(Axis, Position, Velocity, Acceleration)其中,Axis表示运动轴的编号,Position表示要移动到的绝对位置,Velocity表示运动轴的速度,Acceleration表示运动轴的加速度。
使用MC_MoveAbsolute指令时,我们可以通过设置Position参数来指定运动轴要移动到的绝对位置。
该位置可以是一个具体的数值,也可以是一个变量。
通过设置Velocity和Acceleration参数,我们可以控制运动轴在移动时的速度和加速度。
在实际应用中,1200 plc绝对位置指令通常会与其他指令配合使用。
比如,我们可以使用"MC_ReadAxisIdxPos()"来读取运动轴的实际位置,以便进行位置比较或其他逻辑操作。
另外,我们还可以使用"MC_MoveAbsoluteWithVelocity()"指令来控制运动轴在移动过程中保持指定的速度。
西门子S7-200SmartPLC运动控制向导
西门子S7-200SmartPLC运动控制向导西门子S7-200 Smart PLC运动控制向导设置
AXIS0_CTRL:运动轴初始化。
AXIS0_MAN:手动子例程。
AXIS0_GOTO:单段定量子例程。
(可设置为相对或绝对)
AXIS0_RUN:多段定量曲线子例程。
调用向导中组态的曲线运动。
AXIS0_RSEEK:搜寻参考点子例程。
按照向导中组态的搜寻速度和搜寻模式搜寻RPS建立参考点。
AXIS0_LDPOS:修改当前位置子例程,可以为运动建立一个虚拟的参考点。
AXIS0_SRATE:修改加减速及急停时间子例程。
AXIS0_CFG:重新加载组态子例程。
修改向导数据块中数值后都要用CFG进行刷新才生效。
关于西门子S7-200SMART运动控制向导就完成了!。
运动控制向导的配置和运动控制指令的使用方法
运动控制向导的配置和运动控制指令的使用方法运动控制向导的配置方法:1. 在运动控制向导中打开运动控制设置界面。
2. 选择要组态的轴,例如轴0,点击下一步。
3. 轴命名为轴0,点击下一步。
4. 测量系统设置,包括选择测量系统(工程单位),电机每转脉冲数(步进电机细分设置),测量单位(mm),电机转动一圈进给(丝杠螺距)等。
5. 方向控制,这里可以选择源型输出。
6. 正向极限LMT+和反向极限LMT-(非必选)。
7. 原点信号RPS(原点回归用)。
8. 零点信号ZP,用伺服电机时选择这个,用步进电机时关闭此功能。
9. 停止信号STP。
10. 曲线中停止信号(非必选)。
11. 使能输出。
12. 启动速度、点动速度、加减速时间、急停时间、反冲补偿等参数的设置。
13. 原点回归速度及方向设置。
14. 偏移量设置。
15. 原点回归方式设置。
16. 读取位置,需配合西门子伺服用,不选。
17. 曲线,这里可以添加自定义的运动轨迹。
18. 存储区为系统存储上面参数的地址,注意不要和其它地址冲突,这里选择VD1000开始。
19. 自动生成的了函数,可以根据需要进行选择,这里全选。
20. IO映设表,前面选择的IO点。
21. 最后一页,选择完成。
运动控制指令的使用方法:运动控制指令的使用需遵循一些准则:必须确保在同一时间仅有一条运动指令激活。
可在中断例程中执行AXISx_RUN和AXISx_GOTO。
但是,如果运动轴正在处理另一命令时,不要尝试在中断例程中启动指令。
如果在使用中断程序中启动指令,则可使用AXISx_CTRL指令的输出来监视运动轴是否完成移动。
对于脉冲,这些参数为DINT值。
有些特定位置控制任务需要以下运动指令:要在每次扫描时执行指令,请在程序中插入AXISx_CTRL指令并使用触点。
要指定运动到绝对位置,必须首先使用AXISx_RSEEK或AXISx_LDPOS指令建立零位置。
要根据程序输入移动到特定位置,请使用AXISx_GOTO指令。
【智】S7-1200运动控制指令详解!真干货!
【智】S7-1200运动控制指令详解!真干货!大家好,我是微控小智,今天又跟大家见面了。
学习需要坚持,做技术亦是如此,厚积才能博发。
小智写的程序都是进行反复测试过的,可以放心跟着操作,有疑问的地方可以留言。
S7-1200运动控制指令与S7-200SMART运动控制指令有很多相似之处,S7-1200运动控制指令功能是非常强大的,S7-1200运动控制中使用了轴的概念,通过对轴的组态,包括硬件接口,位置定义、动态特征、机械特性等等与相关的指令块组合使用,可以实现绝对定位、相对定位、点动、转速控制和自动寻找参考点的功能。
今天小智用的S7-1200运动控制指令编写简单的定位控制程序,方便初学者学习。
S7-1200CPU本体集成硬件输出点最高频率为100kHZ,但这些输出点会被PTO功能独立使用,不会受扫描周期的影响,其作为普通输出点的功能将被禁止。
硬件输出的组态具体操作的步骤如下:1)选择设备组态2)选择合适的CPU3)在属性选项卡中激活使能高速脉冲发生器功能。
硬件组态如下图所示:脉冲发生器组态,脉冲输出类型选择如下图:工艺对象“轴”组态“轴”工艺对象是用户程序与驱动的接口。
工艺对象从用户程序中收到控制命令,在运行时执行并监视执行状态。
“驱动”表示步进电机加电源部分或者伺服驱动器加脉冲接口转换器的机电单元。
驱动是由PLC产生脉冲来控制“轴”工艺对象的。
运动控制功能指令块必须在轴对象组态完成后才能使用。
工艺对象的组态包括以下几个部分:参数组态参数组态主要定义了轴的工程单位,软硬件限位,启动/停止速度,参考点定义等。
进行参数组态前,需要添加工艺对象,具体操作为:选择项目树——>工艺对象——>插入新对象选项,双击该选项弹出插入新对象对话框,单击Motion选项,在名称文本框中输入对象名称,选择轴对象数据块编号,单击“确认”按钮确认。
单击完成后可以在项目树中看到添加好的工艺对象,双击Configuration(组态)选项进行参数组态,进入工艺对象组态目录树,如下图所示:(1)硬件接口图中所示组件的具体含义如下所述:选择脉冲发生器:此下拉列表框中可选择使用Pulse1或Pulse2作为脉冲输出。
SMART200-运动控制-S7-200SAMRT
20 查看输入输出点分配
完成配置后运动控制向导会显示运动控制功能所占用的 CPU 本体输入输出点的情况。
21 生成的程序块的名称
重点指令介绍: AXISx_CTRL 功能:启用和初始化运动轴,方法是自动命令运动轴每次 CPU 更改为 RUN 模式时加载组态/ 包络表 AXISx_MAN 功能:将运动轴置为手动模式。 这允许电机按不同的速度运行,或沿正向或负向慢进。 AXISx_RSEEK 功能:使用组态/包络表中的搜索方法启动参考点搜索操作。当运动轴找到参考点且移动停止 时,运动轴将 RP_OFFSET 参数值载入当前位置 AXISx_GOTO 功能:命令运动轴转到所需位置。
7 定义输出点
8 定义电机的速度
a.定义电机运动的最大速度“MAX_SPEED”; b.根据定义的最大速度,在运动曲线中可以指定的最小速度; c.定义电机运动的启动/停止速度“SS_SPEED” 。
9 定义点动参数
a.定义点动速度“JOG_SPEED”(电机的点动速度是点动命令有效时能够得到的最大速度); b.定义点动位移“JOG_INCREMENT”(点动位移是瞬间的点动命令能够将工件运动的距离)。
10 加/减速时间设置
a.设置从启动/停止速度“SS_SPEED”到最大速度“MAX_SPEED"的 加速度时间“ACCEL_TIME”; b.设置从最大速度“MAX_SPEED”到启动/停止速度“SS_SPEED”的 减速度时间“DECEL_TIME ”。
11 定义反冲补偿
图 15.定义反冲补偿 注意:反冲补偿为当方向发生变化时,为消除系统中因机械磨损而产生 的误差,电机必须运动的距离。反冲补偿总是正值。(缺省=0)
14 设置参考点偏移量
注意:参考点偏移量“RP_OFFSET是”在物理的测量系统中RP到零位置之 间的距离,缺省=0。
PLC控制V90伺服系统的应用
PLC控制 V90伺服系统的应用摘要PLC和伺服驱动系统在国内各行各业有着广泛的应用。
文章根据项目的实际应用,介绍了一种西门子S7-300PLC和S7-200 SMRAT配合使用,控制V90伺服驱动系统的方法。
文中详细介绍了控制方案的选定、系统硬件设计、所应用的控制功能和具体的程序编写。
关键词:S7-300 S7-200SMART V90 S7通讯1.引言PLC即可编程逻辑控制器,在各行各业有着非常广泛的应用。
经过数十年的发展,现在的PLC产品使用方便,功能强大,硬件配套齐全,可靠性高,在工业控制中有着非常重要的地位。
西门子公司是世界著名的技术公司,在很多领域有着举足轻重的地位。
本文将根据项目中的实际应用,介绍西门子PLC控制其V90伺服驱动系统。
1.系统设计选型综合考虑设备使用状况、客户现场实际情况等因素,我们最终选定主要电气部件选用西门子品牌产品。
西门子的电气产品在国内各行业有着广泛的应用,产品质量可靠,市场占有率较高,技术人员也较为熟悉,有利于后期设备的维护、维修,备件的更换。
1.1.PLC选型经统计,整台设备的输入输出点数约200余点,故选择S7-300系列的PLC。
S7-300PLC属于中小型系列,采用模块化结构设计,各种单独模块之间可进行广泛组合和扩展。
1.1.伺服驱动系统选型伺服驱动系统选择了V90系列。
SINAMICS V90 作为 SINAMICS 驱动系列家族的新成员,与SIMOTICS S-1FL6 完美结合,组成最佳的伺服驱动系统,实现位置控制、速度控制和扭矩控制。
SINAMICS V90 支持即插即用式调试,伺服性能充分优化,与 SIMATIC PLC 快速集成,具有值得信赖的可靠性。
1.1.控制方式选择方案中将使用S7-200 SMART的PTO功能控制V90伺服系统,使用S7-200 SMART自带的以太网口与S7-300PLC组成PROFINET网络,S7-300PLC通过S7通讯向S7-200 SMART发送控制指令,实现S7-300PLC对V90伺服系统的控制。
运动控制指令2-4,5,6,7,8
N12 G47 X-120.0
N13 G47 Y-80;
N14 G46 G00 X-35.0 Y-20.0
N11 R30 N10 N9 N8
R30
N6
N7
30
30
刀具: Φ20 刀偏号: 01 刀偏值:+10
(4)拐角圆弧插补指令
G39;或G39II
J K
;
拐角圆弧终点的矢量垂直于由I,J,K确定的矢量。
G43 Z-- H--- ; G44
Z– 程序给定的坐标值
H– 刀具长度补偿值寄存器的地址码, 该寄存器中存放着补偿值。
三 刀具补偿指令:
3、刀具位置偏移指令(G45~48):
G45 IP- D - ; 增加一个刀具偏移量的移动距离 G46 IP- D - ; 减少一个刀具偏移量的移动距离 G47 IP- D - ; 增加二个刀具偏移量的移动距离 G48 IP- D - ; 减少二个刀具偏移量的移动距离 P30图2.2.8
G45—48为非模态指令
三 刀具补偿指令:
G代码 G45 G46 G47 G48
指定正的刀具偏移值
指定负的刀具偏移值
N12
P47:例1
N1 G91 G46 G00 X35.0 Y20.0 D01; 40
N2 G47 G01 X50.0 F120.0;
N13
N3 Y40.0;
N4 G48 X40.0; N5 Y- 40.0; N6 G45 X30.0;
%0100 N010 G92 X0 Y18; N020 G90 G02 X18 Y0 I0 J-18 F100 S300 T01 M03; N030 G03 X68 Y0 I25 J0; N040 G02 X88 Y20 I0 J20 M02;
S7-200 SMART PLC的运动控制向导
S7—200 SMART PLC的运动控制向导运动轴(Axis of Motion)内置于S7-200 SMART CPU 的运动控制功能使用运动轴(Axis of Motion)进行步进电机和伺服电机的速度和位置控制。
S7—200 SMART CPU 提供3个单轴控制,其组态方式与S7-200的EM253类似,S7—200 SMART CPU 目前未提供单独的运动控制模块。
其开环位置控制提供以下功能:1.提供高速控制(高速脉冲输出),速度从每秒2个脉冲到每秒100,000个脉冲(2HZ到100KHZ);2.提供可组态的测量系统,既可以使用工程单位(例如英寸和厘米)也可以使用脉冲数;3.提供可组态的反冲补偿;4.支持绝对、相对和手动位控方式;5.提供连续操作;6.提供多达32组移动曲线,每组最多可有16步;7.提供4种不同的参考点寻找模式,每种模式都可对起始的寻找方向和最终的接近方向进行选择。
8.支持急停(S曲线)或线性加速及减速。
9.提供SINAMICS V90驱动器的相关支持。
使用STEP7—Micro/ WIN SMART 可以创建运动轴所使用的全部组态。
这些组态和程序块需要一起下载到CPU中。
S7-200 SMART CPU 的运动控制能够实现主动寻找参考点功能,绝对运动功能,相对运动功能,单、双速连续旋转功能,速度可变功能(依靠AXISX_MAN指令实现)及曲线功能.所有的轴功能都是单轴开环控制,系统不提供轴与轴之间的耦合及轴的闭环控制,如果有这方面需求,则用户需要自己搭建功能,但最终的应用效果要根据实际环境验证,西门子无法提供保证。
S7-200 SMART CPU 运动控制输入/输出点定义见表1:双向输出或者A/B相输出,则P1被分配到Q0.3,但此时Axis2将不能使用. 组态 Axis of Motion :Micro/WIN SMART 提供了运动控制向导,可生成组态/曲线表和位控指令。
S7 1500运动控制MC_POWER使能轴或禁用轴
MC_Power指令名称:启动/禁用轴。
功能:使能轴或禁用轴。
使用要点:在程序里一直调用,并且在其他运动控制指令之前调用并使能。
输入端:①EN:该输入端是MC_Power指令的使能端,不是轴的使能端。
MC_Power 指令必须在程序里一直调用,并保证MC_Power指令在其他Motion Control指令的前面调用。
②Axis:轴名称可以有几种方式输入轴名称:a. 用鼠标直接从Portal软件左侧项目树中拖拽轴的工艺对象,如下图所示:b. 用键盘输入字符,则Portal软件会自动显示出可以添加的轴对象,如下图所示:c. 用拷贝的方式把轴的名称拷贝到指令上,如下图所示:d. 还可以用鼠标双击“Aixs”,系统会出现右边带可选按钮的白色长条框,这时用鼠标点击“选择按钮”,就会出现下图中的列表。
③Enable:轴使能端∙Enable = 0:根据StopMode设置的模式来停止当前轴的运行;∙Enable = 1:如果组态了轴的驱动信号,则Enable=1时将接通驱动器的电源。
④StopMode:轴停止模式∙StopMode= 0:紧急停止,按照轴工艺对象参数中的“急停”速度或时间来停止轴,如下图所示。
∙StopMode=1:立即停止,PLC立即停止发脉冲。
如下图所示。
∙StopMode=2:带有加速度变化率控制的紧急停止:如果用户组态了加速度变化率,则轴在减速时会把加速度变化率考虑在内,减速曲线变得平滑,如下图所示。
输出端:⑤ENO:使能输出⑥Status:轴的使能状态⑦Busy:标记MC_Power指令是否处于活动状态⑧Error:标记MC_Power指令是否产生错误⑨ErrorID:当MC_Power指令产生错误时,用ErrorID表示错误号。
⑩ErrorInfo:当MC_Power指令产生错误时,用ErrorInfo表示错误信息。
结合ErrorID和ErrorInfo数值,查看手册或是Portal 软件的帮助信息中的说明,来得到错误原因。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运动控制向导为运动轴创建的指令运动向导根据所选组态选项创建唯一的指令子程序,从而使运动轴的控制更容易。
各运动指令均具有“AXIS x_”前缀,其中x代表轴通道编号。
由于每条运动指令都是一个子程序,所以11 条运动指令使用11 个子程序。
说明:运动指令使程序所需的存储空间增加多达1700 个字节。
可以删除未使用的运动指令来降低所需的存储空间。
要恢复删除的运动指令,只需再次运行运动向导。
详细的运动控制指令介绍请参考:S7-200 SMART 系统手册运动控制指令使用准则必须确保在同一时间仅有一条运动指令激活。
可在中断例程中执行AXISx_RUN 和AXISx_GOTO。
但是,如果运动轴正在处理另一命令时,不要尝试在中断例程中启动指令。
如果在中断程序中启动指令,则可使用AXISx_CTRL 指令的输出来监视运动轴是否完成移动。
运动向导根据所选的度量系统自动组态速度参数(Speed 和C_Speed)和位置参数(Pos 或C_Pos)的值。
对于脉冲,这些参数为DINT 值。
对于工程单位,这些参数是所选单位类型对应的REAL 值。
例如:如果选择厘米(cm),则以厘米为单位将位置参数存储为REAL 值并以厘米/秒(cm/sec) 为单位将速度参数存储为REAL 值。
有些特定位置控制任务需要以下运动指令:要在每次扫描时执行指令,请在程序中插入AXISx_CTRL 指令并使用SM0.0 触点。
∙要指定运动到绝对位置,必须首先使用AXISx_RSEEK 或AXISx_LDPOS 指令建立零位置。
∙要根据程序输入移动到特定位置,请使用AXISx_GOTO 指令。
∙要运行通过位置控制向导组态的运动包络,请使用AXISx_RUN 指令。
其它位置指令为可选项。
常用运动控制指令介绍1. AXISx_CTRL功能:启用和初始化运动轴,方法是自动命令运动轴每次CPU更改为RUN 模式时加载组态/包络表。
图1. AXISx_CTRL指令注意:在您的项目中只对每条运动轴使用此子例程一次,并确保程序会在每次扫描时调用此子例程。
使用SM0.0(始终开启)作为EN 参数的输入。
MOD_EN 参数必须开启,才能启用其它运动控制子例程向运动轴发送命令。
如果MOD_EN 参数关闭,运动轴会中止所有正在进行的命令;Done 参数会在运动轴完成任何一个子例程时开启;Error 参数存储该子程序运行时的错误代码;C_Pos 参数表示运动轴的当前位置。
根据测量单位,该值是脉冲数(DINT) 或工程单位数(REAL);C_Speed 参数提供运动轴的当前速度。
如果您针对脉冲组态运动轴的测量系统,C_Speed 是一个DINT 数值,其中包含脉冲数/每秒。
如果您针对工程单位组态测量系统,C_Speed 是一个REAL 数值,其中包含选择的工程单位数/每秒(REAL)。
C_Dir 参数表示电机的当前方向:信号状态0 = 正向;信号状态1 = 反向;2. AXISx_DIS功能:运动轴的DIS 输出打开或关闭。
这允许您将DIS 输出用于禁用或启用电机控制器。
图2. AXISx_DIS指令EN 位打开以启用子例程时,DIS_ON 参数控制运动轴的DIS 输出。
注意:如果您在运动轴中使用DIS 输出,可以在每次扫描时调用该子例程,或者仅在您需要更改DIS 输出值时进行调用。
若实际DIS 连接了电机驱动器的DIS输入,如果不使能则可能导致电机不运转。
3. AXISx_MAN功能:将运动轴置为手动模式。
这允许电机按不同的速度运行,或沿正向或负向慢进。
图3. AXISx_MAN指令RUN 参数会命令运动轴加速至指定的速度(Speed 参数)和方向(Dir 参数)。
您可以在电机运行时更改Speed 参数,但Dir 参数必须保持为常数。
禁用RUN 参数会命令运动轴减速,直至电机停止;JOG_P(点动正向旋转)或JOG_N(点动反向旋转)参数会命令运动轴正向或反向点动。
如果JOG_P 或JOG_N 参数保持启用的时间短于0.5秒,则运动轴将通过脉冲指示移动JOG_INCREMENT 中指定的距离。
如果JOG_P 或JOG_N 参数保持启用的时间为0.5秒或更长,则运动轴将开始加速至指定的JOG_SPEED;Speed 参数决定启用RUN 时的速度。
如果您针对脉冲组态运动轴的测量系统,则速度为DINT 值(脉冲数/每秒)。
如果您针对工程单位组态运动轴的测量系统,则速度为REAL 值(单位数/每秒)。
注意:同一时间仅能启用RUN、JOG_P 或JOG_N 输入之一。
4. AXISx_RSEEK功能:使用组态/包络表中的搜索方法启动参考点搜索操作。
当运动轴找到参考点且移动停止时,运动轴将RP_OFFSET 参数值载入当前位置。
图4. AXISx_RSEEK指令RP_OFFSET 的默认值为0。
可使用运动控制向导、运动控制面板或AXISx_LDOFF(加载偏移量)子例程来更改RP_OFFSET 值;EN 位开启会启用此子例程。
确保EN 位保持开启,直至Done 位指示子例程执行已经完成;START 参数开启将向运动轴发出RSEEK 命令。
对于在START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个RSEEK 命令。
为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启START 参数。
5. AXISx_GOTO功能:命令运动轴转到所需位置。
图5. AXISx_GOTO指令START 参数开启会向运动轴发出GOTO 命令。
对于在START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个GOTO 命令。
为了确保仅发送了一个GOTO 命令,请使用边沿检测元素用脉冲方式开启START 参数;Pos 参数包含一个数值,指示要移动的位置(绝对移动)或要移动的距离(相对移动)。
根据所选的测量单位,该值是脉冲数(DINT) 或工程单位数(REAL);Speed 参数确定该移动的最高速度。
根据所选的测量单位,该值是脉冲数/每秒(DINT) 或工程单位数/每秒(REAL);Mode 参数选择移动的类型:0:绝对位置1:相对位置2:单速连续正向旋转3:单速连续反向旋转Abort 参数启动会命令运动轴停止当前包络并减速,直至电机停止。
注意:若Mode 参数设置为0,则必须首先使用AXISx_RSEEK 或AXISx_LDPOS 指令建立零位置。
6. AXISx_RUN功能:命令运动轴按照存储在组态/包络表的特定包络执行运动操作。
图6. AXISx_RUN指令START 参数开启将向运动轴发出RUN 命令。
对于在START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个RUN 命令。
为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启START 参数;Profile 参数包含运动包络的编号或符号名称。
“Profile”输入必须介于0 - 31。
否则子例程将返回错误;Abort 参数会命令运动轴停止当前包络并减速,直至电机停止;C_Profile 参数包含运动轴当前执行的包络;C_Step 参数包含目前正在执行的包络步。
7. AXISx_LDOFF功能:建立一个与参考点处于不同位置的新的零位置。
图7. AXISx_LDOFF指令开启START 参数将向运动轴发出LDOFF 命令。
对于在START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个LDOFF 命令。
为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启START 参数。
注意:在执行该子例程之前,您必须首先确定参考点的位置。
您还必须将机器移至起始位置。
当子例程发送LDOFF 命令时,运动轴计算起始位置(当前位置)与参考点位置之间的偏移量。
运动轴然后将算出的偏移量存储到RP_OFFSET 参数并将当前位置设为0。
这将起始位置建立为零位置。
如果电机失去对位置的追踪(例如断电或手动更换电机的位置),您可以使用AXISx_RSEEK 子例程自动重新建立零位置。
8. AXISx_LDPOS功能:将运动轴中的当前位置值更改为新值。
您还可以使用本子例程为任何绝对移动命令建立一个新的零位置。
图8. AXISx_LDPOS指令START 参数开启将向运动轴发出LDPOS 命令。
对于在START 参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个LDPOS 命令。
为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启START 参数;New_Pos 参数提供新值,用于取代运动轴报告和用于绝对移动的当前位置值。
根据测量单位,该值是脉冲数(DINT) 或工程单位数(REAL)运动控制错误代码请查看运动控制错误代码例程所需条件:1、软件版本:STEP 7-Micro/WIN SMART V2.32、SMART CPU固件版本:V2.3(其他版本亦可)3、通讯硬件:TP电缆(以太网电缆)所实现的功能:S7-200 SMART CPU ST60 通过向导生成的轴0和轴1各指令块的使用,其中:轴0测量系统组态为相对脉冲,轴1测量系统组态为工程单位。
PTO_wizard免责声明本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。
本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。
由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。