CWRITE將數(shu)據寫入翻開的串行(xing)接口(kou)或加載的LD_EXT_OBJ類型的內部模塊(kuai)(kuai)。正在(zai)加載的LD_EXT_FCT類型的內部模塊(kuai)(kuai)中,CWRITE挪用一個(ge)函數(shu)。
CWRITE將下令(ling)寫入下令(ling)通道。
CWRITE觸(chu)發提早運轉(zhuan)終止。
CWRITE(Handleor$CMD,State,Mode,Format,Var1《,。..,Var10》)
Handle/$CMD
類型:INT
句柄:由COPEN傳輸到WRITE的變量,用于(yu)標識通道
$CMD:用于寫入(ru)下令(ling)通道的(de)預約義變量
State:Type:STATE_T
自(zi)動前往到(dao)WRITE的形態
Mode:Type:INT
類型:MODUS_T
寫(xie)入形(xing)式,必需初始化形(xing)式。
Format:Type:CHAR[]
正在將Var變量(liang)寫入字符串之前轉(zhuan)換它(ta)們(men)。必需為每一個Var變量(liang)指定格局(ju)。
Var:
其數(shu)據(ju)寫入字符(fu)串的變量。每一個語句最多可以有10個變量。
寫形式Mode
寫入(ru)形式(shi)由MODUS_T類型(xing)的(de)變量肯(ken)定。MODUS_T是(shi)一個預約義的(de)列舉類型(xing):
ENUMMODUS_TSYNC,ASYNC,ABS,COND,SEQ關于CWRITE,只(zhi)有SYNC跟ASYNC相(xiang)關:
快遞分揀機器人怎么做SYNC同步
一旦搭檔控(kong)制器(qi)從接收緩(huan)沖區中(zhong)掏出傳(chuan)輸(shu)的數據,則(ze)認為該(gai)語句已履行。
ASYNC異步
寫入LD_EXT_FCT類型的內部模(mo)塊(kuai)時(shi),沒有容許ASYNC形式!
以下合用(yong)于一切其他通道:一旦數據達到搭檔控制器的接收緩沖區,則(ze)認為該(gai)語句已履行。
優于SYNC:程(cheng)序執(zhi)行速率(lv)更(geng)快。
與SYNC比擬的缺陷:能(neng)夠會喪失數(shu)據。
其他代價
若是形式(shi)存在SYNC或(huo)ASYNC之外(wai)的值,則默許正在SYNC形式(shi)下(xia)履(lv)行寫入。
例如:
CWRITE($CMD,STAT,MODE,“RUN/R1/CELL程(cheng)序執行CELL順(shun)序
$CMD
經由(you)過程下令通道(dao)$CMD停止通訊(xun)
CWRITE可以經由(you)(you)過(guo)程下令通道(dao)將語(yu)句(ju)傳輸到(dao)順序解釋器。示例:經由(you)(you)過(guo)程RUN啟動順序并利(li)用STOP將其(qi)終止(zhi)。
與下(xia)令通道$CMD通訊
下令(ling)通道:啟動、終(zhong)止跟勾銷取(qu)舍順序
順序將經由過程下令通(tong)道啟動、終止跟勾銷取舍。這是(shi)經由過程SUB文(wen)件中的以下順序行來實(shi)現的。
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”)退(tui)出順序
$FLAG[3]=FALSE
ENDIF
轉換示例:
例子1
整數變(bian)量VI的值以十進(jin)制跟十六進(jin)制ASCII表示法傳輸。第一個CWRITE語句(ju)傳輸字(zi)符123。第二(er)個CWRITE語句(ju)傳輸字(zi)符7B。
INTVI
VI=123
CWRITE(HANDLE,SW_T,MW_T,“%d”,VI)
CWRITE(HANDLE,SW_T,MW_T,“%x”,VI)
例子2
整(zheng)數變(bian)量VI的值以二進(jin)制表示法傳(chuan)輸(shu):
INTVI
VI=123
CWRITE(HANDLE,SW_T,MW_T,“%r”,VI)
例子3
分揀機器人設計傳輸數(shu)組(zu)的一切數(shu)組(zu)元素:
REALVR[10]
CWRITE(HANDLE,SW_T,MW_T,“%r”,VR[])
利用“%r”格局時(shi),體系不會(hui)搜檢變量或數(shu)組元素(su)(su)是不是已初(chu)始化(hua)。為還沒有初(chu)始化(hua)的(de)數(shu)組元素(su)(su)傳輸隨機值。
例子4
數組的前五個數組元素以二進(jin)制表(biao)示法傳輸:
REALVR[10]
快遞公司分揀機器人CWRITE(HANDLE,SW_T,MW_T,“%.5r”,VR[])
20個字(zi)節以(yi)二進制表(biao)示法傳輸(shu)。
例子5
傳輸直(zhi)到(dao)第(di)一(yi)個已(yi)初始化元素(su)的一(yi)切數組元素(su):
CHARVS[100]
CWRITE(HANDLE,SW_T,MW_T,“%s”,VS[])
例子6
傳輸前(qian)50個數(shu)組元(yuan)素:
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值與附加(jia)文本一路傳輸:
REALV1,V2
V1=3.97
V2=-27.3
CWRITE(。..,。..,。..,“value1=%+#07.3fvalue2=+#06.2f”,V1,V2)
傳輸以下數據:
value1=+03.970
value2=-27.30
審核
順豐自動分揀機器人視覺分揀機器人的優點快遞公司分揀機器人