0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

KUKA机器人高级编程SWRITE的用法

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-03-28 10:54 次阅读

SWRITE

SWRITE 具有与 CWRITE 类似的功能和语法。但是,与 CWRITE 不同的是,SWRITE 不会将数据写入通道,而是写入 CHAR 数组。

SWRITE 可以与 CWRITE 结合在程序中。好处:

lCWRITE 可以限制为将数据写入通道。SWRITE 可以执行更复杂的格式化任务。这使得程序更加灵活。

lCWRITE 最多可以处理 10 个变量。结合多个SWRITE语句,可以写入10多个变量的数据。

SWRITE 触发提前运行停止。

SWRITE (String, State, OFFSET , Format, Var1 <, var10="">)

String: Type: CHAR[]

Var 变量的格式化内容被写入字符串。

State:Type: STATE_T

自动返回到 WRITE 的状态

OFFSET : Type: INT

SWRITE 在字符串中开始写入的位置。如果要从头开始写入,则偏移量必须设置为 0。

例如:

OFFSET=0 : SWRITE 从第一个位置开始写入。

OFFSET=2 : SWRITE 从第三个位置开始写入。位置 1 和 2 被忽略。

偏移量在写入期间递增。如果在另一个 SWRITE 语句的情况下,要从第一个位置重新开始写入,则必须在此语句之前将偏移量设置为 0。否则,将接受前一条语句的增量偏移量。

Format: Type: CHAR[]

在将 Var 变量写入字符串之前转换它们。必须为每个 Var 变量指定格式.

Var:

其数据写入字符串的变量。每个语句最多可以有 10 个变量。

例如:

体现出报警信息

OFFSET=0

SWRITE(user_msg.msg_TXT[],ST_AUSG,OFFSET,"Totzeit Achse%d nach Testlauf= %d *12ms ",(EaxNum+6), TotzeitNeu)

Format :CWRITE/SWRITE 的“格式”变量

CWRITE 或 SWRITE 的格式规范具有以下结构:“ %U”

格式化字符。可选的。

多个格式字符可以应用于一个格式。

格式化字符 描述
+ 转换后的值总是以符号开头:正值带 +,负值带 -。
如果不使用此格式化字符,则正值不带符号表示,负值用 - 表示。
- 转换后的值左对齐。
# 在格式 x 中,每个不等于 0 的值都以 0 开头。
在格式 e、f 和 g 中,总是插入小数点。
0 转换后的值前面加上零以构成最小宽度 W。
[Space] 在格式 d、e、f、g 或 i 中,转换后的参数前面有一个空格。
* 格式 c 和 r 并不总是正确解释数据字符串中的空格。为避免误解,可以对空格使用带星号 (*) 的特殊格式规范。
因此,以该字符开头的格式不再对应于 Var 变量之一,而是对应于数据字符串中的空格。

要输出的最小位置数。可选的。

小数点被视为有助于弥补最小数字,前置符号则不然。为了达到最小数量,在末尾添加零字节(以小端格式)。必要时可以超过最小数量。

例子:

„ VAR=1.56

"%+8.4d", VAR

结果: _ _ + 1 . 5 6 0 0

VAR=125.568

"%+8.4d", VAR

结果: + 1 2 5 . 5 6 8 0

如果宽度指定为 0x,这意味着要输出的位置用零填充。

例子:

„ VAR=1

"%+04d", VAR

Result: + 0 0 0 1

与不带0的规格相比:

„ "%+4d", VAR

Result: _ _ _ + 1

如果未指定宽度,则使用以下默认宽度:

INT, REAL, ENUM: 4 bytes

BOOL, CHAR: 1 byte

精度规格

r 在数组的情况下: 要表示的数组元素数.

e, f:要表示的数组元素数.

G: 有效数字位数

S: 表示的最大字符数

所有其他格式: 要表示的字符数。如果源值包含更多字符,则会被截断或四舍五入。

对于大多数数据类型,有几种允许的格式,例如 "%s" 和 "%1.r" 用于 CHAR 数组。需要选择哪种格式取决于伙伴控制器发送或接收数据的方式。

在数组的情况下,规范“Z”可用于定义要考虑的数组元素的数量。如果没有为“Z”指定值,则考虑所有数组元素。然而,该过程在第一个未初始化的值处中止。一个例外是格式 r。在这种情况下,该过程不会中止。相反,为尚未初始化的变量或数组元素输出随机值。

460796c0-ae0f-11ec-aa7f-dac502259ad0.png

4619a4f0-ae0f-11ec-aa7f-dac502259ad0.png

数据类型 BOOL

每个不等于零的值都转换为 TRUE

数据类型枚举

系统检查该值是否为允许的 ENUM 值。如果不是,则中止读取。第一个 ENUM 常量的值为 1。

数组的格式规范

如果没有足够的可用数据来满足格式规范(例如“%2.5r”,但仅存在 7 个字节),则不会读取此格式的任何内容并中止 CREAD 语句。被忽略的数据仍然可供读取。

格式 %r

只读取变量所能容纳的字节数。其余的仍然可以阅读。如果数组足够大但字节数不是数组元素大小的倍数,则冗余字节仍可用于读取(对于以下格式或下一个 CREAD 语句)。

463276a6-ae0f-11ec-aa7f-dac502259ad0.png

4646147c-ae0f-11ec-aa7f-dac502259ad0.png

转换示例:

例子1

整数变量 VI 的值以十进制和十六进制 ASCII 表示法传输。第一个 CWRITE 语句传输字符 123。第二个 CWRITE 语句传输字符 7B。

INT VI

VI=123

CWRITE(HANDLE,SW_T,MW_T,"%d",VI)

CWRITE(HANDLE,SW_T,MW_T,"%x",VI)

例子2

整数变量 VI 的值以二进制表示法传输:

INT VI

VI=123

CWRITE(HANDLE,SW_T,MW_T,"%r",VI)

例子3

传输数组的所有数组元素:

REAL VR[10]

CWRITE(HANDLE,SW_T,MW_T,"%r",VR[])

使用“%r”格式时,系统不会检查变量或数组元素是否已初始化。为尚未初始化的数组元素传输随机值。

例子4

数组的前五个数组元素以二进制表示法传输:

REAL VR[10]

CWRITE(HANDLE,SW_T,MW_T,"%.5r",VR[])

20 个字节以二进制表示法传输。

例子5

传输直到第一个未初始化元素的所有数组元素:

CHAR VS[100]

CWRITE(HANDLE,SW_T,MW_T,"%s",VS[])

例子6

传输前 50 个数组元素:

CHAR VS[100]

CWRITE(HANDLE,SW_T,MW_T,"%s",VS[])

例子7

ENUM 常量的内部值以 ASCII 符号传输。对应号码转:

DECL ENUM_TYP E

CWRITE(HANDLE,SW_T,MW_T,"%d",E)

例子8

两个 REAL 值与附加文本一起传输:

REAL V1,V2

V1=3.97

V2=-27.3

CWRITE(...,...,...,"value1=%+#07.3f value2=+#06.2f",V1,V2)

传输以下数据:

value1=+03.970

value2=-27.30

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3439

    浏览量

    92368
  • KUKA机器人
    +关注

    关注

    4

    文章

    143

    浏览量

    8759

原文标题:KUKA机器人高级编程SWRITE的用法

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    KUKA机器人高级编程SWRITE用法案例

      SWRITE SWRITE 具有与 CWRITE 类似的功能和语法。但是,与 CWRITE 不同的是,SWRITE 不会将数据写入通道,而是写入 CHAR 数组。 SWRITE
    发表于 07-05 17:39 2540次阅读

    KUKA重型机器人

    这个是KUKA重型机器人处理和测量混凝土轨枕的视频。处理得相当精细。真心值得爱好机器者和爱国者研究研究。
    发表于 02-03 15:18

    KUKA机器人控制柜三维模型

    寻求KUKA机器人控制柜三维模型,做方案有时需要用到,大家谁有可以给我发一份吗?先谢谢了
    发表于 04-18 16:05

    KUKA机器人问题解答

    1 开机坐标系无效 世界坐标系是以枪头为基点,在这种坐标系中机器人所有的动作都是按照以枪头为顶点来完成移动,XYZ方向切割枪方向不改变,如果机器人在世界坐标系中移动,枪头也随着改变方向,那就是我们在
    发表于 07-15 07:48

    KUKA库卡机器人伺服驱动器相关型号举例

    KUKA库卡机器人伺服驱动器(Servo Drive)是KUKA运动控制的重要组成部分,被普遍应用于工业机器人及数控加工中心等自动化设备中。是用来控制伺服电机的一种控制器,其作用类似于
    发表于 09-08 16:30

    KUKA焊接机器人伺服电机常见故障及维修处理

    KUKA焊接机器人伺服电机常见故障及维修处理1、库卡机器人伺服电机的基本检查由于库卡机器人伺服电机内含有精密检测器,因此,当发生碰撞、冲击时可能会引起故障,在对库卡
    发表于 09-26 16:51

    工业机器人组成结构相关资料分享

    工业机器人是近两年机械行业最热的字眼,随着企业工业机器人的增多,很多机械工程师对于工业机器人充满了好奇。作为机器人四大家族之一的KUKA,已
    发表于 07-05 06:44

    机器人编程的区别

    在前一篇文章中讲了机器人编程的区别,但总感觉讲的比较空泛,这篇文章继续讲讲那些区别。计算机编程机器人编程最大的区别就是一个是控制虚拟的,
    发表于 09-01 07:12

    Motoman机器人离线编程

    欢迎关注Jungle的Motoman机器人离线编程专栏系列文章:Motoman机器人离线编程——Motocom32开发简介Motoman机器人
    发表于 09-07 07:33

    库卡机器人MGV电源模块维修

    KUKA库卡机器人MGV电源模块维修PH1013-2840MGV电源维修 库卡电源模块维修 机器人电源模块维修 库卡控制器维修 KUKA电源维修KU
    发表于 09-08 07:30

    KUKA机器人伺服驱动模块维修

    KUKA库卡C4机器人驱动器故障报警维修库卡机器人维修内容包括库卡机器人示教器维修,KUKA伺服驱动模块维修,库卡
    发表于 09-17 07:09

    没有有前辈用LabVIEW控制kuka机器人c2的经验?通讯是怎么做到的?

    我看NI有Robotics Toolkit for KUKA KR C2的附加包,这个怎么用啊?如何和kuka机器人建立通讯啊?是Tcp接口吗?
    发表于 10-21 20:59

    KUKA-C4机器人SWRITE函数的用法说明

    SWRITE具有与CWRITE类似的功能和语法。但是,与CWRITE不同,SWRITE不会将数据写入通道,而是写入CHAR数组。
    的头像 发表于 06-12 10:15 5241次阅读
    <b class='flag-5'>KUKA</b>-C4<b class='flag-5'>机器人</b><b class='flag-5'>SWRITE</b>函数的<b class='flag-5'>用法</b>说明

    KUKA机器人高级编程SWRITE用法

    在数组的情况下,规范“Z”可用于定义要考虑的数组元素的数量。如果没有为“Z”指定值,则考虑所有数组元素。然而,该过程在第一个未初始化的值处中止。一个例外是格式 r。在这种情况下,该过程不会中止。相反,为尚未初始化的变量或数组元素输出随机值。
    的头像 发表于 07-05 14:32 946次阅读

    KUKA机器人高级编程SWRITE的使用方法和示例

    SWRITE 具有与 CWRITE 类似的功能和语法。但是,与 CWRITE 不同的是,SWRITE 不会将数据写入通道,而是写入 CHAR 数组。
    的头像 发表于 07-08 09:07 2518次阅读
    <b class='flag-5'>KUKA</b><b class='flag-5'>机器人</b><b class='flag-5'>高级</b><b class='flag-5'>编程</b><b class='flag-5'>SWRITE</b>的使用方法和示例