SWRITE
SWRITE具有與CWRITE類(lèi)似的功能和語(yǔ)法。但是,與CWRITE不同的是,SWRITE不會(huì)將數(shù)據(jù)寫(xiě)入通道,而是寫(xiě)入CHAR數(shù)組。
SWRITE可以與CWRITE結(jié)合在程序中。好處:
lCWRITE可以限制為將數(shù)據(jù)寫(xiě)入通道。SWRITE可以執(zhí)行更復(fù)雜的格式化任務(wù)。這使得程序更加靈活。
lCWRITE最多可以處理10個(gè)變量。結(jié)合多個(gè)SWRITE語(yǔ)句,可以寫(xiě)入10多個(gè)變量的數(shù)據(jù)。
SWRITE觸發(fā)提前運(yùn)行停止。
SWRITE(String,State,OFFSET,Format,Var1)
String:Type:CHAR[]
Var變量的格式化內(nèi)容被寫(xiě)入字符串。
State:Type:STATE_T
自動(dòng)返回到WRITE的狀態(tài)
OFFSET:Type:INT
SWRITE在字符串中開(kāi)始寫(xiě)入的位置。如果要從頭開(kāi)始寫(xiě)入,則偏移量必須設(shè)置為0。
例如:
OFFSET=0:SWRITE從第一個(gè)位置開(kāi)始寫(xiě)入。
OFFSET=2:SWRITE從第三個(gè)位置開(kāi)始寫(xiě)入。位置1和2被忽略。
偏移量在寫(xiě)入期間遞增。如果在另一個(gè)SWRITE語(yǔ)句的情況下,要從第一個(gè)位置重新開(kāi)始寫(xiě)入,則必須在此語(yǔ)句之前將偏移量設(shè)置為0。否則,將接受前一條語(yǔ)句的增量偏移量。
Format:Type:CHAR[]
在將Var變量寫(xiě)入字符串之前轉(zhuǎn)換它們。必須為每個(gè)Var變量指定格式.
Var:
其數(shù)據(jù)寫(xiě)入字符串的變量。每個(gè)語(yǔ)句最多可以有10個(gè)變量。
例如:
體現(xiàn)出報(bào)警信息:
OFFSET=0
SWRITE(user__TXT[],ST_AUSG,OFFSET,"TotzeitAchse%dnachTestlauf=%d*12ms",(EaxNum+6),TotzeitNeu)
Format:CWRITE/SWRITE的“格式”變量
CWRITE或SWRITE的格式規(guī)范具有以下結(jié)構(gòu):“%U”
格式化字符??蛇x的。
多個(gè)格式字符可以應(yīng)用于一個(gè)格式。
格式化字符描述+轉(zhuǎn)換后的值總是以符號(hào)開(kāi)頭:正值帶+,負(fù)值帶-。如果不使用此格式化字符,則正值不帶符號(hào)表示,負(fù)值用-表示。-轉(zhuǎn)換后的值左對(duì)齊。#在格式x中,每個(gè)不等于0的值都以0開(kāi)頭。在格式e、f和g中,總是插入小數(shù)點(diǎn)。0轉(zhuǎn)換后的值前面加上零以構(gòu)成最小寬度W。[Space]在格式d、e、f、g或i中,轉(zhuǎn)換后的參數(shù)前面有一個(gè)空格。*格式c和r并不總是正確解釋數(shù)據(jù)字符串中的空格。為避免誤解,可以對(duì)空格使用帶星號(hào)(*)的特殊格式規(guī)范。因此,以該字符開(kāi)頭的格式不再對(duì)應(yīng)于Var變量之一,而是對(duì)應(yīng)于數(shù)據(jù)字符串中的空格。要輸出的最小位置數(shù)??蛇x的。
小數(shù)點(diǎn)被視為有助于彌補(bǔ)最小數(shù)字,前置符號(hào)則不然。為了達(dá)到最小數(shù)量,在末尾添加零字節(jié)。必要時(shí)可以超過(guò)最小數(shù)量。
例子:
?VAR=1.56
"%+8.4d",VAR
結(jié)果:__+1.5600
VAR=125.568
"%+8.4d",VAR
結(jié)果:+125.5680
如果寬度指定為0x,這意味著要輸出的位置用零填充。
例子:
?VAR=1
"%+04d",VAR
快遞分揀機(jī)器人培訓(xùn)學(xué)校Result:+0001
與不帶0的規(guī)格相比:
?"%+4d",VAR
Result:___+1
如果未指定寬度,則使用以下默認(rèn)寬度:
INT,REAL,ENUM:4bytes
BOOL,CHAR:1byte
精度規(guī)格
r在數(shù)組的情況下:要表示的數(shù)組元素?cái)?shù).
e,f:要表示的數(shù)組元素?cái)?shù).
G:有效數(shù)字位數(shù)
S:表示的最大字符數(shù)
所有其他格式:要表示的字符數(shù)。如果源值包含更多字符,則會(huì)被截?cái)嗷蛩纳嵛迦搿?/p>
對(duì)于大多數(shù)數(shù)據(jù)類(lèi)型,有幾種允許的格式,例如"%s"和"%1.r"用于CHAR數(shù)組。需要選擇哪種格式取決于伙伴控制器發(fā)送或接收數(shù)據(jù)的方式。
在數(shù)組的情況下,規(guī)范“Z”可用于定義要考慮的數(shù)組元素的數(shù)量。如果沒(méi)有為“Z”指定值,則考慮所有數(shù)組元素。然而,該過(guò)程在第一個(gè)未初始化的值處中止。一個(gè)例外是格式r。在這種情況下,該過(guò)程不會(huì)中止。相反,為尚未初始化的變量或數(shù)組元素輸出隨機(jī)值。
數(shù)據(jù)類(lèi)型BOOL
快遞分揀機(jī)器人工作原理視頻每個(gè)不等于零的值都轉(zhuǎn)換為T(mén)RUE
數(shù)據(jù)類(lèi)型枚舉
系統(tǒng)檢查該值是否為允許的ENUM值。如果不是,則中止讀取。第一個(gè)ENUM常量的值為1。
數(shù)組的格式規(guī)范
如果沒(méi)有足夠的可用數(shù)據(jù)來(lái)滿(mǎn)足格式規(guī)范(例如“%2.5r”,但僅存在7個(gè)字節(jié)),則不會(huì)讀取此格式的任何內(nèi)容并中止CREAD語(yǔ)句。被忽略的數(shù)據(jù)仍然可供讀取。
格式%r
物流中心分揀機(jī)器人只讀取變量所能容納的字節(jié)數(shù)。其余的仍然可以閱讀。如果數(shù)組足夠大但字節(jié)數(shù)不是數(shù)組元素大小的倍數(shù),則冗余字節(jié)仍可用于讀?。▽?duì)于以下格式或下一個(gè)CREAD語(yǔ)句)。
轉(zhuǎn)換示例:
例子1
整數(shù)變量VI的值以十進(jìn)制和十六進(jìn)制ASCII表示法傳輸。第一個(gè)CWRITE語(yǔ)句傳輸字符123。第二個(gè)CWRITE語(yǔ)句傳輸字符7B。
INTVI
VI=123
CWRITE(HANDLE,SW_T,MW_T,"%d",VI)
CWRITE(HANDLE,SW_T,MW_T,"%x",VI)
中國(guó)快遞分揀機(jī)器人逆天例子2
整數(shù)變量VI的值以二進(jìn)制表示法傳輸:
INTVI
VI=123
CWRITE(HANDLE,SW_T,MW_T,"%r",VI)
例子3
傳輸數(shù)組的所有數(shù)組元素:
REALVR[10]
CWRITE(HANDLE,SW_T,MW_T,"%r",VR[])
使用“%r”格式時(shí),系統(tǒng)不會(huì)檢查變量或數(shù)組元素是否已初始化。為尚未初始化的數(shù)組元素傳輸隨機(jī)值。
例子4
數(shù)組的前五個(gè)數(shù)組元素以二進(jìn)制表示法傳輸:
REALVR[10]
CWRITE(HANDLE,SW_T,MW_T,"%.5r",VR[])
20個(gè)字節(jié)以二進(jìn)制表示法傳輸。
例子5
傳輸直到第一個(gè)未初始化元素的所有數(shù)組元素:
CHARVS[100]
CWRITE(HANDLE,SW_T,MW_T,"%s",VS[])
例子6
傳輸前50個(gè)數(shù)組元素:
CHARVS[100]
CWRITE(HANDLE,SW_T,MW_T,"%s",VS[])
例子7
ENUM常量的內(nèi)部值以ASCII符號(hào)傳輸。對(duì)應(yīng)號(hào)碼轉(zhuǎn):
DECLENUM_TYPE
CWRITE(HANDLE,SW_T,MW_T,"%d",E)
例子8
兩個(gè)REAL值與附加文本一起傳輸:
REALV1,V2
V1=3.97
V2=-27.3
CWRITE(...,...,...,"value1=%+#07.3fvalue2=+#06.2f",V1,V2)
傳輸以下數(shù)據(jù):
value1=+03.970
value2=-27.30
審核
廣州分揀機(jī)器人使用說(shuō)明并聯(lián)分揀機(jī)器人多少錢(qián)分揀機(jī)器人涉及領(lǐng)域