首页 SIMOTION D435 实例

SIMOTION D435 实例

举报
开通vip

SIMOTION D435 实例...SIMOTION项目实战—D435Beginner1概述       本文档通过一个实际项目来介绍SIMOTION项目组态、配置和编程的过程。在SIMOTIONSCOUT软件的安装包里提供了一个供初学者学习的项目“D435_BEGINNER”,该项目位于软件光盘路径...\Utilities_Applications\src\Examples\ExampleForBeginners文件夹内,该项目提供了完整的项目文件和介绍文档,该项目可以在SIMOTIOND435演示设备上模拟运行。图1项目实战图示     ...

SIMOTION  D435  实例
...SIMOTION项目实战—D435Beginner1概述       本文档通过一个实际项目来介绍SIMOTION项目组态、配置和编程的过程。在SIMOTIONSCOUT软件的安装包里提供了一个供初学者学习的项目“D435_BEGINNER”,该项目位于软件光盘路径...\Utilities_Applications\src\Examples\ExampleForBeginners文件夹内,该项目提供了完整的项目文件和介绍文档,该项目可以在SIMOTIOND435演示设备上模拟运行。图1项目实战图示       该项目要实现的功能是将生产线上的空盒子吹出生产线,其工作过程如下:按下起动按钮后,盒子在传送带上从上游运输到下游,如果在运输途中被检测出是空的,那么载有喷嘴的吹出器会跟随空盒子运动,建立同步以后在指定的位置打开喷嘴将空盒子吹出传送带,然后吹出器重新返回等待位置。在运行过程中,如果安全门被打开,那么生产线立即停止,在安全门关上以后,又自动恢复运行。复位起动按钮后,生产线停止。该项目中使用的运动控制功能有:•齿轮同步Gearing•凸轮同步Camming•快速点输出OutputCam2项目中使用的硬件和软件2.1项目中使用的硬件       项目使用的硬件基于SIMOTIOND435(可以转换到其他SIMOTION硬件),具体的产品如下表所示。编号名称数量订货号/备注1SIMOTIOND43516AU1435-0AA00-0AA12CF卡16AU1400-2PA01-0AA03SIMOTION多轴授权包16AU1820-0AA43-0AB04端子板TB3016SL3055-0AA00-2TA05智能型电源模块SLM5KW16SL3130-6AE15-0AB06双轴电机模块DMM2×1.6KW16SL3120-2TE13-0AA37传送带电机11FK7022-5AK71-0LG08吹出器电机11FK7022-5AK71-0AG09起动按钮1数字量输入,常开点10安全门1数字量输入,常闭点11空盒子传感器1数字量输入,常开点12吹出器喷嘴阀门1数字量输出13连接电缆若干动力电缆、信号电缆等表1本项目所使用的硬件列表 2.2项目中使用的软件编号名称版本1WindowsXPSP3,Professional2STEP7V5.5SP2HF13SIMOTIONSCOUTV4.3SP1HF34WinCCFlexible2008SP2Upd125SIMOTIOND435FirmwareV4.3,withSINAMICSV2.6.2表2本项目所使用的软件列表3项目配置        SIMOTIONSCOUT项目的基本配置步骤如下:1.配置驱动器2.配置工艺对象TO3.编写程序并分配执行系统4.连接HMI设备3.1配置驱动器       本项目中有两台电机,由双轴电机模块驱动,可以参考下载中心应用文档编号A0309(视频教程)来完成驱动器配置文档名称《SIMOTIOND435调试入门》,其下载网址如下:http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0309配置完成以后,可以将驱动重命名为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连接的驱动DriveMasterAxis虚轴,旋转轴位置轴无Conveyorbelt实轴,旋转轴跟随轴ConveyorEjector实轴,直线轴跟随轴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,模式为 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 轴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 AXESConveyorbeltConveyorbelt_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软件中,依次打开D435CAMS,双击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软件中依次打开D435AXESEjectorEjector_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软件中,依次打开D435AXESEjectorOUTPUTCAM,双击其中的Insertoutputcam,创建一个名称为Valve的OUTPUTCAMTO。图24插入快速点输出TO        然后配置该TO的通过SINAMICS_Integrated中的DO8输出。在SCOUT软件中,依次打开D435EjectorAXESOUTPUTCAMValve,双击其中的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_VAREND_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软件中,依次打开D435INTERFACEVAR_GLOBAL                //声明全局变量            gboProgEnd:BOOL                :=FALSE;            gboProtDoorOpen                    :BOOL:=FALSE;            gr64VMasterAxis        :LREAL:=360;            gr64VMasterAxisOld               :LREAL:=0;            gi16Mode                                :INT:=0;            gboDriveActive                        :BOOL:=FALSE;            gboStartConveyor    :BOOL:=FALSE;            gboStartEjector                        :BOOL:=FALSE;END_VARPROGRAM            pInit;     //声明程序pInitEND_INTERFACEIMPLEMENTATIONPROGRAMpInit;    //程序pInit开始            gboProgEnd            :=FALSE;      //赋值语句,初始化变量,下同            gboProtDoorOpen              :=FALSE;            gr64VMasterAxis    :=360;            gr64VMasterAxisOld          :=0;            gi16Mode                           :=0;            gboDriveActive                   :=FALSE;END_PROGRAM //程序pInit结束END_IMPLEMENTATION        用相同方法编写pHMIout()程序,这里不再赘述。3.3.2.2使用MCC语言编写程序PROGRAMS,双击其中的InsertMCCUnit,即可创建一个MCC程序单元,然后双击其中的InsertMCCChart即可插入一段MCC程序,在右侧窗口中会自动打开MCC编辑器,此时在工具栏上会出现MCC编程       在SCOUT软件中,依次打开D435工具条 ,所有的MCC指令都可以通过点击工具条上的按钮插入。下面以pAuto()程序为例,介绍MCC编辑器的操作。pAuto()是用于控制生产线自动运行的程序,在所有轴都回零以后,即开始执行pAuto()中的程序。按照工艺要求,需要先将虚主轴MasterAxis使能,在接到起动信号iboStartBelt以后,传送带轴Conveyorbelt开始跟随主轴做齿轮同步,同时将喷嘴阀门的OUTPUTCAM功能使能。由于此时轴Ejector仍处于停止状态,所以喷嘴阀门一直关闭。然后起动虚主轴,如果虚主轴的速度设定值发生变化,那么要立即生效,要循环判断设定值是否有变化。这样在虚主轴起动以后,传送带轴也开始运动。当检测到有停止信号gboProgEnd时,程序结束。       首先插入一个新程序,鼠标点击编程窗口中的,然后选择工具栏上的轴使能命令即可插入该功能块,如图38所示:图38轴使能命令双击Switchaxisenable命令,在弹出窗口中设置其属性,如图39所示:图39设置轴使能命令属性        插入Waitingforsignal命令,并设置其属性如下图所示。图40Waitingforsignal命令        然后插入GearingOn命令,并设置其Parameter和Synchronization选项卡内参数如下图所示。图41GearingOn命令图42GearingOn命令        然后插入SwitchoutputcamOn命令,并设置其参数如图43所示:图43SwitchoutputcamOn命令        同理插入其他命令块并设置其属性,程序编写完毕后,如图44所示:图44程序编写完毕        点击工具栏上的编译按钮完成编译。在SCOUT软件底部Compile/checkoutput信息栏可以查看编译状态。图45查看编译状态        同理完成其他MCC程序的编写和编译。3.3.2.3使用LAD/FBD语言编写程序       在SCOUT软件中,依次打开D435PROGRAMS,双击其中的InsertLAD/FBDUnit,即可创建一个LAD/FBD程序单元,然后双击其中的InsertLAD/FBDProgram即可插入一段LAD/FBD程序,在右侧窗口中会自动打开LAD/FBD编辑器。通过工具栏上的按钮或可以方便地在LAD和FBD两种语言之间切换。在使用LAD时,工具栏上会出现编程工具条 ,在使用FBD时,工具栏上会出现编程工具条,所有的指令都可以通过点击工具条上的按钮插入。       下面以pLADFBD()程序为例,介绍LAD编辑器的操作。本项目中,在安全门打开时,所有设备停止运行,在安全门关闭以后,所以设备重新自动运行。pLADFBD()就是用于各MotionTask重新自动运行的程序。本程序中,自动判断当前系统状态并重新起动运动控制任务MotionTask_2和MotionTask_3。       首先插入第一行网络,实现如下功能:如果驱动系统未准备好,就跳转到end结束。点击工具栏上的按钮插入一个网络,选中该网络后点击工具条上的按钮插入一个常闭触点,并在其顶部输入变量名称gboDriveActive,再点击按钮插入一个线圈,在其下拉菜单中选择JMPN(Jumpnot),并在其顶部输入变量名称end,如图46所示。图46LAD编程       同理完成第二行网络,如果安全门被打开,那么也跳转到end结束。接下来的网络3到网络9是对MotionTask的操作。在SIMOTION中MotionTask的状态模型如图47所示:图47MotionTask的状态模型图中各任务状态的意义如下:•TS_INVALID任务不存在于执行系统中,在执行系统的参数设置中未使用。•TS_STOP_PENDIING任务已经收到一个停止信号,但仍然处于RUNNING和STOPPED状态之间。任务仍然可以执行动作直到被停止。•TS_STOPPED任务因下列动作已经被停止:•调用功能_resetTask()•SIMOTIONSCOUT执行了停止•TS_RUNNING任务因下列功能而运行:•调用功能_startTask()(MotionTasks)•激活循环任务(BackgroundTask等)•相关事件已发生(UserInterruptTask等)•TS_WAITING任务因下列功能之一而处于等待状态:•_waitTime()•WAITFORCONDITION...•TS_SUSPENDED任务通过功能_suspendTask()被暂停•TS_WAIT_NEXT_CYCLETimerInterruptTask正在等待其触发信号•TS_WAIT_NEXT_INTERRUPTSystemInterruptTask正在等待触发报警,或者UserInterruptTask正在等待触发事件•TS_LOCKED任务通过功能_disableScheduler()被锁定。通过系统功能_getStateOfTaskId可以读取指定任务的当前状态,该功能可以在命令库中找到,如图48所示:图48命令库该功能的返回值为DWORD,返回值指示下列状态:16#0000:指定的任务不存在(TASK_STATE_INVALID)16#0001:从RUN变换到STOP(TASK_STATE_STOP_PENDING)16#0002:任务被停止(TASK_STATE_STOPPED)16#0004:任务正在运行(TASK_STATE_RUNNING)16#0010:任务正在等待(TASK_STATE_WAITING)16#0020:任务被暂停(TASK_STATE_SUSPENDED)16#0040:定时中断任务等待下一个周期(TASK_STATE_WAIT_NEXT_CYCLE)16#0080:用户中断任务或者系统中断任务等待下一个事件(TASK_STATE_WAIT_NEXT_INTERRUPT)16#0100任务被_disablescheduler禁止(TASK_STATE_LOCKED)       本程序中,判断当前任务的状态,如果任务处于被停止(16#0002)或暂停(16#0020)状态,那么就使用系统功能_RestartTaskId()重新起动任务。在完成本段程序编写后,程序如下:图49任务控制编程       在编写完成后,点击工具栏上的按钮完成编译,在SCOUT软件底部Compile/checkoutput信息栏可以查看编译状态。图50编译无误同理完成其他LAD程序的编写和编译。3.3.3分配执行系统ExecutionSystem即可打开执行系统的配置画面。在右侧窗口中为不同的任务添加程序即可,配置完成后,重新编译项目。可以参考下载中心应用文档编号A0471来获得更多与执行系统相关的信息。文档名称《SIMOTION的任务执行机制及系统时钟》,下载网址:       在所有程序编写并编译完成后,再分配执行系统。在SCOUT软件中,双击D435http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0471(​http:​/​​/​www.ad.siemens.com.cn​/​download​/​searchResult.aspx?searchText=A0471​)图51分配执行系统3.4连接HMI设备HMI(人机界面)可以通过PROFIBUS、IE或MPI网络建立与SIMOTION设备的连接,HMI设备的组态需要使用WinCCFlexible软件。在SIMOTION项目中添加HMI设备有两种方式:•HMI项目集成在SIMOTION项目中通过打开SCOUT项目的网络配置,在NetPro中插入HMI设备,可将WinCCFlexible项目集成到SIMOTIONSCOUT项目中进行编辑。•HMI项目独立于SIMOTION项目在WinCCFlexible中使用项目向导在“IntegrateS7Project”中选择使用的SIMOTION项目,即可实现HMI与SIMOTION项目的集成。下面以使用第一种方式为例,介绍在SIMOTION项目中插入HMI设备的配置过程。本项目中,HMI设备采用PC670,通过以太网与SIMOTIOND435进行通讯。在HMI上指示传送带、安全门、吹出器等设备的状态。3.4.1配置网络并插入HMI设备       首先使用STEP7-SIMATICManager打开D435_Beginner项目,点击工具栏上的按钮打开网络配置画面。项目中已经存在一个SIMOTION设备和PG/PC站。本项目中,PC机与SIMOTIOND435的IE2接口连接在网络Ethernet(1)上,并 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 将HMI设备PC670也连接到Ethernet(1)上。图52配置网络 SIMATICHMIStation,并将其拖动到主工作区。首先在右侧目录中找到Stations图53SIMATICHMIStationPC67015”Key,并在General选项卡下修改设备名称为RunTime_15Zoll,点击OK。SIMATICPanelPC670        此时会自动弹出HMI设备选择的窗口,在窗口中选择PanelPC图54选择PanelPC        等待一段时间后,在工作区里就出现了新插入的HMI站。双击该站点,打开硬件组态画面,修改其通讯接口。CPIndustrialEthernet中找到。        删掉第4行的CP5611,再在第1行添加一个HMIIE的接口。HMIIE可以在右侧硬件目录中的SIMATICHMIStation图55插入HMIIE        将HMIIE拖动到框架中第1行,在弹出窗口中配置网络连接的属性,选择网络Ethernet(1)后,IP地址会自动调整为网络上未被占用的地址。点击OK确认配置。图56设置HMI的网络连接保存后再返回网络组态画面。图57网络组态画面 保存并编译配置。图58保存并编译配置3.4.2配置连接、标签和HMI画面       在网络配置完成后,返回Step7-SIMATICManager主画面,可以看到添加的HMI站。图59项目中添加的HMI站Connection(Verbindungen),在右侧窗口中双击Connection(Verbindungen)即可以打开WinCCFlexible软件。在右侧网络连接的配置画面上,可以看到项目中已经有一个PC670与SIMOTION设备的连接,将现有的以太网连接改为激活状态(Active一列改为On),并修改连接名称为D435。此时画面如下图所示,网络连接的配置数据,比如通讯接口、地址等会自动从之前的网络组态中获得。Communication(Kommunikation)        依次打开其中的RunTime_15Zoll图60HMI网络连接ActualVelocity中找到。在选择所需要的变量以后,系统会自动生成Tag的名称、数据类型、地址等信息。MotionStateDataConveyorBeltTOsD435SIMOTIONDTags可以打开标签的配置画面,直接在右侧窗口中Symbol一列的下拉菜单中,可以浏览到SIMOTION项目中所有可能连接的系统变量和全局变量,比如Conveyorbelt轴的实际速度可以在D435_Beginner在WinCCFlexible软件中,依次打开Communication图61HMI中的变量        根据项目要求,插入其他Tag。        最后完成画面绘制。在WinCCFlexible中,依次打开ScreensAddScreen可以插入一个画面。使用右侧工具栏中提供的工具,完成画面的绘制,最后如下图所示。图62HMI画面画面绘制完成以后,保存、编译项目并向HMI设备下载即可。4项目实例     参考附件压缩文件:ExampleForBeginners.zip(​http:​/​​/​support.automation.siemens.com​/​CN​/​llisapi.dll​/​csfetch​/​73990451​/​SIMOTION_D435_Beginner.zip?func=cslib.csFetch&nodeid=97651631​) (6810KB)如有侵权请联系告知删除,感谢你们的配合!精品精品精品
本文档为【SIMOTION D435 实例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥10.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:doc
大小:2MB
软件:Word
页数:0
分类:互联网
上传时间:2021-03-01
浏览量:22