本手册及样例包均为免费提供,仅供参考。所述版本、应用及案例可能与用户实际应用不符,请用户在使用前认真阅读相关使用说明,根据自身的应用环境及机床特点进行调整,并进行严格的测试,以规避可能存在的风险。对于在使用中发生的人员、财产等损失,由用户自行承担。
以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新恕不做另行通知。
多个通道中的多个程序同时参与工件加工,则必须在不同的通道中通过协调指令实现程序过程的协调,本文简单介绍跨通道程序协调指令(INIT、START、WAITM、WAITMC、WAITE、SETM、CLEARM)
• 可实现双通道控制
需设置双通道选项
使用通道名称编程
MD10280 $MN_PROG_FUNCTION_MASK,位 1 = TRUE

MD10280.1=0,编程时<ChanNr>只能使用通道编号,使用通道名称会触发包括

协调指令 (INIT、START、WAITM、WAITMC、WAITE、SETM、CLEARM)
INIT() | 预定义步骤,用于选择需要在所给定通道中执行的 NC 程序 |
START() | 预定义步骤,用于启动在各个通道中选择的程序 |
WAITM() | 预定义步骤,用于等待到达给定通道中的等待标记 |
WAITE() | 预定义步骤,用于等待一个或多个其它通道中的程序结束 |
WAITMC() | 预定义步骤,用于等待到达给定通道中的等待标记,与 WAITM 的不同之处在于,在其它通道尚未到达等待标记的情况下,才会将轴制动至准停状态 |
SETM() | 预定义步骤,用于针对通道协调设置一个或多个等待标记,自身通道中的程序执行不受此影响。 SETM 在通道复位和 NC 启动后仍保持其有效性 |
CLEARM() | 预定义步骤,用于清除通道协调的一个或多个等待标记,自身通道中的程序执行不受此影响 |
<ChanNr> | 通道编号 |
<Prog> | 绝对或相对路径说明(可选)+ 程序名称 |
<AckMode> | 应答模式(可选) |
<MarkNr> | 等待标记编号 |
预定义步骤,通过程序指令INIT,选择需要在所给定通道中执行的 NC 程序,例如
通道1程序语句:INIT(CHAN2,"CHAN2_TEST_MPF"
通道2当前选择的程序是ABCD.MPF

通道1程序执行,通过INIT指令,通道2完成程序CHAN2_TEST.MPF的选择装载

使用变量定义的形式编程
DEF INT chanNo2 ;定义通道 2 的用户变量
chanNo2 = CHAN2 ;将设置的通道名称分配给通道 2
INIT(chanNo2,"CHAN2_TEST_MPF")
调用工件目录的路径示例(绝对路径)
INIT(CHAN2,"/_N_WKS_DIR/_N_WELLE1_WPD/_N_ABSPAN1_MPF")
预定义步骤,用于启动在各个通道中选择的程序,通道编号或通道名称,不能是当前通道
程序代码 | 注释 |
START(CHAN1) | 通道 1 启动(MD10280.1=1) |
START(CHAN2) | 通道 2 启动(MD10280.1=1) |
START(1) | 通道 1 启动 |
START(2) | 通道 2 启动 |
示例:

预定义步骤,用于等待到达给定通道中的等待标记,在自身通道中会通过 WAITM 设置给定的等待标记。前一个程序段通过准停结束。等待标记会在同步后被清除。每个通道最多可同时设置 10 个标记。
编程示例
通道1,已选择并启动程序 /_N_MPF_DIR/_N_MPF100_MPF
N10 INIT(2,"MPF200","N") ;选择程序 MPF200,通道 2
N11 START(2) ;通道 2 启动
; ...
N80 WAITM(1,1,2) ;等待通道 1 和 2 中的 WAIT 标记 1
N81 ; ... 通道 1,N81 和通道 2,N71
;同步开始
; ...
N180 WAITM(2,1,2) ; 等待通道 1 和 2 中的 WAIT 标记 2
N181 ; ... 通道 1,N181 和通道 2,N271
;同步开始
;...
N200 WAITE(2) ; 等待通道 2 中的程序结束
N201 ; ... N201 在通道 2 中的 MPF200 程序结束后才开始
N201 M30 ; 通道 1 中的程序结束
通道2,在通道 1 中通过程序段 N10 和 N20 选择并启动通道 2 中的程序MPF200_MPF
; $PATH=/_N_MPF_DIR ;程序 MPF200
; ...
N70 WAITM(1,1,2) ; 等待通道 1 和 2 中的 WAIT 标记 1
N71 ; ... 通道 1,N81 和通道 2,N71
; 同步开始
; ...
N270 WAITM(2,1,2) ;等待通道 1 和 2 中的 WAIT 标记 2
N271 ; ... 通道 1,N181 和通道 2,N271
; 同步开始
; ...
N400 M30 ; 通道 2 中的程序结束
-
预定义步骤,用于等待一个或多个其它通道中的程序结束
与WAITM区别

如果在一条通道中执行 WAITMC 之前已经在其他通道中出现了所有需要的等待标记,那么在该通道中,运行不会减速,程序不会停止,而是继续执行后续程序段。
与 WAITM 的不同之处在于,在其它通道尚未到达等待标记的情况下,才会将轴制动至准停状态
前提条件,必须在通道中激活以下功能:
● 连续路径运行(G64, G641, G642, G643, G644 或 G645)
● “预读”功能
预定义步骤,用于针对通道协调设置一个或多个等待标记,自身通道中的程序执行不受此影响。 SETM 在通道复位和 NC 启动后仍保持其有效性,需要在程序开始使用CLEARM(<MarkNr>, <MarkNr>, ...)清除通道协调标记
示例:
通道1测试程序C1.MPF
;CHAN1, $PATH=/_N_MPF_DIR
N10 CLEARM(1)
N20 INIT(2,"C2_MPF")
N30 START(2)
N40 MSG("1")
N50 G4F20
N60 WAITMC(1,CHAN2) ;等待通道2通道协调
N70 G4F200
N80 M30
通道2测试程序C2.MPF
N10 CLEARM(1)
N20 G4F30
N30 SETM(1) ;确认标记1,如果通道1还未到标记1,通道2继续执行,不会等待
N50 M30

预定义步骤,用于清除通道协调的一个或多个等待标记,自身通道中的程序执行不受此影响。
CLEARM() 清除通道中的所有等待标记。
CLEARM(0) 仅清除等待标记“0”。
CLEARM 在通道复位和 NC 启动后仍保持其有效性。
以上协调指令,可在Sinutrain上建立好机床环境,进行测试

1. SINUMERIK 840D sl / 828D 扩展功能 功能手册, 08/2018
2. SINUMERIK 840D sl/ 828D 工作准备部分 编程手册,08/2018
Cao Peng
2021.01.05