天天看點

昆侖通态MCGSPRO序列槽接收工具一.示範和用途二.驅動代碼

昆侖通态MCGSPRO序列槽接收工具

  • 一.示範和用途
  • 二.驅動代碼

一.示範和用途

用途:用于調試序列槽接收資料的正确性

昆侖通态MCGSPRO序列槽接收工具一.示範和用途二.驅動代碼

二.驅動代碼

'———————————————————————
'驅動腳本:采集函數腳本,MCGS将定時調用這個函數
'這個函數需要完成從裝置擷取資料,并将資料根據協定
'進行解析,最後指派到相應通道上的功能。
'這部分是注釋,請在下面編輯采集腳本的内容:
'———————————————————————
DIM Return as INTEGER
dim ByteReg as byte
dim READ(512) as byte
dim i as integer
dim RecCount as integer

DIM LenStr as STRING
DIM DataPackStr as STRING
DIM PackStr as STRING
DIM PackHEX as STRING

dim 時間 as integer
DIM TimeStr as STRING

時間=!TimeGetCurrentTime()
TimeStr=!TimeI2Str(時間,"%Y-%m-%d %H:%M:%S")

i=1
RecCount = 0
PackHEX =""
PackStr =""
DataPackStr =""
WHILE(i<=512)

Return =!DevReadByte(ByteReg,10)
IF  Return <0 THEN Return=!DevReadByte(ByteReg,10)

IF  Return = 0 THEN 
	READ[i] = ByteReg
	IF ByteReg<=15 THEN
	PackHEX =PackHEX +"0"+!I2Hex(ByteReg)+" "
	ELSE
	PackHEX =PackHEX +!I2Hex(ByteReg)+" "
	ENDIF
	IF (i mod 26)=0 THEN PackHEX=PackHEX+!Chr(13)+!Chr(10)
	
	RecCount = RecCount + 1
	i=i+1
ELSE
	i=513
ENDIF

ENDWHILE

IF RecCount =0 THEN exit

LenStr = !Format(RecCount ,"000")

!ByteArr2Str(READ,PackStr ,RecCount )

DataPackStr =""
DataPackStr = "[Time:"+TimeStr+" Len:"+LenStr +"] "+PackStr
!Trace(DataPackStr )
!SetStrDataValueByName("Rec_Str",DataPackStr)

DataPackStr =""
DataPackStr = "[Time:"+TimeStr+" Len:"+LenStr +"] "+PackHEX 
!Trace(DataPackStr )
!SetStrDataValueByName("HEX_Str",DataPackStr)

寫事件=1-寫事件
!SetIntChannelValueByName("寫事件",寫事件)
           

源碼檔案gitee位址

繼續閱讀