2 参数部分
2.1 基本原理
2.1.8 初始化
3 +,--
4 AND,B_AND 5 EXOR,B_EXOR
6 OR,B_OR
7(最低级) ==,<,>,<=,>=,<>
下面这些规则同样适用:
相同的运算从头开始.
不同的运算按运算符的优先权执行.
逻辑运算的左右两边优先执行.
2.1.7 声名
声明指定分配一个名字的数据类型。
2.1.8 初始化
初始化赋值 2.1.9 表达式
数据对象由自己的数据类型和数值所构成
如果结果是INT或REAL,那么是算术表达式.
如果结果是BOOL,那么是逻辑表达式
如果结果是 POS, E6POS, AXIS或E6AXIS,那么是几何表达式.
2.1.10 语句
语句是那些不表现自己的确定的值和数据类型的命令。简单的语句只包含一个命令行。
而复杂的语句则包含完整的控制结构。
2.1.11 注释
注释是指被程序编辑器忽略的文本。使用“;”字符在程序中把注释和程序区分出来。
长沙工控帮教育科技有限公司
15 以下两种基本的运动模式:
2.1.12.1 点到点的运动(PTP=点到点)
机器人的主要轴,使用最大的加速度和速比到达目标点。它不保持直线轨迹。
2.1.12.2 连续路径运动(CP=连续轨迹)
机器人手臂从起始点到目标点的轨迹路径为直线(LIN)或圆弧(CIRC)。这主要是依 靠程序对速度和加速度的控制,而且从起始点到目标点之间不使用近似定位。
2.1.13 控制结构
控制语句可以用于影响程序的执行。在程序段中它依靠条件而执行。IF ELSE就是一个 例子。
2.1.14 子程序
子程序是主程序的分支。当一个子程序被调用时,子程序中的命令立即被重新执行。
除主程序外,更多的子程序被定义在SRC文件中。如果它们和程序卡中SRC文件的程序 名相同,那么主程序是经过认证的。如果SRC中的子程序是全局有效的,那么必须用关 键字GLOBAL。
2.1.15 函数
函数能分配数据类型,函数能像子程序一样被程序调用。
2.1.16 块结构
块由KRL程序语言组成。它包括指令、参数和注释。这些语句、声明在系统中逐块的执 行。KRL块的建立必须遵循一定的规律。它规定块的结构要符合语法描述的说明和指令 索引中语句的规定。
在一个块中包含:
声明 语句 注释
空的块也是可以使用。它可以只包含一个块结束的字符。
块的开始行没有任何的标识符。块也可以由一个或多个空格开始,但块的结尾必须键入 RETURN字符。如果程序块太长,屏幕显示不下时,系统将自动换行。在程序块中每行 最长474个字符。
长沙工控帮教育科技有限公司
16 2.1.17 有效性区域
如果常量、变量、子程序、函数和变量是全局的,而且读入的所有KRL程序都是经过认 证的,那么必须用GLOBAL关键字。否则数据对象只是局部有效的,只有一个例外:在 CONFIG.DAT文件中被激活的变量也是全局有效的。
局部数据的有效性:
在程序中激活的局部变量是合法的,它被置于关键字DEF和ENDDEF中。
在数据列表中被承认的常量是有效的。
子程序和函数在参与SRC文件的主程序中是有效的。
一个局部中断只有在优先级比程序级别低或者相等时,它是被承认的。
如果局部和全局变量名相同,那么编辑器在局部变量名有效的区域内使用局部变量名。
全局变量和常量都在公告在数据列表中。
为了可以使用关键字GLOBAL,在文件“Progress.ini”中的全局选项在INIT选项中必须设 置位TRUE:
GLOBAL_KEY=TRUE 2.1.18 关键字
关键字的字母排列有固定的功能。它们在上面的印刷中用粗体描述。
下面是保留和不保留的关键字:
保留的关键字:不能用于与其内在含义不同的场合。多数时候他们不能用于文件名。
在下表中列出了一些被编辑器认可但不用于系统的关键字。它们虽然没有被执行,
但仍然保留
非保留的关键字:受到上下文的限制。当非保留的关键字出现在文章中时,上下文可 以解释他的含义。此外,非保留关键字还可以解释为一个名字。但为了避免混淆,
非关键字一般不用作名字。
长沙工控帮教育科技有限公司
17
ANIN
语句 循环读入模拟输入。ANOUT
语句 操作控制模拟输出。BRAKE
语句 在中断程序中制动机器人的运动。CASE
语句 在SWITCH语句中开始一个分支。CCLOSE
语句 关闭通道。CHANNEL
声明 声明输入和输出的通道名。CIRC
语句 圆形运动。CIRC_REL
语句 相对目标坐标系的圆形运动。CONFIRM
语句 承认确认的消息。CONTINUE
语句 防止先前的停止运行。COPEN
语句 操作输入/输出通道。CREAD
语句 从通道读入数据。CWRITE
语句 从通道写入数据。DECL
声明 变量的声明和排列。DEF
定义 程序和子程序的声明。DEFAULT
语句 在SWITCH语句中开始默认的分支。DEFDAT
定义 数据声明列表。DEFFCT
定义 声明函数。DELAY
参数 在TRIGGER和ANOUT语句中启动延时。DIGIN
语句 循环读入数字输入。DISTANCE
参数 在TRIER语句中,启动开关点。DO
语句 开始在INTERRUPT声明中调用中断程序和调用子程序 或在TRIGGER语句中分配一个值。ELSE
语句 在IF语句中开始另一个语句分支。END
语句 子程序结束(参考 DEF)。ENDDAT
语句 数据列表结束(参考 DEFDAT)。ENDFCT
语句 函数结束(参考 DEFFCT)。ENDFOR
语句 FOR循环语句结束。长沙工控帮教育科技有限公司
18
ENDIF
语句 IF分支结束。ENDLOOP
语句 LOOP结束。ENDSWITCH
语句 结束SEITCH传送。ENDWHILE
语句 结束WHILE环语句。ENUM
声明 列举类型的声明。EXIT
语句 无条件退出循环。EXT
声明 外部子程序的声明。EXTFCT
声明 外部函数的声明。FOR
语句 计算循环或以WAIT语句为条件的开始。GLOBAL
声明 全局声明。GOTO
语句 无条件的跳跃语句。HALT
语句 中断程序的执行和暂停。IF
语句 语句的执行依靠逻辑表达式的结果。IMPORT
声明 在数据列表中输入变量。INTERRUPT
语句 中断功能的定义和它的激活和解除。IS
语句 初始化IMPORT声明中的源属性。LIN
语句 直线运动。LIN_REL
语句 在相对坐标系中的直线运动。LOOP
语句 无穷循环。MAXIMUM
参数 输出模拟量最小值的关键字。MINIMUM
参数 输出模拟量最大值的关键字。PRIO
参数 在TRIGGER语句中调用子程序时,启动规定的优先权。PTP
语句 点到点的运动。PTP_REL
语句 相对坐标系中的点到点的运动。PULSE
语句 激活脉冲输出。REPEAT
语句 循环程序总是最少执行一次(不拒绝循环)。中止条件在循环中止时选择。
RESUME
语句 子程序和中断程序的中断。长沙工控帮教育科技有限公司
19
SEC
语句 开始在WAIT语句中规定的时间。SIGNAL
声明 输入和输出信号名的声明。SREAD
语句 中止数据进入它的组成部分。STRUC
声明 结构类型的声明。SWITCH
语句 在几个语句分支中选择。SWRITE
语句 组合数据形成数据设置。THEN
语句 在IF语句中开始第一个语句。TO
语句 在FOR语句中最初和最后的值和开始在SIGNAL语句中指出的 数字输入/输出。TRIGGER
语句 通道触发开关的作用是使机器人的运动同步。UNTIL
语句 在REPEAT循环中开始“end”质询。WAIT
语句 等待继续的条件或指定的周期时间。WHEN
语句 在INTERRUPT声明中开始逻辑表达式和在TRIGGER中指出的 轨迹距离标准。WHILE
语句 程序循环;在选择循环开始时选择循环终止的条件(拒绝循环)。长沙工控帮教育科技有限公司
20 2.2
命令索引
2.2.1 ANIN
2.2.1.1 摘要信息
循环读入模拟输出 2.2.1.2 语法
读入模拟输出:
中止读操作
类型 解释
Signal_Value REAL 循环读入的结果存储在信号值中。信号值可以是变量、
模拟信号或前面说明过的信号。
Factor REAL 常量、变量或说明过得信号可以成为要素。
Signal_Name REAL 信号名指定输入模拟信号的信号名。
Offset REAL 偏移量可以是变量、常量、模拟信号或前面说明的信号.
在ANIN语句中的所有的变量必须在数据列表中公告。
在特定的时间内最多有3个ANIN ON被激活。
2.2.1.3描述
模拟模块产生能通过定义变量$ANIN[1]到$ANIN[8]的手段读入的模拟界面。模拟输入能 在时间周期内使用ANIN或使用“=”操作符的手段,使变量能分配一次REAL类型。在 用ANIN语句的循环读入的例子中,模拟界面在低优先级循环读入(12ms)。同时间内可 以有三个ANIN ON语句被使用。两个ANIN语句能写入相同的信号值或模拟界面。它可 以联合其他符合逻辑的操作模拟输入和用ANIN语句中可选的算术方法分配信号值。
模拟模块有8个模拟接口,接口有12位的分辨率(4。88mV 非电器隔离)。输入电压从
-10V到+10V间变化,但不能超过35V。硬件输入能使用系统参数的手段分配通道数。访 问模拟输入可触发先前的运行停止。
长沙工控帮教育科技有限公司
21 如果电压高过35V,模拟模块或它的部件会被损坏。
2.2.1.4实例
路径修正(系统变量$TECHIN[1])依靠传感器$ANIN[2]的输入来校正。传感器输入$ANIN[2]是符合 逻辑的变量与符号变量SIGNAL_1的组合。增加变量FACTOR和SIFNAL_1的电流值是附加的变量 OFFSET和循环写入路径修正的系统变量$TECHIN[1]的结果。
SIGNAL SIGNAL_1 $ANIN[2]
ANIN ON $TECHIN[1] = FACTOR * SIGNAL_1 + OFFSET
循环扫描SIGNAL_1使用ANIN OFF指令结束。
ANIN OFF SIGNAL_1
SIGNAL,ANOUT,DIGIN
长沙工控帮教育科技有限公司
22
Signal_Name REAL 信号名用SIGNAL语句访问模拟输出表示的信号定义。
模拟输出$ANOUT[1]不能直接输入。
Factor REAL Minimum_Value,
Maximum_Value
REAL 最小值和最大值必须在-0.1~+0.1之间和符合限定的输 出。实际的值不能低于或高于指定的最小值和最大值,甚 至如果计算出的值不能超出这个范围。
当然,最小值总是比最大值小而且关键字MINMUN,
MAXIMUN的顺序必须保持。
所有用于AUOUT语句的变量必须在数据列表中声明。 达式的结果超过它的限定,输出相关的最后值,那么显示“LIMIT SIGNAL MAME”提 示信息,直到结果再次降到界限下。可以用关键字MINIMUM和MAXIMUM表示定义输
长沙工控帮教育科技有限公司
23 表示多少秒。
机器人控制器规定16个模拟输出($ANOUT[1]...$ANOUT[16]) 作为标准。
模拟输出可以读和设置。
2.2.2.4 范例
模拟输出$ANOUT[5]被分配符号名ANALOG_1。当模拟值输出被激活后,产生FACTOR 变量和系统变量$TECHVAL[1],增加OFFSET_1变量的值,循环计算并写入模拟输出
$ANOUT[5]中。模拟输出的结束用ANOUT OFF ANALOG_1。
请 注 意 : $TECHVAL[i] 提 供 未 滤 波 信 号 的 通 讯 技 术 功 能 的 次 序 ,
$TECH_ANA_FLT_OFF[i] 必须设为TRUE。
SIGNAL ANALOG_1 $ANOUT[5]
ANOUT ON ANALOG_1 = FACTOR * $TECHVAL[1] + OFFSET_1 ...
ANOUT OFF ANALOG_1
模拟输出$ANOUT[1]被分配符号名ADHESIVE用于控制粘贴速度比率的分配。控制值是 由 一半轨 迹速 率计算 出的 (系统变量 $VEL_ACT;为了获得纯正轨迹速率信号,
$VEL_FLT_OFF必须为 TRUE)而且常数增加0.2。循环输出信号使用选择参数DELAY延
$VEL_FLT_OFF必须为 TRUE)而且常数增加0.2。循环输出信号使用选择参数DELAY延