西門子 WRITE 高級語言指令
應用
數控機床在生產時需要大量的測量數據和參數,以保證加工質量並確保生產符合法規要求。為了避免在生產過程中丟失加工工藝參數,可以使用“WRITE”高級語言指令來保存例如加工參數以確保生產安全。存檔文件以機床日誌文件格式由數控系統自動創建。
功能
“WRITE”高級語言指令的任務是將程序段或數據從 NC 程序中寫入日誌文件。可用於保障生產或記錄測量數據。在當前 NC 程序運行期間,“WRITE”高級語言指令會讀取指定數據並自動將其寫入數控系統的日誌文件中。如果日誌文件不存在,則會生成一個 MPF 格式的文件。程序執行期間會自動關聯到已有的日誌文件。所創建的文件可被自由訪問,機床的所有用戶都能對其進行讀取、更改和刪除。
代碼句法
WRITE 指令的結構如以下模板所示:
DEF INT <error>
WRITE(<error>,“<file name>“,“<block/data>“)
WRITE指令用於在指定文件末尾附加一個程序段或數據
指令 | 說明 |
---|---|
<error> | 用於返回故障值的變量。 |
<file name> | 被動文件系統中文件的名稱,可在其中添加指定程序段或數據。 |
<block/data> | 要添加到指定文件中的程序段或數據。 |
WRITE 指令的典型應用
本例中單點測量 (CYCLE978) 的設定值和實際值從已有的 NC 程序中讀取並寫入到日誌文件“PROTOKOLL.MPF”中。
DEF INT _ERROR
G17 G54 G90
T="3D_TASTER"
M6
G0 X23 Y0
G0 Z5
CYCLE978(100,10008,,1,0,20,5,3,2,1,"",,0,1.01,1.01,-1.01,0.34,1,0,,1,1)
WRITE(_ERROR,"_N_LOG","SETPOINT Z="<<_OVR[3])
WRITE(_ERROR,"_N_LOG","ACTUAL VALUE Z="<<_OVR[7])
WRITE(_ERROR,"_N_LOG","DIFFERENCE="<<_OVR[19])
M30
編程示例說明
編程指令 | 說明 |
---|---|
DEF INT_ERROR | 定義故障變量 |
G17 G54 G90 | 起始點 |
T="3D_PROBE" | 選擇測頭 |
M6 | 裝載 3D 測頭 |
G0 X23 Y0G0 Z5 | 測量的起始點 |
CYCLE978(100,10008,,1,0,20,5,3,2,1,"",,0,1.01,1.01,-1.01,0.34,1,0,,1,1) | 測量過程 |
WRITE(_ERROR,"_N_LOG","SETPOINT Z="<<_OVR[3]) | 將設定值寫入日誌文件 |
WRITE(_ERROR,"_N_LOG","ACTUAL VALUE Z="<<_OVR[7]) | 將實際值寫入日誌文件 |
WRITE(_ERROR,"_N_LOG","DIFFERENCE="<<_OVR[19]) | 將實際值與設定值的差值寫入日誌文件 |
OVR[3]) | 偏移矢量 I1$TC_CARR3[n], Z 分量 |
OVR[7]) | 旋轉軸矢量 V1$TC_CARR7[n], X 分量 |
OVR[19]) | 偏移矢量 I14$TC_CARR19[n], Y 分量 |
M30 | 程序結束 |
通過按下“CYCLE START”按鈕完成“選擇”和系列程序的執行後,在同一文件夾下會自動創建日誌文件 (PROTOKOLL.MPF)。日誌文件的內容如下:
SETPOINT Z=0
ACTUAL VALUE Z=0.01300811768
DIFFERENCE=0.01300811768