映射例行程序
映射可创建例行程序的副本,所有位置 (robtargets) 都映射于特定的映射面。 一般,例行程序中使用的 robtarget 类型的所有数据都将被映射,无论是本地数据还是全局数据。 不管 robtarget 数据是否被声明为常量(应该属于)、持续量(持续)还是一般变量,都没有区别。 任何其它数据都不会被映射,比如 pos、pose 和orient 等类型。
映射数据只会影响初始化值,即任何当前值都将被忽略。 这意味着如果一robtarget 变量在没有初始化值的情况下被定义,这个变量将不能被映射。
新的映射例行程序将赋予一个新名(建议一个默认名称)。 例行程序中所有存储的robtarget 类型数据都将被映射并用新名称存储(旧名称以“_m” 结尾)。 运动指令中带有“*” 的所有直接 robtarget 数据也会被映射。
映射值和变元
映射一个例行程序时,将扫描新的例行程序寻找其中的任何本机器人驱动器地 robtarget 数据,并用初始化值在例行程序中进行声明。 此类数据的所有初始化值都将被映射。 然后扫描新的例行程序,寻找含有一个或多个 robtarget 类型变元的声明。找到一个声明时,将采取以下行动:
1、 如果变元以一个局部变量或常量为参照编程,这个变元将被忽视,因为已经对它进行了如上的映射。
2、 如果变元以带星号“*” 的直接 robtarget 数据进行编程,这个取值将被直接映射。
3、 如果变元参照全局变量、持续量或常量进行编程并在例行程序之外用初始化值定义,将在新名称(旧名称以“_m” 结尾)模块内创建并存储一个副本。 此类新数据的初始化值将被映射,声明中的变元将被改为新名称。 这意味着模块数据列表将会扩大,增加许多新映射的 robtarget 数据。例行程序中的错误句柄或步退句柄将不会被映射。
工件框架
所有将被映射的位置都涉及一个特定的工件框架(上图中的 B)。 这表示robtarget 数据的坐标都将用该工件框架的相对值来表示。 此外,映射位置也将与同一工件框架相关。
映射之前,必须声明特定工件。 工件将作为所有待映射变机器人驱动器量的参照框架。确保声明的工件同最初用来定义 robtarget 数据并作为运动指令参数的工件为同一个工件。 如果没有使用任何工件,应声明 wobj0。

