KUKA机器人的逻辑运算符

发布时间:2024-07-19  

逻辑运算符用于布尔变量、常数和简单的、借助比较运算符构成的逻辑表达式的逻辑运算。

运算符 运算数的数量 说明
NOT 1 逆转
AND 2 逻辑 “ 与 ”
OR 2 逻辑“ 或”
EXOR 2 异 “ 或 ”

逻辑运算的运算数必须为 BOOL 类型。结果同样始终为 BOOL 类型。下表显示了可能存在的运算的结果:

操作 NOT A A AND B A OR B A EXOR B
A = TRUE B = TRUE FALSE TRUE TRUE FALSE
A = TRUE B = FALSE FALSE FALSE TRUE TRUE
A = FALSE B = TRUE TRUE FALSE TRUE TRUE
A = FALSE B = FALSE TRUE FALSE FALSE FALSE

该表也适用于用位运算符进行的运算。

示例 即使多个运算也是允许的。

...

DECL BOOL A,B,C

...

A=TRUE ;A=TRUE

B =NOTA ;B=FALSE

C = (A AND B)OR NOT (B EXORNOTA) ;C=TRUEA = NOTNOT C                                        ;A=TRUE

...

位运算符

位运算符依次运算整数,方法是依次逻辑运算其单个位。运算的结果等于逻辑运算符的结果。

位值 1 相当于 TRUE。

位值 0 相当于 FALSE。

运算符 运算数的数量 说明
B_NOT 1 位逆转
B_AND 2 位的与运算
B_OR 2 位的或运算
B_EXOR 2 位的异或运算

位运算符可以应用到 INT 和 CHAR 数据类型上。

INT 在 KRL 中有 32 位,必须注明正负号。CAHR 为 8 位,不必注明正负号。

对于带整数值的 B_AND、B_OR 和 B_EXOR 的以下示例,得出正数(最高位= 0)。与无正负号的值一样,可以直接将结果换算为十进制。

通过“00 […]”表示运算数前面的 28个零。

B_AND

c18c5044-270b-11ee-962d-dac502259ad0.png

示例:整数值 5 和 12 的运算

B_OR

c1b978a8-270b-11ee-962d-dac502259ad0.png

示例:整数值 5 和 12 的运算

B_EXOR

c1dc2a6a-270b-11ee-962d-dac502259ad0.png

示例:整数值 5和 12 的运算

B_NOT

对于该整数示例,通过运算得出一个负数 (最高值位 = 1)。因此,无法用与无正负号数字相同的方式将结果换算为十进制。

c203a57c-270b-11ee-962d-dac502259ad0.png

示例:带整数值 10的 B_NOT

为了可以使用户理解机器人控制系统换算的十进制结果,则他必须了解二补数的解释规则。这些规则不是本文的对象。

可以如下确定用注明正负号的运算数进行 B_NOT 运算的十进制结果:

1.  运算数加 1的十进制值

2.  更换正负号

其他示例

...

DECL INT A

...

A = 10B_AND9 ;A=8

A = 10B_OR 9 ;A=11

A = 10B_EXOR9 ;A=3

A =B_NOT 197 ;A=-198

A =B_NOT'HC5' ;A=-198

A =B_NOT'B11000101' ;A=-198

A =B_NOT "E" ;A=154

...

设定位并检查位:

用 B_AND和 B_OR可以有针对性地将比特序列的单个位设定为 1或 0。剩余的位保持不更改。

用 B_AND 可以将单个位设定为 0。

用 B_OR可以将单个位设定为 1。此外,可以检查单个位是否为1或 0。示例:

存在一个宽度为 8 位的数字输出端。该输出端可通过 INT 变量 DIG 响应。将位 1、2 和 6 设定为 0:

DIG = DIG B_AND 'B10111001'

将位 0、2、3 和 7 设定为 1:

DIG = DIG B_OR 'B10001101'

检查是否已将位 0 和 7 设定为 1。如是,则 my_result 变为 TRUE:

DECL  BOOL my_result
...
my_result  = DIG B_AND ('B10000001') > 0

运算符的优先级

优先级给出运算符在一个指令内执行运算符的顺序。

优先级 运算符
1 NOT; B_NOT
2 *; /
3 +; -
4 AND; B_AND
5 EXOR; B_EXOR
6 OR; B_OR
7 ==, <>;  <, >, <=, >=

原则上适用:

首先编辑括起来的表达式。

未括起来的表达式按照其优先级进行分析。

从左向右分析用相同优先级的运算符进行的运算。

数学标准功能

功能 数值范围自变量 数值范围结果
ABS(X)
总和
REAL_MIN…REAL_MAX 0  …REAL_MAX
SQRT(X)
平方根
0  …REAL_MAX 0  …REAL_MAX
SIN(X)
正弦
REAL_MIN…REAL_MAX -1  …+1
COS(X)
余弦
REAL_MIN…REAL_MAX -1  …+1
TAN(X)
正切
REAL_MIN…REAL_MAX REAL_MIN…REAL_MAX
ACOS(X)
反余弦
-1  …  +1 0  …+180
ATAN2(Y,X)
反正切
REAL_MIN…REAL_MAX -180  …+180

所有函数的数据类型:REAL。所有自变量的数据类型:REAL。


绝对值 ABS(X) 计算 X 的总和。

示例:

B = -3.4

A = 5*ABS(B)                  ;A=17.0

平方根 SQRT(X) 计算 X 的平方根。

示例:

A = SQRT(16.0801)             ;A=4.01

正弦 SIN(X) 计算角度 X 的正弦。

示例:

A = SIN(30)                   ;A=0,5

余弦 COS(X) 计算角度 X 的余弦。

示例:

B = 2*COS(45)                 ;B=1.41421356

正切 TAN(X) 计算角度 X 的正切。

示例:

以下总和的正切无穷:

 ±90°

 +90° + k*180°  (其中 k = ± 整数)

如果尝试一个这样的值,这将导致错误信息。

C = TAN(45)                   ;C=1.0

反余弦 ACOS(X) 是 COS(X) 的反函数。

示例:

A = COS(60)                   ;A=0.5

B = ACOS(A)                   ;B=60

反正弦

对于SIN(X)的反函数反余弦,没有预定义函数。但是,基于公式SIN(X)                  =COS(90°-X)可以很容易就计算出反正弦。

示例:

A=SIN(60)                    ;A=0.8660254
B=90-ACOS(A)                 ;B=60

反正切 

角度正切的定义是直角三角形的邻边(X)除以对边(Y)。如果两个侧边的长度已知,则可以用反正切计算邻边和斜边之间的角度。

对于全圆,起决定性作用的是 X和 Y的正负号是什么。如果只考虑商,则用反正切只能计算 0°和 180°之间的角度。通常,这在袖珍计算器时也是如

此:正值的反正切得出一个0°和 90°之间的角度。负值的反正切得出一个90° 和 180° 之间的角度。

通过用正负号指定 Y 和 X 明确地确定了位于该角度中的四分之一圆。由此也可以计算四分之一圆 III 和 IV 中的角度。

示例:

A=ATAN2(0.5,0.5)              ;A=+45
B=ATAN2(0.5,-0.5)             ;B=+135
C=ATAN2(-0.5,-0.5)            ;C=-135
D=ATAN2(-0.5,0.5)             ;D=-45

c21b2d5a-270b-11ee-962d-dac502259ad0.png

在函数 ATAN(Y,X)中使用X 和 Y


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>