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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-07-06 11:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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”

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

pYYBAGLFB6SAW_GTAABOThLzYng716.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: 表示的最大字符数

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

转换字符是格式变量的一个组成部分。

表中列出的转换字符是允许的。它们对应于编程语言 C 中 fprintf() 函数的格式化字符。不支持 fprintf() 中的字符 o、p、n、u 和 [list]。

带有转换字符的大写和小写字母没有区别。布尔值输出为 0 或 1,ENUM 常量输出为数字。

c 需要一个单字符参数;然后将其作为 ASCII 字符处理。不能为带有转换字符 c 的格式指定宽度 W。

d 整数表示为小数。

e 指数符号。参数被转换为格式 [-]m.nnnnnnxx 。format 中的第二个字符串指定小数点右侧的位数。

f 小数点表示。参数以 [-]mm.nnnnnn 格式表示。format 中的第二个字符串指定小数点右侧的位数。

g 使用 %e 或 %f 执行格式化,具体取决于哪种格式允许更短的表示。

i 整数表示为小数。

r 将其变量的值不转换为 ASCII,而是转换为二进制表示法。使用 %r 格式,系统不会检查变量或数组元素是否已初始化。

s 表示一个字符串。

x 十六进制表示法。表示以 16 为基数的参数。

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

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

79232304-fc6a-11ec-ba43-dac502259ad0.png

79390cb4-fc6a-11ec-ba43-dac502259ad0.png

数据类型 BOOL

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

数据类型枚举

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

数组的格式规范

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

格式 %r

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

79509276-fc6a-11ec-ba43-dac502259ad0.png

796548d8-fc6a-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[]字符串里

7982f3ec-fc6a-11ec-ba43-dac502259ad0.jpg

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


审核编辑:郭婷

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

    关注

    213

    文章

    31418

    浏览量

    223597
  • 编程语言
    +关注

    关注

    10

    文章

    1965

    浏览量

    39859

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么说关节扭矩传感器是高端机器人的“触觉神经”?

    如果把高端机器人比作一个“”,那么关节扭矩传感器就是遍布全身的“触觉神经”。没有它,机器人就像得了末梢神经麻痹——能按程序动,却感受不到外界的力量,动作僵硬、笨拙,甚至危险。 核心原因:让
    发表于 04-17 17:27

    EtherCAT转PROFINET网关:助力KUKA机器人实现“焊”装自由!

    EtherCAT转PROFINET网关:助力KUKA机器人实现“焊”装自由! 在追求极致效率与精度的现代汽车焊装车间,实现车身总拼、地板总成、四门两盖等核心工序的100%自动化,已成为衡量制造水平
    的头像 发表于 10-31 14:04 303次阅读

    RK3576机器人核心:三屏异显+八路摄像头,重塑机器人交互与感知

    瑞芯微RK3576 AIoT处理器处理器凭借其卓越的多屏异显与8路摄像头接入能力,为机器人领域带来革新。米尔电子MYD-LR3576开发板实测数据显示,在高负载下CPU占用仅34%,完美实现多路视觉
    发表于 10-29 16:41

    小萝卜机器人的故事

    经过我的申请, 马老师发放了, 小萝卜机器人的, 开发权限, 原来的小萝卜公司, 因为经营不善倒闭, 作为科研产品, 几个技术对此惋惜, 自掏腰包, 要让小萝卜机器人, 再生, 每次听到小萝卜说
    发表于 10-23 05:24

    什么是机器人?追溯机器人技术的演变和未来

    的定义。机器人的定义,真如表面看起来那么简单直白?还是比我们所认为的更为复杂呢? 从本质上讲,机器人是一种可编程机器,能够感知、处理信息,并自主或在一定程度的人工指令引导下执行任务。与
    的头像 发表于 10-02 16:32 5645次阅读
    什么是<b class='flag-5'>机器人</b>?追溯<b class='flag-5'>机器人</b>技术的演变和未来

    机器人竞技幕后:磁传感器芯片激活 “精准感知力”

    2025 世界人形机器人运动会于 8 月 17 日圆满收官,赛场上机器人在跑步、跳跃、抓取等项目中的精彩表现,背后是运动控制、环境感知等技术的迭代升级。而在这些技术中,磁传感器芯片凭借独特优势,成为
    发表于 08-26 10:02

    机器人芯片:智能机器的“大脑”与未来趋势

    、低功耗和强适应性的方向演进,推动机器人应用迈向更广阔的领域。   机器人芯片的关键作用    机器人芯片主要包括中央处理器(CPU)、图形处理器(GPU)、神经网络处理器(NPU)和现场可
    的头像 发表于 07-31 13:43 1338次阅读

    工业机器人的特点

    的基础,也是三者的实现终端,智能制造装备产业包括高档数控机床、工业机器人、自动化成套生产线、精密仪器仪表、智能传感器、汽车自动化焊接线、柔性自动化生产线、智能农机、3D 打印机等领域。而智能制造装备中工业
    发表于 07-26 11:22

    松下机器人示教编程教学课件资料

    松下机器人示教编程教学课件(新)
    发表于 06-11 17:23 1次下载

    轮式移动机器人电机驱动系统的研究与开发

    【摘 要】以嵌入式运动控制体系为基础,以移动机器人为研究对象,结合三轮结构轮式移动机器人,对二轮差速驱动转向自主移动机器人运动学和动力学空间模型进行了分析和计算,研究和设计了自主移动机器人
    发表于 06-11 14:30

    盘点#机器人开发平台

    地瓜机器人RDK X5开发套件地瓜机器人RDK X5开发套件产品介绍 旭日5芯片10TOPs算力-电子发烧友网机器人开发套件 Kria KR260机器人开发套件 Kria KR260-
    发表于 05-13 15:02

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    部署,详细介绍了基于颜色阈值和深度学习的巡线方法。 二维码识别则广泛应用于机器人定位与任务触发,例如AGV(自动导引车)的路径规划。 深度学习在机器人视觉中的崛起 书中重点介绍了YOLO目标检测和深度学习
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    ROS的全称:Robot Operating System 机器人操作系统 ROS的 目的 :ROS支持通用库,是通信总线,协调多个传感器 为了解决机器人里各厂商模块不通用的问题,让机器人快速开发
    发表于 04-30 01:05

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    《ROS 2智能机器人开发实践》内容阅读初体验 《ROS 2 智能机器人开发实践》是一本针对 ROS 2(Robot Operating System 2)这一先进机器人开发框架的实用指南。随着
    发表于 04-27 11:24

    什么是机器人?追踪机器人技术的发展和未来

    是一个可编程机器,能够感知,处理信息,并自主或在一定程度上的人类指导下执行任务。与传统工具不同,机器人可以适应周围环境,并经常执行重复或危险的工作,让我们有时间从事更具创造性的工作。有一种常见的误解,即
    的头像 发表于 04-24 19:21 4937次阅读