热门文档
- 2022-09-12 21:57:50 《HVD100系列通用变频器简易手册》-〖中文〗
- 2022-09-12 21:57:50 《CP520系列变频器用户手册》
- 2022-09-12 23:38:53 《中型PLC编程软件使用手册》
- 2022-09-12 23:59:15 《SV660N系列伺服选型手册》
- 2022-09-14 23:13:11 阿尔法6000E&6000M系列 电流矢量变频器说明书中文版
- 2022-09-12 23:59:15 19010795《SV660P系列伺服设计维护使用手册》
- 2022-09-12 23:38:53 AM400系列可编程控制器(NPN输出)用户手册
- 2022-09-13 22:07:40 H5U&Easy系列可编程逻辑控制器指令手册-CN-A10
- 2022-09-12 23:41:04 《IT7000系列人机界面(电容屏)用户手册》
- 2022-09-12 23:24:32 汇川-H3U系列可编程逻辑控制器简易手册版本号:V1.0
- 2022-09-12 21:57:50 《MD500系列Profinet扩展卡说明书》-〖英文〗
- 2022-09-12 23:24:32 H5U系列可编程逻辑控制器用户手册(无CAN和凸轮)

1、本文档共计 13 页,下载后文档不带水印,支持完整阅读内容或进行编辑。
2、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。 免责声明: 版权:我们作为资源的整理方,所有资源均来自互联网的优秀作者们,版权归原作者或企业所有。
申明:任何使用本站收集的资源产生的不测后果,本站不对此负任何责任。
2、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。 免责声明: 版权:我们作为资源的整理方,所有资源均来自互联网的优秀作者们,版权归原作者或企业所有。
申明:任何使用本站收集的资源产生的不测后果,本站不对此负任何责任。
1概述1概述DB ANY这个数据类型在S7-1200与S7-1500可以作为指代DB块的参数来使用。本文将介绍DB ANY在运动控制中该如何使用。FAQ titleEntry-ID:Entry ID,V0.0,mm/yyyy2 DB_ANY的基本概念2DB ANY的基本概念DB ANY可以用来标识任意数据块,可以指代编程期间尚不可用的数据块。为此,需要在块接口中创建一个DB_ANY数据类型的块参数,这样在块中就可以像在使用数据块一样随意使用该块参数。数据块名称或先前分配给数据块名称的DB ANY数据类型的变量将在运行期间传送到此参数。如图2-1所示,在FC20的块接口中定义DB ANY类型的Input参数,这样可以在FC20中先行使用该DB ANY参数指代的数据块,然后再在如图2-2所示的调用FC20的时候,Input实参处填写一个实际的DB。FC20名称数据类型默认值注InputDB_ANY程序段1:ADDIntENENOIN1#Input_1.%DBW2-IN2图2-1 DB ANY作为块接口参数ENENO%DB33Input_1图2-2 DB_ANY接口实参使用DB块FAQ titleEntry-ID:Entry ID,V0.0,mm/yyyy53 DB_ANY在运动控制中的应用3DB ANY在运动控制中的应用从T1 A PORTAL V14开始,S7-1200V4.2版本T0V6.0版本以及S7-1500V2.0版本TOV3.0版本开始,可以用DB ANY指代速度轴、定位轴、同步轴等轴类型的DB。通过建立DB ANY类型的数组,方便在程序中使用FOR循序,一次调用多个轴的程序,简化编程流程。3.1运动控制数据类型在介绍DB_ANY在运动控制的使用之前,先简单介绍一下运动控制的常用数据类型。以S7-1500为例,在工艺对象中可以建立速度轴(TO_SpeedAxis)、定位轴(TO_PositioningAxis).、同步轴(TO_SynchronousAxis)等轴,而这些轴是有如图3-1所示的包含关系,其中最里层的TOAx$是基础数据类型,然后是速度轴包含TO_Axis,定位轴包含速度轴,同步轴包含定位轴。TO_AxisTO_SpeedAxisTO PositioningAxisTO_SynchronousAxis图3-1轴之间的关系S7-1200略有不同,没有最外层的同步轴,并且工艺对象中建立轴也只能建定位轴,但是包含关系是一样的。有了这一个基础,就可以看明白,对于帮助或者手册中这些MC指令在Axs上的参数类型是什么意思了。以MC_Power为例,如表31所示手册中指明数据类型为TO_Axis。参数声明数据类型默认值说明AxisINPUT TO_Axis工艺对象表3-1MC_Power的Axis参数实际使用时,这个参数的实参可以是速度轴、定位轴、同步轴,是因为TO_Axis是基础类型,所以速度轴、定位轴、同步轴都可以使用。再以MC_MoveAbsolute为例,如表3-2所示手册中指明数据类型为TO PositioningAxis.FAQ titleEntry-ID:Entry ID,V0.0,mm/yyyy63 DB_ANY在运动控制中的应用参数声明数据类型默认值说明AxisINPUTTO_Positioning工艺对象Axis表3-2MC_MoveAbsolute的Axis参数实际使用时,这个参数的实参可以是定位轴、同步轴,是因为定位轴是同步轴的基础类型,而速度轴不能使用这个指令。3.2DB ANY的限制与解决方案前面介绍了DB ANY可以指代DB,并且运动控制可以支持DB_ANY,那是不是可以像指令一样做到数据类型兼容呢?例如:定义DB ANY类型变量,为其赋值为某定位轴,是不是该DB_ANY变量可以自由连接在MC_Power、,MC_Reset等Axis参数为TO Axis的指令上呢?答案是否定的。截止到TIA Portal V16,Axis参数为某轴类型的指令只能直接连接赋值为该轴类型的DB ANY类型变量,否则运行时会出错(编译不出错)。例如:MC_MoveAbsolute、.MC_MoveRelative等Axis参数为定位轴的指令,可以直接连接赋值为定位轴的DB ANY类型变量,无法直接连接到赋值为同步轴的DB_ANY类型变量。MC_MoveJog、MC_Halt、MC_MoveVelocity等Axis参数为速度轴的指令,可以直接连接赋值为速度轴的DBAY类型变量,无法直接连接到赋值为定位轴、同步轴的DB ANY类型变量。而Axis参数为TO_Axis的MC_Power、.MC_Reset、MC_Home等指令无法直接连接赋值为速度轴、定位轴、同步轴任意一种的DB_ANY。不过,赋值为速度轴、定位轴、同步轴任意一种的DB_ANY类型变量,是可以连接到接口参数类型为TO_SpeedAxis、TO_PositioningAxis、TO_SynchronousAxis等自定义FCFB。下面就使用这种方法以MC_Power为例给出如何将不同的轴类型的DB ANY变量间接的连接到MC指令:1.如图3-2所示,在DB中建立DB_ANY数据类型的数组。DB_Axis名称数据类型回StaticArray(0..2]of DB_ANYDB_ANYDB_ANYAxis [2]DB_ANY图3-2 DB ANY数据类型的数组FAQ titleEntry-ID:Entry ID,V0.0,mm/yyyy73 DB_ANY在运动控制中的应用2.如图3-3所示,在启动OB(0B100)中为这几个变量赋值,将不同类型的轴DB分别赋值这几个DB_ANY类型变量。"DB Axis".Axis[0]:"SpeedAxis 1";//速度轴"DB Axis".Axis [1]:"PositioningAxis 1";//定位轴"DB_Axis".Axis[2]:"SynchronousAxis_1";/同步轴图3-3赋值DB_ANY类型变量3.如图3-43-6所示,在程序中新建三个FC,每个FC对应一种轴类型,每个FC包含一个轴类型的Input参数,参数名称为Axis。在每个FC程序中均只调用MC_Power指令,该指令在拖拽出来时选择背景使用如图3-7中所示的参数实例,而不是使用单个实例,参数实例的含义是指令背景出现在FC的nOut接口。名称InputTO_SpeedAxis▣OutputMC_POWER_Instance MC_POWER图34速度轴使用的FC名称数据典型OutputMC_POWER_Instance MC_POWER图3-5定位轴使用的FC名称InputOutputMC_POWER_Instance MC_POWER图36同步轴使用的FCFAQ titleEntry-ID:Entry ID,V0.0,mm/yyyy83 DB_ANY在运动控制中的应用MC_POWER_Instance MC_POWER2图3-7参数实例4.如图3-8所示,在程序中新建FB(CallMcPower),包含一个DB_ANY的Input参数,参数名称为AxiS。在程序中使用TypeOfDB指令V15开始支持的指令)对Axis参数所连接的实参类型进行判断,根据前面所述,赋值为速度轴、定位轴、同步轴任意一种的DB_ANY类型变量,是可以连接到接口参数类型为TO_SpeedAxis、TO_PositioningAxis、TO_SynchronousAxis等自定义FCFB。这样DB_ANY类型的Axis,是可以连接到上面创建的是三个FC的Input参数,于是就可以根据所判断出的实参轴类型,去选择调用其中某个FC。对于图37中提到的参数实例,也就是这三个FC的MC_Power类型的InOut变量,可以在FB的静态变量中建立一个MC_Power类型变量InstMcPower,也就是MC_Power的多重实例,分别作为三个FC的InOut的实参。FAQ titleEntry-ID:Entry ID,V0.0,mm/yyyy93 DB_ANY在运动控制中的应用名称数据类型保持DB_ANY▣OutputInOut▣5 taticMC_POWERTO SpeedAxis:MC_POWER_Instance:=#InstMcPower)101ELSE1516END CASE:图3-8 CallMcPower调用三个FC这样就将DB_ANY和MC指令建立了联系,如图39所示了完整的调用关系。McPowerSpeedAxisMC_PowerMcPowerPositiMC_PoweroningAxisMC_PowerronousAxis图3-9调用结构3.3最终的程序构架像图3-9的架构可以建立很多,例如,如图310所示的MC_Reset、.如图3-11所示的MC_MoveRelative以及如图3-12所示的MC_Move Jog,后面的例子就以这四个为基础编写,实际使用时可以根据工艺需要增加相关指令。FAQ titleEntry-ID:Entry ID,V0.0,mm/yyyy103 DB_ANY在运动控制中的应用FB-CallMcResetMcResetSpeedAxisMC_ResetMC_ResetningAxisFB-MC_ResetonousAxis图3-10MC_Reset调用结构CallMcMoveReMC_MoveRelatativeiveMC MoveRelateSynchronousAxis图3-11MC_MoveRelative调用结构gFBMcMoveJogPositioningAxisMC_MoveJogFBMcMoveJogSynchronousAxisMC_MoveJog图3-12MC_MoveJog调用结构FAQ titleEntry-ID:Entry ID,V0.0.mm/yyyy113 DB_ANY在运动控制中的应用值得注意的是MC_MoveRelative与MC_MoveJog与前两个结构有些许不同,原因在前面也提过,MC_MoveRelative可以直接调用定位轴类型的DB ANY变量,所以定位轴无需再转换,而速度轴不支持该相对运动指令。MC_MoveJ0g也是一个道理,MC_MoveJog可以直接调用速度轴类型的DB ANY变量,所以速度轴无需再转换。再来看一下运动控制的最外层构架,如图3-13所示,新建一个FB(CMC),在其中通过FOR循环调用这几个FB。FBFBCallMcCallMcPowerCallMcResetFBCallMcMoveRelativeCallMcMoveJo9图3-13最终调用结构在CallMC添加DB_ANY数据类型的数组作为输入,参考图3-2,建立Aray0.2]of DB_ANY数据类型的Input接口,添加FOR循环的Temp变量l。同时要注意因为有三个轴的存在,所以需要在静态变量中添加Aray0.2]ofArray[0(.2)of"CallMcMoveJog",这里使用FB的多重实例数组的方式。也就是说有几个轴,这里的多重实例的数组元素就有几个。如图314所示为CMc接口以及程序,注意循环调用以及FB与参数均是数组的情况下,循环变量的语法。FAQ titleEntry-ID:Entry ID,V0.0,mm/yyyy12




请如实的对该文档进行评分-
-
-
-
-
0 分