首页 >> 手游攻略

WRITEAS机器自动

大家好,今天来为大家解答WRITEAS机器自动这个问题的一些问题点,包括KUKA机器人高级编程CWRITE的用法也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

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

CWRITE将命令写入命令通道。

CWRITE触发提前运行停止。

CWRITE(Handleor$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是一个预定义的枚举类型:

ENUMMODUS_TSYNC,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文件中的以下程序行来完成的。

DECLSTATE_TSTAT

DECLMODUS_TMODE

MODE=#SYNC

...

;selectprogramA6()

;tostarttheprogramtheSTART-buttonor

;anexternalstart-signalisneeded

IF$FLAG[1]==TRUETHEN

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

$FLAG[1]=FALSE

ENDIF

;stopprogramA6()

IF$FLAG[2]==TRUETHEN

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

$FLAG[2]=FALSE

ENDIF

;cancelprogramA6()

IF$FLAG[3]==TRUETHEN

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

$FLAG[3]=FALSE

ENDIF

转换示例:

例子1

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

INTVI

VI=123

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

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

例子2

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

INTVI

VI=123

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

例子3

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

REALVR[10]

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

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

例子4

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

REALVR[10]

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

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

例子5

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

CHARVS[100]

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

例子6

传输前50个数组元素:

CHARVS[100]

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

例子7

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

DECLENUM_TYPE

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

例子8

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

REALV1,V2

V1=3.97

V2=-27.3

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

传输以下数据:

value1=+03.970

value2=-27.30

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!



本文由欣欣吧手游攻略栏目发布,感谢您对欣欣吧的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“WRITEAS机器自动

标签:
WRITEAS木马
« 上一篇 2023-10-17