freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

opencncmacro用戶宏程序開發(fā)手冊(編輯修改稿)

2024-11-18 10:48 本頁面
 

【文章內(nèi)容簡介】 號# i和另一時刻調(diào)用的用戶宏 (也不論與前一個用戶宏相同還是不同 )中所使用的# i是不同的,或者說不同的用戶宏調(diào)用實例中的# i所占用系統(tǒng)內(nèi)存地址是不同的,即使在多重調(diào)用情況下,當(dāng)用戶宏A 調(diào)用用戶宏 B 的情況下,也不會將 A 中的局部變量破壞。 我們可以用局部變量級的這樣一個概念來理解, 作用于宏程序某一級中的變量稱為本級變量,即這一變量在同一程序級中調(diào)用時 內(nèi)容 相同,若在另一級程序(如子程序)中使用,則意義不同 。本級變量主要用于變量間的相互傳遞,初始狀態(tài)下未賦值的本級變量即為空白變量 。 如圖 2- 1,就是用 G 代碼 (或 G65 時 )調(diào)用宏時,局部變量級會隨著調(diào)用多重度的增加而增加,即存在如圖的關(guān)系: 主程序 用戶宏 用戶宏 (第 1 級 ) (第 2 級 ) 局部變量 (0 級 ) (1 級 ) (2 級 ) 上圖說明了以下幾點: 1)主程序中具有# 1~# 50 的局部變量( 0 級)。 2)用 G65 調(diào)用宏(第 1 級)時,主程序的局部變量( 0 級)被保存起來。再重新為用戶宏(第 1 級)準(zhǔn)備了另一套局部變量# 1~# 50(第 1 級),可以再向它賦值。 3)下一用戶宏(第 2 級)被調(diào)用時,其上一級的局部變量 (第 l級 )被保存,再1 ? ? # 50 1 ? ? # 50 1 ? ? # 50 O_ G65 P_ M99 O_ G65 P_ M99 G65 P_ 第 12 頁 準(zhǔn)備出新的局部變量# 1-# 50(第 2 級 ),如此類推。 4)當(dāng)用 M99 從各用戶宏回到前一程序時,所保存的局部變量 (第 0、 2 級 )存在的狀態(tài)出現(xiàn)。對于沒有賦值的局部變量,其初始狀態(tài)為空,用戶可自由使用。 系統(tǒng)變量: 1000~# 31986 系統(tǒng)變量是根據(jù)用途而被固定的變量。主要有以下各種表 2- 2,詳情請見附錄。 表 2- 2 系統(tǒng)變量分配 變量編號 用途 1000~1058 模態(tài)信息 1500~1624 運行控制 /狀態(tài) 1301~1436 運行時狀態(tài)變量 1800~1916 模態(tài)變量 # 4001~# 5100 用戶參數(shù) # 6001~# 6032 信號接口 # 7001~7101 模式組變量 # 11000~# 12999 刀具補償變量 # 20201~# 25986 工件坐標(biāo)系補償值 (工件零點偏移值 ) # 26001~# 31986 參考點 全局變量: @1~@14095 與局部變量相對,全局變量是在主程序以及調(diào)用的子程序中通用的變量,它 在不同程序級中調(diào)用時 內(nèi)容 相同 ,即 它在同一系統(tǒng)中的 所有程序中都有效,因為全局變量在系統(tǒng)中所占用的內(nèi)存地址是唯一不變的。因此,對于任何一個全局變量 @i,它都可以在主程序和用戶宏或者用戶宏之間相互使用,傳遞數(shù)值,并對其操作。 全局變量在 @1~@14095 的范圍內(nèi),按用途主要分為四組。 其中 @1~400 和 @656~@999 兩組可以被用戶宏程序所使用(可讀可寫),但它們具有不同的性質(zhì)和使用方法,前者中的變量常用于一般的運算,可以用操作面板(人機界面)來讀取顯示;而后者中的變量為保持形變量有記憶性變量,可以被永久保存,即掉電不丟失,在操作面板上可進行讀寫操作。具體可 見表 2- 3。 表 2- 3 全局變量使用對照表 變量編號 說明 宏程序 人機界面 永久保存 @1~@400 一般運算用變量 讀 /寫 只讀 否 @401~@655 對應(yīng) PLC 寄存器 R1 ~ R255: @401=R1 ? @655=R255 ※ ※ ※ @656~@999 有記憶性變量 讀 /寫 讀 /寫 是 @10000~@14095 對應(yīng) PLC 寄存器 R0~R4095: @10000=R0 ※ ※ ※ 第 13 頁 ? @14095=R4095 [注 ]: ※ 表示具體參見資源分配表 表 2- 4 中對應(yīng)寄存器。 而 @401~@655和 @10000~@14095兩組變量則影射為 PLC中系統(tǒng)預(yù)定義的一些寄存器 , 用戶宏程序?qū)ζ涞淖x寫規(guī)則和使用方法 不盡相同,具體 可參見 表 2- 4 資源分配表 中對應(yīng)的寄存器 ,至于更詳細(xì)的 寄存器 資源 用途和 規(guī)則可參閱《 OpenCNC PLC發(fā)展手冊》書中介紹。 表 2- 4 資源分配表 編號 說明 讀寫規(guī)則 是否可位(Bit)存取 永久保存 宏程序或人機接口 階梯程序 R0~R39 CNC系統(tǒng)接口區(qū) 只讀 ※ 是 否 R40~R49 PLC警報訊息區(qū) R50~R80 使用者自行定義 讀 /寫 讀 /寫 是 否 R81~R100 對應(yīng)到系統(tǒng)參數(shù)3401~3420 PLC參數(shù) 只讀 只讀 是 否 R101~R102 刀具狀態(tài) 讀 /寫 讀 /寫 是 是 R103~R255 使用者自行定義 讀 /寫 讀 /寫 是 是 R256~R511 否 R512~R639 CNC系統(tǒng)接口區(qū) 只讀 ※ 是 否 R640~R1023 否 R1023~R4095 使用者自行定義 讀 /寫 讀 /寫 否 否 [注 ]: ※ 表示 更詳細(xì)的 寄存器 資源 用途和 規(guī)則可參閱《 OpenCNC PLC 發(fā)展手冊》一書 。 第二節(jié) 變量運算及 變量表達(dá)式 一、用戶宏運算符 要對變量進行各種運算操作就要用到運算符 , 它是“能對變量所存數(shù)據(jù)進行運算的符號”。 本系統(tǒng)的 運算 符及其優(yōu)先級如表 32 所示。 表 32 運算 符及其優(yōu)先級 運算名 符號 優(yōu)先級 括號 ( ), [ ] 1 函數(shù)調(diào)用運算 函數(shù)名 (參數(shù)列表 ) 2 取負(fù) 3 求補運算 NOT 3 乘法運算 * 4 除法運算 / 4 模運算 /求余運算 MOD 4 加法運算 + 5 第 14 頁 減法運算 5 關(guān)系運算 , , =, = 6 相等運算 = 7 不等運算 8 布爾邏輯 /按位與 amp。, AND 9 布爾邏輯 /按位 異或 XOR 10 布爾邏輯 /按位 或 OR 11 二、基本算數(shù)運算符 (1) + (加法運算符,如 3+5, 12+4) (2) (減法運算符,或取負(fù)運算符,如 3316, 16) (3) * (乘法運算符,如 9*2, 13*8) (4) / (除法運算符,如 10/3, 43/15) (5)MOD (模運算符,或稱求余運算符,其兩側(cè)均應(yīng)為整型數(shù)據(jù),如 7 MOD4的值為 3,當(dāng) 18=20 時 18 MOD4 的值為 2) 三、算術(shù)表 達(dá)式和運算符優(yōu)先級 用算術(shù)運算符和括號將運算對象連接起來的、符合語法規(guī)則的式子稱為算術(shù) 表達(dá)式 ,運算對象 可以是常數(shù)、變量、函數(shù) 等。 例如: 6*8/+18+ ROUND( # 1) 這就是一個算術(shù)運算式,它可以作為一個整體賦值給某個變量,或用作其他表達(dá)式中的一個運算對象。 本系統(tǒng)按表表 32 規(guī)定了運算符的優(yōu)先級和結(jié)合性。在表達(dá)式求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行,例如先乘除后加減。如表達(dá)式 1241*5 的左側(cè)為減,右側(cè)為乘號,而乘號優(yōu)先于減號,因此,相當(dāng)于 12( 41*5)。 如 果在一個運算對象兩側(cè)的運算符的優(yōu)先級別相同,如 25+23,則按規(guī)定的結(jié)合性(結(jié)合方向)處理,算術(shù)運算符的結(jié)合方向為“自左至右”,即先左后右。因此 5 先與減號結(jié)合,執(zhí)行 25 的運算,再執(zhí)行加 23 的運算。這樣“自左至右的結(jié)合方向”又稱為“左結(jié)合性”,即運算對象先與左面的運算符結(jié)合;對應(yīng)地,也有“右結(jié)合性”的運算符,例如賦值運算符“: =”就是。 四、關(guān)系運算符和關(guān)系表達(dá)式 關(guān)系運算符是邏輯運算中比較簡單的一種。所謂“關(guān)系運算”實際上就是“比較運算”。將兩個值進行比較,判斷比較的結(jié)果是否符合給定的條件。 例如, 3> 10 是一個關(guān)系表達(dá)式,大于號(>)是一個關(guān)系運算符,如果 3=12,則滿足給定的“ 3> 10”條件,因此關(guān)系表達(dá)式的值為“真”(即“條件滿足”);如果 3=6,不滿足“ 3> 10”條件,則稱關(guān)系表達(dá)式的值為“假”。 本系統(tǒng)提供 6 種關(guān)系運算符: (1) (小于) (2) = (小于或等于) 優(yōu)先級相同(高) 優(yōu)先級(較高) 優(yōu)先級(低) 第 15 頁 (3) (大于) (4) = (大于或等于) (5) = (等于) (6) (不等于) 關(guān)于優(yōu)先次序: 前 4 種關(guān)系運算符(<,<=,>, =)的優(yōu)先級別相同,它們卻高于關(guān)系運算符“ =”,而“ =”又高于“ ” 關(guān)系運算符的優(yōu)先級低于算術(shù)運算符。 關(guān)系運算符的優(yōu)先級高于賦值運算符。 用兩個關(guān)系運算符將兩個表達(dá)式連接起來的式子,稱為關(guān)系表達(dá)式。 例如: 6> 36, 13+423 關(guān)系表達(dá)式的值是一個邏輯值,即“真”或“假”。例如,若 12 為 8,則關(guān)系表達(dá)式“ 12=10”的值為“假”,“ 12=6”的值為“真”。 五、邏輯運算和邏輯表達(dá)式 用邏輯運算 符將關(guān)系表達(dá)式或邏輯量連接起來就是邏輯表達(dá)式。 本系統(tǒng)提供 6 種邏輯運算符和邏輯運算 (1) amp。, AND 邏輯與 (2) XOR 邏輯或 (3) OR 邏輯異或 它們都是“雙目(元)運算符”,它要求有兩個運算量(操作數(shù)),邏輯運算舉例如下: 1 AND 2 若 1 、 2 為真,則 1 AND 2 為真。 1 OR 2 若 1 、 2 之一為真,則 1 XOR 2 為真。 邏輯運算符低于關(guān)系運算符,見圖 31。 圖 31 第三節(jié) 用戶宏程序的流程控制 所謂程序的流程( Flow Control)是通過控制程序的執(zhí)行方向,進而掌握程序動態(tài)。這用戶宏程序區(qū)別于一般數(shù)控程序的特征之一,也是用戶選擇用戶宏程序編寫數(shù)控代碼的一大理由。用戶宏程序的流程控制包括無條件判斷、循環(huán)控制、無條件算術(shù)運算符 關(guān)系運算符 邏輯運算符 賦值運算符 (高) (低) 第 16 頁 轉(zhuǎn)移三大類,這與其他的高級語言程序類似,下面將分別介紹其功能和使用語法。 一、條件判斷 判斷條件的真假,然后根據(jù)真假或者對應(yīng)情況到指定的地方去執(zhí)行程序,這方面的語句有 IF 和 CASE 語句。 IF 條件語句 1)基本語法: IF 條件表達(dá)式 THEN 操作 ELSEIF 條件表達(dá)式 THEN 操作 ELSE 操作 END_IF。 說明: IF 條件判斷,根據(jù)真假情況到指定的地方去執(zhí)行程序。 例如: % @MACRO // 啟動 MACRO 語法 1 := 。 G01 G91 G92 X20. Y15. F202000。 IF 1 = 1 THEN X(*1)。 Y(*1)。 ELSEIF 1 = 2 THEN X(*2)。 Y(*2)。 ELSEIF 1 = 3 THEN X(*3)。 Y(*3)。 ELSE X(*4)。 Y(*4)。 END_IF。 X() Y()。 M30。 然而在實際使用中,可以有以下一些變形: 2)變形 1 語法: 第 17 頁 IF 條件表達(dá)式 THEN 操作 ELSE 操作 END_IF。 3)變形 2 語法: IF 條件表達(dá)式 THEN 操作 END_IF。 編程時可根據(jù)需要選擇合適的語法格式。 CASE 分支 語句 語法: CASE 條件表達(dá)式 OF 條件值 : 操作 條件表達(dá)式 , 條件表達(dá)式 , 條件表達(dá)式 : 操作 條件表達(dá)式 , … 條件表達(dá)式 : 操作 ELSE 操作 END_CASE。 說明: CASE 多條件判斷分支,根據(jù)條件表達(dá)式運算結(jié)果所對應(yīng)的條件值(整數(shù)),分別執(zhí)行不同程序區(qū)塊。 例如: % @MACRO // 啟動 MACRO 語法 1 := 8。 G01 G91 G92 X20. Y15.
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1