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