part1
运动控制功能块技术规范
版本2.0,已发布
zotero://select/library/items/7DC64MZR
免责声明: 本文档是按“原样”提供的,可能会受到未来的补充,修改或更正。PLCOPEN在此免除所有担保或任何形式的明示或暗示的条件,包括但不限于所有权的保证或条件,不侵权,可贸易性或适用性本文档的特殊目的。在任何情况下PLCOPEN均不负责因任何缺陷,Error或疏忽导致的任何损失或损坏本文档,或任何人对本文档的使用或依赖。
版权所有©2009 – 2011 by PLCopen。
目录
[toc]
PLCopen运动控制任务组已制定了以下规范。
该规范由运动控制任务组的以下成员编写:
变更状态清单:
| 版本 | 日期 | 变更注释 | | ----- | ---- | -------- | |V 0.1|2008年9月26日|第一份工作草案。合并第1部分和第2部分以及更正。| |V 0.2|2010年1月6日|作为2009年11月9日至10日在法兰克福举行的会议的结果| |V 0.3|2010年2月4日|作为2010年2月3日至4日在Bad Pyrmont举行的会议的结果。讨论未决问题。| |V 0.4|2010年4月1日|作为2010年3月17日至18日在法兰克福举行的会议的结果。包括1.99版的反馈意见。发布为V1.99之前进行编辑性更正的基础。通过docx转换清除了文档文件Error。| | V 1.99 |2010年5月21日 | 发布为征求意见稿 | |V 1.99A| 2010年12月14日|作为几次会议反馈的结果| | V 1.99B | 2011年1月31日 | 作为反馈和1月网络会议的结果 | | V 1.99C | 2011年2月27日 | 作为2月的网络会议反馈结果 | | V 1.99D | 2011年3月16日 | 作为三月份网络会议的结果。发行前的最新版本 | |V 2.0|2011年3月17日|正式发布|
1. 总则
运动控制市场显示出各种不兼容的系统和解决方案。在不同的企业使用系统,这种不兼容会给最终用户带来可观的成本,学习混乱,工程变得困难,市场增长过程放慢。 标准化肯定会减少这些负面因素。标准化不仅意味着编程语言,本身进行衡量(因为使用全球IEC 61131-3标准实现了标准化),但也进行了标准化面向不同运动控制解决方案的界面。这样,这些运动控制解决方案的编程较少依赖硬件。应用软件的可重用性得到提高,并且培训涉及的成本和支持减少。 用户要求PLCopen帮助解决此问题,从而启动了运动控制任务组。这个工作组通过标准化运动控制功能块定义了程序员的界面。
图1:带有用户选项的三角形
有关此活动的位置,请检查图1。此三角形的拐角处具有以下用户选项:
- 性能
- 功能性
- 标准化。 在实践中,用户编写自己的程序与具有专用功能的硬件非常紧密地结合在一起,以便获得根据他们的环境确定最高的性能。这限制了用户在选择针对硬件和控制软件的可重用性,并增加了培训投入。
第二个用户选项可提供非常广泛的软件功能。这对用户,但很少会带来高性能。培训费用也增加了。
第三个角落是标准化,主要关注来自不同供应商的不同系统之间的可重用性,包括集成,分布式和网络化的系统,以及减少培训投资。由于一般此定义的特点是,在不同体系结构上的性能可能不如硬编码最佳。由于此,不应期望标准化能够提供最大的性能,但是可以紧密接近最大的功能,表示三角形的底部很短。 第一个规范发布为独立的运动控制功能块库。它包括运动单轴和多轴功能,多个管理任务以及状态图。本规范为用户提供了独立于底层体系结构的标准命令集和结构。此结构可用于许多平台和体系结构。通过这种方式,可以决定将采用哪种架构在开发周期的后期使用。机器制造商的优势尤其是降低了制造成本支持不同的平台,并以更独立的方式自由开发应用程序软件,而无需限制了机器的生产率。除了这些好处之外,系统维护更容易,而且教育周期较短。这是向前迈出的重要一步,越来越为用户和供应商所接受。随着第1部分的发布,可以理解,还需要其他功能。
第1部分提供了一套基础相互关联的规范:
- 第1部分-运动控制的PLCopen功能块
- 第2部分-PLCopen运动控制-扩展,在新版本2.0中与第1部分合并
- 第3部分-PLCopen运动控制-用户指南
- 第4部分-PLCopen运动控制–协调运动
- 第5部分-PLCopen运动控制-归位扩展
- 第6部分-PLCopen运动控制–流体动力扩展 随着基础文档的发布,第1部分–运动控制2.0版的PLCopen功能块,第2部分– PLCopen运动控制扩展已集成到基本文档中。
《PLCopen运动控制用户指南》第3部分是对用于运动控制的PLCopen功能块的补充,不应视为独立文件.
1.1 目标
运动控制功能块适用于IEC 61131-3语言,考虑以下因素:
- 简单-易于使用,适用于应用程序构建器以及安装和维护
- 效率-功能块的数量,旨在提高设计(和理解)的效率
- 一致性-符合IEC 61131-3标准
- 普遍性-硬件独立
- 灵Active-将来的扩展/应用范围
- 完整性-不是强制性的,但足够
1.1.1 语言环境目标
•根据IEC 61131-3,着重定义功能块接口和行为以及数据类型规范。 •这些功能块和数据类型可以在所有IEC 61131-3语言中使用。 •本文档中的示例以文本和图形IEC 61131-3语言提供了翔实的信息。 •功能块的内容可以用任何编程语言(例如IEC 61131-3 ST,C)或即使是固件或硬件。因此,不应期望内容可以跨平台移植。 •使用PLCopen交换简化了由这些功能块和数据类型组成的可重用应用程序标准。 •该规范应被视为没有硬件依赖性的开放框架。它提供了开放性在完全集成,集中式或分布式系统等不同平台上实施。实际实现功能块本身的说明不在本标准范围之内。
1.1.2 一组功能块的定义
一个基本问题涉及标准化功能块的粒度或模块化。极端是其中之一每个轴的功能块与命令电平的功能。可以轻松实现上述目标通过功能块的模块化设计。模块化创造了更高电平的可扩展性,灵Active和可重构性可配置性。然后可以从中创建大型块(派生功能块),例如整个轴,以用于易于构建和浏览应用程序。如果可行,可以将此处指定的功能块实现为功能(例如MC_ReadParameter)。
1.1.3 定义功能块概述
下表概述了已定义的功能块,分为管理(非驾驶)功能和运动相关的集合。
表1:定义的功能块概述
1.1.4 合规性和可移植性
这项工作的目的是使作用在轴上的运动控制功能块的可移植性达到一定水平,并且就用户界面,输入/输出变量,使用的参数和单位。 在一个应用程序中合并来自不同供应商的多个MC库的可能性尚待解决由系统集成商或最终用户解决。 声称符合此PLCopen规范的实现应提供一组(表示一个或多个)至少具有基本输入和输出变量的运动控制功能块,在定义中标记为“ ** B** ”本文档中功能块定义中的表格。 对于更高电平的系统和将来的扩展,扩展输入和输出变量的任何子集在命令中标记为“ E ”这些表可以实现。 供应商特定的添加标记为“ V ”。 有关合规性和PLCopen运动控制徽标的用法的更多特定信息,请参阅附录B。 -基本的输入/输出变量是强制性的在表中标有|WORD|母“ B ” -扩展的输入/输出变量是可选的在表中标有|WORD|母“ E ” -供应商特定的添加在供应商的合规性文档中以“ V ” 标记允许任何供应商将“供应商特定”参数添加到本文档中指定的任何功能块中。 注意: 根据IEC 61131-3规范,输入变量可以不连接,也可以不由用户设置参数。在这种情况下,功能块将使用上一次调用功能块实例的值,或者在第一次调用的情况下,将使用初始值。每个功能块输入都有一个定义的初始值,通常为0。功能块和参数(例如,速度,加速度,距离等) 中列出的数据类型REAL可能是交换为SINT,INT,DINT或LREAL,只要它是一致的,就不会被视为不符合此标准用于整个功能块和参数。 只要保留基本数据类型,实现就可以扩展数据类型。例如:WORD可能是更改为DWORD,但未更改为REAL。 规范的新版本中不再指定的所有FB和输入都可以保存在供应商的系统中。保持兼容性的方法,避免现有FB中发生不兼容的更改。
1.1.5 名称的长度和缩短名称的方法
有些系统仅支持名称中有限数量的有效|WORD|符。对于这些规则较短这里提供名称。尽管必须在认证中提及这些名称,但仍被视为符合这些名称文件。 缩短名称的规则列表:
产生的合规名称例如:
| CommandAborted | CmdAborted | | ------------------------- | -------------- | | MC_MoveContinuousRelative | MC_MoveContRel | | MC_ReadParameter | MC_ReadPar |
1.1.6 历史
第一部分的首次正式发布是在2001年11月。从那时起,双方都收到了反馈。用户和实施者。2004年,决定发行第1部分的新版本1.1版,其中包括由于将反馈包含在规范中而导致的更改。此更新于2005年4月发布。 2005年9月,发布了第2部分-扩展的第一个正式版本。 在此日期之后,两个部分的勘误和附录均已维护。 该提案在2008年被接受将第1部分和第2部分合并为一个新的第1部分,以您现在正在查看的文档2.0版发布。 基本上,两组功能块已经合并。 此外,还进行了几项总体更改。这些更改包括(但不限于):
•简化状态图的表示,并删除转换命令
•新输入“ ContinuousUpdate”扩展了相关运动相关功能块的行为
•采用的描述导致输出“活动”的行为发生变化
•在某些FB中删除了中止模式
•mcAborting枚举的变化
•将MC_Phasing和MC_MoveContinuous FB分为相对和绝对版本
•新功能块MC_ReadMotionState,MC_ReadAxisInfo,MC_CombineAxes和MC_HaltSuperimposed
•Camming中的描述
•MC_CamTableSelect的功能通过输入“ ExecutionMode”扩展。'Peri-的描述odic'定义更精确。
•通过输入“ MasterStartDistance”和“ MasterSyncPosition”扩展了MC_CamIn的功能。
•MC_CamIn,MC_GearIn,MC_GearInPos中的新输入“ MasterValueSource”和相应的数据类型,MC_ReadMotionState和MC_CombineAxes
•MC_SetPosition的输入“ Mode”现在称为“ Relative”(与第4部分一致)
•所有功能块,枚举元素,数据类型,结构,输入和输出的统一命名约定PLCopen运动控制规格。
•在相应的SET之后,“ InVelocity”,“ InGear”,“ InTorque”和“ InSync”输出的行为发生了变化达到价值
•未添加到功能块中的功能块MC_ReadAxisInfo,MC_PhasingRelative和MC_PhasingAbsolute在状态图中列出
•输入“轴”,“主”和“从”的描述已更改
•输出“Busy碌”,“Error”和“ErrorID”的描述已更改
**
**
3. 单轴功能块
3.1 MC_Power
**
**3.4。**MC_Halt
功能块名称:MC_Halt 该功能块命令受控的运动停止。轴将移动到状态“ DiscreteMotion”,直到速度为零。设置“完成”输出后,状态将转移到“静止”。 VAR_IN_OUT
| | | | | | ---- | ---- | -------- | ------ | |B轴AXIS_REF参照轴VAR_INPUT|||| |B执行BOOL在上升沿开始动作|||| |E减速REAL“减速度”的值[u / s 2 ]|||| |EJerkREAL“Jerk”的值[u / s 3 ]|||| |EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见2 [.4.2]22)[中止与BufferMode]22)|||| |VAR_OUTPUT|||| |BDoneBOOL达到零速度|||| |EBusyBOOLFB尚未完成,并且将要输出新的输出值。被撬|||| |EActiveBOOL表示FB控制轴|||| |ECommandAbortedBOOL“命令”被另一个CommandAborted|||| |BErrorBOOL表示功能块内发生了Error|||| |EErrorID|WORD|Error识别|| |笔记:|||| |•MC_Halt用于在正常操作条件下停止轴。在非BufferMode下可以设置轴减速期间的另一个运动命令,这将中止MC_Halt并执行立即。|||| |•如果此命令处于活动状态,则可以发出下一个命令。例如,无人驾驶车辆检测到障碍物并需要停止。发出MC_Halt。在到达“静止”位置之前,将障碍物移除,并且可以可以通过设置另一个运动命令来继续操作,这样车辆就不会停止。MC_HaltAXIS_REF轴轴AXIS_REFBOOL执行DoneBOOLREAL减速BusyBOOLREALJerkActiveBOOLMC_BUFFER_MODEBufferModeCommandAbortedBOOLErrorBOOLErrorID|WORD|下面的示例显示了与MC_MoveVelocity结合使用的行为。一种)通过功能块MC_Halt降低旋转轴的倾斜度b)另一个运动命令将覆盖MC_Halt命令。与MC_Stop相比,MC_Halt允许这样做。轴可以再次加速而不会达到“静止”状态。||
速度Axis_1MC_Halt轴Axis_1减速5Jerk0ErrorErrorID执行Exe_250InVel_1****Exe_11个01个01个0Exe_2**** 完成_21个0Ť完成_2DoneMC_MoveVelocity 轴Axis_1速度50加速10减速10Jerk0方向1个ErrorErrorID执行Exe_1CommandAborted中止_1FB1InVel_1速度FB2FB1FB2**** ŤŤŤŤŤ****中止_201个CommandAborted中止_2Ť****中止_11个0BusyBusy一种****b BufferModeActiveActiveBufferModeAxis_1轴Axis_1轴持续更新图17:MC_Halt示例
3.6 MC_MoveRelative
功能块名称:MC_MoveRelative
该功能块命令在运行时相对于设定位置进行指定距离的受控运动。执行。
VAR_IN_OUT
| | | | | | ---- | ---- | -------- | ------ | |B|轴|AXIS_REF|参照轴|
VAR_INPUT | | | | | | ---- | ---- | -------- | ------ | |B|Execute|BOOL|在上升沿开始运动| |E|ContinuousUpdate |BOOL|参见[2.4.6]25)输入'ContinuousUpdate'| |B|Distance|REAL|运动的相对距离(以技术单位[u]为单位)| |E|Velocity|REAL|最大速度值(不一定达到)[我们]| |E|Acceleration|REAL|加速度值(增加电机能量)[u / s 2 ]| |E|Deceleration|REAL|减速度值(电动机能量减小)[u / s 2 ]| |E|Jerk|REAL|Jerk的价值[u / s 3 ]| |E|BufferMode|MC_BUFFER_MODE|定义FB的时间顺序。见2 [.4.2]22)[中止与BufferMode]22)|
VAR_OUTPUT | | | | | | ---- | ---- | -------- | ------ | |B|Done|BOOL|达到指令距离| |E|Busy|BOOL|FB尚未完成,并且将要输出新的输出值。被撬| |E|Active|BOOL|表示FB控制轴| |E|CommandAborted |BOOL|“命令”被另一个CommandAborted| |B|Error|BOOL|表示功能块内发生了Error| |E|ErrorID|WORD|Error识别|
注意:如果没有其他操作待执行,则此操作以速度零完成。
下图显示了两个相对移动功能块的组合示例
- 时序图的左侧部分示出了,如果第二功能块被称为壳体后的第一一。
如果第一个到达命令距离6000(且速度为0),则输出“ Done”导致第二个FB移动指令距离4000,并将轴移动至结果位置10000。
2.时序图的右侧部分说明了第二移动功能块启动执行的情况。重刑而
第一FB仍在执行。在这种情况下,“测试”信号会中断并中止第一动作。在第一个FB的恒定速度下运行。第二功能块在实际位置
3250上增加了位置4000,然后将轴移动到7250的最终位置。
图19:MC_MoveRelative的时序图
3.7。MC_MoveAdditive
功能块名称:MC_MoveAdditive该功能块命令除了最近的指令外,还执行指定相对距离的受控运动。轴状态“ DiscreteMotion”中的定位位置。最近命令的位置可能是先前的结果ous MC_MoveAdditive运动被中止。如果在轴状态“ ContinuousMotion”中激活了FB,则在执行时将指定的相对距离添加到设置位置。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴VAR_INPUTB执行BOOL在上升沿开始运动EContinuousUpdate BOOL参见[2.4.6]25)输入'ContinuousUpdate' B距离REAL运动的相对距离(以技术单位[u]为单位)E速度REAL最大速度值(不一定达到)[我们] E加速REAL加速度值(增加电机能量)[u / s 2 ]E减速REAL减速度值(电动机能量减小)[u / s 2 ]EJerkREALJerk的价值[u / s 3 ] EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见2 [.4.2]22)[中止与BufferMode]22) VAR_OUTPUTBDoneBOOL达到指令距离EBusyBOOLFB尚未完成,并且将要输出新的输出值。被撬EActiveBOOL表示FB控制轴ECommandAborted BOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别注意:-MC_MoveAdditiveAXIS_REF轴轴AXIS_REFBOOL执行DoneBOOLBOOL持续更新BusyBOOLREAL距离ActiveBOOLREAL速度CommandAbortedBOOLREAL加速ErrorBOOLREAL减速ErrorID|WORD|REALJerkMC_BUFFER_MODEBufferMode下图显示了轴位于“ DiscreteMo-位置”状态:1.时序图的左侧部分示出了,如果第二功能块被称为壳体后的第一一。如果第一个到达命令距离6000(且速度为0),则输出“ Done”导致第二个FB移动指令距离4000,并将轴移动至结果位置10000。
第40话
第40/141页2.时序图的右侧部分说明了第二移动功能块启动执行的情况。重刑而 第一FB仍在执行。在这种情况下,“测试”信号会中断并中止第一动作。在第一个FB的恒定速度下运行。第二个FB添加上一个命令位置 的距离为6000,距离为4000,并将轴移至结果位置10000。图20:MC_MoveAdditive的时序图
第41话
第41/141页
3.8。MC_MoveSuperimposed
功能块名称:MC_MoveSuperimposed该功能块命令除现有运动外还执行指定相对距离的受控运动。现有运动不会中断,但会与其他运动叠加。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB执行BOOL在上升沿开始运动EContinuousUpdate BOOL参见[2.4.6]25)输入'ContinuousUpdate'B距离REAL要叠加的附加距离(以技术单位[u] 为单位)E速度差异REAL附加运动的速度差值(不是必需的-ily已到达)[u / s]E加速REAL加速度值(电动机能量增加)[u / s 2 ] E减速REAL减速度的值(电动机的能量减少)[u / s 2 ]EJerkREALJerk的价值[u / s 3 ] VAR_OUTPUTBDoneBOOL与正在进行的运动叠加的额外距离EBusyBOOLFB未完成,预计会有新的输出值ECommandAborted BOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别E覆盖距离REAL连续显示该功能块贡献的覆盖距离自从开始注意:•如果MC_MoveSuperimposed处于活动状态,则除MC_MoveSuperimposed外,其他任何处于中止模式的命令将中止两个运动命令:MC_MoveSuperimposed和基础运动命令。在在任何其他模式下,基本运动命令都不会中止•如果MC_MoveSuperimposed处于活动状态并且命令了另一个MC_MoveSuperimposed,则仅持续MC_MoveSuperimposed命令将中止,并由新的MC_MoveSuperimposed代替,但不会基本运动命令•FB MC_MoveSuperimposed导致速度以及(如果适用)命令的位置改变。所有相关州正在进行的议案•在“静止”状态下,FB MC_MoveSuperimposed的行为类似于MC_MoveRelative•“加速度”,“减速度”和“冲击”的值是正在进行的运动的附加值,而不是绝对的。这样,基础FB始终可以在同一时间段内完成其工作,无论MC_MoveSuperimposed FB是否同时发生。•输出“活动”的行为与缓冲FB中的行为不同。MC_MoveSuperimposedAXIS_REF轴轴AXIS_REFBOOL执行DoneBOOLBOOL持续更新BusyBOOLREAL距离ActiveBOOLREAL速度差异CommandAbortedBOOLREAL加速ErrorBOOLREAL减速ErrorID|WORD|REALJerk覆盖距离REAL
第42话
第42/141页轴执行距离速度加速减速Jerk方向BufferMode轴DoneCommandAbortedBusyActiveErrorErrorIDMC_MoveRelative持续更新轴执行距离速度差异加速减速Jerk覆盖距离轴DoneCommandAbortedBusyActiveErrorErrorIDMC_MoveSuperimposed持续更新** 图21:MC_MoveSuperimposed的时序图**注意1:“ CommandAborted”在此处不可见,因为新命令可在同一实例上运行(请参见一般规则[2.4.1] 19))注2:结束位置在7000和8000之间,具体取决于中止第二个命令集的时间。MC_MoveSuperimposed
第43话
第43/141页带模数轴的凸轮运动期间的MC_MoveSuperimposed示例。以绿色显示从站位置有和没有MC_MoveSuperimposed:** 图22:MC_MoveSuperimposed在从动轴上的效果示例注意:在从动速度下,双线显示了在运动期间同步运动时MoveSuperimposed的效果凸轮 对于相关的从站位置同样有效。下一个示例显示了在MC_MoveAbsolute上工作的MC_MoveSuperimposed。MC_MoveSuperimposed继续即使基本的离散运动完成后,它的运动也是如此。 图23:MC_MoveSuperimposed对MC_MoveAbsolute的影响的示例**x 1021个2345塔克特从动速度叠加从站位置叠加硕士职位
第44页
第44/141页
3.9。MC_HaltSuperimposed
功能块名称:MC_HaltSuperimposed该功能块要求停止轴的所有叠加运动。根本动议不是相互之间的破裂了。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB执行BOOL在上升沿开始动作E减速REAL减速度值[u / s 2 ] EJerkREALJerk的价值[u / s 3 ] VAR_OUTPUTBDoneBOOL叠加运动停止EBusyBOOLFB未完成,预计会有新的输出值ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别--MC_HaltSuperimposedAXIS_REF轴轴AXIS_REFBOOL执行DoneBOOLREAL减速BusyBOOLREALJerkActiveBOOLCommandAbortedBOOLErrorBOOLErrorID|WORD|
第45话
第45/141页
第47页
第47/141页
3.11。MC_MoveContinuousAbsolute
功能块名称:MC_MoveContinuousAbsolute该功能块命令受控运动到以指定速度结束的指定绝对位置。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴VAR_INPUTB执行BOOL在上升沿开始运动E持续更新BOOL参见[2.4.6]25) 输入'ContinuousUpdate'B位置REAL动作的指令位置(技术单位)[u])(负数或正数)B终结速度REAL最终速度的值[u / s] 。签名价值B速度REAL最大速度值[u / s]E加速REAL加速度值[u / s 2 ]E减速REAL减速度值[u / s 2 ]EJerkREALJerk的价值[u / s 3 ] E方向MC_DIRECTION枚举类型(4个值中的1个:mcPositiveDirection,mcNegativeDirection,mcCurrentDirection和mcShort-estWayEBufferModeMC_BUFFER_MODE定义FB的时间顺序。见2 [.4.2] 22)[中止与BufferMode]22) VAR_OUTPUTB内在速度BOOL达到命令距离并按要求运行最终速度EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块BErrorID|WORD|Error识别笔记:•如果到达指令位置,并且没有在缓冲区中输入新的运动指令,则轴将继续运行具有指定的“ EndVelocity”。•声明“ ContinuousMotion”(意思是:它不会自行停止)。•如果BufferMode不可用,则可以用MC_MoveAbsolute和MC_MoveVelocity的组合替换此FB。靠那些FBMC_MoveContinuousAbsoluteAXIS_REF轴轴AXIS_REFBOOL执行内在速度BOOLBOOL持续更新BusyBOOLREAL位置ActiveBOOLREAL终结速度CommandAbortedBOOLREAL速度ErrorBOOLREAL加速ErrorID|WORD|REAL减速REALJerkMC_BUFFER_MODEBufferModeMC_MoveContinuousAbsolute的一个用例是线性切割机:
第48部分
第48/141页一个线性轴承载激光设备,该激光设备用于切割工件。从lrIdlePos开始,工作链是这样的:1.将激光快速移动到位置lrStartCutPos上方。在此移动过程中,激光关闭:2.转回并确保在lrStartCutPos处具有lrCutVelocity速度。在此位置,将la-服务于:3.激光打开时,以恒定的速度在工件上移动:4.到达lrEndCutPos时,关闭激光器并以快速移动回到空转位置:在切割过程中,激光器必须以固定的速度移动,不能进行加速或减速阶段宽容的。切割完成后,必须将激光移动到其等待位置。可以使用FB MC_MoveContinuousAbsolute通过以下方式实现:
第49部分
第49/141页图25:示例MC_MoveContinuousAbsolute从xStartCuttingCycle的上升沿开始,MC_MoveContinuousAbsolute的实例“ mca”将移动在lrStartCutPos上具有lrFastVelocity的轴,返回并在达到lrStartCutPos时具有速度lrCutVelocity再次向负面方向发展。在此时间点,设置了“ InEndVelocity”,并打开了激光器。没有其他动议FB中断了此运动,MC_MoveContinuousAbsolute将保持电流的负向运行速度。轴越过位置lrEndPos(激光关闭)后,MC_MoveAbsolute实例“ ma”将轴高速移动到其空闲位置:图26:上面示例的MC_MoveContinuousAbsolute时序图
第50话
第50/141页
3.12。MC_MoveContinuousRelative
功能块名称:MC_MoveContinuousRelative该功能块命令以指定速度结束的指定相对距离的受控运动。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴VAR_INPUTB执行BOOL在上升沿开始运动E持续更新BOOL参见[2.4.6]25) 输入'ContinuousUpdate'B距离REAL运动的相对距离[u]B终结速度REAL最终速度的值[u / s]。签名价值B速度REAL最大速度值[u / s] E加速REAL加速度值[u / s 2 ]E减速REAL减速度值[u / s 2 ]EJerkREALJerk的价值[u / s 3 ] EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见2 [.4.2]22)[中止与BufferMode]22) VAR_OUTPUTB内在速度BOOL达到命令距离并按要求运行最终速度EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块BErrorID|WORD|Error识别笔记:•如果到达指令位置,并且没有在缓冲区中输入新的运动指令,则轴将继续运行具有指定的“ EndVelocity”。•声明“ ContinuousMotion”(意思是:它不会自行停止)。•此处为不支持“ BufferMode”的系统指定了该FB。•如果BufferMode不可用,则可以用MC_MoveAbsolute和MC_MoveVelocity的组合替换此FB。靠那些FBMC_MoveContinuousRelativeAXIS_REF轴轴AXIS_REFBOOL执行内在速度BOOLBOOL持续更新BusyBOOLREAL距离ActiveBOOLREAL终结速度CommandAbortedBOOLREAL速度ErrorBOOLREAL加速ErrorID|WORD|REAL减速REALJerkMC_BUFFER_MODEBufferMode这两个采样轨迹显示了输入“ EndVelocity”的值的符号的影响:1.积极方向的“ EndVelocity”:
第51章一更
第51/141页图27:带有正方向的MC_MoveContinuousRelative时序图2.带有否定方向的“ EndVelocity”:** 图28:带有负方向的MC_MoveContinuousRelative时序图**
第52话
第52/141页MC_MoveContinuousRelative的示例:图29:MC_MoveContinuousRelative的示例FB1。开始FB1.InEndVelocity =执行FB2FB1。中止FB2.InEndVelocity = FB3.Execute20速度5020
第53页
第53/141页
3.13。MC_TorqueControl
功能块名称:MC_TorqueControl该功能块连续施加指定大小的扭矩或力。这个幅度大约是使用已定义的斜坡('TorqueRamp' )进行测试,并且功能块会设置“ InTorque”输出,如果达到所需的扭矩水平。该功能块适用于力和扭矩。没有外部的时候负载,力均适用。正转矩沿速度的正方向。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴VAR_INPUTB执行BOOL在上升沿开始运动EContinuousUpdate BOOL参见[2.4.6]25)输入'ContinuousUpdate'B扭力REAL扭矩值(扭矩或力以技术单位[u] 为单位)E扭矩斜坡REAL设定值的最大时间导数扭矩或力(以技术单位每秒[u / s] 为单位)E速度REAL最大速度的绝对值。E加速REAL最大加速度值(适用加速度具有相同转矩和速度符号的电缆)E减速REAL最大减速度值(减速度为扭矩和速度相反的电缆)EJerkREAL最大混响的值E方向MC_DIRECTION枚举类型(2个值中的1个:mcPositiveDirection,mcNega-tiveDirection或mcCurrentDirection)。指定目录扭矩的大小。(注意:扭矩输入可以签名值)。EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见[2.4.2] 22)[中止与BufferMode]22)VAR_OUTPUTB扭力BOOL扭矩或力的设定值等于命令值值EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAborted BOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块EErrorID|WORD|Error识别笔记:1.运动受到速度,加速度/减速度和加速度的限制,或者受转矩值de-取决于机械情况。2.特定的其他测试不在此FB中。例如,可以通过以下方式检查行驶距离在行动中追踪实际位置。3.“速度”是一个极限输入,并且始终是一个正值。方向取决于扭矩和负载。4.当任何运动控制(非管理)功能块时,轴不再处于“转矩”控制模式在同一轴上被接受。
第54页
第54/141页MC_TorqueControlAXIS_REF轴轴AXIS_REFBOOL执行扭力BOOLBOOL持续更新BusyBOOLREAL扭力ActiveBOOLREAL扭矩斜坡CommandAbortedBOOLREAL速度ErrorBOOLREAL加速ErrorID|WORD|REAL减速REALJerkMC_DIRECTION方向MC_BUFFER_MODEBufferMode下面的示例显示了中等“电阻”负载(参见“减速”极限)的典型行为,其中有些“惯性”(请参阅“ TorqueRamp”限制)。图30:MC_TorqueControl的第一个示例该示例可以在功能框图中实现,例如:
第55章一更
第55/141页图31:MC_TorqueControl示例程序 第二个示例(如下)使用了“方向”和“扭矩”相反的符号(例如,保持力或制动控制)。(在FB:+方向–扭矩)。这就像是在材料上施加扭矩并在材料上断裂的开卷应用。当材料破裂时,如图片中间所示,这会导致实际扭矩值(绝对值)下降项):速度会降低,受“减速”所指定的最快“减速”限制VAR_INPUT降到零速度(没有张力会导致冲击破裂,因此我们必须限制为最快的)。在这种情况下,可能无法达到转矩设定值。** 时间时间实际扭矩实际速度方向**“扭矩斜坡”限制器初始扭矩来自先前状态最高“减速”限制时间指令扭矩 零“速度”电平达到...最高“减速”限制材料****力初始速度先前状态材料松散****(不紧张)恢复张力---- 如果比限制慢,则允许减速执行图32:MC_TorqueControl的第二个例子 注意:在开卷应用中(由该制动控制得出),材料张力是目标,而不是电动机转矩。应该考虑辊子的瞬时直径以转换“用户张力设定值”。还可以通常,通过修改用于加速/减速的转矩设定值进行惯性补偿单重数据(通常从直径估算重量)。此外,在平放应用中对于松散的物料(与物料破裂条件相同),通常使用负的慢速参考值以“倒带”松散的材料。在这种情况下,必须通过外部编程来提供。
第56章一更
第56/141页
3.14。MC_PositionProfile
功能块名称:MC_PositionProfile该功能块命令一个时间位置锁定的运动曲线VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴B时间位置MC_TP_REF参考时间/位置。说明-请参阅下面的注释VAR_INPUTB执行BOOL在上升沿开始运动EContinuousUpdate BOOL参见[2.4.6]25)输入'ContinuousUpdate' E时标REAL概要文件的总体时间比例因子E职位规模REAL总排名比例因子E抵消REAL轮廓的整体偏移量[u] EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见[2.4.2]22)[中止与BufferMode]22) VAR_OUTPUTBDoneBOOL个人资料已完成EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAborted BOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块EErrorID|WORD|Error识别笔记:•MC_TP_REF是供应商特定的数据类型。下面给出了此数据类型的示例:•时间/位置对的内容可以用DeltaTime / Pos表示,其中Delta可能是不同的-在两个连续点之间的时间间隔。•类型MC_TP:STRUCTDeltaTime:TIME;位置:REAL;END_STRUCT;END_TYPE•类型MC_TP_REF:STRUCTNumberOfPairs:WORD;IsAbsolute:BOOL;MC_TP_Array:MC_TP的阵列[1..N] ;END_STRUCT;END_TYPE•此功能并不意味着它会一次又一次地运行一个配置文件:它可以在不同的配置文件之间切换档案•作为该FB的替代,可以使用耦合到虚拟主站的FB MC_CamIn
第57页
第57/141页MC_PositionProfileAXIS_REF轴轴AXIS_REFMC_TP_REF时间位置时间位置MC_TP_REFBOOL执行DoneBOOLBOOL持续更新BusyBOOLREAL时标ActiveBOOLREAL职位规模CommandAbortedBOOLREAL抵消ErrorBOOLMC_BUFFER_MODEBufferModeErrorID|WORD|时间位置加速速度0dT1dT2dT3dT4位置1Pos4Pos3Pos2三角时间AbsPosdT1位置1dT2Pos2dT3Pos3dT4Pos4s,v,a** 图33:时间/ MC_PositionProfile示例**注意:“时间/速度”和“时间/加速度”曲线类似于“位置”曲线,采样点位于“速度”或“加速度”行。
第58页
第58/141页
3.15。MC_VelocityProfile
功能块名称:MC_VelocityProfile该功能块命令一个时间速度锁定的运动曲线。轮廓中最后一个元素的速度应该保持。状态保持为“ ContinuousMotion”。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴B时间速度MC_TV_REF参考时间/速度。说明-请参阅下面的注释VAR_INPUTB执行BOOL在上升沿开始运动EContinuousUpdate BOOL参见[2.4.6]25)输入'ContinuousUpdate' E时标REAL概要文件的总体时间比例因子E速度刻度REAL轮廓的整体速度比例系数E抵消REAL配置文件的整体偏移[u / s] EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见2 [.4.2]22)[中止与BufferMode]22) VAR_OUTPUTB个人资料已完成的BOOL资料已结束EBusyBOOLFB尚未完成,并且将要输出新的输出值。被撬EActiveBOOL表示FB控制轴ECommandAborted BOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别笔记:•MC_TV_REF是供应商特定的数据类型。下面给出了此数据类型的示例:•时间/速度对的内容可以用DeltaTime / Velocity表示,其中Delta可以是两个连续点之间的时间偏差。速度可以是有符号的值。•类型MC_TV:STRUCTDeltaTime:TIME;速度:REAL;END_STRUCT;END_TYPE•类型MC_TV_REF:STRUCTNumberOfPairs:WORD;MC_TV_Array:MC_TV的阵列[1..N] ;END_STRUCT;END_TYPE•此功能并不意味着它一次又一次地运行一个配置文件:它可以在不同的配置文件之间切换•作为此FB的替代,可以使用耦合到虚拟主机的CAM FB
第59页
第59/141页MC_VelocityProfileAXIS_REF轴轴AXIS_REFMC_TV_REF时间速度时间速度MC_TV_REFBOOL执行个人资料已完成BOOLBOOL持续更新BusyBOOLREAL时标ActiveBOOLREAL速度刻度CommandAbortedBOOLREAL抵消ErrorBOOLMC_BUFFER_MODEBufferModeErrorID|WORD|
第60话
第60/141页
3.16。MC_AccelerationProfile
功能块名称:MC_AccelerationProfile该功能块命令时间加速锁定的运动曲线。完成加速程序后,在文件中,加速度变为0(通常保持最终速度)。它保持在“ ContinuousMo-”。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴B时间加速MC_TA_REF参考时间/加速度。描述–见注下面VAR_INPUTB执行BOOL在上升沿开始运动EContinuousUpdate BOOL参见[2.4.6]25)输入'ContinuousUpdate'E时标REAL概要文件的总体时间比例因子EAccelerationScale REAL加速度振幅的比例因子E抵消REAL轮廓的整体偏移[u / s 2 ]EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见[2.4.2] 22)[中止与BufferMode]22)VAR_OUTPUTB个人资料已完成BOOL资料已结束EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAborted BOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块EErrorID|WORD|Error识别笔记:•MC_TA_REF是供应商特定的数据类型。下面给出了此数据类型的示例:•时间/加速度对的内容可以表示为DeltaTime / Acceleration,其中Delta可以是两个连续点之间的时间差。•类型MC_TA:STRUCTDeltaTime:TIME;加速度:REAL;END_STRUCT;END_TYPE•类型MC_TA_REF:STRUCTNumberOfPairs:WORD;MC_TA_Array:MC_TA的阵列[1..N] ;END_STRUCT;END_TYPE•作为该FB的替代,可以使用耦合到虚拟主机的CAM FB
第61章一更
第61/141页MC_AccelerationProfileAXIS_REF轴轴AXIS_REFMC_TA_REF时间加速时间加速MC_TA_REFBOOL执行个人资料已完成BOOLBOOL持续更新BusyBOOLREAL时标ActiveBOOLREAL加速度比例CommandAbortedBOOLREAL抵消ErrorBOOLMC_BUFFER_MODEBufferModeErrorID|WORD|** 加速度曲线示例:轮廓由多个连续的“ A到B”定位点组成。它很容易可视化,但是需要很多平滑轮廓的序列。这些要求通常超出了低端伺服器的能力。或者,通过使用适量的恒定加速度段,可以定义匹配良好的运动位置配置文件。使用这种方法,可以扩展低端伺服器的功能范围。可以匹配以下任意一个:1.位置与时间的关系2.主动轴与从动轴好处:•简要说明•本质上具有平滑的轮廓属性•低处理器功耗要求缺点•使用现有工具提高编程抽象水平 提升轮廓(10段)** -80000.00-60000.00-40000.00-20000.000.0020000.0040000.0060000.0080000.000.0000.1000.2000.3000.4000.5000.600** 时间[秒]一种CCE乐拉ioñ****[米米/秒EC****^2]第1部分 第2部分****图34:MC_AccelerationProfile,仅10个段**
第62章
第62/141页提升轮廓(10段)01000200030004000500060000.0000.1000.2000.3000.4000.5000.600时间[秒]PØs Itioñ[在C]-20000020000400006000080000VE罗v性****[在C/秒EC****] 位置速度图35:结果MC_PositionProfile
第64话
第64/141页
3.18。MC_SetOverride
功能块名称:MC_SetOverride该功能块为整个轴以及在该轴上运行的所有功能设置倍率值。的倍率参数是计算指令速度,加速度和加速度比的一个因素运动。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB启用BOOL如果设置为SET,它将连续写入倍率因子的值。如果重置它应保留最后一个值。BVelFactorREAL新的速度倍率因子EAccFactorREAL新的加速/减速倍率因子EJerk因素REALJerk的新替代因子VAR_OUTPUTB已启用BOOL表示成功设置了倍率系数EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别笔记:1.输入AccFactor对正负加速度(减速度)起作用。2.该功能块设置系数。在设置新的倍率之前,倍率因子有效。3.替代因子的默认值为1.0。4.替代值可以在0.0到1.0之间。值> 1.0的行为是特定于供应商的。价值观不允许<0.0。“ AccFactor”和“ JerkFactor”不允许使用值0.0。5.设置为“ VelFactor”的值0.0会停止轴,而不会使其处于“静止”状态。6.超越对从动轴不起作用。(轴处于同步运动状态)。7.功能块不影响轴的状态图。8.“ VelFactor”可以随时更改,并直接对正在进行的动作起作用。9.如果采取“离散”运动,减小“ AccFactor”和/或“ JerkFactor”可能会导致位置超调–合理的损坏原因10.在MC_PositionProfile,MC_VelocityProfile或MC_PositionProfile控制的轴上激活此功能块MC_AccelerationProfile是特定于供应商的。MC_SetOverrideAXIS_REF轴轴AXIS_REFBOOL启用已启用BOOLREALVelFactorBusyBOOLREALAccFactorErrorBOOLREALJerk因素ErrorID|WORD|
第65章
第65/141页启用已启用ErrorŤ速度****AccFactor1.00.5VelFactor 1.00.51个231个23减速100%时轴速度变为50%轴速度以50%的加速度变回100%轴速度以100%减速移至0%1.00.50.00.044无更改,因为不允许使用AccFactor 0.0;设置Error0.0图36:MC_SetOverride的图形说明
第66章一更
第66/141页
3.19。MC_ReadParameter和MC_ReadBoolParameter
功能块名称:MC_ReadParameter该功能块返回供应商特定参数的值。返回的值必须转换为实数如有必要。如果不可能,卖方必须提供卖方特定的FB来读取参数。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB启用BOOL启用后连续获取参数值B参数编号INT参数编号。一个也可以使用符号参数声明为VAR CONST的名称。VAR_OUTPUTB有效BOOLFB上有有效的输出EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别B值REAL数据类型中指定参数的值,由供应商注意:参数在下表中定义。MC_ReadParameterAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLINT参数编号BusyBOOLErrorBOOLErrorID|WORD|值REAL功能块名称:** MC_ReadBoolParameter**该功能块返回数据类型为BOOL的供应商特定参数的值。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴VAR_INPUTB启用BOOL启用后连续获取参数值B参数编号INT参数编号。一个也可以使用符号参数声明为VAR CONST的名称。VAR_OUTPUTB有效BOOLFB上有有效的输出EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别B值BOOL数据类型中指定参数的值,由供应商注意:参数在下表中定义
第67页
第67/141页MC_ReadBoolParameterAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLINT参数编号BusyBOOLErrorBOOLErrorID|WORD|值BOOL以下定义的参数已由工作队标准化。供应商应使用以下参数正在提供此功能。在初始化阶段(取决于供应商),定义的所有只读参数都可以写入。这些参数可在应用程序中使用,通常不用于调试。工具,如操作面板等(驱动器不可见-仅轴位置)注意:最常用的参数可通过功能块访问,此处未列出。(注意:PN是参数编号,请参见FB MC_ReadParameter / MC_WriteParameter和BOOL版本)PN名称数据类型是读/写****评论1个指令位置REALB[ R指挥位置2SWLimitPosREALE读/写正向软件限位开关位置3SWLimitNegREALE读/写负软件限位开关位置4EnableLimitPosBOOLE读/写启用正软件限位开关5EnableLimitNegBOOLE读/写启用负软件限位开关6EnablePosLagMonitoringBOOLE读/写启用位置滞后监控7最大位置滞后REALE读/写最大位置滞后8最大速度系统REALE[ R轴在运动中的最大允许速度系统9MaxVelocityApplREALB读/写应用中轴的最大允许速度阳离子10实际速度REALB[ R实际速度11指令速度REALB[R指令速度12最大加速系统REALE[ R轴中最大允许加速度运动系统13MaxAccelerationApplREALE读/写轴中最大允许加速度应用14最大减速系统REALE[ R轴中最大允许减速度运动系统15MaxDecelerationApplREALE读/写轴中最大允许减速度应用16MaxJerk系统REALE[ R运动中轴的最大允许加速度系统17MaxJerkApplREALE读/写应用程序中轴的最大允许加速度位置** 表5:MC_ReadParameter和MC_WriteParameter的参数** 列表的末尾也允许任何供应商或用户进行扩展,尽管这可能会影响之间的可移植性。不同的平台。参数编号从0到999保留用于标准。大于999的数|WORD|表示供应商特定的参数。
第68章一更
第68/141页
3.20。MC_WriteParameter和MC_WriteBoolParameter
功能块名称:MC_WriteParameter该功能块修改供应商特定参数的值。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴VAR_INPUTB执行BOOL在上升沿写入参数值B参数编号INT参数编号(编号和之间的对应参数在上表中指定)B值REAL指定参数的新值E执行模式MC_EXECUTION_模式定义FB的时间顺序。* mcImmediately-*该功能立即有效,并且可能影响正在进行的运动,但不影响状态(请注意:故障行为)mcQueued- 与BufferMode“缓冲”相同的功能VAR_OUTPUTBDoneBOOL参数写入成功EBusyBOOLFB未完成,需要新的输出值。BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别注意:参数在上表中定义(在MC_ReadParameter下,允许写入)MC_WriteParameterAXIS_REF轴轴AXIS_REFBOOL执行DoneBOOLINT参数编号BusyBOOLREAL值ErrorBOOLMC_EXECUTION_MODE执行模式ErrorID|WORD|
第69页
第69/141页功能块名称:MC_WriteBoolParameter该功能块修改BOOL类型的供应商特定参数的值。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴VAR_INPUTB执行BOOL在上升沿写入参数值B参数编号INT参数编号(编号和之间的对应参数在上表中指定)B值BOOL指定参数的新值E执行模式MC_EXECUTION_模式定义FB的时间顺序。* mcImmediately-*该功能立即有效,并且可能影响正在进行的运动,但不影响状态(请注意:故障行为)*mcQueued-*与BufferMode“ Buffered”相同的功能。VAR_OUTPUTBDoneBOOL参数写入成功EBusyBOOLFB未完成,需要新的输出值。BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别注意:参数在上表中定义(在MC_ReadParameter下,允许写入)MC_WriteBoolParameterAXIS_REF轴轴AXIS_REFBOOL执行DoneBOOLINT参数编号BusyBOOLBOOL值ErrorBOOLMC_EXECUTION_MODE执行模式ErrorID|WORD|
第70页
第70/141页
3.21。MC_ReadDigitalInput
功能块名称:MC_ReadDigitalInput该功能块可访问由数据类型MC_INPUT_REF引用的输入值。它提供引用输入的值(BOOL)VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B输入值MC_INPUT_REF引用输入信号源VAR_INPUTB启用BOOL连续获取所选输入信号的值已启用E输入编号INT选择输入。如果只有一个,则可以是MC_INPUT_REF的一部分引用了单个输入。VAR_OUTPUTB有效BOOLFB上有有效的输出EBusyBOOLFB尚未完成,并且将要输出新的输出值。被撬BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别B值BOOL所选输入信号的值注意:不能保证FB会看到数|WORD|信号:数|WORD|输入上的短脉冲可能会超过在下一个功能块周期发生之前。MC_ReadDigitalInputMC_INPUT_REF输入值输入值MC_INPUT_REFBOOL启用有效BOOLINT输入编号BusyBOOLErrorBOOLErrorID|WORD|值BOOL
第71页
第71/141页
3.22。MC_ReadDigitalOutput
功能块名称:MC_ReadDigitalOutput该功能块可访问由数据类型MC_OUTPUT_REF引用的数|WORD|输出的值。它提供参考输出(BOOL)的值。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B输出量MC_OUTPUT_REF参考信号输出VAR_INPUTB启用BOOL连续获取所选输出信号的值,同时已启用E输出编号INT选择输出。只能是MC_OUTPUT_REF的一部分引用一个输出。VAR_OUTPUTB有效BOOLFB上有有效的输出EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别B值BOOL所选输出信号的值注意:不能保证数|WORD|信号会被FB看到:数|WORD|输出上的短脉冲可能会超过在下一个功能块周期发生之前。MC_ReadDigitalOutputMC_OUTPUT_REF输出量输出量MC_OUTPUT_REFBOOL启用有效BOOLINT输出编号BusyBOOLErrorBOOLErrorID|WORD|值BOOL
第72章
第72/141页
3.23。MC_WriteDigitalOutput
功能块名称:MC_WriteDigitalOutput该功能块一次将一个值写入由参数“输出”引用的输出(带有Exe-可爱)。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B输出量MC_OUTPUT_REF信号输出参考VAR_INPUTB执行BOOL写入所选输出的值E输出编号INT选择输出。如果只有一个,则可以是MC_OUTPUT_REF的一部分引用了单个输入。B值BOOL所选输出的值E执行模式MC_EXECUTION_模式定义FB的时间顺序。* mcImmediately-*该功能立即有效,并且可能影响正在进行的运动,但不影响状态(注意:默认行为)mcQueued- 与BufferMode“缓冲”相同的功能VAR_OUTPUTBDoneBOOL完成输出信号值的写入EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别注意:-MC_WriteDigitalOutputMC_OUTPUT_REF输出量输出量MC_OUTPUT_REFBOOL执行DoneBOOLINT输出编号BusyBOOLBOOL值ErrorBOOLMC_EXECUTION_MODE执行模式ErrorID|WORD|
第73页
第73/141页
3.24。MC_ReadActualPosition
功能块名称:MC_ReadActualPosition该功能块返回实际位置。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB启用BOOL启用后连续获取参数值VAR_OUTPUTB有效BOOLFB上有有效的输出EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别B位置REAL新的绝对位置(以轴为单位[u] )MC_ReadActualPositionAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLBusyBOOLErrorBOOLErrorID|WORD|位置REAL
第74页
第74/141页
3.25。MC_ReadActualVelocity
功能块名称:MC_ReadActualVelocity只要设置了"Enable" ,该功能块就会返回实际速度的值。当数据符合以下条件时,“有效”为true:输出“速度”有效。如果将"Enable" 设置为“重置”,则数据将失去其有效性,并且所有输出都将重置,无论是否新建数据可用。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB启用BOOL启用后连续获取参数值VAR_OUTPUTB有效BOOLFB上有有效的输出EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别B速度REAL实际速度的值(以轴为单位[u / s] )注意:输出“ Velocity”可以是一个带符号的值MC_ReadActualVelocityAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLBusyBOOLErrorBOOLErrorID|WORD|速度REAL
第75页
第75/141页
3.26。MC_ReadActualTorque
功能块名称:MC_ReadActualTorque只要设置了"Enable" ,该功能块就会返回实际转矩或力的值。当“有效”为true时数据输出“扭矩”有效。如果重置为"Enable" ,则数据将失去有效性,并且也重置“有效”,无论是否新建数据可用。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB启用BOOL启用后连续获取参数值VAR_OUTPUTB有效BOOLFB上有有效的输出EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别B扭力REAL实际扭矩或力的值(以技术单位为单位)注意:输出“ Torque”可以是一个带符号的值MC_ReadActualTorqueAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLBusyBOOLErrorBOOLErrorID|WORD|扭力REAL
第76页
第76/141页
3.27。MC_ReadStatus
功能块名称:MC_ReadStatus该功能块详细返回所选轴状态图的状态。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB启用BOOL启用后连续获取参数值VAR_OUTPUTB有效BOOLFB上有一组有效的输出EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别BError停止BOOL见状态图B残障人士BOOL见状态图B正在停止BOOL见状态图E归位BOOL见状态图B停顿BOOL见状态图E离散运动BOOL见状态图E连续运动BOOL见状态图E同步运动BOOL见状态图MC_ReadStatusAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLBusyBOOLErrorBOOLErrorID|WORD|Error停止BOOL残障人士BOOL正在停止BOOL归位BOOL停顿BOOL离散运动BOOL连续运动BOOL同步运动BOOL
第77页
第77/141页
3.28。MC_ReadMotionState
功能块名称:MC_ReadMotionState该功能块详细返回相对于当前正在进行的运动的轴状态。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴VAR_INPUTB启用BOOL启用后连续获取参数值E资源MC_SOURCE定义相关数据的来源:mcCommandedValue;mcSetValue,mcActualValue。VAR_OUTPUTB有效BOOL如果有一组有效的输出可用,则为trueEBusyBOOLFB尚未完成,并且将要输出新的输出值。被撬BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别E恒定速度BOOL速度是恒定的。速度可能为0。对于实际值a窗口适用(窗口是特定于供应商的)E加速中BOOL增加速度的绝对值E减速中BOOL降低速度的绝对值E正向BOOL表示位置正在增加E负方向BOOL表示位置正在减少MC_ReadMotionStateAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLMC_SOURCE资源BusyBOOLErrorBOOLErrorID|WORD|恒定速度BOOL加速中BOOL减速中BOOL正向BOOL负方向BOOL
第78页
第78/141页
3.29。MC_ReadAxisInfo
功能块名称:MC_ReadAxisInfo该功能块读取有关轴的信息,例如模式,与该轴直接相关的输入以及某些状态信息。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB启用BOOL启用后不断获取轴信息VAR_OUTPUTB有效BOOL如果有一组有效的输出,则为trueEBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别EHomeAbsSwitchBOOL数|WORD|家庭开关输入有效E限位开关BOOL正端硬件开关处于活动状态E限位开关负BOOL负端开关处于活动状态E模拟BOOL轴处于仿真模式(例如,模拟电机)E通讯就绪BOOL“网络”已初始化并准备进行通信E准备开机BOOL驱动器已准备就绪,可以启用(打开电源)E打开BOOL如果为TRUE,则表明电源级已打开E归乡BOOL已知轴的绝对参考位置(轴为回家)E轴警告BOOL存在轴上的警告MC_ReadAxisInfoAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLBusyBOOLErrorBOOLErrorID|WORD|HomeAbsSwitchBOOL限位开关BOOL限位开关负BOOL模拟BOOL通讯就绪BOOL准备开机BOOL打开BOOL归乡BOOL轴警告BOOL
第79页
第79/141页
3.30。MC_ReadAxisError
功能块名称:MC_ReadAxisError该功能块显示与功能块无关的通用轴Error。(例如,轴Error,驱动器Error,通讯Error)VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB启用BOOL启用后连续获取参数值VAR_OUTPUTB有效BOOL如果FB上有有效输出,则为TrueEBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorBErrorID|WORD|Error识别EAxisErrorID|WORD|轴误差的值。这些值是特定于供应商的注意:-MC_ReadAxisErrorAXIS_REF轴轴AXIS_REFBOOL启用有效BOOLBusyBOOLErrorBOOLErrorID|WORD|AxisErrorID|WORD|
第80页
第80/141页
3.31。MC_Reset
功能块名称:MC_Reset该功能块通过重置所有内部接口,将状态从“ ErrorStop”转换为“ Standstill”或“ Disabled”。与最终轴有关的Error–它不影响FB实例的输出。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF轴参考VAR_INPUTB执行BOOL重置所有与内部轴相关的ErrorVAR_OUTPUTBDoneBOOL达到“静止”或“禁用”状态EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别注意:MC_Reset在其他状态下的应用,然后状态“ ErrorStop”是特定于供应商的MC_ResetAXIS_REF轴轴AXIS_REFBOOL执行DoneBOOLBusyBOOLErrorBOOLErrorID|WORD|
第81章一更
第81/141页
3.32。MC_DigitalCamSwitch
功能块名称:MC_DigitalCamSwitch该功能块类似于电机轴上的开关:它命令一组离散输出位进行开关类似于一组连接到轴的机械凸轮控制开关。前进和后退被允许。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴B开关MC_CAMSWITCH_REF参考开关动作。E产出MC_OUTPUT_REF参考信号输出,与参考直接相关音轨。(每个功能块最多32个)(第一个输出=第一个TrackNumber)ETrackOptionsMC_TRACK_REF引用包含轨道相关属性的结构,例如,每个输出/轨道的开和关补偿。VAR_INPUTB启用BOOL启用“开关”输出EEnableMask双|WORD|BOOL的32位。启用不同的轨道。最小信号重要数据与最低TrackNumber相关。用数据设置(分别为“ 1”和TRUE),相关的TrackNumber为已启用。E价值来源MC_SOURCE定义轴值的来源(例如位置):mcSetValue-同步设定值mcActualValue-与实际值同步VAR_OUTPUTB运行中BOOL命令轨道已启用EBusyBOOLFB未完成,将要输出新的输出值预期BErrorBOOL表示功能内发生Error块EErrorID|WORD|Error识别笔记:•MC_CAMSWITCH_REF是厂商对模式数据的特定引用。•MC_OUTPUT_REF是链接到(实际)输出的特定于供应商的结构•MC_TRACK_REF是包含轨道属性(例如,每个轨道的补偿)的特定于供应商的结构(磁道是一组与一个输出相关的开关)。它也可以包含对输出的引用。•此功能有时称为PLS –相位或位置或可编程限位开关MC_DigitalCamSwitchAXIS_REF轴轴AXIS_REFMC_CAMSWITCH_REF开关开关MC_CAMSWITCH_REFMC_OUTPUT_REF产出产出MC_OUTPUT_REFMC_TRACK_REFTrackOptionsTrackOptionsMC_TRACK_REFBOOL启用运行中BOOL双|WORD|EnableMaskBusyBOOLMC_SOURCE价值来源ErrorBOOLErrorID|WORD|
第82章
第82/141页MC_CAMSWITCH_REF结构中的基本元素B / E参数类型描述 B追踪号码INTTrackNumber是对轨道的引用BFirstOnPosition [u]REAL开关打开的下边界BLastOnPosition [u]REAL开关打开的上边界E轴方向INT两者(= 0;默认); 好评(1); 负片(2)E凸轮开关模式INT基于排名(= 0;默认);基于时间(= 1)E持续时间时间耦合到基于时间的CamSwitchModeMC_TRACK_REF数组结构中的基本元素B / E参数类型描述 E补偿时间提前接通的补偿时间或每首曲目的时间延迟。E补偿外时间每个轨道的关闭时间补偿延迟。E磁滞[u] REAL距开关点的距离(正负)方向),直到轴不执行切换为了避免多次切换而离开了该区域切换点。凸轮的这种定义具有开始和结束位置,因此用户可以定义每个具有** FirstOn-位置和LastOnPosition (或时间)。该功能块类似于机械凸轮,但具有附加功能优点是可以在一定时间内设置输出,并提供时间补偿和迟滞。CamSwitchMode 可以是Position,Time或其他特定于供应商的其他类型。持续时间:时间,时间凸轮的输出为ON时间补偿(OnCompensation和 OffCompensation**)可以为正或负。负数表示在到达切换位置之前,输出改变。迟滞 :此参数避免了当轴靠近开关时输出连续切换的现象。位置和实际位置在切换位置附近抖动。磁滞是MC_TRACK_REF的一部分,这意味着每个磁道可能具有不同的磁滞。MC_CAMSWITCH_REF的示例** 参数类型开关01开关02开关03开关04…开关N**追踪号码整数1个1个1个**2FirstOnPosition [u] REAL200025004000**3000LastOnPosition [u]REAL*300030001000-轴方向整数1 =位置2 =负0 =两者**0 =两者 凸轮开关模式整数0 =位置0 =位置0 =位置1 =时间持续时间时间---1350注意:值是示例*
第83页
第83/141页下面的示例使用上面的MC_CAMSWITCH_REF的示例中的值。它既不使用开/关补偿,也没有滞后。当轴正向连续运动时,这就是输出的行为。轴是模数模长度为5000 u的轴。位置音轨编号1100020003000400050001000曲目编号2开关03开关01开关031350毫秒开关04轴正向连续移动** 图37:MC_DigitalCamSwitch的示例****Switch01的详细说明。此示例另外使用OnCompensation -125ms和OffCompensation + 250ms。20003000125多发性硬化症250多发性硬化症开关01不延误结果输出延迟2500结果位置取决于实际速度 图38:Switch01的详细说明。**
第84章
第84/141页在输出行为以下,当轴在负方向上连续移动而没有开/关补偿,无滞后。开关03位置追踪号码1个100020003000400050001000追踪号码2开关02开关031350毫秒开关04轴在负方向上连续移动** 图39:负向示例**
第85章一更
第85/141页
3.33。MC_TouchProbe
功能块名称:MC_TouchProbe该功能块用于记录触发事件时的轴位置VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴E触发输入MC_TRIGGER_REF对触发信号源的引用。触发输入可能是由AXIS_REF指定。VAR_INPUTB执行BOOL在上升沿开始记录测头E仅窗口BOOL如果设置为SET,则仅使用窗口(在下面定义)接受触发事件E第一位置REAL起始位置(正方向)触发事件的位置被接受(以技术单位[u] 为单位)。价值包含在赢陶氏E最后位置REAL窗口的停止位置(以技术单位[u] 为单位)。值包含在窗口中。VAR_OUTPUTBDoneBOOL记录触发事件EBusyBOOLFB尚未完成,并且将要输出新的输出值。被撬ECommandAborted BOOL'命令' 是流产通过另一个命令(MC_AbortTrigger)BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别B记录位置REAL发生触发事件的位置(以技术单位[u] 为单位)笔记:1.用于单次操作,即“执行”的上升沿之后的第一个事件可用于记录只要。可能的以下事件被忽略2.一个功能块实例应恰好代表一个探测命令3.如果同一探针和轴上有多个实例,则MC_TRIGGER_REF的元素应为倾向于TouchProbeID-标识唯一的探测命令–可以链接到MC_AbortTriggerMC_TouchProbeAXIS_REF轴轴AXIS_REFMC_TRIGGER_REF触发输入触发输入MC_TRIGGER_REFBOOL执行DoneBOOLBOOL仅窗口BusyBOOLREAL第一位置CommandAbortedBOOLREAL最后位置ErrorBOOLErrorID|WORD|记录位置REAL
第86页
第86/141页Done假真正执行假真正假真正ŤŤŤŤTriggerInput.Signal****轴位置 第一位置记录位置最后位置PLC采样点没有信号公认信号公认仅窗口假真正Ť图40:时序示例MC_TouchProbe****公认 +--0第一位置最后位置+--0第一位置最后位置公认+--0最后位置公认A.FirstPosition <LastPositionB. FirstPosition> LastPosition第一位置+--0第一位置最后位置公认公认图41:接受触发事件的窗口示例(对于模数轴)
第87章
第87/141页
3.34。MC_AbortTrigger
功能块名称:MC_AbortTrigger该功能块用于中止与触发事件相关的功能块(例如,MC_TouchProbe)VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴AXIS_REF参照轴E触发输入MC_TRIGGER_REF对触发信号源的引用。“ TriggerInput”可能是由AXIS_REF指定。请参见第[3]85)章。33 MC_TouchProbeVAR_INPUTB执行BOOL在上升沿中止触发事件VAR_OUTPUTBDoneBOOL触发功能中止EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别注意:-MC_AbortTriggerAXIS_REF轴轴AXIS_REFMC_TRIGGER_REF触发输入触发输入MC_TRIGGER_REFBOOL执行DoneBOOLBusyBOOLErrorBOOLErrorID|WORD|
第88页
第88/141页
**4。****多轴功能块
** 使用多轴功能块时,两个或多个轴之间存在同步关系。同步化可能与时间或位置有关。通常这种关系是在主轴和一个或多个从轴之间。高手轴可以是虚拟轴。从状态图的角度来看,可以查看与凸轮和齿轮相关的多轴功能块作为主轴处于一种状态(例如:MC_MoveContinuous),而从轴处于特定的同步状态,称为“同步运动”(请参见状态图,第2 [.1] 13)章[)]13)。
4.1。对Camming的评论
** 机械凸轮是机械联动装置中的旋转或滑动件,特别用于转换旋转运动变成直线运动,反之亦然。它通常是旋转轮(例如偏心轮)或轴(例如圆柱体)的一部分形状不规则)在圆形路径上的一个或多个点处撞击杠杆。凸轮可以是简单的齿,例如用于将电源脉冲传递到蒸汽锤,例如偏心盘或其他会产生冲击的形状。从动件中的往复运动(来回)平稳,该从动件是与凸轮接触的杠杆。这样一来,凸轮就可以在位置/位置模式下在主机和一个或多个从机之间建立链接(请参见此处的图-下)。使用电机和驱动器,可以创建相同的位置/位置关系,但在这种情况下,可以通过所谓的凸轮表列出职位。因此,关系被转换为软件和控制。位置位置奴隶主** 图42:CAM轮廓图基本上,可以区分模和线性(或有限)主轴的两种凸轮类型:•周期性模式 -连续重复执行凸轮配置文件,即使CAM配置文件没有匹配模。这意味着对于模数为360的模数轴,CAM轮廓为固定90度,它将以模数执行4次。在反向模式下,轮廓以相反的方式执行。• 非周期性模式**– CAM配置文件仅运行一次。如果主位置不在“凸轮”配置文件之外,则从动轴保持同步运动并保持最后位置。在反向模式下,不执行CAM配置文件到达“ EndOfProfile”位置后被剪切。上面的90度示例将仅运行一次。可以使用几个组合的凸轮表来完成凸轮运动,这些凸轮表依次执行,例如加速,生产循环和加速。在执行过程中,不同的凸轮曲线之间可能存在间隙(等待触发)。但是,一个可以采用BufferMode,也可以使用输出“ EndOfProfile”启动下一个配置文件。CAM表 用一张桌子(二维–一起描述主从位置)或两张桌子-进行凸轮运动主从位置分开。该表应严格单调上升或下降,既要反向又要反向与主人一起前进。在CAM运行时可以更改表,而在CAM运行时可以更改表中的元素。运行。CAM表(主,从)的生成和填充是由特定于供应商的外部工具执行的。FB MC_CamIn与表的耦合也是特定于供应商的。
第89章一更
第89/141页价值展示类型 主动轴和从动轴可能具有不同的显示方式:•绝对值•相对于起始位置•相对步骤(与上一个位置不同)•等距或非等距值。•多项式格式。在这种情况下,凸轮在从动表中有完整描述。主表为零。** CAM功能块**凸轮功能具有不同功能块的优点是程序更加透明。裁切流程和更好的执行性能。
第90页
第90/141页
4.2。MC_CamTableSelect
第91章一更
第91/141页
4.3。MC_CamIn
功能块名称:MC_CamIn该功能块与CAM配合使用VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B主AXIS_REF参考主轴B奴隶AXIS_REF从轴参考VAR_INPUTB执行BOOL从上升沿开始E持续更新BOOL参见[2.4.6]25)输入'ContinuousUpdate' EMasterOffsetREAL主轴到凸轮的偏移量。E从站偏移REAL从表的偏移量。EMasterScalingREAL主配置文件的因子(默认= 1.0)。来自奴隶的观点与主人的整体形象相乘通过这个因素E从比例缩放REAL从属配置文件的因子(默认= 1.0)。整体从机配置文件乘以该系数。EMasterStartDistance REAL从站开始与之同步的主站距离大师。EMasterSyncPosition REAL主机在CAM配置文件中的位置从服务器与主服务器同步。(如果“ MasterSyncPosi-位置”在CAM配置文件的第一点不存在主机和从机是同步的。)注意:输入没有在此处添加加速度,减速度和加加速度E启动模式MC_START_MODE启动模式:mcAbsolute,mcRelative或mcRampInEMasterValueSource MC_SOURCE定义同步源:mcSetValue-同步主设置值mcActualValue-与主实际值同步ECamTableIDMC_CAM_ID要使用的CAM表的标识符,链接到该表的输出MC_CamTableSelectEBufferModeMC_BUFFER_MODE定义FB的时间顺序。见[2.4.2] 22)[中止与BufferMode]22) VAR_OUTPUTB同步中BOOL如果设置值=指令值,则为TRUE。EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块EErrorID|WORD|Error识别EEndOfProfileBOOL脉冲输出信号通知CAM配置文件的循环结束每次在凸轮轮廓结束时显示到达。相反,“ EndOfProfile”是也在凸轮配置文件的末尾播放(在这种情况下,凸轮轮廓的第一点)
第92页
第92/141页笔记:•不需要主机是固定的•如果执行MC_CamIn时,实际的主控位置和从属位置与偏移值不对应,发生Error或系统自动处理差异•凸轮放置在绝对位置或相对于当前主从位置的位置。绝对:主从之间的配置文件被视为绝对关系。相对:主从之间是相对模式。•加速是供应商特定的模式。它可以耦合到其他参数,例如主距离参数,加速度参数或其他供应商特定的参数,从机将这些参数插入到凸轮轮廓中(“飞联轴器”)•该FB不会与MC_CamTableSelect FB合并,因为这种分离可以即时更改•机械上类似于从机偏移的是凸轮,其凸轮具有额外的恒定层厚。因为这从机位置具有恒定的偏移量,并且该偏移量可以解释为主轴的轴偏移量(如果lin-假定耳朵引导从动挺杆。MC_CamInAXIS_REF主主AXIS_REFAXIS_REF奴隶奴隶AXIS_REFBOOL执行同步中BOOLBOOL连续更新BusyBOOLREALMasterOffsetActiveBOOLREAL从站偏移CommandAbortedBOOLREALMasterScalingErrorBOOLREAL从比例缩放ErrorID|WORD|REALMasterStartDistanceEndOfProfileBOOLREALMasterSyncPositionMC_START_MODE启动模式MC_SOURCEMasterValueSourceMC_CAM_IDCamTableIDMC_BUFFER_MODEBufferMode
第93章一更
第93/141页
4.4。MC_CamOut
功能块名称:MC_CamOut该功能块立即使从轴与主轴脱离。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B奴隶AXIS_REF从轴参考VAR_INPUTB执行BOOL开始使奴隶与主人脱离VAR_OUTPUTBDoneBOOL分离完成EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别笔记:•假定此命令后跟另一个命令,例如MC_Stop,MC_GearIn或任何其他命令。如果没有新命令,则默认条件应为:保持最后的速度。•发出FB之后,从站轴上没有FB处于活动状态,直到下一个FB发出为止(这可能会导致出现故障。因为没有运动命令控制轴)。或者,可以通过以下方式读取实际速度MC_ReadActualVelocity并在从轴上以实际速度作为输入发出MC_MoveVelocity。由于兼容性原因,FB在这里MC_CamOutAXIS_REF奴隶奴隶AXIS_REFBOOL执行DoneBOOLBusyBOOLErrorBOOLErrorID|WORD|
第94页
第94/141页
4.5。MC_GearIn
功能块名称:MC_GearIn该功能块命令从轴和主轴速度之间的比率。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B主AXIS_REF参考主轴B奴隶AXIS_REF从轴参考VAR_INPUTB执行BOOL在上升沿开始传动过程E持续更新BOOL参见[2.4.6]25) 输入'ContinuousUpdateB比率分子INT齿轮比分子B比率分母联合会齿轮比分母EMasterValueSourceMC_SOURCE定义同步源:mcSetValue-同步主设置值mcActualValue-与主实际值同步E加速REAL加速齿轮传动E减速REAL齿轮减速EJerkREAL齿轮怪人EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见2 [.4.2] 22)[中止与BufferMode]22) VAR_OUTPUTB齿轮BOOL如果设置值=指令值,则为TRUE。EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块EErrorID|WORD|Error识别笔记:1.从站将上升到主站速度的比率,并在达到该比率时锁定。任何丢失的距离在同步过程中没有被捕获。2.在运行MC_GearIn时,可以使用连续的MC_GearIn命令来更改齿轮比无需先使用MC_GearOut3.在成为“ InGear”后,位置锁定或仅速度锁定是系统特定的。MC_GearInAXIS_REF主主AXIS_REFAXIS_REF奴隶奴隶AXIS_REFBOOL执行齿轮BOOLBOOL持续更新BusyBOOLINT比率分子ActiveBOOL联合会比率分母CommandAbortedBOOLMC_SOURCEMasterValueSourceErrorBOOLREAL加速ErrorID|WORD|REAL减速REALJerkMC_BUFFER_MODEBufferMode
第95页
第95/141页图43:齿轮时序图首先执行我的奴隶速度第一版比到达1个1个00第二执行第二个齿轮比到达1个1个00ŤŤŤŤŤ
第96章一更
第96/141页
4.6。MC_GearOut
功能块名称:MC_GearOut该功能块使从轴与主轴脱离VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B奴隶AXIS_REF从轴参考VAR_INPUTB执行BOOL在上升沿开始分离过程VAR_OUTPUTBDoneBOOL分离完成EBusyBOOLFB未完成,预计会有新的输出值BErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别笔记:•假定此命令后跟另一个命令,例如MC_Stop,MC_GearIn或任何其他命令。如果没有新命令,则默认条件应为:保持最后的速度。•发出FB之后,从站轴上没有FB处于活动状态,直到下一个FB发出为止(这可能会导致出现故障。因为没有运动命令控制轴)。或者,可以通过以下方式读取实际速度MC_ReadActualVelocity并在从轴上以实际速度作为输入发出MC_MoveVelocity。由于兼容性原因,FB在这里MC_GearOutAXIS_REF奴隶奴隶AXIS_REFBOOL执行DoneBOOLBusyBOOLErrorBOOLErrorID|WORD|
第97页
第97/141页
**4.7。****MC_GearInPos
**功能块名称:MC_GearInPos该功能块通过同步命令控制从轴和主轴位置之间的齿轮比。位置开始。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B师傅AXIS_REF参考主轴B奴隶AXIS_REF从轴参考VAR_INPUTB执行BOOL在上升沿开始传动过程B比率分子INT齿轮比分子B比率分母联合会齿轮比分母EMasterValueSourceMC_SOURCE定义同步源:mcSetValue-同步主设置值mcActualValue-与主实际值同步B MasterSyncPositionREAL主机在CAM配置文件中的位置从服务器与主服务器同步。(如果“ MasterSyncPosi-位置”在CAM配置文件的第一点不存在主机和从机是同步的。)注意:输入没有在此处添加加速度,减速度和加加速度B从站同步位置REAL轴同步运行的从站位置E同步模式MC_SYNC_MODE定义同步方式(例如“ mcShortest”;'mcCatchUp'; 'mcSlowDown')。供应商特定EMasterStartDistance REAL变速过程中的主距离(从动时)轴开始同步)E速度REAL时差“ StartSync”中的最大速度和“ InSync”E加速REAL时差“开始-同步”和“同步”E减速REAL时差“开始-同步”和“同步”EJerkREAL时差'StartSync'和'同步中' EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见2 [.4.2]22)[中止与BufferMode]22) VAR_OUTPUTEStartSyncBOOL命令的齿轮开始B同步中BOOL如果设定值=指令值,则为TRUE(计算从主控位置和档位得出的一组相关值比。)EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块EErrorID|WORD|Error识别
第98页
第98/141页笔记:1.如果实施了“ MasterStartDistance”,则之前的任何动作都会继续进行,直到主控制器越过“ Master-SyncPosition”-“ MasterStartDistance”的正确方向(根据“ MasterStartDis-立场”)。在该时间点,将设置输出“ StartSync”。在“停止”命令上执行后,同步发生前的“从动”轴,禁止同步和功能块发出“ CommandAborted”2.如果未指定“ MasterStartDistance”,则系统本身可以计算“ StartSync”的设置点基于其他相关输入。3.“ SyncModes”,“ CatchUp”和“ SlowDown”之间的区别在于,同步尼兹 与“赶上”相比,“减速”的能耗最低。MC_GearInPosAXIS_REF主主AXIS_REFAXIS_REF奴隶奴隶AXIS_REFBOOL执行StartSyncBOOLINT比率分子同步中BOOL联合会比率分母BusyBOOLMC_SOURCEMasterValueSourceActiveBOOLREALMasterSyncPositionCommandAbortedBOOLREALSlaveSyncPositionErrorBOOLMC_SYNC_MODE同步模式ErrorID|WORD|REALMasterStartDistanceREAL速度REAL加速REAL减速REALJerkMC_BUFFER_MODEBufferMode
第99章
第99/141页同步中假真正执行假真正假真正MasterSyncPositionSlaveSyncPositionŤŤŤŤŤStartSyncMasterStartDistance** 图44:MC_GearInPos的时序图速度时间主速度初始从机速度降低比大师速度初始从速度较高**** 比大师速度****图45:“ SyncModes”,“ SlowDown”(绿色)和“ CatchUp”(红色)之间的差异示例,**奴隶的初始速度
第100页
第100/141页图46:MC_GearInPos的示例,其中从站的初始速度与质量方向相同****三元小号小号ÿñC** 图47:MC_GearInPos的示例,其中从站的初始速度为与****主**
第101章
第101/141页
4.8。MC_PhasingAbsolute
功能块名称:MC_PhasingAbsolute 该功能块在从轴的主动位置上产生绝对相移。主要职位是相对于实际身体位置发生了变化。这类似于打开主轴上的联轴器以力矩,用于延迟或前进到其主动轴。从从机可以看到相移。大师不知道从站(MasterPos从SlaveAxis = Physi-calMasterPos + PhaseShiftValueSlaveAxis,相移值具有位置偏移的|WORD|符)移位将保持不变,直到另一个“定相”命令再次对其进行更改。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B主AXIS_REF参考主轴B奴隶AXIS_REF从轴参考VAR_INPUTB执行BOOL在上升沿开始定相过程B相移REAL从站主站位置的绝对相位差轴[u] E速度REAL达到相位差的最大速度[u / s]E加速REAL达到相位差的最大加速度[u / s 2 ]E减速REAL达到相位差的最大减速度[u / s 2 ] EJerkREAL达到相位差的最大加加速度[u / s 3 ]EBufferModeMC_BUFFER_MODE定义FB的时间顺序。见2 [.4.2]22)[中止与BufferMode]22) VAR_OUTPUTBDoneBOOL已达到命令定相EBusyBOOLFB未完成,将要输出新的输出值预期EActiveBOOL表示FB控制轴ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能内发生Error块EErrorID|WORD|Error识别E绝对相移实数连续显示绝对相移[u] Busy碌已设置。注意:•相移的“相位”,“速度”,“加速度”,“减速度”和“冲击”由FB控制。•为了进行比较:MC_MoveSuperimposed也可以用于在从动轴上起作用。MC_Phasing作用于从奴隶的角度看是主人MC_PhasingAbsoluteAXIS_REF主主AXIS_REFAXIS_REF奴隶奴隶AXIS_REFBOOL执行DoneBOOLREAL相移BusyBOOLREAL速度ActiveBOOLREAL加速CommandAbortedBOOLREAL减速ErrorBOOLREALJerkErrorID|WORD|MC_BUFFER_MODEBufferMode绝对相移REAL
第102章一更
第102/141页图48:MC_Phasing的时序示例–绝对和相对相移位置360Ť奴隶“看过”的主人职位实际的主要职位主速度相速度00速度ŤŤŤ执行Done
第103页
第103/141页在本示例中,从轴跟随主轴(呈红色–周期性)并带有正弦凸轮轮廓。既是奴隶显示位置(绿色)和从动速度(蓝色)。从动轴上显示了定相的效果。** 图49:MC_Phasing示例–绝对和相对**分阶段从动速度从站的定相硕士职位x 101个23456塔克特
第104页
第104/141页
4.9。MC_PhasingRelative
功能块名称:MC_PhasingRelative 该功能块在从动轴的主位置相对于现有相移产生相移。主位置相对于实际物理位置发生了偏移。这类似于在主动轴暂时转动,用于延迟或前进到主动轴的轴。从中可以看到相移奴隶。主机不知道从机会经历相移。(从SlaveAxis = PhysicalMasterPos + PhaseShiftValueSlaveAxis,相移值具有位置|WORD|符偏移)保持相移,直到另一个“定相”命令再次更改它为止。相移相加彼此相适应的相移VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B主AXIS_REF参考主轴B奴隶AXIS_REF从轴参考VAR_INPUTB执行BOOL在上升沿开始定相过程B相移REAL从轴主位置的附加相位差[u] E速度REAL达到相位差的最大速度[u / s]E加速REAL达到相位差的最大加速度[u / s 2 ]E减速REAL达到相位差的最大减速度[u / s 2 ] EJerkREAL达到相位差的最大加加速度[u / s 3 ]EBufferModeMC_BUFFER_模式定义FB的时间顺序。见2 [.4.2]22)[中止与BufferMode]22) VAR_OUTPUTBDoneBOOL已达到命令定相EBusyBOOLFB尚未完成,并且将要输出新的输出值。被撬EActiveBOOL表示FB控制轴ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别ECoveredPhaseShiftREAL连续显示覆盖的相移,因为它是开始了注意:•相移的“相位”,“速度”,“加速度”,“减速度”和“冲击”由FB控制。•为了进行比较:MC_MoveSuperimposed也可以用于在从动轴上起作用。MC_Phasing作用于从奴隶的角度看是主人MC_PhasingRelativeAXIS_REF主主AXIS_REFAXIS_REF奴隶奴隶AXIS_REFBOOL执行DoneBOOLREAL相移BusyBOOLREAL速度ActiveBOOLREAL加速CommandAbortedBOOLREAL减速ErrorBOOLREALJerkErrorID|WORD|MC_BUFFER_MODEBufferModeCoveredPhaseShiftREAL有关示例,请参见上一段中的MC_PhasingAbsolute。
第105章一更
第105/141页
4.10。MC_CombineAxes
功能块名称:MC_CombineAxes 该功能块通过可选的组合方法将2轴的运动合并为第3轴。基本上是是根据输入轴的两个位置设定值对新位置设定值的计算。该FB像同步运动类型一样反映在状态图中。作为应用示例,可以使用与移动皮带上的物体同步的独立轮廓,或具有灵活覆盖距离的旋转刀切。VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B大师1AXIS_REF参考第一主轴B大师2AXIS_REF参考第二主轴B奴隶AXIS_REF参考所得的组合轴。可以是虚拟的轴或直接链接到实轴VAR_INPUTB执行BOOL在上升沿开始合并过程E连续更新BOOL参见[2.4.6] 25)输入'ContinuousUpdate'E合并模式MC_COM-BINE_MODE定义应用于AxisOut的组合的类型:mcAddAxes:2个输入轴位置的加法mcSubAxes:减去2个输入轴位置E GearRatioNumeratorM1INT主动轴1朝向奴隶E齿轮比分母M1 INT主轴1的相应分母E GearRatioNumeratorM2INT主动轴2朝向奴隶E GearRatioDenominatorM2 INT主轴2的相应分母E MasterValueSourceM1MC_SOURCE定义主轴1的同步源mcSetValue-同步主设置值mcActualValue-与主实际值同步E MasterValueSourceM2MC_SOURCE定义主轴2的同步源:mcSetValue-同步主设置值mcActualValue-与主实际值同步EBufferModeMC_BUFFER_模式定义轴的行为:模式为“正在中止”,“缓冲”,“混合”VAR_OUTPUTB不同步BOOL如果设置值=指令值,则为TRUE。BusyBOOLFB未完成,将要输出新的输出值预期活跃BOOL表示FB可以控制组合轴ECommandAbortedBOOL“命令”被另一个CommandAbortedBErrorBOOL表示功能块内发生了ErrorEErrorID|WORD|Error识别注意:要停止运动,必须通过另一个发布新命令的FB来中断该FB。
第106页
第106/141页MC_CombineAxesAXIS_REF硕士1硕士1AXIS_REFAXIS_REF硕士2硕士2AXIS_REFAXIS_REF奴隶奴隶AXIS_REFBOOL执行同步中BOOLBOOL持续更新BusyBOOLMC_COMBINE_MODE组合模式ActiveBOOLINTGearRatioNumeratorM1CommandAbortedBOOLINT齿轮比分母M1ErrorBOOLINTGearRatioNumeratorM2ErrorID|WORD|INTGearRatioDenominatorM2MC_SOURCEmcMasterValueSourceM1MC_SOURCEmcMasterValueSourceM2MC_BUFFER_MODEBufferMode
第107节
第107/141页MC_CombineAxes可以生成特殊的同步不可能或复杂的运动-吃其他方式。在以下示例中,CAMFB和Gear FB的结果都同步传送带主机,添加以生成虚拟最终轴的MC_GearInPos功能的主控将执行运动。此示例的特定应用可以是机器将冰淇淋挥舞层放置在顶部穿过冰柜线的冰淇淋基地的数量在冰淇淋厂。计量轴必须同步挥舞着传送带的传送带冰淇淋基块。它必须特别地做到这一点lar起始位置和波相位来实现预期结果(因此是GearInPos)。随着CAM FB可以轻松定义不同的波形(就像冰淇淋顶部的那个更长)。另一个案例应用是带有装饰的巧克力棒(造型中的单个条)。滴定剂造浪与传送带同步并返回下一个** 图50:MC_CombineAxes的应用示例**
第108页
第108/141页00组合虚拟00二次虚拟主输送机第一虚拟MC_CamIn FB速度速度速度速度第二个虚拟轴上的MC_GearIn FB虚拟轴的组合轴(MC_CamIn和MC_GearIn)仍然是虚拟轴0启动CAM1个0StartGear1个0开始合并1个在MasterConveyor之后使用FirstVirtual轴启动MC_CamIn使用SecondVirtual轴和MasterConveyor启动MC_GearIn开始2个虚拟轴的组合MasterConveyor正在移动0RealAxis速度RealAxis使用以下命令执行MC_GearInPos由MC_CombineAxes创建的虚拟轴0StartGearInPos1个启动GearAxis的MC_GearInPos以跟随CombinedVirtual轴MC_GearInPos之后开始MasterDist0WaveInSynch1个MC_GearInPos InGear图51:MC_CombineAxes示例的相应时序图
109章
第109/141页
**5,***MC FB的应用–“中止”与“融合”的钻井示例
FFF倒转图52:简单钻孔单元示例这个简单的钻孔示例显示了两种模式之间的差异。为了钻孔,必须执行以下步骤:步骤1: 初始化,例如在开机时。第2步:向前移动到钻孔位置,然后开始进行钻孔车削。这样,它将在到达位置,然后检查两个动作是否均已完成。 步骤3:钻孔。第4步:在钻完孔之后,我们必须等待阶梯链序列完成驻留以释放任何脱模孔。bris,可能已经卡在洞中了。步骤5: 将钻头移回到起始位置并关闭主轴。结合完成后退然后停止主轴,我们发出信号以重新启动步进链。FFWD前轮驱动住倒转速度位置ŤŤ 速度位置ŤŤFFWD前轮驱动住倒转图53:钻孔时序图。左侧不融合,右侧不融合*
第110页
第110/141页
5.1。功能框图解决方案
可以使用FBD中的相同程序描述这两个示例。区别在于在“ BufferMode”的输入第二个FB MC_MoveRelative。本示例中显示的模式是“正在中止”或“低混合”。图54:具有功能框图的解决方案
*5.2。具有顺序功能图的解决方案
**这是使用顺序功能图指定顺序步骤的经典方法。SFC执行上面示例中给出的时序图。图55:用于SFC中钻探示例的直进式步进过渡链 Done初始化吨绝对移动相对移动绝对移动DoneDoneDoneDoneINT
第111页
第111/141页
附录A.不同缓冲区模式的示例
示例1:绝对运动后2的标准行为图56:在同一轴上具有两个MC_MoveAbsolute的基本示例* 图57:上面示例的时序图,FB1和FB2之间没有干扰(“中止”模式)**
第112章
第112/141页示例2:“正在中止”运动图58:上面示例的时序图,其中FB2中断FB1(“中止”模式)
第113页
第113/141页示例3:“缓冲”运动图59:上面“缓冲”模式下的示例时序图(停止到速度0并在该点无延迟地启动FB2)
第114章一更
第114/141页示例4:“ BlendingLow”运动图60:上面示例中的模式'BlendingLow'的时序图 (使用从FB1的最终位置到FB2的最终位置的最低速度(=速度2))通过混合(以及其他FB同时在同一轴上工作(如MC_MoveAdditive)),系统具有在将位置分配给相关轴之前,先合并在轴上工作的不同值。
第115章一更
第115/141页示例5:“ BlendingPrevious”动作图61:上面示例中的模式“ Merging1”的时序图(在最终位置FB1使用速度FB1)
第116页
第116/141页示例6:“ BlendingNext”动作 开始_1Busy_1完成_1CA_1速度位置开始_2Busy_2完成_2Active_1CA_2活跃_220001000开始_3Busy_3完成_3CA_3Active_3图62:上面示例中的模式为“ BlendingNext”运动的时序图在MC_MoveVelocity之后有第二个FB时,所有混合模式都应像先前的混合一样工作,否则会产生Error。
117章
第117/141页示例7:“ BlendingHigh”运动图63:上面示例中的模式“ BlendingHigh”运动的时序图
第118页
第118/141页
附录B.合规程序和合规列表
本附录中列出了运动控制供应商对符合性声明的要求功能块。符合性声明包括两个主要组:支持的数据类型和支持的功能块,以及适用的输入和输出。供应商必须填写使用过的表格数据类型和功能块,根据其产品,致力于支持该规范。将这些表格提交给PLCopen,并在获得PLCopen的批准后,该列表将在PLCopen网站上发布-网站,www.plcopen.org 以及简短格式概述,如[附录B]120) 2中所支持的数据类型和[附录B 3]121) 功能块概述如下。除此批准外,还授予供应商PLCopen运动控制徽标的访问和使用权,如下所述:在描述[附录B 4]141) :[PLCopen运动控制徽标及其用法]140)..资料类型 功能块和参数(例如,速度,加速度,距离等)中列出的数据类型REAL可能是交换为SINT,INT,DINT或LREAL,只要它们符合以下条件,就不会被视为不符合本标准:整个功能块和参数的持续性。只要保留基本数据类型,实现就可以扩展数据类型。例如:WORD可能是更改为DWORD,但未更改为REAL。** 功能块以及输入和输出声称符合此PLCopen规范的实现应提供一组功能块,用于运动控制,意味着一个或多个功能块,至少带有基本** 输入和输出变量,标记为“ B ”在表中。必须支持这些输入和输出以使其合规。对于更高电平的系统和将来的扩展,扩展 输入和输出变量的任何子集在命令中标记为“ E ”这些表可以实现。供应商特定的添加标记有“ V ”,并且可以在供应商文档中列出。-基本的输入/输出变量是强制性的在表中标有|WORD|母“ B ”-扩展的 输入/输出变量是可选的在表中标有|WORD|母“ E ”-供应商特定的添加在供应商的合规性文档中以“ V ”标记所有供应商特定的项目都不会在PLCopen网站的比较表中列出,而是在详细的清单中列出。dor特定列表,该列表也已发布。所有FB的所有特定于供应商的输入和输出必须在供应商的认证列表中列出。有了这个,认证-供应商的阳离子清单描述了相关FB的所有I / O,包括特定于供应商的扩展,因此显示供应商使用的完整FB。
119章
第119/141页**附录B 1。**供应商声明 供应商名称供应商地址市国家电话传真电子邮件地址产品名称产品版本发布日期我在此声明,填写并提交的以下表格与我们的产品以及随附的表格均相符用户手册,如上所述。代表姓名(人):签名日期(年/月/日):签名:
第120部分
第120/141页附录B 2。支持的数据类型使用MC库定义的数据类型:支持的如果不支持,则使用哪种数据类型 BOOLINT|WORD|REAL枚举联合会表6:支持的数据类型在规范中,定义了以下派生数据类型。定义在此使用哪些结构系统:** 派生数据类型:在哪里使用支持的****哪个结构** AXIS_REF几乎所有FBMC_DIRECTION(扩展)MC_MoveAbsoluteMC_MoveVelocityMC_TorqueControlMC_MoveContinuousAbsoluteMC_TP_REFMC_PositionProfileMC_TV_REFMC_VelocityProfileMC_TA_REFMC_AccelerationProfileMC_CAM_REFMC_CamTableSelectMC_CAM_ID(扩展)MC_CamTableSelectMC_CamInMC_START_MODE(扩展)MC_CamInMC_CamTableSelectMC_BUFFER_MODE缓冲FBMC_EXECUTION_MODEMC_SetPositionMC_WriteParameterMC_WriteBoolParameterMC_WriteDigitalOutputMC_CamTableSelectMC_SOURCEMC_ReadMotionStateMC_CamInMC_GearInMC_GearInPosMC_CombineAxesMC_DigitalCamSwitchMC_SYNC_MODEMC_GearInPosMC_COMBINE_MODEMC_CombineAxesMC_TRIGGER_REFMC_TouchProbeMC_AbortTriggerMC_INPUT_REFMC_ReadDigitalInputMC_OUTPUT_REFMC_DigitalCamSwitchMC_ReadDigitalOutputMC_WriteDigitalOutputMC_CAMSWITCH_REFMC_DigitalCamSwitchMC_TRACK_REFMC_DigitalCamSwitch** 表7:支持的派生数据类型**
第121页
第121/141页附录B 3。功能块概述单轴功能块支持为V1.0 / V1.1 /是否为V2.0评论(<= 48个|WORD|符。) MC_PowerMC_HomeMC_StopMC_HaltMC_MoveAbsoluteMC_MoveRelativeMC_MoveAdditiveMC_MoveSuperimposedMC_HaltSuperimposedMC_MoveVelocityMC_MoveContinuousAbsoluteMC_MoveContinuousRelativeMC_TorqueControlMC_PositionProfileMC_VelocityProfileMC_AccelerationProfileMC_SetPositionMC_SetOverrideMC_ReadParameter&MC_ReadBoolParameterMC_WriteParameter&MC_WriteBoolParameterMC_ReadDigitalInputMC_ReadDigitalOutputMC_WriteDigitalOutputMC_ReadActualPositionMC_ReadActualVelocityMC_ReadActualTorqueMC_ReadStatusMC_ReadMotionStateMC_ReadAxisInfoMC_ReadAxisErrorMC_ResetMC_DigitalCamSwitchMC_TouchProbeMC_AbortTrigger** 多轴功能块支持为V1.0 / V1.1 /是否为V2.0评论(<= 48个|WORD|符。)** MC_CamTableSelectMC_CamInMC_CamOutMC_GearInMC_GearOutMC_GearInPosMC_PhasingAbsoluteMC_PhasingRelativeMC_CombineAxes** 表8:功能块的简要概述**
第122页
第122/141页附录B 3.1 MC_Power如果支持MC_Powerup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用E启用正EEnableNegativeVAR_OUTPUTB状态E有效BErrorEErrorID附录B 3.2 MC_Home如果支持MC_Homeup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行B位置EBufferModeVAR_OUTPUTBDoneEBusyEActiveECommandAbortedBErrorEErrorID附录B 3.3 MC_Stop 如果支持MC_Stopup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E减速EJerkVAR_OUTPUTBDoneEBusyECommandAbortedBErrorEErrorID
第123页
第123/141页附录B 3.4 MC_Halt如果支持MC_Haltup 是/否VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E减速EJerkEBufferModeVAR_OUTPUTBDoneEBusyEActiveECommandAbortedBErrorEErrorID附录B 3.5 MC_MoveAbsolute如果支持MC_MoveAbsolute年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E持续更新B位置B速度E加速E减速EJerkB方向EBufferModeVAR_OUTPUTBDoneEBusyEActiveECommandAbortedBErrorEErrorID
第124页
第124/141页附录B 3.6 MC_MoveRelative如果支持MC_MoveRelativeup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E持续更新B距离E速度E加速E减速EJerkEBufferModeVAR_OUTPUTBDoneEBusyEActiveECommandAbortedBErrorEErrorID** 附录B 3.7 MC_MoveAdditive如果支持MC_MoveAdditive**up 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E持续更新B距离E速度E加速E减速EJerkEBufferModeVAR_OUTPUTBDoneEBusyEActiveECommandAbortedBErrorEErrorID
第125页
第125/141页附录B 3.8 MC_MoveSuperimposed如果支持MC_MoveSuperimposedup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E持续更新B距离E速度差异E加速E减速EJerkVAR_OUTPUTBDoneEBusyECommandAbortedBErrorEErrorIDE覆盖距离附录B 3.9 MC_HaltSuperimposed如果支持MC_HaltSuperimposedup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E减速EJerkVAR_OUTPUTBDoneEBusyECommandAbortedBErrorEErrorID
第126页
第126/141页附录B 3.10 MC_MoveVelocity如果支持MC_MoveVelocityup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E持续更新E速度E加速E减速EJerkE方向EBufferModeVAR_OUTPUTB速度EBusyEActiveECommandAbortedBErrorEErrorID** 附录B 3.11 MC_MoveContinuousAbsolute如果支持MC_MoveContinuousAbsolute** Sup。是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E持续更新B位置B终结速度B速度E加速E减速EJerkE方向EBufferModeVAR_OUTPUTB内在速度EBusyEActiveECommandAbortedBErrorEErrorID
第127页
第127/141页附录B 3.12 MC_MoveContinuousRelative如果支持MC_MoveContinuousRelativeup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E持续更新B距离B终结速度B速度E加速E减速EJerkEBufferModeVAR_OUTPUTB内在速度EBusyEActiveECommandAbortedBErrorEErrorID** 附录B 3.13 MC_TorqueControl如果支持MC_TorqueControl**年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行E持续更新B扭力E扭矩斜坡E速度E加速E减速EJerkE方向EBufferModeVAR_OUTPUTB扭力EBusyEActiveECommandAbortedBErrorEErrorID
第128节
第128/141页附录B 3.14 MC_PositionProfile如果支持MC_PositionProfileup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴B时间位置VAR_INPUTB执行E持续更新E时标E职位规模E抵消EBufferModeVAR_OUTPUTBDoneEBusyEActiveECommandAbortedBErrorEErrorID** 附录B 3.15 MC_VelocityProfile如果支持MC_VelocityProfile**up 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴B时间速度VAR_INPUTB执行E持续更新E时标E速度刻度E抵消EBufferModeVAR_OUTPUTB个人资料已完成EBusyEActiveECommandAbortedBErrorEErrorID
第129章一更
第129 /页141附录B 3.16 MC_AccelerationProfile如果支持MC_AccelerationProfileup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴B时间加速VAR_INPUTB执行E持续更新E时标E加速度比例E抵消EBufferModeVAR_OUTPUTB个人资料已完成EBusyEActiveECommandAbortedBErrorEErrorID** 附录B 3.17 MC_SetPosition如果支持MC_SetPosition年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行B位置E相对的E执行模式VAR_OUTPUTBDoneEBusyBErrorEErrorID附录B 3.18 MC_SetOverride如果支持 MC_SetOverride**年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用BVelFactorEAccFactorEJerk因素VAR_OUTPUTB已启用EBusyBErrorEErrorID
第130章
第130/141页附录B 3.19 MC_ReadParameter和MC_ReadBoolParameter如果支持MC_ReadParameterup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用B参数编号VAR_OUTPUTB有效EBusyBErrorEErrorIDB值如果支持** MC_ReadBoolParameterup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用B参数编号VAR_OUTPUTB有效EBusyBErrorEErrorIDB值名称是读/写补给是/否****评论** 指令位置B[ RSWLimitPosE读/写SWLimitNegE读/写EnableLimitPosE读/写EnableLimitNegE读/写EnablePosLagMonitoringE读/写最大位置滞后E读/写最大速度系统E[ RMaxVelocityApplB读/写实际速度B[R指令速度B[R最大加速系统E[RMaxAccelerationApplE读/写最大减速系统E[ RMaxDecelerationApplE读/写MaxJerk系统E[R马克·杰克·阿普尔E读/写** 表9:MC_Read(Bool)Parameter和MC_Write(Bool)Parameter的参数**
聪明的一休第131集
第131/141页附录B 3.20 MC_WriteParameter和MC_WriteBoolParameter如果支持MC_WriteParameterup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行B参数编号B值E执行模式VAR_OUTPUTBDoneEBusyBErrorEErrorID如果支持MC_WriteBoolParameterup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行B参数编号B值E执行模式VAR_OUTPUTBDoneEBusyBErrorEErrorID附录B 3.21 MC_ReadDigitalInput如果支持** MC_ReadDigitalInput**年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B输入值VAR_INPUTB启用E输入编号VAR_OUTPUTB有效EBusyBErrorEErrorIDB值
第132页
第132/141页附录B 3.22 MC_ReadDigitalOutput如果支持MC_ReadDigitalOutput年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B输出量VAR_INPUTB启用E输出编号VAR_OUTPUTB有效EBusyBErrorEErrorIDB值附录B 3.23 MC_WriteDigitalOutput如果支持MC_WriteDigitalOutput年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B输出量VAR_INPUTB执行E输出编号B值E执行模式VAR_OUTPUTBDoneEBusyBErrorEErrorID附录B 3.24 MC_ReadActualPosition 如果支持MC_ReadActualPositionup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用VAR_OUTPUTB有效EBusyBErrorEErrorIDB位置
第133页
第133/141页附录B 3.25 MC_ReadActualVelocity如果支持MC_ReadActualVelocity年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用VAR_OUTPUTB有效EBusyBErrorEErrorIDB速度附录B 3.26 MC_ReadActualTorque 如果支持MC_ReadActualTorque年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用VAR_OUTPUTB有效EBusyBErrorEErrorIDB扭力附录B 3.27 MC_ReadStatus如果支持MC_ReadStatusup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用VAR_OUTPUTB有效EBusyBErrorEErrorIDBError停止B残障人士B正在停止E归位B停顿E离散运动E连续运动E同步运动
第134页
第134/141页附录B 3.28 MC_ReadMotionState如果支持MC_ReadMotionStateup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用E资源VAR_OUTPUTB有效EBusyBErrorEErrorIDE恒定速度E加速中E减速中E正向E负方向附录B 3.29 MC_ReadAxisInfo如果支持MC_ReadAxisInfoup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用VAR_OUTPUTB有效EBusyBErrorEErrorIDEHomeAbsSwitchE限位开关E限位开关负E模拟E通讯就绪E准备开机E打开E归乡E轴警告** 附录B 3.30 MC_ReadAxisError如果支持MC_ReadAxisError**up 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB启用VAR_OUTPUTB有效EBusyBErrorBErrorIDEAxisErrorID
135章
第135/141页附录B 3.31 MC_Reset如果支持MC_Resetup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴VAR_INPUTB执行VAR_OUTPUTBDoneEBusyBErrorEErrorID附录B 3.32 MC_DigitalCamSwitch如果支持MC_DigitalCamSwitch 年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴B开关E产出ETrackOptionsVAR_INPUTB启用EEnableMaskE价值来源VAR_OUTPUTB运行中EBusyBErrorEErrorIDMC_CAMSWITCH_REF数组结构中的基本元素** 是参数年/年评论B追踪号码BFirstOnPosition [u]BLastOnPosition [u] E轴方向E凸轮开关模式E持续时间MC_TRACK_REF数组结构中的基本元素是参数**年/年评论E补偿E补偿外E磁滞[u]
136章
第136/141页附录B 3.33 MC_TouchProbe如果支持MC_TouchProbe年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴E触发输入VAR_INPUTB执行E仅窗口E第一位置E最后位置VAR_OUTPUTBDoneEBusyECommandAbortedBErrorEErrorIDB记录位置** 附录B 3.34 MC_AbortTrigger如果支持MC_AbortTrigger年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B轴E触发输入VAR_INPUTB执行VAR_OUTPUTBDoneEBusyBErrorEErrorID附录B 3.35 MC_CamTableSelect如果支持 MC_CamTableSelect**up 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |E主E奴隶B凸轮表VAR_INPUTB执行E定期的E绝对大师E绝对奴隶E执行模式VAR_OUTPUTBDoneEBusyBErrorEErrorIDECamTableID
137章
第137/141页附录B 3.36 MC_CamIn如果支持MC_CamInup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B主B奴隶VAR_INPUTB执行E持续更新EMasterOffsetE从站偏移EMasterScalingE从比例缩放EMasterStartDistanceEMasterSyncPositionE启动模式EMasterValueSourceECamTableIDEBufferModeVAR_OUTPUTB同步中EBusyEActiveECommandAbortedBErrorEErrorIDEEndOfProfile** 附录B 3.37 MC_CamOut如果支持MC_CamOut**up 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B奴隶VAR_INPUTB执行VAR_OUTPUTBDoneEBusyBErrorEErrorID
第138页
第138/141页附录B 3.38 MC_GearIn如果支持MC_GearInup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- |
|B主B奴隶VAR_INPUTB执行E持续更新B比率分子B比率分母EMasterValueSourceE加速E减速EJerkEBufferModeVAR_OUTPUTB齿轮EBusyEActiveECommandAbortedBErrorEErrorID** 附录B 3.39 MC_GearOut如果支持MC_GearOut**up 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B奴隶VAR_INPUTB执行VAR_OUTPUTBDoneEBusyBErrorEErrorID
139章
第139/141页附录B 3.40 MC_GearInPos如果支持MC_GearInPos年/年评论VAR_IN_OUT | | | | | | ---- | ---- | -------- |
|B主B奴隶VAR_INPUTB执行B比率分子B比率分母EMasterValueSourceBMasterSyncPositionBSlaveSyncPositionE同步模式EMasterStartDistanceE速度E加速E减速EJerkEBufferModeVAR_OUTPUTEStartSyncB同步中EBusyEActiveECommandAbortedBErrorEErrorID** 附录B 3.41 MC_PhasingAbsolute如果支持MC_PhasingAbsolute**up 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B主B奴隶VAR_INPUTB执行B相移E速度E加速E减速EJerkEBufferModeVAR_OUTPUTBDoneEBusyEActiveECommandAbortedBErrorEErrorIDE绝对相移
第140章一更
第140/141页附录B 3.42 MC_PhasingRelative如果支持MC_PhasingRelativeup 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B主B奴隶VAR_INPUTB执行B相移E速度E加速E减速EJerkEBufferModeVAR_OUTPUTBDoneEBusyEActiveECommandAbortedBErrorEErrorIDECoveredPhaseShift** 附录B 3.43 CombineAxes如果支持MC_CombineAxes**up 是/否评论VAR_IN_OUT | | | | | | ---- | ---- | -------- | ------ |B硕士1B硕士2B奴隶VAR_INPUTB执行E持续更新E组合模式EGearRationNumeratorM1E齿轮比分母M1EGearRatioNumeratorM2EGearRatioDenominatorM2EMasterValueSourceM1EMasterValueSourceM2EBufferModeVAR_OUTPUTB同步中EBusyEActiveECommandAbortedBErrorEErrorID
第141页
第141/141页附录B 4。****PLCopen运动控制徽标及其用法为了快速识别兼容产品,PLCopen开发了运动控制功能块的徽标:** 图64:PLCopen运动控制徽标**该运动控制徽标由PLCopen拥有并拥有商标。为了免费使用此徽标,相关公司必须满足以下所有要求:1.公司必须是PLCopen的有投票权的成员;2.公司必须遵守PLCopen 工作组 Motion规定的现有规范控制,由PLCopen发布,该语句是其中的一部分;3.该合规性申请由公司以书面形式提供给PLCopen,明确说明了该申请-电缆软件包和所有指定表格的支撑元件,如文档中所指定的那样-自;4.如果无法履行(必须由PLCopen决定),公司将收到书面声明有关PLCopen的问题。该公司将有一个月的时间来采用其软件包-以发布新的合规声明为代表的合规方式,或删除所有引用规范的含义,包括徽标的使用,无论是技术规范还是促销规范,传统资料;5.徽标必须原样使用-表示完整徽标。可以更改大小,以提供原始比例和保留颜色设置。6.徽标必须在运动控制的上下文中使用。