CWRITE
CWRITE將數據寫入翻開的串行接口或加載的LD_EXT_OBJ范例的外部模塊。正在加載的LD_EXT_FCT范例的外部模塊中,CWRITE挪用一個函數。
CWRITE將號令寫入號令通道。
CWRITE觸發提早運轉截止。
CWRITE(Handleor$CMD,State,Mode,Format,Var1)
Handle/$CMD
范例:INT
句柄:由COPEN傳輸到WRITE的變量,適用于標識通道
$CMD:適用于寫入下令通道的預界說變量
State:Type:STATE_T
主動返回到WRITE的狀況
Mode:Type:INT
范例:MODUS_T
寫入形式,必需初始化形式。
Format:Type:CHAR[]
正在將Var變量寫入字符串之前轉換它們。必需為每一個Var變量指定花樣.
Var:
其數據寫入字符串的變量。每一個語句最多能夠有10個變量。
寫形式Mode
寫入形式由MODUS_T范例的變量肯定。MODUS_T是一個預界說的列舉范例:
ENUMMODUS_TSYNC,ASYNC,ABS,COND,SEQ關于CWRITE,只有SYNC和ASYNC相干:
SYNC同步
一旦同伴控制器由吸收緩沖區中掏出傳輸的數據,則以為該語句已實行。
ASYNC異步
寫入LD_EXT_FCT范例的外部模塊時,不允許ASYNC形式!
以下適用于全部其他通道:一旦數據抵達同伴控制器的接納緩沖區,則以為該語句已履行。
優于SYNC:順序施行速度更快。
取SYNC相比的錯誤謬誤:可能會喪失數據。
其他價值
若是形式具有SYNC或ASYNC以外的值,則默許正在SYNC形式下施行寫入。
比方:
CWRITE($CMD,STAT,MODE,"RUN/R1/CELL()")順序施行CELL順序
$CMD
根據號令通道$CMD開展通信
CWRITE能夠經過飭令通道將語句傳輸到步伐詮釋器。示例:經過RUN啟動步伐并利用STOP將其中斷。
取敕令通道$CMD通信
飭令通道:啟動、停滯和勾銷挑選順序
順序將經由過程飭令通道啟動、停滯和勾銷挑選。這是經由過程SUB文件中的以下順序行來完成的。
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")退出順序
$FLAG[3]=FALSE
ENDIF
轉換示例:
例子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
abb分揀機器人傳輸數組的一切數組元素:
垃圾分揀機器人系統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
審核
智能包裹分揀機器人湖北垃圾分揀機器人分揀機器人哪家好