本期給咱們簡略介紹一下立式加工中心SINUMERIK體系的數(shù)據(jù)輸出指令。
客戶常常有這樣的疑問:如何將數(shù)控體系中生成的變量或許數(shù)據(jù)輸出到外部設(shè)備(如CF卡、U盤或許網(wǎng)盤等等)呢?西門子供給了一些高檔指令,能夠幫助咱們完結(jié)這一功用。將數(shù)據(jù)輸出到外部設(shè)備需求用到如下指令:
EXTOPEN----翻開外部設(shè)備
WRITE----寫入外部設(shè)備
EXTCLOSE----封閉外部設(shè)備
立式加工中心編程指令的結(jié)構(gòu)
向外部設(shè)備/文件的輸出分為 3 個過程:
1. 翻開外部設(shè)備/文件
運用 EXTOPEN 指令翻開相應(yīng)通道的要寫入數(shù)據(jù)的外部設(shè)備/文件。
2. 寫入數(shù)據(jù)
運用 WRITE 指令進(jìn)行寫入。
3. 封閉外部設(shè)備/文件
運用 EXTCLOSE 指令或抵達(dá)程序結(jié)尾 (M30) 時,設(shè)備/文件被再次開釋。
立式加工中心編程格局如下:
DEF INT
DEF STRING[]
…
EXTOPEN(,"",,,)
…
="output data"
WRITE(,"",)
…
EXTCLOSE(,"")
下面咱們逐個看一下每個立式加工中心編程指令的內(nèi)容:
1. 翻開外部設(shè)備指令EXTOPEN
格局如下:
EXTOPEN(,"",,,)
error:翻開外部設(shè)備時若犯錯,這是過錯代碼,數(shù)據(jù)類型:INT(整型)
數(shù)值:
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:外部設(shè)備,數(shù)據(jù)類型:STRING(字符串)
可能的外部設(shè)備:
"LOCAL_DRIVE": 本地CF卡(預(yù)界說)(840D要加選項 6FC5800-0AP12-0YB0,指的是體系CF卡;828D不需求選項,指體系前面板插的CF卡)
"CYC_DRIVE": reserved drive name for use inSIEMENS cycles (pre-defined)
"/dev/ext/1",..."/dev/ext/9": 網(wǎng)絡(luò)驅(qū)動器,需求經(jīng)過extdev.ini界說
"/dev/cyc/1", "/dev/cyc/2": 保存的驅(qū)動用于西門子循環(huán),需求經(jīng)過extdev.ini界說
"/dev/v24": V.24 接口(串口)需求經(jīng)過extdev.ini界說
processing mode,數(shù)據(jù)類型:STRING(字符串)
數(shù)值:
"SYN":同步,程序中止運轉(zhuǎn)等候操作完結(jié),而且能夠經(jīng)過error查看寫操作是否完結(jié)。
"ASYN":異步,程序不會被中止,但也沒有寫操作狀況查看,即error總為0,不知是否完結(jié)。
usage mode,數(shù)據(jù)類型:STRING(字符串)
數(shù)值:
"SHARED":同享形式,其它通道也能夠運用這個設(shè)備。
"EXCL":獨占形式,僅本通道能夠運用這個設(shè)備。
write mode,數(shù)據(jù)類型:STRING(字符串)
數(shù)值:
"APP":以添加方法追加數(shù)據(jù),即保存之前的數(shù)據(jù)。
"OVR":以掩蓋方法寫數(shù)據(jù),即不保存之前的數(shù)據(jù)。
2. 寫操作WRITE指令
WRITE指令能夠?qū)⒊绦蚨位驍?shù)據(jù)在加工程序履行過程中寫入文件,這個文件能夠是可履行的加工程序,能夠是數(shù)據(jù)記載文件。它能夠放在靜態(tài)存儲區(qū),也能夠放在passive文件體系或許外部設(shè)備。格局如下:
DEF INT
...
WRITE(,""/"","
其間:
error:假如寫文件發(fā)作過錯,這里是過錯代碼。數(shù)據(jù)類型:INT(整數(shù))
數(shù)值意義:
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:文件名,數(shù)據(jù)類型:STRING(字符串)
文件名最長32個字符,不能包括空格和控制字符,文件途徑有必要以"/"最初
文件若沒有后綴,則默許MPF
ExtG:數(shù)據(jù)能夠輸出到外部設(shè)備,數(shù)據(jù)類型:STRING(字符串)
同翻開外部設(shè)備指令中描繪相同。
block/data:要寫到文件中的程序段或數(shù)據(jù),數(shù)據(jù)類型:STRING(字符串)
Passive文件體系的文件巨細(xì)由MD11420 $MN_LEN_PROTOCOL_FILE界說。
Write 指令簡略比如
A. 將字符串寫入文件
DEF INT err1
WRITE(err1,"mydata.mpf","hello world!")
M30
B. 將數(shù)字寫入文件
DEF INT err1
WRITE(err1,"mydata.mpf",<
留意,由于寫入文件的數(shù)據(jù)要求是字符串類型,所以有必要用"<<"將R1的數(shù)值轉(zhuǎn)化成字符串。
C. 掩蓋方法寫文件
上面兩個比如,都是保存原數(shù)據(jù)的基礎(chǔ)上添加數(shù)據(jù),假如不想保存原數(shù)據(jù)怎么辦呢?
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. 封閉設(shè)備EXTCLOSE指令
格局如下:
EXTCLOSE(,"")
Error:過錯代碼,數(shù)據(jù)格局:INT(整型)
數(shù)值:
0 No error
16 Invalid external path has been programmed
21 Error when closing the external device
ExtG:同翻開外部設(shè)備指令中描繪相同。