CWRITE
CWRITE将数据写入翻开的串行接口或加载的LD_EXT_OBJ范例的外部模块。正在加载的LD_EXT_FCT范例的外部模块中,CWRITE挪用一个函数。
CWRITE将号令写入号令通道。
CWRITE触发提早运转截止。
CWRITE(Handleor$CMD,State,Mode,Format,Var1)
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通信
饬令通道:启动、停滞和勾销挑选顺序
顺序将经由过程饬令通道启动、停滞和勾销挑选。这是经由过程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
abb分拣机器人传输数组的一切数组元素:
垃圾分拣机器人系统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
审核
智能包裹分拣机器人湖北垃圾分拣机器人分拣机器人哪家好