ImageVerifierCode 换一换
格式:DOCX , 页数:55 ,大小:1.84MB ,
资源ID:26890929      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26890929.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SIMOTIOND435实例剖析.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SIMOTIOND435实例剖析.docx

1、SIMOTIOND435实例剖析SIMOTION项目实战 D435 Beginner1概述 本文档通过一个实际项目来介绍SIMOTION项目组态、配置和编程的过程。在SIMOTION SCOUT软件的安装包里提供了一个供初学者学习的项目“D435_BEGINNER”,该项目位于软件光盘路径. Utilities_ApplicationssrcExamplesExampleForBeginners文件夹内,该项目提供了完整的项目文 件和介绍文档,该项目可以在SIMOTION D435 演示设备上模拟运行。图1 项目实战图示 该项目要实现的功能是将生产线上的空盒子吹出生产线,其工作过程如下:按下起

2、动按钮后,盒子在传送带上从上游运输到下游,如果在运输途中被检测出是空的, 那么载有喷嘴的吹出器会跟随空盒子运动,建立同步以后在指定的位置打开喷嘴将空盒子吹出传送带,然后吹出器重新返回等待位置。在运行过程中,如果安全门被 打开,那么生产线立即停止,在安全门关上以后,又自动恢复运行。复位起动按钮后,生产线停止。该项目中使用的运动控制功能有: 齿轮同步Gearing 凸轮同步Camming 快速点输出Output Cam2项目中使用的硬件和软件2.1项目中使用的硬件 项目使用的硬件基于SIMOTION D435(可以转换到其他SIMOTION硬件),具体的产品如下表所示。编号名称数量订货号/备注1S

3、IMOTION D43516AU1435-0AA00-0AA12CF卡16AU1400-2PA01-0AA03SIMOTION多轴授权包16AU1820-0AA43-0AB04端子板TB3016SL3055-0AA00-2TA05智能型电源模块SLM 5KW16SL3130-6AE15-0AB06双轴电机模块DMM 21.6KW16SL3120-2TE13-0AA37传送带电机11FK7022-5AK71-0LG08吹出器电机11FK7022-5AK71-0AG09起动按钮1数字量输入,常开点10安全门1数字量输入,常闭点11空盒子传感器1数字量输入,常开点12吹出器喷嘴阀门1数字量输出13连

4、接电缆若干动力电缆、信号电缆等表1 本项目所使用的硬件列表2.2项目中使用的软件编号名称版本1Windows XPSP3, Professional2STEP7V5.5 SP2 HF13SIMOTION SCOUTV4.3 SP1 HF34WinCC Flexible2008 SP2 Upd125SIMOTION D435 FirmwareV4.3,with SINAMICS V2.6.2表2 本项目所使用的软件列表3项目配置 SIMOTION SCOUT项目的基本配置步骤如下:1. 配置驱动器2. 配置工艺对象TO3. 编写程序并分配执行系统4. 连接HMI设备3.1配置驱动器 本项目中有两

5、台电机,由双轴电机模块驱动,可以参考下载中心应用文档编号A0309(视频教程)来完成驱动器配置文档名称SIMOTION D435调试入门,其下载网址如下:http: /配置完成以后,可以将驱动重命名为conveyor和eject,项目如下图所示:图2 项目配置 配置完成以后,重新进行对SIMOTION和SINAMICS进行下载并保存数据(Copy RAM to ROM)。此时本项目中SINAMICS_Integrated的基本配置已结束,接下来的工作需要在SIMOTION D435中继续配置。3.2配置工艺对象TO SIMOTION运行系统摒弃了传统的面向各种功能的执行方式,采用了更为先进的面

6、向对象的方式,而每一个对象即为各种不同类型的TO (Technology Object,工艺对象)。这些TO被用于工艺和运动控制,每个TO都集成了特定的功能,例如,一个轴TO包含了与驱动的通讯功能、测量值的处理功能、位 置控制功能。在组态的时候这些TO被创建并进行参数化之后,便可以在SIMOTION系统的内核中运行了,在用户程序中编写合适的命令就能够使用TO的各 种功能。除了轴TO以外,外部编码器、同步操作、CAM曲线等等都可以配置成一个TO。每个TO都独立地处理各自的任务,同时输出相应的状态信息,如下图 所示。图3 SIMOTION中TO示意图 本项目中有两个实轴Conveyorbelt和E

7、jector,分别对应SINAMICS_Integrated中的两个驱动conveyor和 eject。另外,为了提高系统可靠性,我们引入一个虚轴作为整个系统的主轴MasterAxis,Conveyorbelt轴与MasterAxis轴 作齿轮同步,Ejector轴与Conveyorbelt轴作凸轮同步,凸轮曲线需要根据工艺绘制。快速点输出(CamOutput TO)根据Ejector轴的位置控制吹出器的喷嘴。所以本项目中使用的TO有: 轴TO:MasterAxis、Conveyorbelt、Ejector 齿轮同步TO:Conveyorbelt与MasterAxis之间的齿轮同步 凸轮TO:

8、Ejctor与Conveyorbelt之间的位置凸轮曲线 凸轮同步TO:Ejector与Conveyorbelt之间的凸轮同步 快速点输出TO:Valve,由Ejector的位置决定喷嘴的通断3.2.1轴TO的配置 在创建轴TO的过程中,需要指定轴的名称、类型、工艺、单位、连接的驱动、编码器等信息。根据工艺要求,需要配置的三个轴的属性如下表所示。名称Name类型Type工艺Technology连接的驱动DriveMasterAxis虚轴,旋转轴位置轴无Conveyorbelt实轴,旋转轴跟随轴ConveyorEjector实轴,直线轴跟随轴Eject表3 本项目中轴TO的属性 1. 创建虚主轴

9、MasterAxis,步骤如下。AXES,双击insert axis可以插入一个轴。在弹出的窗口中配置轴的名称为MasterAxis,工艺为Positioning(即为位置轴)。 在离线情况下,在SCOUT软件中依次打开D435图4 插入轴点击OK进入下一步,选择轴的类型为旋转轴Rotary、虚轴Virtual,单位采用默认值。图5 选择轴类型点击Next进入最后一步,这里可以看到所有配置的摘要信息,点击Finish结束配置。图6 轴配置完成 2.创建实轴Conveyorbelt,步骤如下。AXES,双击insert axis可以插入一个轴。在弹出的窗口中配置轴的名称为Conveyorbelt

10、,工艺为Synchronous operation(即为跟随轴)。 在离线情况下,在SCOUT软件中依次打开D435图7 插入同步轴点击OK进入下一步,选择轴的类型为旋转轴Rotary,电气轴Electrical,模式为标准轴Standard,单位采用默认单位。图8 选择轴类型点击Next进入下一步,选择需要连接的驱动为SINAMICS_Integrated中的conveyor。图9 选择轴的驱动点击Next进入下一步,编码器的数据会自动识别出来,默认选择使用的编码器为驱动器的Encoder_1,该编码器为绝对值编码器。图10 选择轴的编码器点击Next进入最后一步,这里可以看到所有配置的摘要

11、信息,点击Finish结束配置。图11 结束轴配置打开ConveyorBelt轴得机械配置部分进行模态轴的组态:图12 组态轴参数设置该轴为模态轴:图13 配置模态轴 3.创建实轴Ejector,注意修改轴的类型为直线轴,回零方式修改为编码器零脉冲(Encoder zero mark only),Conveyorbelt使用的是绝对值编码器,所以无需设定回零模式。图14 配置Ejector轴的回零步骤与Conveyorbelt基本相同,这里不再赘述。保存并且编译下载后,可以使用控制面板对实轴进行测试。3.2.2齿轮同步TO的配置 在轴TO配置完成以后,需要配置跟随轴Conveyorbelt与主

12、轴MasterAxis的互联,在SCOUT软件中,依次打开D435AXESConveyorbeltConveyorbelt_SYNCHRONOUS_OPERATION(Conveyorbelt_GLEICHLAUF),双击其中的Interconnections,在右侧窗口选择使用虚主轴MasterAxis的设定值Setpoint。图15 同步配置3.2.3凸轮TO的配置 在配置Ejector轴与Conveyorbelt轴之间的凸轮同步操作之前,需要先定义凸轮曲线。根据工艺要求,如果检测到有空盒子,那么 Ejector轴开始跟随传送带移动,在1mm处建立同步以后,喷嘴打开吹出吹盒子,然后在4mm

13、处关闭喷嘴,同时Ejector轴开始返回初始位置。这 个操作过程中,Ejector轴与Conveyorbelt轴的位置关系可以用下面的曲线(横纵坐标显示为位置)来描述。图16 凸轮曲线 第1段:建立同步过程中 第2段:已建立同步 第3段:返回初始位置 可以使用凸轮绘制工具CamTool来绘制这条曲线,CamTool软件需要预先安装好。在SCOUT软件中,依次打开D435CAMS,双击Insert cam with CamTool即可打开编辑器,输入CAM曲线的名称为CAM_Ejector。如果没有安装CamTool软件,也可以通过描点法插入这条CAM曲线,本文档以CamTool为例进行说明。图

14、17 创建CAM曲线 在编辑窗口插入两个插补点和一个线段。点击工具栏上的插补点工具 ,在起点和终点附近插入两个插补点,使用直线工具 在两个插补点之间插入一条直线。图18 创建CAM曲线 在画出雏形以后,使用工具栏上的箭头工具 ,设定插入的各个对象的参数。双击第一个插补点,在弹出的属性窗口中指定其参数为x=0,y=0。同理可以设定直线段和第二个插补点的参数,如下图所示。图19 设定插入各个对象的参数 在参数修改完成以后,曲线如图20所示:图20 完成后的CAM曲线 最后指定坐标的范围,在工作区的右键菜单中选择Target Device Parameters,在Scaling选项卡中设置主轴范围为

15、360,从轴范围为10,如下图所示。这样,就将Ejector轴与 Conveyorbelt轴的位置对应了起来,在Conveyor轴到36(0.1)时,Ejector轴到达1mm(0.1)位置,此时即已建立同 步,同理在4mm(0.4)位置处开始解除同步,并返回初始位置。图21 指定坐标的范围3.2.4凸轮同步TO的配置 在凸轮曲线配置完成以后,可以配置轴Ejector与Conveyorbelt的互联,在SCOUT软件中依次打开D435AXESEjectorEjector_SYNCHRONOUS_OPERATION(Ejector_GLEICHLAUF),双击其中的Interconnection

16、s,在右侧窗口选择使用Conveyorbelt轴的设定值,并选择互联的CAM曲线为Cam_Ejector。图22 配置轴的CAM互联3.2.5快速点输出TO的配置 OUTPUT CAM是SIMOTION中用于快速点输出的TO。本项目中吹出器喷嘴的控制可以使用OUTPUT CAM功能实现,喷嘴的通断由Ejector轴的位置决定,所以需要为Ejector轴配置一个OUTPUT CAM TO。该TO通过SIMOTION D435集成的CU320上的DO点输出。Control_Unit,双击其中的Inputs/outputs,在右侧窗口中 Bidirectional digital inputs/ou

17、tputs选项卡下,设置P0728.8为输出点,如下图所示。SINAMICS_Integrated 本项目中使用DI/DO8作为该OUTPUT CAM的输出通道,所以首先要将该通道配置为数字量输出。在SCOUT软件中,依次打开 D435图23 设置P0728.8为输出点 然后插入快速点输出TO。在SCOUT软件中,依次打开D435AXESEjectorOUTPUT CAM,双击其中的Insert output cam,创建一个名称为Valve的OUTPUT CAM TO。图24 插入快速点输出TO 然后配置该TO的通过SINAMICS_Integrated中的DO8输出。在SCOUT软件中,依

18、次打开D435EjectorAXESOUTPUT CAMValve,双击其中的Configuration,在右侧窗口中,选择激活输出,选择 Fast digital output(DO) (D4xx,C240) ,然后点击Output中的按钮,可以浏览到SINAMICS_Integrated中配置的DO8。图25 配置TO 在OUTPUT CAM TO配置完毕以后,如下图所示。图26 TO配置完毕 这样,本项目中所使用的TO就都配置完成了,此时的项目导航栏如下图所示。图27 本项目TO配置完毕3.3编写程序并分配执行系统 SIMOTION提供的编程环境方便而灵活,可以使用不同的编程语言实现相同

19、的功能,这完全取决于个人的编程习惯。SIMOTION程序的执行系统清晰而 全面,不管是周期性执行,还是单次执行,不管是时间触发,还是事件触发,都可以按照优先级高低顺序进行程序的分配。通过程序在执行系统中的合理分配,可以 方便的实现各种运动控制功能,SIMOTION的执行系统的示意图如下图所示。图28 SIMOTION的执行系统示意图图29 项目功能分解 在使用SIMOTION创建项目时,首先需要对程序结构进行规划,根据工艺要求,将所需的功能分解,编写成多个独立的程序,再将程序分门别类地分配到执行 系统当中。在本项目中,根据工艺的要求,可以将程序分成几部分,再将程序分配到相应的执行系统中,如图2

20、9所示。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

21、()程序,使用MCC编写了pAuto(),pEject(), pHoming(),pProtDoor(),pTecFault()程序,使用LAD/FBD编写了pLADFBD(),pPLCopenProg() 程序,如图31所示。图31 项目中的程序Execution System即可以打开分配执行系统的画面,分配结果详见本文档3.4.3节。然后在线连接设备,编译并下载项目后,系统就可以正常运行了。 在程序编写并编译完成以后,再分门别类地分配到执行系统中。在SCOUT软件中,依次打开D435与SIMATIC PLC的程序不同的是,SIMOTION中没有数据块DB的概念,所有程序都对变量进行操作,

22、所在在缩写SIMOTION程序时,需要按照以下步骤进行:1. 声明变量2. 编写程序3. 分配执行系统3.3.1声明变量 在编写程序之前,需要声明变量。SIMOTION设备中的变量分为系统变量、全局变量和局部变量。其中系统变量在TO创建完成后,就已经由系统自动生成, 比如轴TO的运行状态等。全局变量包括IO变量、设备全局变量和程序单元变量三类,其中IO变量可以通过SCOUT软件中的ADDRESS LIST来创建,设备全局变量可以通过GLOBAL DEVICE VARIABLES来创建(本项目中没有使用),而程序单元变量需要在程序单元中创建,可以在程序单元内使用。一个程序单元中的全局变量通过互联

23、,也可以 用于其他程序单元。局部变量在单个程序中创建,只可以在本程序中使用。图32 变量说明3.3.1.1创建IO变量 在SCOUT软件中,双击D435下的ADDRESS LIST,即可在软件下半窗口中配置全局的IO变量。在Name列输入变量名称,在I/O address一列指定输入输出类型以后,就可以直接在Assignment列点击 按钮浏览到系统中的IO变量。本项目中的IO变量配置如下图所示。其中iboEject为空盒子传感器的DI信号,iboProtDoor为安全门的DI 信号,iboStartBelt为生产线起动的DI信号。图33 创建IO变量3.3.1.2创建程序单元变量和局部变量

24、根据编程语言的不同,程序单元变量的创建方式也不同。 (1)在ST语言中的声明变量 使用ST语言时,可以在INTERFACE段声明全局变量,其格式如下:变量名:数据类型(: =初始值); 比如pDefInit程序单元中一个名称为gboProgEnd的布尔型变量,需要按以下格式声明:INTERFACE VAR_GLOBAL gboProgEnd : BOOL := FALSE; END_VAREND_INTERFACE 这里声明的全局变量只能在本程序单元中使用。如果需要在其他程序单元中访问这些变量,那么需要在其他程序的INTERFACE段内添加USES语句,比如 在pHMIout程序单元中就有这样

25、的语句,其格式如下:INTERFACE USES pDefInit;END_INTERFACE 另外,在程序中IMPLEMENTATION段也可以声明全局变量,这里声明的变量只能在本程序单元中使用,无法被其他程序单元访问,在本项目中并没有在 IMPLEMENTATION段中声明全局变量。局部变量在程序内部的PROGRAM段内声明,仅供本程序使用,无法被其他程序或程序单元访问,其声明格式与全局变量相同。本项目中也没有在PROGRAM段声明局部变量。 (2)在MCC程序单元中声明变量PROGRAM,双击其中的Insert MCC Unit即可插入一个程序单元,此时在右侧的窗口中可以定义本程序单元的

26、全局变量。 在SCOUT软件中,依次打开D435 MCC程序单元中的全局变量在数据表格中声明,变量声明的位置与ST语言是一致的。如果是全局变量,并希望被其他程序单元访问,那么变量在 INTERFACE段声明,如果不希望被其他程序单元访问,那么变量在IMPLEMENTATION段声明。比如在pProtDoor程序单元中定义了下 面的全局变量。图34 MCC程序单元中声明变量 如果要访问其他程序单元的变量,只需要在INTERFACE段的Connection选项卡下进行连接即可,这与ST语言中使用USES语句的功能相同, 比如在pAuto程序单元中要引用在ST程序pDefInit中定义的全局变量,那

27、么可按下图所示的方法进行访问。图35 连接需访问变量的程序单元 在每个程序单元里都有一个插入程序的选项,比如pAuto程序单元中双击Insert MCC Chart即可以在右侧窗口中打开程序的主编辑界面。在顶部的表格里,可以声明本程序的局部变量,比如在图中选项卡下,将变量名称、数据类型和初始值填入表格即可,本项目中没有定义局部变量。图36 本项目无局部变量(3)在LAD/FBD程序单元中声明变量 LAD/FBD程序单元中声明变量的操作与MCC类似,这里不再赘述。另外,在LAD/FBD程序编辑窗口中也可以直接声明不存在的变量。比如在pLADFBD()程序中,将局部变量boResult修改为 bo

28、Result1,此时系统会自动弹出一个变量boResult1的声明窗口,在这里可选择数据类型和变量类型等。这种声明变量的方式非常方便。图37 在LAD/FBD程序单元中声明变量3.3.2编写程序 项目程序需要根据实际工艺编写,本项目中将工艺分解为回零、传送带运行、吹出器动作、安全门控制、错误处理等部分,分别编程进行处理,最后通过程序在执行 系统中的分配,达到各程序协调工作的目的。由于相同的功能,可以使用不同的编程语言实现,所以编程方式十分自由。本项目中使用ST语言编写了数据初始化pDefInit和与HMI的数据交换pHMIout两段程序,使用MCC语言编写了与运动控制相关的程序,使用LAD/F

29、BD编写了周期性执行的逻辑控制程序。3.3.2.1使用ST语言编写程序PROGRAMS,双击其中的Insert ST source file即可插入一段ST程序,在右侧窗口会自动打开ST程序编程器。使用ST语言编写的程序需要放在IMPLEMENTATION段中,以 PROGRAM关键字开头,以END_PROGRAM关键字结尾。程序编写完成后,还需要在INTERFACE段进行声明。比如pDefInit()程序 的ST程序如下。 在SCOUT软件中,依次打开D435INTERFACEVAR_GLOBAL /声明全局变量 gboProgEnd : BOOL := FALSE; gboProtDoorOpen

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

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