SIMOTIOND435实例剖析.docx

上传人:b****3 文档编号:26890929 上传时间:2023-06-23 格式:DOCX 页数:55 大小:1.84MB
下载 相关 举报
SIMOTIOND435实例剖析.docx_第1页
第1页 / 共55页
SIMOTIOND435实例剖析.docx_第2页
第2页 / 共55页
SIMOTIOND435实例剖析.docx_第3页
第3页 / 共55页
SIMOTIOND435实例剖析.docx_第4页
第4页 / 共55页
SIMOTIOND435实例剖析.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

SIMOTIOND435实例剖析.docx

《SIMOTIOND435实例剖析.docx》由会员分享,可在线阅读,更多相关《SIMOTIOND435实例剖析.docx(55页珍藏版)》请在冰豆网上搜索。

SIMOTIOND435实例剖析.docx

SIMOTIOND435实例剖析

SIMOTION项目实战—D435Beginner

1概述

       本文档通过一个实际项目来介绍SIMOTION项目组态、配置和编程的过程。

在SIMOTIONSCOUT软件的安装包里提供了一个供初学者学习的项目“D435_BEGINNER”,该项目位于软件光盘路径...\Utilities_Applications\src\Examples\ExampleForBeginners文件夹内,该项目提供了完整的项目文件和介绍文档,该项目可以在SIMOTIOND435演示设备上模拟运行。

图1项目实战图示

       该项目要实现的功能是将生产线上的空盒子吹出生产线,其工作过程如下:

按下起动按钮后,盒子在传送带上从上游运输到下游,如果在运输途中被检测出是空的,那么载有喷嘴的吹出器会跟随空盒子运动,建立同步以后在指定的位置打开喷嘴将空盒子吹出传送带,然后吹出器重新返回等待位置。

在运行过程中,如果安全门被打开,那么生产线立即停止,在安全门关上以后,又自动恢复运行。

复位起动按钮后,生产线停止。

该项目中使用的运动控制功能有:

•齿轮同步Gearing

•凸轮同步Camming

•快速点输出OutputCam

2项目中使用的硬件和软件

2.1项目中使用的硬件

       项目使用的硬件基于SIMOTIOND435(可以转换到其他SIMOTION硬件),具体的产品如下表所示。

编号

名称

数量

订货号/备注

1

SIMOTIOND435

1

6AU1435-0AA00-0AA1

2

CF卡

1

6AU1400-2PA01-0AA0

3

SIMOTION多轴授权包

1

6AU1820-0AA43-0AB0

4

端子板TB30

1

6SL3055-0AA00-2TA0

5

智能型电源模块SLM5KW

1

6SL3130-6AE15-0AB0

6

双轴电机模块DMM2×1.6KW

1

6SL3120-2TE13-0AA3

7

传送带电机

1

1FK7022-5AK71-0LG0

8

吹出器电机

1

1FK7022-5AK71-0AG0

9

起动按钮

1

数字量输入,常开点

10

安全门

1

数字量输入,常闭点

11

空盒子传感器

1

数字量输入,常开点

12

吹出器喷嘴阀门

1

数字量输出

13

连接电缆

若干

动力电缆、信号电缆等

表1本项目所使用的硬件列表

 

2.2项目中使用的软件

编号

名称

版本

1

WindowsXP

SP3,Professional

2

STEP7

V5.5SP2HF1

3

SIMOTIONSCOUT

V4.3SP1HF3

4

WinCCFlexible

2008SP2Upd12

5

SIMOTIOND435Firmware

V4.3,withSINAMICSV2.6.2

表2本项目所使用的软件列表

3项目配置

        SIMOTIONSCOUT项目的基本配置步骤如下:

1.配置驱动器

2.配置工艺对象TO

3.编写程序并分配执行系统

4.连接HMI设备

3.1配置驱动器

       本项目中有两台电机,由双轴电机模块驱动,可以参考下载中心应用文档编号A0309(视频教程)来完成驱动器配置文档名称《SIMOTIOND435调试入门》,其下载网址如下:

http:

//

配置完成以后,可以将驱动重命名为conveyor和eject,项目如下图所示:

图2项目配置

         配置完成以后,重新进行对SIMOTION和SINAMICS进行下载并保存数据(CopyRAMtoROM)。

此时本项目中SINAMICS_Integrated的基本配置已结束,接下来的工作需要在SIMOTIOND435中继续配置。

3.2配置工艺对象TO

        SIMOTION运行系统摒弃了传统的面向各种功能的执行方式,采用了更为先进的面向对象的方式,而每一个对象即为各种不同类型的TO(TechnologyObject,工艺对象)。

这些TO被用于工艺和运动控制,每个TO都集成了特定的功能,例如,一个轴TO包含了与驱动的通讯功能、测量值的处理功能、位置控制功能。

在组态的时候这些TO被创建并进行参数化之后,便可以在SIMOTION系统的内核中运行了,在用户程序中编写合适的命令就能够使用TO的各种功能。

除了轴TO以外,外部编码器、同步操作、CAM曲线等等都可以配置成一个TO。

每个TO都独立地处理各自的任务,同时输出相应的状态信息,如下图所示。

图3SIMOTION中TO示意图

       本项目中有两个实轴Conveyorbelt和Ejector,分别对应SINAMICS_Integrated中的两个驱动conveyor和eject。

另外,为了提高系统可靠性,我们引入一个虚轴作为整个系统的主轴MasterAxis,Conveyorbelt轴与MasterAxis轴作齿轮同步,Ejector轴与Conveyorbelt轴作凸轮同步,凸轮曲线需要根据工艺绘制。

快速点输出(CamOutputTO)根据Ejector轴的位置控制吹出器的喷嘴。

所以本项目中使用的TO有:

•轴TO:

MasterAxis、Conveyorbelt、Ejector

•齿轮同步TO:

Conveyorbelt与MasterAxis之间的齿轮同步

•凸轮TO:

Ejctor与Conveyorbelt之间的位置凸轮曲线

•凸轮同步TO:

Ejector与Conveyorbelt之间的凸轮同步

•快速点输出TO:

Valve,由Ejector的位置决定喷嘴的通断

3.2.1轴TO的配置

       在创建轴TO的过程中,需要指定轴的名称、类型、工艺、单位、连接的驱动、编码器等信息。

根据工艺要求,需要配置的三个轴的属性如下表所示。

名称Name

类型Type

工艺Technology

连接的驱动Drive

MasterAxis

虚轴,旋转轴

位置轴

Conveyorbelt

实轴,旋转轴

跟随轴

Conveyor

Ejector

实轴,直线轴

跟随轴

Eject

   表3本项目中轴TO的属性

       1.创建虚主轴MasterAxis,步骤如下。

AXES,双击insertaxis可以插入一个轴。

在弹出的窗口中配置轴的名称为MasterAxis,工艺为Positioning(即为位置轴)。

       在离线情况下,在SCOUT软件中依次打开D435

图4插入轴

点击OK进入下一步,选择轴的类型为旋转轴Rotary、虚轴Virtual,单位采用默认值。

图5选择轴类型

点击Next进入最后一步,这里可以看到所有配置的摘要信息,点击Finish结束配置。

图6轴配置完成

       2.创建实轴Conveyorbelt,步骤如下。

AXES,双击insertaxis可以插入一个轴。

在弹出的窗口中配置轴的名称为Conveyorbelt,工艺为Synchronousoperation(即为跟随轴)。

       在离线情况下,在SCOUT软件中依次打开D435

图7插入同步轴

点击OK进入下一步,选择轴的类型为旋转轴Rotary,电气轴Electrical,模式为标准轴Standard,单位采用默认单位。

图8选择轴类型

点击Next进入下一步,选择需要连接的驱动为SINAMICS_Integrated中的conveyor。

图9选择轴的驱动

点击Next进入下一步,编码器的数据会自动识别出来,默认选择使用的编码器为驱动器的Encoder_1,该编码器为绝对值编码器。

图10选择轴的编码器

点击Next进入最后一步,这里可以看到所有配置的摘要信息,点击Finish结束配置。

图11结束轴配置

打开ConveyorBelt轴得机械配置部分进行模态轴的组态:

图12组态轴参数

设置该轴为模态轴:

图13配置模态轴

        3.创建实轴Ejector,注意修改轴的类型为直线轴,回零方式修改为编码器零脉冲(Encoderzeromarkonly),Conveyorbelt使用的是绝对值编码器,所以无需设定回零模式。

图14配置Ejector轴的回零

步骤与Conveyorbelt基本相同,这里不再赘述。

保存并且编译下载后,可以使用控制面板对实轴进行测试。

3.2.2齿轮同步TO的配置

       在轴TO配置完成以后,需要配置跟随轴Conveyorbelt与主轴MasterAxis的互联,在SCOUT软件中,依次打开D435→ AXES→Conveyorbelt→Conveyorbelt_SYNCHRONOUS_OPERATION(Conveyorbelt_GLEICHLAUF),双击其中的Interconnections,在右侧窗口选择使用虚主轴MasterAxis的设定值Setpoint。

图15同步配置

 

3.2.3凸轮TO的配置

       在配置Ejector轴与Conveyorbelt轴之间的凸轮同步操作之前,需要先定义凸轮曲线。

根据工艺要求,如果检测到有空盒子,那么Ejector轴开始跟随传送带移动,在1mm处建立同步以后,喷嘴打开吹出吹盒子,然后在4mm处关闭喷嘴,同时Ejector轴开始返回初始位置。

这个操作过程中,Ejector轴与Conveyorbelt轴的位置关系可以用下面的曲线(横纵坐标显示为位置)来描述。

图16凸轮曲线

•第1段:

建立同步过程中

•第2段:

已建立同步

•第3段:

返回初始位置

        可以使用凸轮绘制工具CamTool来绘制这条曲线,CamTool软件需要预先安装好。

在SCOUT软件中,依次打开D435→CAMS,双击InsertcamwithCamTool即可打开编辑器,输入CAM曲线的名称为CAM_Ejector。

如果没有安装CamTool软件,也可以通过描点法插入这条CAM曲线,本文档以CamTool为例进行说明。

图17创建CAM曲线

       在编辑窗口插入两个插补点和一个线段。

点击工具栏上的插补点工具,在起点和终点附近插入两个插补点,使用直线工具在两个插补点之间插入一条直线。

图18创建CAM曲线

       在画出雏形以后,使用工具栏上的箭头工具,设定插入的各个对象的参数。

双击第一个插补点,在弹出的属性窗口中指定其参数为x=0,y=0。

同理可以设定直线段和第二个插补点的参数,如下图所示。

图19设定插入各个对象的参数

 

        在参数修改完成以后,曲线如图20所示:

图20完成后的CAM曲线

       最后指定坐标的范围,在工作区的右键菜单中选择TargetDeviceParameters,在Scaling选项卡中设置主轴范围为360,从轴范围为10,如下图所示。

这样,就将Ejector轴与Conveyorbelt轴的位置对应了起来,在Conveyor轴到36º(0.1)时,Ejector轴到达1mm(0.1)位置,此时即已建立同步,同理在4mm(0.4)位置处开始解除同步,并返回初始位置。

图21指定坐标的范围

3.2.4凸轮同步TO的配置

       在凸轮曲线配置完成以后,可以配置轴Ejector与Conveyorbelt的互联,在SCOUT软件中依次打开D435→AXES→Ejector→Ejector_SYNCHRONOUS_OPERATION(Ejector_GLEICHLAUF),双击其中的Interconnections,在右侧窗口选择使用Conveyorbelt轴的设定值,并选择互联的CAM曲线为Cam_Ejector。

图22配置轴的CAM互联

3.2.5快速点输出TO的配置

       OUTPUTCAM是SIMOTION中用于快速点输出的TO。

本项目中吹出器喷嘴的控制可以使用OUTPUTCAM功能实现,喷嘴的通断由Ejector轴的位置决定,所以需要为Ejector轴配置一个OUTPUTCAMTO。

该TO通过SIMOTIOND435集成的CU320上的DO点输出。

Control_Unit,双击其中的Inputs/outputs,在右侧窗口中Bidirectionaldigitalinputs/outputs选项卡下,设置P0728.8为输出点,如下图所示。

SINAMICS_Integrated       本项目中使用DI/DO8作为该OUTPUTCAM的输出通道,所以首先要将该通道配置为数字量输出。

在SCOUT软件中,依次打开D435

图23设置P0728.8为输出点

          然后插入快速点输出TO。

在SCOUT软件中,依次打开D435→AXES→Ejector→OUTPUTCAM,双击其中的Insertoutputcam,创建一个名称为Valve的OUTPUTCAMTO。

图24插入快速点输出TO

        然后配置该TO的通过SINAMICS_Integrated中的DO8输出。

在SCOUT软件中,依次打开D435→EjectorAXES→OUTPUTCAM→Valve,双击其中的Configuration,在右侧窗口中,选择激活输出

,选择Fastdigitaloutput(DO)(D4xx,C240),然后点击Output中的

按钮,可以浏览到SINAMICS_Integrated中配置的DO8。

图25配置TO

 

        在OUTPUTCAMTO配置完毕以后,如下图所示。

图26TO配置完毕

        这样,本项目中所使用的TO就都配置完成了,此时的项目导航栏如下图所示。

图27本项目TO配置完毕

3.3编写程序并分配执行系统

        SIMOTION提供的编程环境方便而灵活,可以使用不同的编程语言实现相同的功能,这完全取决于个人的编程习惯。

SIMOTION程序的执行系统清晰而全面,不管是周期性执行,还是单次执行,不管是时间触发,还是事件触发,都可以按照优先级高低顺序进行程序的分配。

通过程序在执行系统中的合理分配,可以方便的实现各种运动控制功能,SIMOTION的执行系统的示意图如下图所示。

图28SIMOTION的执行系统示意图

 

图29项目功能分解

       在使用SIMOTION创建项目时,首先需要对程序结构进行规划,根据工艺要求,将所需的功能分解,编写成多个独立的程序,再将程序分门别类地分配到执行系统当中。

在本项目中,根据工艺的要求,可以将程序分成几部分,再将程序分配到相应的执行系统中,如图29所示。

PROGRAMS即可插入程序。

SIMOTION设备支持的程序语言有ST、MCC、LAD/FBD、DCC等,这些编程语言各有特点,其中使用MCC语言可以方便地编写运动控制程序,使用LAD/FBD语言可以方便地实现逻辑控制功能,使用DCC可以方便地实现工艺控制功能,使用ST语言可以方便地实现复杂的运动、逻辑和工艺控制功能。

在SCOUT软件中,依次打开D435

图30插入程序

       本项目中使用了ST、MCC和LAD/FBD三种编程语言。

在使用MCC和LAD/FBD时,需要先插入程序单元(Unit),再在单元中插入程序(Program)。

本项目中,使用ST编写了pInit()和pHMIout()程序,使用MCC编写了pAuto(),pEject(),pHoming(),pProtDoor(),pTecFault()程序,使用LAD/FBD编写了pLADFBD(),pPLCopenProg()程序,如图31所示。

图31项目中的程序

ExecutionSystem即可以打开分配执行系统的画面,分配结果详见本文档3.4.3节。

然后在线连接设备,编译并下载项目后,系统就可以正常运行了。

       在程序编写并编译完成以后,再分门别类地分配到执行系统中。

在SCOUT软件中,依次打开D435

与SIMATICPLC的程序不同的是,SIMOTION中没有数据块DB的概念,所有程序都对变量进行操作,所在在缩写SIMOTION程序时,需要按照以下步骤进行:

1.声明变量

2.编写程序

3.分配执行系统

3.3.1声明变量

        在编写程序之前,需要声明变量。

SIMOTION设备中的变量分为系统变量、全局变量和局部变量。

其中系统变量在TO创建完成后,就已经由系统自动生成,比如轴TO的运行状态等。

全局变量包括IO变量、设备全局变量和程序单元变量三类,其中IO变量可以通过SCOUT软件中的ADDRESSLIST来创建,设备全局变量可以通过GLOBALDEVICEVARIABLES来创建(本项目中没有使用),而程序单元变量需要在程序单元中创建,可以在程序单元内使用。

一个程序单元中的全局变量通过互联,也可以用于其他程序单元。

局部变量在单个程序中创建,只可以在本程序中使用。

图32变量说明

3.3.1.1创建IO变量

       在SCOUT软件中,双击D435下的ADDRESSLIST,即可在软件下半窗口中配置全局的IO变量。

在Name列输入变量名称,在I/Oaddress一列指定输入输出类型以后,就可以直接在Assignment列点击按钮浏览到系统中的IO变量。

本项目中的IO变量配置如下图所示。

其中iboEject为空盒子传感器的DI信号,iboProtDoor为安全门的DI信号,iboStartBelt为生产线起动的DI信号。

图33创建IO变量

3.3.1.2创建程序单元变量和局部变量

        根据编程语言的不同,程序单元变量的创建方式也不同。

        

(1)在ST语言中的声明变量

        使用ST语言时,可以在INTERFACE段声明全局变量,其格式如下:

变量名:

数据类型(:

=初始值);

        比如pDefInit程序单元中一个名称为gboProgEnd的布尔型变量,需要按以下格式声明:

INTERFACE

            VAR_GLOBAL

            gboProgEnd:

BOOL:

=FALSE;

            END_VAR

END_INTERFACE

        这里声明的全局变量只能在本程序单元中使用。

如果需要在其他程序单元中访问这些变量,那么需要在其他程序的INTERFACE段内添加USES语句,比如在pHMIout程序单元中就有这样的语句,其格式如下:

INTERFACE

              USESpDefInit;

END_INTERFACE

       另外,在程序中IMPLEMENTATION段也可以声明全局变量,这里声明的变量只能在本程序单元中使用,无法被其他程序单元访问,在本项目中并没有在IMPLEMENTATION段中声明全局变量。

局部变量在程序内部的PROGRAM段内声明,仅供本程序使用,无法被其他程序或程序单元访问,其声明格式与全局变量相同。

本项目中也没有在PROGRAM段声明局部变量。

        

(2)在MCC程序单元中声明变量

PROGRAM,双击其中的InsertMCCUnit即可插入一个程序单元,此时在右侧的窗口中可以定义本程序单元的全局变量。

        在SCOUT软件中,依次打开D435

        MCC程序单元中的全局变量在数据表格中声明,变量声明的位置与ST语言是一致的。

如果是全局变量,并希望被其他程序单元访问,那么变量在INTERFACE段声明,如果不希望被其他程序单元访问,那么变量在IMPLEMENTATION段声明。

比如在pProtDoor程序单元中定义了下面的全局变量。

图34MCC程序单元中声明变量

        如果要访问其他程序单元的变量,只需要在INTERFACE段的Connection选项卡下进行连接即可,这与ST语言中使用USES语句的功能相同,比如在pAuto程序单元中要引用在ST程序pDefInit中定义的全局变量,那么可按下图所示的方法进行访问。

图35连接需访问变量的程序单元

       在每个程序单元里都有一个插入程序的选项,比如pAuto程序单元中双击InsertMCCChart即可以在右侧窗口中打开程序的主编辑界面。

在顶部的表格里,可以声明本程序的局部变量,比如在图中

选项卡下,将变量名称、数据类型和初始值填入表格即可,本项目中没有定义局部变量。

图36本项目无局部变量

(3)在LAD/FBD程序单元中声明变量

       LAD/FBD程序单元中声明变量的操作与MCC类似,这里不再赘述。

另外,在LAD/FBD程序编辑窗口中也可以直接声明不存在的变量。

比如在pLADFBD()程序中,将局部变量boResult修改为boResult1,此时系统会自动弹出一个变量boResult1的声明窗口,在这里可选择数据类型和变量类型等。

这种声明变量的方式非常方便。

图37在LAD/FBD程序单元中声明变量

3.3.2编写程序

       项目程序需要根据实际工艺编写,本项目中将工艺分解为回零、传送带运行、吹出器动作、安全门控制、错误处理等部分,分别编程进行处理,最后通过程序在执行系统中的分配,达到各程序协调工作的目的。

由于相同的功能,可以使用不同的编程语言实现,所以编程方式十分自由。

本项目中使用ST语言编写了数据初始化pDefInit和与HMI的数据交换pHMIout两段程序,使用MCC语言编写了与运动控制相关的程序,使用LAD/FBD编写了周期性执行的逻辑控制程序。

3.3.2.1使用ST语言编写程序

PROGRAMS,双击其中的InsertSTsourcefile即可插入一段ST程序,在右侧窗口会自动打开ST程序编程器。

使用ST语言编写的程序需要放在IMPLEMENTATION段中,以PROGRAM关键字开头,以END_PROGRAM关键字结尾。

程序编写完成后,还需要在INTERFACE段进行声明。

比如pDefInit()程序的ST程序如下。

       在SCOUT软件中,依次打开D435

INTERFACE

VAR_GLOBAL                //声明全局变量

            gboProgEnd:

BOOL                :

=FALSE;

            gboProtDoorOpen                    

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1