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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-07-08 09:07 次阅读

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”

格式化字符。可选的。

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

pYYBAGLHg5uAEk4uAABNKKjk9QI412.png

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

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

例子:

„ 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。在这种情况下,该过程不会中止。相反,为尚未初始化的变量或数组元素输出随机值。

ff9db25e-fde7-11ec-ba43-dac502259ad0.png

ffad04d4-fde7-11ec-ba43-dac502259ad0.png

数据类型 BOOL

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

数据类型枚举

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

数组的格式规范

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

格式 %r

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

ffbcb23a-fde7-11ec-ba43-dac502259ad0.png

ffcd54dc-fde7-11ec-ba43-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

在大众版本内的设置事例

SWRITE(USER_MSG.MSG_TXT[],stat,offset,"EKI:DatensatzB X=%7.2f,Y=%7.2f,Z=%7.2f,A=%7.2f,B=%7.2f,C=%7.2f ",EKI_B.X,EKI_B.Y,EKI_B.Z,EKI_B.A,EKI_B.B,EKI_B.C)

将多个浮点数据写入在USER_MSG.MSG_TXT[]字符串里.

SWRITE(USER_MSG.MSG_txt[],STATE, OFFSET, "TCP alt X=%.1F Y=%.1F Z=%.1F",TOOL_DATA[COR_TOOL_NO].x,TOOL_DATA[COR_TOOL_NO].y,TOOL_DATA[COR_TOOL_NO].z)

将TOOL_DATA的数据写入到字符串USER_MSG.MSG_txt[]里,用来显示TCP.

通过SWRITE的功能我们就可以实现了浮点数存入到字符串的功能.

SWRITE(USER_MSG.MSG_TXT[],STATE,OFFSET,"%s %s",sMeldFunction[],USER_MSG.MSG_TXT[])

将字符串写入到USER_MSG.MSG_TXT[]字符串里

ffda7bee-fde7-11ec-ba43-dac502259ad0.jpg

通过SWRITE功能我实现了历史的突破!

审核编辑:郭婷

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

    关注

    210

    文章

    28239

    浏览量

    206647
  • 数据
    +关注

    关注

    8

    文章

    6914

    浏览量

    88850

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

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

收藏 人收藏

    评论

    相关推荐

    欧姆龙协作机器人TM25S可使用多种方法进行编程

    欧姆龙协作机器人TM25S操作简便,可使用多种方法进行编程,包括手动引导、流程图编程以及手动脚本编写。   先进的手动引导体验 使用内置手动引导功能可对应用进行
    的头像 发表于 11-25 16:36 183次阅读
    欧姆龙协作<b class='flag-5'>机器人</b>TM25S可使用多种<b class='flag-5'>方法</b>进行<b class='flag-5'>编程</b>

    协作机器人拽拖示教详解

          协作机器人的拖动示教是一种简化机器人编程方法,通过人类操作员直接引导机器人进行任务执行,而无需进行复杂的
    的头像 发表于 10-23 15:52 137次阅读

    工业机器人编程流程及注意事项

    工业机器人在现代制造业中扮演着越来越重要的角色。它们不仅提高了生产效率,还提升了产品质量和一致性。编程是使工业机器人能够执行特定任务的关键步骤。 1. 需求分析 在开始编程之前,首先需
    的头像 发表于 09-04 09:40 816次阅读

    工业机器人常用的编程方式

    工业机器人编程是确保机器人能够执行特定任务的关键步骤。编程方式多种多样,每种方式都有其特定的应用场景和优势。 工业机器人
    的头像 发表于 09-04 09:26 610次阅读

    工业机器人的四种编程(示教编程、离线编程、自增强现实编程编程)剖析!

    当前机器人广泛应用于焊接、装配、搬运、喷漆及打磨等领域,任务的复杂程度不断增加,而用户对产品的质量、效率的追求越来越高。在这种形式下,机器人编程方式、编程效率和质量显得越来越重要。降
    的头像 发表于 08-30 12:14 1908次阅读
    工业<b class='flag-5'>机器人</b>的四种<b class='flag-5'>编程</b>(示教<b class='flag-5'>编程</b>、离线<b class='flag-5'>编程</b>、自增强现实<b class='flag-5'>编程</b>主<b class='flag-5'>编程</b>)剖析!

    Al大模型机器人

    金航标kinghelm萨科微slkor总经理宋仕强介绍说,萨科微Al大模型机器人有哪些的优势?萨科微AI大模型机器人由清华大学毕业的天才少年N博士和王博士团队开发,与同行相比具有许多优势:语言
    发表于 07-05 08:52

    abb机器人系统密钥在哪

    ABB机器人系统密钥是ABB机器人系统中用于保护其知识产权和确保系统安全性的一种技术手段。本文将详细介绍ABB机器人系统密钥的相关知识,包括其定义、作用、获取方式、使用方法以及注意事项
    的头像 发表于 06-17 09:45 1277次阅读

    工业机器人仿真软件有哪些

    功能强大的机器人仿真和离线编程软件,支持多种机器人品牌,如Fanuc、KUKA、ABB等。它提供了丰富的工具,如3D可视化、碰撞检测、路径优化等。 CoppeliaSim (前称V-R
    的头像 发表于 06-17 09:34 3601次阅读

    abb机器人home点设置方法

    ABB机器人的home点设置是机器人编程和操作中非常重要的一环,它关系到机器人的精度和稳定性。本文将详细介绍ABB机器人home点设置的
    的头像 发表于 06-17 09:27 2913次阅读

    abb工业机器人编程语言是什么

    ABB工业机器人编程语言主要是RAPID(Robot Application Programming Interface for Development),它是一种高级编程语言,专门
    的头像 发表于 06-16 16:49 2403次阅读

    Kuka机器人配置Profinet通讯网关HT3S-PNS-ECS

    Kuka机器人配置Profinet通讯网关HT3S-PNS-ECS
    的头像 发表于 06-13 15:52 654次阅读
    <b class='flag-5'>Kuka</b><b class='flag-5'>机器人</b>配置Profinet通讯网关HT3S-PNS-ECS

    编程电源使用方法

    编程电源使用方法编程电源使用方法 摘要:本文详细介绍了可编程电源的使用方法,包括其基本概念
    的头像 发表于 06-10 15:29 924次阅读

    ABB机器人拓展其免费的Wizard简易编程软件的应用范围

    近日,ABB机器人拓展了其免费的Wizard简易编程软件的应用范围,除了协作机器人外,现在该软件也可应用于由OmniCore™控制器驱动的六轴工业机器人
    的头像 发表于 01-09 09:46 994次阅读
    ABB<b class='flag-5'>机器人</b>拓展其免费的Wizard简易<b class='flag-5'>编程</b>软件的应用范围

    LabVIEW的六轴工业机器人运动控制系统

    。LabVIEW的可视化编程环境和强大的数据处理能力,使得复杂的运动学算法和轨迹规划得以顺利实现,显著提高了工业机器人的控制精度和效率。 ​ 这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息
    发表于 12-21 20:03

    工业机器人产业发展及应用现状

    机器人(Robot)是一种能够半自主或全自主工作的智能机器机器人能够通过编程和自动控制来执行诸如作业或移动等任务。根据制造目的的不同, 机器人
    发表于 12-21 16:07 1441次阅读
    工业<b class='flag-5'>机器人</b>产业发展及应用现状