历史上的今天

今天是:2026年03月08日(星期日)

2023年03月08日 | KUKA机器人高级编程CWRITE的用法V3.1

发布者:JoyfulJourney 来源: 机器人及PLC自动化应用作者: Lemontree 手机看文章 扫描二维码
随时随地手机看文章

CWRI

CWRITE 将数据写入打开的串行接口或加载的 LD_EXT_OBJ 类型的外部模块。在加载的 LD_EXT_FCT 类型的外部模块中,CWRITE 调用一个函数。

CWRITE 将命令写入命令通道。

CWRITE 触发提前运行停止。

CWRITE ( Handle or $CMD, State, Mode, Format, Var1 <, ..., Var10>)

Handle/$CMD

类型:INT

句柄:由 COPEN 传输到 WRITE 的变量,用于标识通道

$CMD:用于写入命令通道的预定义变量

State:Type: STATE_T

自动返回到 WRITE 的状态

Mode : Type: INT

类型:MODUS_T

写入模式, 必须初始化模式。

Format: Type: CHAR[]

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

Var:

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

写模式Mode

写入模式由 MODUS_T 类型的变量确定。MODUS_T 是一个预定义的枚举类型:

ENUM MODUS_T SYNC, ASYNC, ABS, COND, SEQ 对于 CWRITE,只有 SYNC 和 ASYNC 相关:

SYNC同步

一旦伙伴控制器从接收缓冲区中取出传输的数据,则认为该语句已执行。

ASYNC异步

写入 LD_EXT_FCT 类型的外部模块时,不允许 ASYNC 模式!

以下适用于所有其他通道:一旦数据到达伙伴控制器的接收缓冲区,则认为该语句已执行。

  • 优于 SYNC:程序执行速度更快。

  • 与 SYNC 相比的缺点:可能会丢失数据。

其他价值

如果模式具有 SYNC 或 ASYNC 以外的值,则默认在 SYNC 模式下执行写入。

例如:

CWRITE($CMD,STAT,MODE,"RUN /R1/CELL ()")程序执行CELL程序

$CMD

通过命令通道$ CMD进行

CWRITE可以通过命令通道将语句传输到程序解释器。示例:通过RUN启动程序并使用STOP将其停止。

与命令通道$ CMD通信

命令通道:启动、停止和取消选择程序

程序 A6.SRC 将通过命令通道启动、停止和取消选择。这是通过 SUB 文件中的以下程序行来完成的。

DECL STATE_T STAT

DECL MODUS_T MODE

MODE=#SYNC

...

;select prog A6()

;to start the program the START-button or

;an external start-signal is needed

IF $FLAG[1]==TRUE THEN

CWRITE($CMD,STAT,MODE,"RUN/R1/A6()")运行程序

$FLAG[1]=FALSE

ENDIF

;stop program A6()

IF $FLAG[2]==TRUE THEN

CWRITE($CMD,STAT,MODE,"STOP 1")程序停止

$FLAG[2]=FALSE

ENDIF

;cel program A6()

IF $FLAG[3]==TRUE THEN

CWRITE($CMD,STAT,MODE,"CANCEL 1") 退出程序

$FLAG[3]=FALSE

ENDIF

转换示例:

例子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 [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

CWRITE和命令界面

CELL.SRC可通过CWRITE语句和RUN从SPS.SUB程序中选择。呼叫仅在冷启动时生效。

CWRITE可以通过命令通道$CMD将语句传输到解释器。除了口译员和系统提交外,扩展提交也可在多提交模式下用于此目的。

与单一提交模式相比,以下命令的含义发生了变化:

  • RUN[口译员ID]

  • STOP[口译员ID]

  • 重置[口译员ID]

  • 取消[口译员ID]

口译员ID:

0:所有提交口译员

1:机器人翻译

2:系统提交解释器

3:扩展提交解释器1

4:扩展提交解释器2

9:扩展提交解释器7

此外,RUN还扩展了可选元素[>口译员ID]。 CWRITE ($CMD, STAT, MODE, "RUN/R1/CELL()") 单次提交模式下的行为: 启动程序CELL()。由于CELL()是一个SRC程序,因此它在机器人解释器中启动。 多提交模式下的行为: 与单次提交模式相同。该程序行可用于系统提交或扩展提交。 CWRITE ($CMD, STAT, MODE, "RUN/R1/SPS()") 单次提交模式下的行为: 启动程序SPS()。由于SPS()是一个SUB程序,它在系统提交解释器中启动(=仅在单次提交模式下提交解释器)。 多提交模式下的行为: 启动程序SPS()。由于SPS()是SUB程序,它在系统提交解释器中启动。

CWRITE ($CMD, STAT, MODE, "STOP 0")

这个程序行只在机器人程序中有意义。 单次提交模式下的行为: 停止系统提交解释器。 多提交模式下的行为: 停止所有正在运行的提交解释器。

CWRITE ($CMD, STAT, MODE, "CANCEL 0")

单次提交模式下的行为: 取消选择系统提交解释器。 多提交模式下的行为: 取消选择所有提交的口译员。 CWRITE ($CMD, STAT, MODE, "RUN/R1/MySubProg() > 5")

在单次提交模式下不允许使用此语句。

多提交模式下的行为: 如果MySubProg()是SUB程序,它将从扩展的submit 3开始。 该程序行可用于其他提交解释器或机器人程序。


审核编辑 :李倩


引用地址:KUKA机器人高级编程CWRITE的用法V3.1

上一篇:WorkVisual将机器人控制系统配给实际应用的机器人控制系统步骤
下一篇:朱老师出新书了!!《ROS机器人编程零基础入门》

推荐阅读

  据彭博社报道,增强现实(AR)设备生产商Magic Leap本周三宣布,该公司获得了4.61美元的融资,其中大部分资金来自沙特阿拉伯财富基金(Public Investment Fund)领投。本次融资是Magic Leap最新一轮融资的第二部分,第一部分在去年10月完成,投资方为新加坡国有投资公司淡马锡(Temasek Holdings Pte.)。  截止到目前为止,Magic Leap的总融...
采用8MHz 外部HSE 时钟,程序的时钟设置参数流程如下: 1.将 RCC 寄存器重新设置为默认值:RCC_DeInit(); 2.打开外部高速时钟晶振 HSE :RCC_HSEConfig(RCC_HSE_ON); 3.等待外部高速时钟晶振工作: HSEStartUpStatus = RCC_WaitForHSEStartUp(); 4.设置 AHB 时钟 (HCLK) :RCC_HCLKConfig(RCC_S...
现在全景天窗几乎成为家用车的主流的配置,但有没有想过假如翻车时全景天窗的玻璃破碎后,车内人员有可能会被抛出车外。现代(Hyundai’s)汽车就研发出第一个在全景天窗使用的安全气囊,在翻车前就快速展开,通过一个充气的保护垫将天窗的玻璃开口全覆盖,即使在翻车时也能保证车内人员不会被抛出车外。这一项新技术已经正在申请专利技术,计划未来使用在...
曾经拒绝收购特斯拉的苹果,最终还是入了造车的“坑”。继特斯拉之后,苹果再次掀起了传统汽车行业的波澜,这也让国内外车企的危机意识愈加强烈。来自汽车行业的陈虹代表,对苹果造车已经做了不少“功课”。在他看来,未来的苹果汽车将拥有一流的大数据应用能力,超强的人工智能水平,与生态系统相连接的操作系统,以及最完整的供应链系统。形势逼人,不仅...

史海拾趣

小广播
最新机器人文章
厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关:

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved