3. 轴指令(omron 机器自动化控制器)——>MC_CamIn

发布于:2025-03-25 ⋅ 阅读:(24) ⋅ 点赞:(0)

MC_CamIn

  • 使用指定的凸轮表开始凸轮动作。
指令 名称 FB/
FUN
图形表现 ST表现
MC_CamIn 凸轮动作开始 FB 描述文本 MC_CamIn_instance (
Master :=《参数》 ,
Slave :=《参数》 ,
CamTable :=《参数》 ,
Execute :=《参数》 ,
Periodic :=《参数》 ,
StartMode :=《参数》 ,
StartPosition :=《参数》 ,
MasterStartDistance :=《参数》 ,
MasterScaling :=《参数》 ,
SlaveScaling :=《参数》 ,
MasterOffset :=《参数》 ,
SlaveOffset :=《参数》 ,
ReferenceType :=《参数》 ,
Direction :=《参数》 ,
CamTransition :=《参数》 ,
BufferMode :=《参数》 ,
InCam =>《参数》 ,
InSync =>《参数》 ,
EndOfProfile =>《参数》 ,
Index =>《参数》 ,
Busy =>《参数》 ,
Active =>《参数》 ,
CommandAborted =>《参数》 ,
Error =>《参数》 ,
ErrorID =>《参数》
);

变量

▶输入变量
输入变量 名称 数据类型 有效范围 初始值 内容
Execute 启动 BOOL TRUE, FALSE FALSE 在上升沿开始指令。
Periodic 重复模式 BOOL TRUE, FALSE FALSE 指定是反复执行指定的凸轮表,
还是只执行1次。
TRUE:重复
FALSE:不重复
StartMode 起始位置
方式指定
_eMC_
START_MODE
0: _mcAbsolutePosition
1: _mcRelativePosition
0 *1 指定MasterStartDistance(主轴跟
踪距离)使用的坐标系。
0:绝对位置
1:相对位置
StartPosition 凸轮表
起始位置
LREAL 负数、正数、“0” 0 利用主轴的绝对位置指定凸轮表
的起点(相位=0)。
单位为[指令单位]。 *2
MasterStart
Distance
主轴跟踪距离 LREAL 负数、正数、“0” 0 指定从轴开始凸轮动作时主轴的
位置。
StartMode(起始位置方式指定)指
定为[绝对定位]时,指定主轴的
绝对位置;指定为[相对定位]
时,以StartPosition(凸轮表起始
位置)的相对量指定。
单位为[指令单位]。*2
Master
Scaling
主轴系数 LREAL 正值(>0.0) 1.0 以指定的比例放大/缩小主轴的
相位。
SlaveScaling 从轴系数 LREAL 正值(>0.0) 1.0 以指定的比例放大/缩小从轴的
位移。
MasterOffset 主轴偏置 LREAL 负数、正数、“0” 0 以指定的偏移值移动主轴的
相位。
SlaveOffset 从轴偏置 LREAL 负数、正数、“0” 0 以指定的偏移值移动从轴的
位移。
ReferenceType 位置类型选择 _eMC_
REFERENCE_
TYPE
0: _mcCommand
1: _mcFeedback
2: _mcLatestCommand
0 *1 指定主轴的位置类型。
0:指令位置(最近任务周期*3下
的计算值)
1:反馈位置(同一任务周期 *3下
的取值)
2:指令位置(同一任务周期*3下
的计算值)
Direction 方向选择 _eMC_
DIRECTION
0: _mcPositiveDirection
2: _mcNegativeDirection
4: _mcNoDirection
4 *1 仅主轴沿指定方向动作时,从轴
进行凸轮动作。主轴沿指定方向
的反方向动作时,从轴停止凸轮
动作。
0:指定为正方向
2:指定为负方向
4:无方向指定
CamTransition
(Reserved)
凸轮过渡选择 _eMC_CAM_
TRANSITION
0: _mcCTNone 0 *1 (Reserved)
BufferMode 缓存模式选择 _eMC_BUFFER_
MODE
0: _mcAborting
1: _mcBuffered
2: _mcBlendingLow*4
3: _mcBlendingPrevious*4
4: _mcBlendingNext*4
5: _mcBlendingHigh*4
0 *1 指定多重启动运动指令时的
动作。
0:中断
1:等待
2:以低速合并
3:以前一个速度合并
4:以后一个速度合并
5:以高速合并
  • 1.有效范围为枚举体的变量,其实际初始值不是数值,而是枚举元素。
  • 2.关于指令单位,请参阅“NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)”或“NY系列工业用平板电脑/工业用台式电脑用户手册运动控制篇(SBCE-379)”的“单位转换设定”。
  • 3.任务周期分为原始恒定周期任务的周期和固定周期任务(执行优先度5)的周期。
  • 4.Ver.1.06以上的CPU单元和Ver.1.07以上的SysmacStudio组合时可使用。无论指定4种合并中的哪一种动作均相同。
▶输出变量
输出变量 名称 数据类型 有效范围 单位 内容
InCam 凸轮动作中 BOOL TRUE,
FALSE
执行凸轮表起点后变为TRUE。
InSync 同步中 BOOL TRUE,
FALSE
与主轴同步时变为TRUE。
EndOfProfile 凸轮周期完成 BOOL TRUE,
FALSE
执行凸轮表终点后变为TRUE。
Index 索引 UINT 0或
正值
输出凸轮数据的索引编号。 *1
Busy 执行中 BOOL TRUE,
FALSE
接收指令后变为TRUE。
Active 控制中 BOOL TRUE,
FALSE
控制中变为TRUE。
CommandAborted 执行中断 BOOL TRUE,
FALSE
指令中止时,变为TRUE。
Error 错误 BOOL TRUE,
FALSE
发生异常时变为TRUE。
ErrorID 错误代码 WORD *2 发生异常时,输出错误代码。16#0000为正常。
  • 1.InCam(凸轮动作中)为FALSE期间,输出变为“0”。
  • 2.请参阅“A-1错误代码一览(P.A-2)”。

    ► 输出变量的反映时间

变量 变为TRUE的时间 变为FALSE的时间
InSync 从轴开始凸轮动作时 • Periodic为FALSE,EndOfProfile变为TRUE时
• Error变为TRUE时
• CommandAborted变为TRUE时
EndOfProfile 作为指令位置,输出凸轮表终点的相位和位移的
周期
EndOfProfile变为TRUE的下1个周期后
Busy Execute的上升沿 • Periodic为FALSE,EndOfProfile变为TRUE时
• Error变为TRUE时
• CommandAborted变为TRUE时
InCam 主轴通过StartPosition(凸轮表起始位置)时 • Periodic为FALSE,EndOfProfile变为TRUE时
• Error变为TRUE时
• CommandAborted变为TRUE时
Active 开始指令后 • Periodic为FALSE,EndOfProfile变为TRUE时
• Error变为TRUE时
• CommandAborted变为TRUE时
CommandAborted • 利用其它指令多重启动运动指令(中断),中止本
指令时
• 因发生异常,中止本指令时
• 发生异常过程中,启动本指令时
• 执行MC_Stop指令中,启动本指令时
• 启动了MC_CamOut指令时
• Execute为TRUE时,与Execute的FALSE同时
• Execute为FALSE时,1个周期后
Error 本指令的启动条件或输入参数中含有异常因素时 异常已解除时
▶输入输出变量
输入输出变
名称 数据类型 有效范围 内容
Master 主轴 _sAXIS_REF 指定主轴。 *1
Slave 从轴 _sAXIS_REF 指定从轴。*1
CamTable 凸轮表 ARRAY[0..N] OF
_sMC_CAM_REF
将凸轮数据结构体_sMC_CAM_REF型的数组变量作为凸轮
表指定。 *2
  • 1.请使用在Sysmac Studio的轴基本设定画面中创建的用户定义变量的轴变量名称(默认 “MC_Axis***”)或系统定义变量的 轴变量名称(_MC_AX[], _MC1_AX[], _MC2_AX[*])。 Slave 从轴 _sAXIS_REF - 指定从轴。*1 CamTable 凸轮表 ARRAY[0…N] OF _sMC_CAM_REF - 将凸轮数据结构体_sMC_CAM_REF型的数组变量作为凸轮 表指定。

  • 2.数组元素[N]通过Sysmac Studio自动设定。请指定通过Sysmac Studio的凸轮编辑器创建的凸轮数据变量。

  • 使用注意事项
  • 主轴和从轴指定同一轴时,会发生轻度故障等级的“主轴从轴相同(错误代码:5436 Hex)”的异常。

功能说明

  • 本指令可使相位(主轴)和位移(从轴)按照凸轮表进行同步凸轮动作。
  • 由本指令指定的凸轮表,必须事先使用凸轮编辑器编制,并下载到控制器主体中。
  • 在Execute(启动)的上升沿,本指令启动。
  • 使用注意事项
  • 凸轮表必须使用由Sysmac Studio的凸轮编辑器编制的凸轮数据变量。
  • 参考
  • “下载”使用Sysmac Studio的“同步”功能。
  • 关于凸轮表,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。
  • 凸轮表的相位和位移均以起点“0.0”起的相对量指定。
  • 关于主轴、从轴的指令位置,则以直线方式对2个凸轮数据之间进行插补,求得相当于相位(主轴)的位移(从轴)。
  • 凸轮数据数较少时,相位间隔增大,表现为精度较低的凸轮动作。
  • 相反,凸轮数据数较多时,相位间隔减小,表现为精度较高的凸轮动作。
    在这里插入图片描述
  • 使用注意事项
  • Ver.1.09以下的CPU单元使用本指令时,请勿对Master(主轴)执行MC_SetPosition(当前位置变更)指令。
  • 对Master(主轴)执行MC_SetPosition(当前位置变更)指令时,可能出现Slave(从轴)急速跟踪的情况,非常危险。
  • 要对Master(主轴)使用MC_SetPosition(当前位置变更)指令时,请解除Master(主轴)和Slave(从轴)的关系后执行该指令。
  • 有关对于主轴的注意事项,请参阅“同步控制的主轴及辅轴的注意事项(P.1-6)”。
  • 通过本指令,可以确认启动时相位是否表现为升序排列。
  • 相位表现为升序排列时,检测到异常。
  • 启动本指令后,如果确认在变更凸轮数据后相位表现为升序排列,请执行MC_SetCamTableProperty(更新凸轮表属性)指令。
  • 要在凸轮动作中变更相位,请确认处于升序状态后再进行变更。
  • 如果并非升序,则凸轮动作可能会中途停止。
  • 凸轮数据变量为全局变量,可以从多个任务中查看或变更凸轮数据变量值。
  • 从多个任务中变更凸轮数据变量值时,请编写通过多个任务进行改写处理时相互不会发生冲突的程序。
  • 使用“全局变量的任务间排他性控制”功能进行凸轮数据变量的排他性控制时,请不要使用排他对象的凸轮数据变量启动运动指令。
  • 否则会发生轻度故障等级的异常“凸轮表指定错误(错误代码:5439 Hex)”。
▶指令详情
  • 下面对指令详细说明。

    ► 指令启动条件

  • 在主轴停止中、或位置控制中、速度控制中、同步控制中的任一状态下都可以启动本指令。
  • 从轴请参阅“重启运动指令(P.3-184)”、“多重启动运动指令(P.3-185)”。

    ► 软件限位

  • 在凸轮动作中从轴超过软件限制时,会发生异常。

    ► 凸轮数据变量

  • 凸轮数据变量对凸轮数据结构体进行数组宣言并使用。
  • 凸轮数据结构体事先进行的类型宣言如下所示。
    在这里插入图片描述
  • 在Sysmac Studio上生成凸轮数据变量。
  • 凸轮数据变量名称的凸轮表名称可任意取名。
  • 例如,凸轮表名称“MyCam1”、凸轮数据数1000个时,在Sysmac Studio中自动声明变量。
  • 如下所示。
    在这里插入图片描述
  • 通过本指令指定“MyCam1”时,记述如下。
  • 其中,将主轴设为Axis1、从轴设为Axis2。
    在这里插入图片描述
  • 控制器中不存在指定凸轮表时,检测到异常。
  • 此外,多根轴可指定同一个凸轮表。
  • 可通过用户程序改写凸轮数据变量的值。
  • 但是,改写值在控制器电源OFF、通过Sysmac Studio执行下载时消失。
  • 接通CPU单元电源后,以及下载完成后,返回通过Sysmac Studio下载的值。
  • 要保存改写值,请使用MC_SaveCamTable(保存凸轮表)指令。
  • CPU单元的动作模式变更时,保存改写凸轮数据变量的值。
  • 参考
  • 凸轮数据变量不在网络上公开。
  • 例如,“MyCam1[10].Phase”和“MyCam1[10].Distance”,虽然可在Sysmac Studio的Watch View中浏览,但无法通过EIP从其他控制器访问。
  • “下载”使用Sysmac Studio的“同步”功能。

    ► 凸轮动作的开始

  • 启动指令后,等待主轴到达StartPosition(凸轮表起始位置)。
  • 主轴通过StartPosition(凸轮表起始位置)时,执行凸轮表的起点,输出变量InCam(凸轮动作中)变为TRUE。
  • 凸轮表的相位和位移以零起点的相对量指定。
  • 因此,各相位各轴的绝对位置,是以凸轮表起点各轴的绝对位置为起点的相对值。
  • 例如,主轴的计数模式为0~360的旋转模式时,StartPosition(凸轮表起始位置)=60。
  • 如下所示,主轴的绝对位置是凸轮表的相位加上StartPosition的值,从轴的绝对位置是凸轮表的位移加上凸轮表起点的从轴绝对位置的值。在这里插入图片描述
  • 并且,通过MasterStartDistance(主轴跟踪距离)时,开始从轴的凸轮动作,输出变量InSync(同步中)变为TRUE。
  • MasterStartDistance(主轴跟踪距离)以绝对位置或StartPosition(凸轮表起始位置) 起的相对距离来指定。
  • 绝对位置或相对位置通过StartMode(起始位置指定方式) 来设定。

    ► 例1)从轴动作因MasterStartDistance的不同而异

  • 本例中,使用相同凸轮表、相同主轴。
  • 凸轮表的设定如下。
主轴 从轴 凸轮曲线 连接速度 连接加速度 相位间隔宽度
0.000 0.000
80.000 80.000 直线 360.000 0.000 0.010
120.000 200.000 直线 1080.000 0.000 0.010
360.000 360.000 直线 240.000 0.000 0.010
  • 凸轮动作的开始条件如下。
输入变量 条件1 条件2
Periodic(重复模式) TRUE(重复) TRUE(重复)
StartMode(起始位置方式指定) _mcRelativePosition(相对位置) _mcRelativePosition(相对位置)
StartPosition(凸轮表起始位置) 0 0
MasterStartDistance(主轴跟踪距离) 0 80
  • 条件1下,主轴通过0时,输出变量InCam(凸轮动作中)和输出变量InSync(同步中)均变为TRUE,从轴开始凸轮动作。
  • 条件2下,主轴通过0时,输出变量InCam(凸轮动作中)变为TRUE,并且,通过80 时,输出变量InSync(同步中)变为TRUE,从轴开始凸轮动作。
  • 条件2时,从凸轮表的中途开始凸轮动作,从轴急剧加速。
    在这里插入图片描述
  • 参考
  • 条件2时,若设定SlaveOffset = 0,则从轴将如下图所示急剧加速。
    在这里插入图片描述
  • 若设定SlaveOffset = -80,则从轴将根据MasterStartDistance(主轴跟踪距离)的位移开始同步,而不会急剧加速。
    在这里插入图片描述

    例2)从轴动作因StartPosition和MasterStartDistance的不同而异

  • 凸轮表的设定与前述示例相同。
  • 凸轮动作的开始条件如下。
输入变量 条件1 条件2 条件3
Periodic(重复模式) TRUE(重复) TRUE(重复) TRUE(重复)
StartMode(起始位置方式指定) _mcRelativePosition
(相对位置)
_mcRelativePosition
(相对位置)
_mcRelativePosition
(相对位置)
StartPosition(凸轮表起始位置) 0 40 40
MasterStartDistance(主轴跟踪距离) 0 0 80
  • 条件1下,主轴通过0时,输出变量InCam(凸轮动作中)和输出变量InSync(同步中)均变为TRUE,从轴开始凸轮动作。
  • 条件2下,主轴通过StartPosition(凸轮表起始位置)指定的40时,输出变量InCam(凸轮动作中)和输出变量InSync(同步中)均变为TRUE,从轴开始凸轮动作。
  • 条件3下,主轴通过40时,输出变量InCam(凸轮动作中)变为TRUE,并且,通过120时,输出变量InSync(同步中)变为TRUE,从轴开始凸轮动作
  • 1.StartMode为_mcRelativePosition,因此StartPosition+MasterStartDistance=120为凸轮动作起始位置。
    在这里插入图片描述

    ► 例3)从轴凸轮动作开始因StartMode(起始位置方式指定)的不同而异

  • 通过StartMode(起始位置方式指定),可以指定将MasterStartDistance(主轴跟踪距离)的指定值作为绝对位置处理,还是作为相对位置处理。
  • 下面对因StartMode(起始位置方式指定)的不同导致的从轴凸轮动作开始的不同进行说明。
  • 凸轮表的设定与前述示例相同。
  • 凸轮动作的开始条件如下。
输入变量 条件1 条件2
Periodic(重复模式) TRUE(重复) TRUE(重复)
StartMode(起始位置方式指定) _mcAbsolutePosition(绝对位置) _mcRelativePosition(相对位置)
StartPosition(凸轮表起始位置) 40 40
MasterStartDistance(主轴跟踪距离) 80 80
  • 条件1和条件2下,主轴通过40时,输出变量InCam(凸轮动作中)均变为TRUE。
  • 条件1下,由于StartMode(起始位置方式指定)为_mcAbsolutePosition(绝对位置),因此,主轴通过80°时,输出变量InSync(同步中)变为TRUE,从轴开始凸轮动作。
  • 条件2下,由于StartMode(起始位置方式指定)为_mcRelativePosition(相对位置),因此,主轴通过120(=40+ 80)时,输出变量InSync(同步中)变为TRUE,从轴开始凸轮动作。
    在这里插入图片描述
  • 使用注意事项
  • 为执行凸轮动作,必须事先使用Sysmac Studio的凸轮编辑器绘制凸轮曲线,并下载到CPU单元中。
  • “下载”使用Sysmac Studio的“同步”功能。

    ► Periodic(重复模式)

  • 在Periodic(重复模式)中指定TRUE[重复]时,从凸轮表的起点到终点,重复执行凸轮动作。
  • 指定FALSE[不重复]时,如果持续执行到凸轮表的终点,则结束凸轮动作。
  • 指定TRUE[重复]时,如果在凸轮表的起点和终点从轴的行程位置相同,则作为往复凸轮进行动作(参阅往复凸轮动作)。
  • 如果在起点和终点从轴的行程位置不同,则作为传送凸轮进行动作(参阅传送凸轮动作)。
  • 在下图中,横轴表示主轴位置、纵轴表示从轴位置。

    往复凸轮动作
在这里插入图片描述

    传送凸轮动作
在这里插入图片描述

    ► EndOfProfile(凸轮周期完成)

  • 在输出凸轮动作的指令值的一个周期内,将EndOfProfile(凸轮周期完成)设为TRUE。
  • 该凸轮动作使用了以凸轮表终点定义的相位、位移。
  • 对StartPosition(凸轮表起始位置)设定主轴的绝对位置,凸轮表即为该位置起的相对表。
  • EndOfProfile(凸轮周期完成)即为表现凸轮表终端的输出。

    ► 凸轮动作的结束

  • 要在中途结束凸轮动作,可使用MC_CamOut(解除凸轮动作)指令、或MC_Stop(强制停止)指令。

    ► 系数(缩放)

  • 针对指定凸轮表的主轴相位、从轴位移,可按照指定比例进行缩放。
  • 主轴、从轴都可以设定不同的倍率。

    ► 偏置

  • 针对指定凸轮表,可按照偏置量移动相位和位移的功能。
  • 对主轴相位、从轴位移可指定不同的偏置量。

    ► MasterOffset(主轴偏置)> 0 时
在这里插入图片描述

    ► MasterOffset(主轴偏置)< 0 时
在这里插入图片描述

    ► SlaveOffset(从轴偏置)> 0 时
在这里插入图片描述

    ► SlaveOffset(从轴偏置)< 0 时
在这里插入图片描述

    ► ReferenceType(位置类型选择)

  • 可从下列选项中选择从轴同步的主轴位置类型。
  • _mcCommand:指令位置(最近任务周期下的计算值)对当前周期,使用之前任务周期时计算的主轴指令位置。
  • 在计算从轴指令位置之前的固定周期任务中,使用计算的主轴指令位置。
  • _mcFeedback:同一任务周期下的取值使用同一任务周期时获取的主轴反馈位置。
  • _mcLatestCommand:指令位置(同一任务周期下的计算值)使用同一任务周期时计算的主轴指令位置。
  • 也可通过_mcCommand使用最新信息。
  • 但是,设定时必须保证主轴编号比从轴编号小。
  • 否则,本指令的Error(错误)将变为TRUE。
  • ErrorID(错误代码)输出“主轴/从轴 轴号非升序(错误代码:5438 Hex)”。
  • 使用注意事项
  • 这里的任务周期分为原始恒定周期任务的周期和固定周期任务(执行优先度5)的周期。
  • 同样,固定周期任务表示原始恒定周期任务或固定周期任务(执行优先度5)。
  • 参考
  • 相比选择之前任务周期时的计算值,选择同一任务周期时计算的指令位置时,同步精度更高。
  • 但是必须使用主轴、从轴,确保“Master(主轴)设定的运动控制系统变量的轴号 < Slave(从轴)设定的运动控制系统变量的轴号”。

    ► 轴种类与位置类型的关系

  • 可监控的轴种类和要监控的位置类型的关系如下所示。
轴种类 ReferecneType
_mcCommand、或
_mcLatestCommand
_mcFeedback
伺服轴
编码器轴 × *1
虚拟伺服轴
虚拟编码器轴 × *1
  • 1.启动指令时,发生“超过位置类型选择范围(错误代码:5430Hex)”错误。○虚拟伺服轴○○虚拟编码器轴×○

    ► Direction(方向选择)

  • 只有主轴移动方向与Direction(方向选择)一致时,才可开始从轴的凸轮动作。
  • Direction(方向选择)有效即为InSync(同步中)中。

    ► _mcNoDirection(无方向指定)

  • 无论主轴正负方向移动,均开始凸轮动作。
    在这里插入图片描述

    ► _mcPositiveDirection(指定为正方向)

  • 主轴正方向移动时开始凸轮动作
    在这里插入图片描述

    ► _mcNegativeDirection(指定为负方向)

  • 主轴负方向移动时开始凸轮动作
    在这里插入图片描述
  • 版本相关信息
  • 主轴沿与Direction(方向旋转)相反方向移动期间,超过MasterStartDistance(主轴跟踪距离)、InSync(同步中)变为TRUE时,不同CPU单元版本的动作如下所示。
  • Ver.1.10以上版本的CPU单元时InSync(同步中)变为TRUE后,从轴根据凸轮表相位对应的位移进行移动。
  • 之后,主轴沿Direction(方向选择)同向移动时,从轴开始凸轮动作。
  • Ver.1.09以下版本的CPU单元时InSync(同步中)变为TRUE后,主轴沿Direction(方向选择)同向移动时,从轴开始凸轮动作。
  • 示例如下所示。
  • 凸轮表的设定与前述示例相同。
  • 凸轮动作的开始条件如下。
输入变量 条件
StartMode(起始位置方式指定) _mcAbsolutePosition(绝对位置)
Direction(方向选择) _mcPositiveDirection(指定为正方向)
StartPosition(凸轮表起始位置) 0
MasterStartDistance(主轴跟踪距离) 80

在这里插入图片描述

    ► BufferMode(缓存模式选择)

  • 指定前一个轴动作和本次动作的连接方式。
  • 有以下6种。
缓存模式选择 说明
中断 立即中止当前正在执行的指令,切换为本指令。
主轴通过StartPosition(凸轮表起始位置)后,通过MasterStartDistance(主轴跟踪
距离)时,开始从轴的凸轮动作,输出变量InSync(同步中)变为TRUE。
从轴停止,直至已缓存的本指令的输出变量InSync(同步中)变为TRUE。
凸轮表起点为StartPosition(凸轮表起始位置)。
等待 从当前执行中的指令正常结束的周期起,已缓存的本指令自动启动。主轴通过
StartPosition(凸轮表起始位置)后,通过MasterStartDistance(主轴跟踪距离)时,开
始从轴的凸轮动作,输出变量InSync(同步中)变为TRUE。
从轴停止,直至已缓存的本指令的输出变量InSync(同步中)变为TRUE。
凸轮表起点为StartPosition(凸轮表起始位置)。
合并*1
以低速合并
以前一个速度合并
以后一个速度合并
以高速合并
从当前执行中的指令正常结束的周期起,已缓存的本指令的输出变量InSync
(同步中)变为TRUE,从轴不停止而直接开始凸轮动作。
即使指定了已缓存的本指令的StartPosition(凸轮表起始位置)、
MasterStartDistance(主轴跟踪距离),无论指定值如何,从轴都将在指令启动的
同时开始凸轮动作。
凸轮表起点为当前执行中的指令的结束位置。
以低速合并
以前一个速度合并
以后一个速度合并
以高速合并
  • 1.Ver.1.06以上的CPU单元和Ver.1.07以上的SysmacStudio组合时可使用。无论指定4种合并中的哪一种动作均相同。

    ► 指定等待多重启动时

  • 执行MC_CamIn1期间,指定等待后多重启动MC_CamIn2。
  • 在MC_CamIn1结束、MC_CamIn2的Active(控制中)变为TRUE的下一StartPosition(凸轮表起始位置),InSync(同步中)变为TRUE,开始凸轮动作。
    在这里插入图片描述

    ► 指定合并多重启动时

  • 执行MC_CamIn1期间,指定合并后多重启动MC_CamIn2。
  • 在MC_CamIn1结束的同一周期内,MC_CamIn2的InSync(同步中)变为TRUE,开始凸轮动作。
    在这里插入图片描述
  • 关于BufferMode(缓存模式选择),请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。

    ► 索引

  • 从为了求得主轴、从轴的指令位置而使用的两个凸轮数据中,通过输出变量“Index( 索引)”输出凸轮数据索引编号较小者。
  • 通过凸轮编辑器或用户程序对凸轮数据进行微调时使用该数值。

    ► 到位检查

  • 本指令不执行到位检查。

    ► 超调

  • 使用本指令时,无法通过MC_SetOverride(超调值设定)指令进行超调。
▶时序图

    ► 无重复时

  • MC_CamIn(凸轮动作开始)指令的Periodic(重复模式)为FALSE[无重复]时,如下图所示。
    在这里插入图片描述

    ► 有重复时

  • 凸轮动作重复执行。
  • 使用MC_CamOut(解除凸轮动作)指令解除凸轮时,从轴减速至速度“0”。
  • 不影响主轴动作。
  • MC_CamIn(凸轮动作开始)指令的Periodic(重复模式)为TRUE[重复]、执行MC_CamOut(解除凸轮动作)指令时,如下图所示。
    在这里插入图片描述

    ► MC_Stop(强制停止)指令时

  • 对凸轮动作中的主轴启动MC_Stop(强制停止)指令时,保持主轴和从轴的同步关系。
  • 对凸轮动作中的从轴启动MC_Stop(强制停止)指令时,结束主轴和从轴的同步关系。
  • MC_CamIn(凸轮动作开始)指令的Periodic(重复模式)为TRUE[重复]、对从轴执行MC_Stop(强制停止)指令时,如下所示。
    在这里插入图片描述
▶指令的中止
  • 本指令执行中从轴发生轴异常时,从轴以轴的最大减速度停止。
  • 对从轴启动MC_Stop(强制停止)指令时,CommandAborted(执行中断)变为TRUE,从轴以MC_Stop(强制停止)指令指定的减速度停止。
  • 关于轴异常发生原因的特定方法,请参阅“A-1 错误代码一览(P.A-2)”。
  • 主轴发生轴异常时,继续凸轮动作。
    在这里插入图片描述
▶重启运动指令
  • 切换动作中的凸轮表时,可重启本指令。
  • 要变更凸轮表切换以外的条件,请对本指令执行指令多重启动。
  • 重启指令时,InCam(凸轮动作中)、InSync(同步中)保持重启前的状态。
  • InSync(同步中)中重启时,从比根据当前位置求得的相位大的相位起执行凸轮动作。
  • 根据当前位置求得的相位是指,对凸轮数据之间直线插补时求得的相位。
  • 重启对象仅限凸轮表。
  • 使用注意事项
  • 凸轮动作中重启指令切换凸轮表时,在重启前后,从轴的速度和加速度可能会急剧变化。
  • 可能对机械机构产生影响,因此重启时请注意。
  • 重启运动指令的详情,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。

    ► 重启方法

  • 关于重启方法,请参阅“示例程序1(P.3-187)”及“示例程序2(P.3-198)”。
▶多重启动运动指令
  • 多重启动运动指令的详情,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。

    ► 本指令执行中的其它指令启动

  • 本指令执行中,使用同一CamTable(凸轮表)的MC_GenerateCamTable(生成凸轮表)指令无法多重启动。
  • 对本指令执行运动指令多重启动时,请指定从轴。
  • 本指令动作中多重启动其它指令时,根据缓存模式,存在如下限制。
    • 以中断方式多重启动其它指令时,在该时中断凸轮动作,开始下一动作。
    • 以等待方式多重启动其它指令时,在EndOfProfile(凸轮周期完成)变为TRUE时,输出下一个动作的指令值。

    ► 合并多个本指令进行的多重启动

  • 只有使用多个本指令进行多重启动时方可指定合并。
  • 其它指令执行中,无法以合并方式多重启动本指令。
  • Master(主轴)和ReferenceType(位置类型选择)请分别指定与当前执行中的指令相同的值。
  • 指定不同的值时,将发生“无法多重启动运动指令”异常。
  • 从当前执行中的指令正常结束的周期起,已缓存的本指令的输出变量InSync(同步中)变为TRUE,从轴不停止而直接开始凸轮动作。
  • 即使指定了StartPosition(凸轮表起始位置)、MasterStartDistance(主轴跟踪距离),无论指定值如何,从轴都将在指令启动的同时开始凸轮动作。
  • 凸轮表起点为当前执行中的指令的结束位置。
  • 无论指定4种合并中的哪一种动作均相同。

    ► 其它指令执行中的本指令启动

  • MC_GenerateCamTable(生成凸轮表)执行中,无法多重启动使用同一CamTable(凸轮表)的本指令。

    ► 对主轴或从轴的补偿

  • 对同步控制中的主轴或从轴执行相位补偿的指令有以下2个。
  • MC_Phasing(主轴相对值相位补偿) MC_SyncOffsetPosition(周期性同步位置偏置补偿)对于MC_CamIn( 凸轮动作开始) 指令以外的同步控制指令,因多重启动导致动作中的同步控制指令变为CommandAborted(中断执行)时,执行相位补偿的指令也同时变为CommandAborted(中断执行)。
  • 以合并方式多重启动多个MC_CamIn(凸轮动作开始)指令时,执行相位补偿的指令不会变为CommandAborted(中断执行),而是继续处理。
▶异常
  • 启动本指令检测到异常时,Error(错误)变为TRUE。
  • 可查看ErrorID(错误代码)的输出值,了解发生异常的原因。

    ► 发生异常时的时序图
在这里插入图片描述

    ► 错误代码

  • 关于指令发生的异常,请参阅“A-1 错误代码一览(P.A-2)”。

示例程序1

  • 下面,对有重复的凸轮动作的示例程序进行说明。
  • 本例中,以主轴为轴1、从轴为轴2。
  • 参考
  • 作为保留(Reserved)处理的输入变量只能指定为初始值。
  • 本例中,对具备各指令定义初始值的变量进行了分配,但在编程时,无需分配变量和参数。
▶参数设定
  • 该示例程序中使用的最少的必要设定如下所示。

    ► 轴参数的设定

    轴种类

轴种类
轴1 伺服轴(主轴)
轴2 伺服轴(从轴)

    计数器模式

计数器模式
轴1 旋转模式
轴2 线性模式

    环计数器

上限值 下限值
轴1 360 0

    坐标单位选择

坐标单位
轴1 degree
轴2 mm
▶动作示例

    ► 动作模式
在这里插入图片描述

1 凸轮动作的开始

  • 以凸轮表起点位置(零相位位置)为20,主轴从该位置到达与相对角度成40的角度后,从轴开始凸轮动作。
  • 凸轮动作以重复动作方式动作。
  • 将Periodic(重复模式)设为TRUE,执行重复动作。

2 解除凸轮动作

  • 从轴的反馈位置(MC_Axis001.Act.Pos)达到1000.0以上后解除凸轮动作,以减速度(DecRate2)停止从轴动作。
▶梯形图

    ► 主要变量

名称 数据类型 初始值 注释
MC_Axis000 _sAXIS_REF 是主轴轴1的轴变量。
MC_Axis000.MFaultLvl.Active BOOL FALSE 轴1发生轻度故障等级的异常时变为
TRUE。
MC_Axis000.Details.Homed BOOL FALSE 轴1为原点确定状态时变为TRUE。
MC_Axis001 _sAXIS_REF 是从轴轴2的轴变量。
MC_Axis001.MFaultLvl.Active BOOL FALSE 轴2发生轻度故障等级的异常时变为
TRUE。
MC_Axis001.Details.Homed BOOL FALSE 轴2为原点确定状态时变为TRUE。
Pwr1_S BOOL FALSE 分配给MC_Power的实例PWR1的输出
Status的变量。进入伺服ON状态时,该变
量变为TRUE。
Pwr2_S BOOL FALSE 分配给MC_Power的实例PWR2的输出
Status的变量。进入伺服ON状态时,该变
量变为TRUE。
CamProfile0 ARRAY[0..360] OF
_sMC_CAM_REF
是凸轮数据变量。
数组的元素数ARRAY[0..N]由凸轮编辑器
设定。本例中设为0~360,但是数组的元
素数因凸轮编辑器的设定而异。
DecRate2 LREAL 10000.0 设定执行MC_CamOut时的减速度。
Vel_InVel BOOL FALSE 是对MC_MoveVelocity的实例VEL的输出
InVelocity进行分配的变量。达到目标速
度时,该变量变为TRUE。
Camin_InCam0 BOOL FALSE 分配给MC_CamIn的实例CAMIN的输出
InCam的变量。凸轮动作中时,该变量变
为TRUE。
Camout_Ex BOOL FALSE 该变量为TRUE时,启动MC_CamOut的实
例CAMOUT。
StartPg BOOL FALSE 如果该变量为TRUE,EtherCAT的过程数
据通信已建立,则进入伺服ON状态。

    ► 时序图
在这里插入图片描述

    ► 示例程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

    ► 内联ST的内容

IF MC_Axis001.Act.Pos>LREAL#1000.0 THEN
	Camout_Ex := TRUE;
END_IF;
▶结构文本(ST)

    ► 主要变量

名称 数据类型 初始值 注释
MC_Axis000 _sAXIS_REF 是主轴轴1的轴变量。
MC_Axis000.MFaultLvl.Active BOOL FALSE 轴1发生轻度故障等级的异常时变为
TRUE。
MC_Axis000.Details.Homed BOOL FALSE 轴1为原点确定状态时变为TRUE。
MC_Axis001 _sAXIS_REF 是从轴轴2的轴变量。
MC_Axis001.MFaultLvl.Active BOOL FALSE 轴2发生轻度故障等级的异常时变为
TRUE。
MC_Axis001.Details.Homed BOOL FALSE 轴2为原点确定状态时变为TRUE。
Pwr1_S BOOL FALSE 分配给MC_Power的实例PWR1的输出
Status的变量。进入伺服ON状态时,该变
量变为TRUE。
Pwr2_S BOOL FALSE 分配给MC_Power的实例PWR2的输出
Status的变量。进入伺服ON状态时,该变
量变为TRUE。
CamProfile0 ARRAY[0..360] OF
_sMC_CAM_REF
是凸轮数据变量。
数组的元素数ARRAY[0..N]由凸轮编辑器
设定。本例中设为0~360,但是数组的元
素数因凸轮编辑器的设定而异。
DecRate2 LREAL 10000.0 设定执行MC_CamOut时的减速度。
Vel_InVel BOOL FALSE 是对MC_MoveVelocity的实例VEL的输出
InVelocity进行分配的变量。达到目标速
度时,该变量变为TRUE。
Camin_InCam0 BOOL FALSE 分配给MC_CamIn的实例CAMIN的输出
InCam的变量。凸轮动作中时,该变量变
为TRUE。
Camout_Ex BOOL FALSE 该变量为TRUE时,启动MC_CamOut的实
例CAMOUT。
StartPg BOOL FALSE 如果该变量为TRUE,EtherCAT的过程数
据通信已建立,则进入伺服ON状态。
Camin_Ex BOOL FALSE 启动Vel_InVel时设为TRUE,将
MC_CamIn的实例CAMIN的Execute设为
TRUE。
InitFlag BOOL FALSE 表示输入参数设定完成。
FALSE时,设定输入参数。输入参数设定
完成后,变为TRUE。

    ► 时序图
在这里插入图片描述

    ► 示例程序

// 未设定输入参数时的处理
IF InitFlag = FALSE THEN
    // MC_CamIn参数
    Camin_EM := TRUE;                // 重复模式 
    Camin_StMode := _eMC_START_MODE#_mcRelativePosition;
    Camin_StPos := LREAL#20.0;       // 起点的主轴绝对位置 
    Camin_MStDis := LREAL#40.0;      // 凸轮动作开始的主轴位置 
    Camin_MSc := LREAL#1.0;          // 主轴放大 
    Camin_SSc := LREAL#1.0;          // 从轴放大 
    Camin_MO := LREAL#0.0;           // 主轴偏置 
    Camin_SO := LREAL#0.0;           // 从轴偏置 
    Camin_RT := _eMC_REFERENCE_TYPE#_mcCommand; // 位置类型选择
    Camin_Dir := _eMC_DIRECTION#_mcNoDirection; // 方向选择
    
    // MC_MoveVelocity参数
    Vel_Vel := LREAL#1000.0;
    Vel_Acc := LREAL#100000.0;
    Vel_Dec := LREAL#100000.0;
    Vel_Dir := _eMC_DIRECTION#_mcPositiveDirection;
    
    // MC_CamOut参数
    Camout_Dec := DecRate2;
    
    // 设定输入参数后,将InitFlag设为TRUE
    InitFlag := TRUE;
END_IF;

// 确认StartPg为TRUE,且伺服驱动器处于伺服准备就绪状态,
// 则将轴1设为伺服ON状态。
// 如果未处于伺服准备就绪状态,则设为伺服OFF。
IF (StartPg = TRUE) AND (MC_Axis000.DrvStatus.Ready = TRUE) THEN
    Pwr1_En := TRUE;
ELSE
    Pwr1_En := FALSE;
END_IF;

// 确认StartPg为TRUE,且伺服驱动器处于伺服准备就绪状态,
// 则将轴2设为伺服ON状态。
// 如果未处于伺服准备就绪状态,则设为伺服OFF。
IF (StartPg = TRUE) AND (MC_Axis001.DrvStatus.Ready = TRUE) THEN
    Pwr2_En := TRUE;
ELSE
    Pwr2_En := FALSE;
END_IF;

// 轴1 ~轴2发生轻度故障后,执行异常时处理。
// 发生异常时的处理(FaultHandler)由客户根据装置进行编程。
IF (MC_Axis000.MFaultLvl.Active = TRUE) OR (MC_Axis001.MFaultLvl.Active = TRUE) THEN
    FaultHandler();
END_IF;

// 轴1处于伺服ON状态,且原点未确定时,进行轴1的原点复位
IF (Pwr1_S = TRUE) AND (MC_Axis000.Details.Homed = FALSE) THEN
    Hm1_Ex := TRUE;
END_IF;

// 轴2处于伺服ON状态,且原点未确定时,进行轴2的原点复位
IF (Pwr2_S = TRUE) AND (MC_Axis001.Details.Homed = FALSE) THEN
    Hm2_Ex := TRUE;
END_IF;

// 轴1进入原点复位完成状态后,执行MC_MoveVelocity
IF Hm1_D = TRUE THEN
    Vel_Ex := TRUE;
END_IF;

// MC_MoveVelocity的InVel=TRUE时启动CamIn
IF Vel_InVel = TRUE THEN
    Camin_Ex := TRUE;
END_IF;

// Camin_InCam0=TRUE且MC_Axis001.Act.Pos>1000时,启动CamOut。
IF (Camin_InCam0 = TRUE) AND (MC_Axis001.Act.Pos > LREAL#1000.0) THEN
    Camout_Ex := TRUE;
END_IF;

// 轴1的MC_Power
PWR1(
    Axis := MC_Axis000,
    Enable := Pwr1_En,
    Status => Pwr1_S,
    Busy => Pwr1_Bsy,
    Error => Pwr1_Err,
    ErrorID => Pwr1_ErrID
);

// 轴2的MC_Power
PWR2(
    Axis := MC_Axis001,
    Enable := Pwr2_En,
    Status => Pwr2_S,
    Busy => Pwr2_Bsy,
    Error => Pwr2_Err,
    ErrorID => Pwr2_ErrID
);

// 轴1的MC_Home
HM1(
    Axis := MC_Axis000,
    Execute := Hm1_Ex,
    Done => Hm1_D,
    Busy => Hm1_Bsy,
    CommandAborted => Hm1_Ca,
    Error => Hm1_Err,
    ErrorID => Hm1_ErrID
);

// 轴2的MC_Home
HM2(
    Axis := MC_Axis001,
    Execute := Hm2_Ex,
    Done => Hm2_D,
    Busy => Hm2_Bsy,
    CommandAborted => Hm2_Ca,
    Error => Hm2_Err,
    ErrorID => Hm2_ErrID
);

// MC_MoveVelocity
VEL(
    Axis := MC_Axis000,
    Execute := Vel_Ex,
    Velocity := Vel_Vel,
    Acceleration := Vel_Acc,
    Deceleration := Vel_Dec,
    Direction := Vel_Dir,
    InVelocity => Vel_InVel,
    Busy => Vel_Bsy,
    Active => Vel_Act,
    CommandAborted => Vel_Ca,
    Error => Vel_Err,
    ErrorID => Vel_ErrID
);

// MC_CamIn
CAMIN(
    Master := MC_Axis000,
    Slave := MC_Axis001,
    CamTable := CamProfile0,
    Execute := Camin_Ex,
    Periodic := Camin_EM,
    StartMode := Camin_StMode,
    StartPosition := Camin_StPos,
    MasterStartDistance := Camin_MStDis,
    MasterScaling := Camin_MSc,
    SlaveScaling := Camin_SSc,
    MasterOffset := Camin_MO,
    SlaveOffset := Camin_SO,
    ReferenceType := Camin_RT,
    Direction := Camin_Dir,
    CamTransition := Camin_CT,
    BufferMode := Camin_BM,
    InCam => Camin_InCam0,
    InSync => Camin_InSync,
    EndOfProfile => Camin_EOP,
    Index => Camin_Index,
    Busy => Camin_Bsy,
    Active => Camin_Act,
    CommandAborted => Camin_Ca,
    Error => Camin_Err,
    ErrorID => Camin_ErrID
);

// MC_CamOut
CAMOUT(
    Slave := MC_Axis001,
    Execute := Camout_Ex,
    Deceleration := Camout_Dec,
    Done => Camout_D,
    Busy => Camout_Bsy,
    CommandAborted => Camout_Ca,
    Error => Camout_Err,
    ErrorID => Camout_ErrID
);
▶示例程序2
  • 下面,对充填液体的凸轮动作的示例程序进行说明。
  • 参考
  • 作为保留(Reserved)处理的输入变量只能指定为初始值。
  • 本例中,不指定参数。
▶参数设定
  • 该示例程序中使用的最少的必要设定如下所示。

    ► 轴参数的设定

    轴种类

轴种类
轴1 伺服轴(主轴)
轴2 伺服轴(从轴)
轴3 伺服轴(从轴)
轴4 伺服轴(从轴)
轴5 伺服轴(从轴)

    计数器模式

上限值 下限值
轴1 360 0
轴2 360 0
轴3 360 0
轴4 360 0
轴5 360 0

    环计数器

计数器模式
轴1 旋转模式
轴2 旋转模式
轴3 旋转模式
轴4 旋转模式
轴5 旋转模式

    坐标单位选择

坐标单位
轴1 degree
轴2 degree
轴3 degree
轴4 degree
轴5 degree
▶动作示例

在这里插入图片描述

    ► 动作模式
在这里插入图片描述

1 凸轮动作开始

  • 与主轴(轴1)同步,从轴(轴2~轴5)进行凸轮动作。
  • 各轴相位分别移动50degree,开始凸轮动作。

2 重复

  • 各轴重复执行指定的凸轮动作。
▶梯形图

    ► 主要变量

名称 数据类型 初始值 注释
MC_Axis000 _sAXIS_REF 是主轴轴1的轴变量。
MC_Axis001 _sAXIS_REF 是从轴轴2的轴变量。
MC_Axis002 _sAXIS_REF 是从轴轴3的轴变量。
MC_Axis003 _sAXIS_REF 是从轴轴4的轴变量。
MC_Axis004 _sAXIS_REF 是从轴轴5的轴变量。
StartPg BOOL FALSE 如果该变量为TRUE,EtherCAT的过程数据通信已建立,
则进入伺服ON状态。
Vel_InVel BOOL FALSE 是对MC_MoveVelocity的实例VEL的输出InVelocity进行分
配的变量。达到目标速度时,该变量变为TRUE。
CamProfile0 ARRAY[0..360] OF
_sMC_CAM_REF
是凸轮数据变量。
在MC_CamIn的实例CAMIN1~CAMIN4的输入CamTable中
指定该变量。
数组的元素数ARRAY[0..N]由凸轮编辑器设定。

    ► 时序图
在这里插入图片描述

  • 1Camin1_InCam,Camin2_InCam,Camin3_InCam,Camin4_InCam为同一时间。
  • 2Camin1_InSync,Camin2_InSync,Camin3_InSync,Camin4_InSync为同一时间。本例中,MasterStartDistance为“0”,因此,主轴为“0”起,InSync变为TRUE。
  • 3Camin1_Bsy,Camin2_Bsy,Camin3_Bsy,Camin4_Bsy为同一时间。
  • 4Camin1_Act,Camin2_Act,Camin3_Act,Camin4_Act为同一时间。

    ► 示例程序
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

▶结构文本(ST)

    ► 主要变量

名称 数据类型 初始值 注释
MC_Axis000 _sAXIS_REF 是主轴轴1的轴变量。
MC_Axis001 _sAXIS_REF 是从轴轴2的轴变量。
MC_Axis002 _sAXIS_REF 是从轴轴3的轴变量。
MC_Axis003 _sAXIS_REF 是从轴轴4的轴变量。
MC_Axis004 _sAXIS_REF 是从轴轴5的轴变量。
StartPg BOOL FALSE 如果该变量为TRUE,EtherCAT的过程数据通信已建立,
则进入伺服ON状态。
Vel_InVel BOOL FALSE 是对MC_MoveVelocity的实例VEL的输出InVelocity进行分
配的变量。达到目标速度时,该变量变为TRUE。
CamProfile0 ARRAY[0..360] OF
_sMC_CAM_REF
是凸轮数据变量。在MC_CamIn的实例CAMIN1~CAMIN4
的输入CamTable中指定该变量。
数组的元素数ARRAY[0..N]由凸轮编辑器设定。
Camin1_Ex BOOL FALSE 该变量由FALSE→TRUE时,启动MC_CamIn的实例
CAMIN1~CAMIN4。
Camin2_Ex BOOL FALSE
Camin3_Ex BOOL FALSE
Camin4_Ex BOOL FALSE
InitFlag BOOL FALSE 表示输入参数设定完成。
FALSE时,设定输入参数。
输入参数设定完成后,变为TRUE。

    ► 时序图
在这里插入图片描述

  • 1Camin1_InCam,Camin2_InCam,Camin3_InCam,Camin4_InCam为同一时间。
  • 2Camin1_InSync,Camin2_InSync,Camin3_InSync,Camin4_InSync为同一时间。本例中,MasterStartDistance为“0”,因此,主轴为“0”起,InSync变为TRUE。
  • 3Camin1_Bsy,Camin2_Bsy,Camin3_Bsy,Camin4_Bsy为同一时间。
  • 4Camin1_Act,Camin2_Act,Camin3_Act,Camin4_Act为同一时间。