SWRITE
SWRITE存在與CWRITE近似的功用跟語(yǔ)法。可是,與CWRITE分歧的是,SWRITE不會(huì)將數(shù)據(jù)寫入通道,而是寫入CHAR數(shù)組。
SWRITE可以與CWRITE聯(lián)合正在順序中。益處:
lCWRITE可以限定為將數(shù)據(jù)寫入通道。SWRITE可以履行更龐大的格式化使命。那使得順序加倍靈巧。
lCWRITE最多可以處置懲罰10個(gè)變量。聯(lián)合多個(gè)SWRITE語(yǔ)句,可以寫入10多個(gè)變量的數(shù)據(jù)。
SWRITE觸發(fā)提早運(yùn)轉(zhuǎn)終止。
SWRITE(StringStateOFFSETFormatVar1)
String:Type:CHAR[]
Var變量的格式化內(nèi)容被寫入字符串。
State:Type:STATE_T
自動(dòng)前往到WRITE的形態(tài)
OFFSET:Type:INT
SWRITE正在字符串中起頭寫入的地位。若是要從頭開(kāi)始寫入,則偏移量必需設(shè)置為0。
例如:
OFFSET=0:SWRITE從第一個(gè)地位起頭寫入。
OFFSET=2:SWRITE從第三個(gè)地位起頭寫入。地位1跟2被疏忽。
偏移量正在寫入時(shí)代遞增。若是正在另一個(gè)SWRITE語(yǔ)句的環(huán)境下,要從第一個(gè)地位從頭起頭寫入,則必需正在此語(yǔ)句之前將偏移量設(shè)置為0。不然,將接管前一條語(yǔ)句的增量偏移量。
Format:Type:CHAR[]
正在將Var變量寫入字符串之前轉(zhuǎn)換它們。必需為每一個(gè)Var變量指定格局.
Var:
其數(shù)據(jù)寫入字符串的變量。每一個(gè)語(yǔ)句最多可以有10個(gè)變量。
例如:
智能分揀機(jī)器人小黃人價(jià)格表現(xiàn)出報(bào)警信息:
OFFSET=0
SWRITE(user__TXT[]ST_AUSGOFFSET"TotzeitAchse%dnachTestlauf=%d*12ms"(EaxNum+6)TotzeitNeu)
Format:CWRITE/SWRITE的“格局”變量
CWRITE或SWRITE的格局范例存在以下布局:“%U”
格式化字符。可選的。
多個(gè)格局字符可以使用于一個(gè)格局。
格式化字符描寫+轉(zhuǎn)換后的值老是以符號(hào)開(kāi)首:正值帶+,負(fù)值帶-。若是沒(méi)有利用此格式化字符,則正值沒(méi)有帶符號(hào)默示,負(fù)值用-默示。-轉(zhuǎn)換后的值左對(duì)齊。#正在格局x中,每一個(gè)沒(méi)有即是0的值皆以0開(kāi)首。正在格局e、f跟g中,老是拔出小數(shù)點(diǎn)。0轉(zhuǎn)換后的值后面加上零以組成最小寬度W。[Space]正在格局d、e、f、g或i中,轉(zhuǎn)換后的參數(shù)后面有一個(gè)空格。*格局c跟r并沒(méi)有老是精確注釋數(shù)據(jù)字符串中的空格。為制止誤會(huì),可以對(duì)空格利用帶星號(hào)(*)的特別格局范例。是以,以該字符開(kāi)首的格局不再對(duì)應(yīng)于Var變量之一,而是對(duì)應(yīng)于數(shù)據(jù)字符串中的空格。要輸出的最小地位數(shù)。可選的。
小數(shù)點(diǎn)被視為有助于填補(bǔ)最小數(shù)字,前置符號(hào)則否則。為了到達(dá)最小數(shù)目,正在開(kāi)端增添整字節(jié)。需要時(shí)可以跨越最小數(shù)目。
分揀機(jī)器人企業(yè)例子:
?VAR=1.56
"%+8.4d"VAR
成果:__+1.5600
VAR=125.568
"%+8.4d"VAR
成果:+125.5680
若是寬度指定為0x,那意味著要輸出的地位用整添補(bǔ)。
例子:
?VAR=1
"%+04d"VAR
分揀機(jī)器人典型部件Result:+0001
與不帶0的規(guī)格比擬:
?"%+4d"VAR
Result:___+1
若是未指定寬度,則利用以下默許寬度:
INTREALENUM:4bytes
BOOLCHAR:1byte
精度規(guī)格
r正在數(shù)組的環(huán)境下:要默示的數(shù)組元素?cái)?shù).
ef:要默示的數(shù)組元素?cái)?shù).
G:有效數(shù)字位數(shù)
S:默示的最大字符數(shù)
一切其他格局:要默示的字符數(shù)。若是源值包括更多字符,則會(huì)被截?cái)嗷蛩纳嵛迦搿?/p>
關(guān)于大多數(shù)數(shù)據(jù)類型,有幾種容許的格局,例如"%s"跟"%1.r"用于CHAR數(shù)組。須要取舍哪種格局在于搭檔控制器發(fā)送或接收數(shù)據(jù)的方法。
正在數(shù)組的環(huán)境下,范例“Z”可用于界說(shuō)要思量的數(shù)組元素的數(shù)目。若是不為“Z”指定值,則思量一切數(shù)組元素。然而,該進(jìn)程正在第一個(gè)已初始化的值處中斷。一個(gè)破例是格局r。正在這類環(huán)境下,該進(jìn)程不會(huì)中斷。相反,為還沒(méi)有初始化的變量或數(shù)組元素輸出隨機(jī)值。
數(shù)據(jù)類型BOOL
每一個(gè)沒(méi)有等于零的值皆轉(zhuǎn)換為TRUE
數(shù)據(jù)類型列舉
體系搜檢該值是不是為容許的ENUM值。若是不是,則中斷讀取。第一個(gè)ENUM常量的值為1。
數(shù)組的格局范例
若是不充足的可用數(shù)據(jù)去知足格局范例(例如“%2.5r”,但僅存在7個(gè)字節(jié)),則不會(huì)讀取此格局的任何內(nèi)容并中斷CREAD語(yǔ)句。被疏忽的數(shù)據(jù)依然可供讀取。
格局%r
只讀取變量所能包容的字節(jié)數(shù)。其余的依然可以瀏覽。若是數(shù)組充足年夜但字節(jié)數(shù)不是數(shù)組元素巨細(xì)的倍數(shù),則冗余字節(jié)仍可用于讀取(關(guān)于以下格局或下一個(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(HANDLESW_TMW_T"%d"VI)
CWRITE(HANDLESW_TMW_T"%x"VI)
例子2
整數(shù)變量VI的值以二進(jìn)制表示法傳輸:
INTVI
VI=123
CWRITE(HANDLESW_TMW_T"%r"VI)
例子3
傳輸數(shù)組的一切數(shù)組元素:
REALVR[10]
CWRITE(HANDLESW_TMW_T"%r"VR[])
利用“%r”格局時(shí),體系不會(huì)搜檢變量或數(shù)組元素是不是已初始化。為還沒(méi)有初始化的數(shù)組元素傳輸隨機(jī)值。
例子4
數(shù)組的前五個(gè)數(shù)組元素以二進(jìn)制表示法傳輸:
REALVR[10]
CWRITE(HANDLESW_TMW_T"%.5r"VR[])
20個(gè)字節(jié)以二進(jìn)制表示法傳輸。
例子5
傳輸直到第一個(gè)已初始化元素的一切數(shù)組元素:
CHARVS[100]
CWRITE(HANDLESW_TMW_T"%s"VS[])
例子6
傳輸前50個(gè)數(shù)組元素:
CHARVS[100]
高速智能分揀機(jī)器人分揀機(jī)器人怎么設(shè)置CWRITE(HANDLESW_TMW_T"%s"VS[])
例子7
ENUM常量的外部值以ASCII符號(hào)傳輸。對(duì)應(yīng)號(hào)碼轉(zhuǎn):
DECLENUM_TYPE
CWRITE(HANDLESW_TMW_T"%d"E)
例子8
兩個(gè)REAL值與附加文本一路傳輸:
REALV1V2
V1=3.97
小黃人分揀機(jī)器人多少錢V2=-27.3
CWRITE(........."value1=%+#07.3fvalue2=+#06.2f"V1V2)
傳輸以下數(shù)據(jù):
value1=+03.970
value2=-27.30
審核
閃兔分揀機(jī)器人分揀機(jī)器人碼垛生產(chǎn)線自動(dòng)分揀機(jī)器人簡(jiǎn)介