SWRITE
SWRITE具有取CWRITE類似的功用和語法。可是,取CWRITE沒有同的是,SWRITE沒有會將數據寫入通道,反而是寫入CHAR數組。
SWRITE能夠取CWRITE結合在步伐中。優點:
lCWRITE能夠限制為將數據寫入通道。SWRITE能夠施行更龐大的格式化使命。這使得步伐愈加靈敏。
lCWRITE最多能夠處置10個變量。連系多個SWRITE語句,能夠寫入10多個變量的數據。
SWRITE觸發提早運轉截止。
SWRITE(String,State,OFFSET,Format,Var1)
String:Type:CHAR[]
Var變量的格式化內容被寫入字符串。
State:Type:STATE_T
主動返回到WRITE的狀況
OFFSET:Type:INT
SWRITE正在字符串中起頭寫入的位置。假如要從頭起頭寫入,則偏移量必需設置為0。
比方:
OFFSET=0:SWRITE由第一個位置入手下手寫入。
OFFSET=2:SWRITE由第三個位置起頭寫入。位置1和2被疏忽。
偏移量正在寫入時期遞增。如果正在另一個SWRITE語句的情況下,要從第一個位置重新開始寫入,則必需正在此語句之前將偏移量設置為0。不然,將接受前一條語句的增量偏移量。
Format:Type:CHAR[]
正在將Var變量寫入字符串之前轉換它們。必需為每一個Var變量指定花樣.
Var:
其數據寫入字符串的變量。每一個語句最多能夠有10個變量。
比方:
體現出報警信息:
OFFSET=0
SWRITE(user__TXT[],ST_AUSG,OFFSET,"TotzeitAchse%dnachTestlauf=%d*12ms",(EaxNum+6),TotzeitNeu)
Format:CWRITE/SWRITE的“花樣”變量
CWRITE或SWRITE的花樣標準具有以下構造:“%U”
格式化字符。可選的。
多個花樣字符能夠應用于一個花樣。
要輸出的最小位置數。可選的。
小數點被視為有助于填補最小數字,前置標記則否則。為了到達最小數目,正在末端增加零字節。必要時能夠跨越最小數目。
例子:
?VAR=1.56
"%+8.4d",VAR
后果:__+1.5600
VAR=125.568
"%+8.4d",VAR
成果:+125.5680
假如寬度指定為0x,這意味著要輸出的位置用零添補。
例子:
?VAR=1
分揀機器人設計說明"%+04d",VAR
Result:+0001
取不帶0的規格相比:
?"%+4d",VAR
Result:___+1
假如未指定寬度,則運用以下默許寬度:
INT,REAL,ENUM:4bytes
BOOL,CHAR:1byte
精度規格
r正在數組的情況下:要默示的數組元素數.
e,f:要透露表現的數組元素數.
G:有用數字位數
S:示意的最大字符數
一切其他花樣:要表現的字符數。若是源值包括更多字符,則會被截斷或四舍五入。
關于大多數據類型,有幾種答應的花樣,比方"%s"和"%1.r"適用于CHAR數組。需求挑選哪類花樣取決于火伴控制器發送或接納數據的體式格局。
正在數組的情況下,標準“Z”可適用于界說要思索的數組元素的數目。若是沒有為“Z”指定值,則思索全部數組元素。然而,該進程正在第一個未初始化的值處中斷。一個破例是花樣r。正在這類情況下,該進程不容易中斷。相反,為還沒有初始化的變量或數組元素輸出隨機值。
數據類型BOOL
每一個不等于零的值皆轉換為TRUE
數據類型列舉
分揀機器人國外閃兔分揀機價格體系查抄該值是并不是為答應的ENUM值。若是并不是,則中斷讀取。第一個ENUM常量的值為1。
廣州食品包裝分揀機器人廠家數組的花樣范例
若是沒有充足的可以用數據來知足花樣范例(比方“%2.5r”,但僅存在7個字節),則不容易讀取此花樣的任何內容并中斷CREAD語句。被疏忽的數據仍舊可供讀取。
花樣%r
只讀取變量所能容納的字節數。其他的仍舊能夠瀏覽。若是數組足夠大但字節數不論是數組元素巨細的倍數,則冗余字節仍可適用于讀取(關于以下花樣或下一個CREAD語句)。
轉換示例:
例子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
傳輸數組的一切數組元素:
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
審核
物料分揀機器人零件圖分揀機器人工作分解自動分揀機器人充電