CNC數控加工中心系統數據輸出指令簡介及應用實例-西門子系統了編程
發布時間:2018-05-14 16:56:03
本期給咱們簡略介紹一下立式加工中心SINUMERIK體系的數據輸出指令。
客戶常常有這樣的疑問:如何將數控體系中生成的變量或許數據輸出到外部設備(如CF卡、U盤或許網盤等等)呢?西門子供給了一些高檔指令,能夠幫助咱們完結這一功用。將數據輸出到外部設備需求用到如下指令:
EXTOPEN----翻開外部設備
WRITE----寫入外部設備
EXTCLOSE----封閉外部設備
立式加工中心編程指令的結構
向外部設備/文件的輸出分為 3 個過程:
1. 翻開外部設備/文件
運用 EXTOPEN 指令翻開相應通道的要寫入數據的外部設備/文件。
2. 寫入數據
運用 WRITE 指令進行寫入。
3. 封閉外部設備/文件
運用 EXTCLOSE 指令或抵達程序結尾 (M30) 時,設備/文件被再次開釋。
立式加工中心編程格局如下:
DEF INT
DEF STRING[]
…
EXTOPEN(,"",,,)
…
="output data"
WRITE(,"",)
…
EXTCLOSE(,"")
下面咱們逐個看一下每個立式加工中心編程指令的內容:
1. 翻開外部設備指令EXTOPEN
格局如下:
EXTOPEN(,"",,,)
error:翻開外部設備時若犯錯,這是過錯代碼,數據類型:INT(整型)
數值:
0 No error
1 External device cannot be opened
2 External device is not configured
3 External device with invalid path configured
4 No access rights for external device
5 Usage mode: External device already"exclusively" occupied
6 Usage mode: External device already being"shared"
7 File length longer than LOCAL_DRIVE_MAX_FILESIZE
8 Maximum number of external devices has been exceeded
9 Option for LOCAL_DRIVE not set
11 V.24 interface has already been assigned withEasy-Message function(only 828D)
12 Write mode: Data contradicts extdev.ini
16 Invalid external path has been programmed
22 External device not mounted
ExtG:外部設備,數據類型:STRING(字符串)
可能的外部設備:
"LOCAL_DRIVE": 本地CF卡(預界說)(840D要加選項 6FC5800-0AP12-0YB0,指的是體系CF卡;828D不需求選項,指體系前面板插的CF卡)
"CYC_DRIVE": reserved drive name for use inSIEMENS cycles (pre-defined)
"/dev/ext/1",..."/dev/ext/9": 網絡驅動器,需求經過extdev.ini界說
"/dev/cyc/1", "/dev/cyc/2": 保存的驅動用于西門子循環,需求經過extdev.ini界說
"/dev/v24": V.24 接口(串口)需求經過extdev.ini界說
processing mode,數據類型:STRING(字符串)
數值:
"SYN":同步,程序中止運轉等候操作完結,而且能夠經過error查看寫操作是否完結。
"ASYN":異步,程序不會被中止,但也沒有寫操作狀況查看,即error總為0,不知是否完結。
usage mode,數據類型:STRING(字符串)
數值:
"SHARED":同享形式,其它通道也能夠運用這個設備。
"EXCL":獨占形式,僅本通道能夠運用這個設備。
write mode,數據類型:STRING(字符串)
數值:
"APP":以添加方法追加數據,即保存之前的數據。
"OVR":以掩蓋方法寫數據,即不保存之前的數據。
2. 寫操作WRITE指令
WRITE指令能夠將程序段或數據在加工程序履行過程中寫入文件,這個文件能夠是可履行的加工程序,能夠是數據記載文件。它能夠放在靜態存儲區,也能夠放在passive文件體系或許外部設備。格局如下:
DEF INT
...
WRITE(,""/"","
其間:
error:假如寫文件發作過錯,這里是過錯代碼。數據類型:INT(整數)
數值意義:
0 No error
1 Path not allowed
2 Path not found
3 File not found
4 Incorrect file type
10 File is full
11 The file is in use
12 No resources available
13 No access rights
14 external device not assigned or opened
15 Error when writing to an external device
16 invalid external path has been programmed
file name:文件名,數據類型:STRING(字符串)
文件名最長32個字符,不能包括空格和控制字符,文件途徑有必要以"/"最初
文件若沒有后綴,則默許MPF
ExtG:數據能夠輸出到外部設備,數據類型:STRING(字符串)
同翻開外部設備指令中描繪相同。
block/data:要寫到文件中的程序段或數據,數據類型:STRING(字符串)
Passive文件體系的文件巨細由MD11420 $MN_LEN_PROTOCOL_FILE界說。
Write 指令簡略比如
A. 將字符串寫入文件
DEF INT err1
WRITE(err1,"mydata.mpf","hello world!")
M30
B. 將數字寫入文件
DEF INT err1
WRITE(err1,"mydata.mpf",<
留意,由于寫入文件的數據要求是字符串類型,所以有必要用"<<"將R1的數值轉化成字符串。
C. 掩蓋方法寫文件
上面兩個比如,都是保存原數據的基礎上添加數據,假如不想保存原數據怎么辦呢?
DEF INT err1
DEF INT err2
IF ISFILE( "mydata.mpf")
DELETE("mydata.mpf")
ENDIF
Write(err2,"mydata.mpf",<
D. 判別是否有過錯
DEF INT err1
DEF INT err2
IF ISFILE( "mydata.mpf")
DELETE(err1,"mydata.mpf")
IF err1>0 GOTOF _err1
ENDIF
Write(err2,"mydata.mpf",<
…
M30
err1:
MSG("Error on delete operation, errorcode="<
err2:
MSG("Error on write operation , errorcode="<
3. 封閉設備EXTCLOSE指令
格局如下:
EXTCLOSE(,"")
Error:過錯代碼,數據格局:INT(整型)
數值:
0 No error
16 Invalid external path has been programmed
21 Error when closing the external device
ExtG:同翻開外部設備指令中描繪相同。