動態(tài)編碼和靜態(tài)編碼是怎么編寫的?
以西門子840DSL為例。 NC的M功能是通過兩種實現(xiàn)方法實現(xiàn)的,即NC和PLC,根據(jù)系統(tǒng)的指示。然后我們只討論西門子plc實現(xiàn)的M功能。 動態(tài)M功能意味著西門子已將標(biāo)準(zhǔn)接口信號的M功能定義到位位置,即M10已通過內(nèi)部分配連接到西門子plc信號DB2x.DBX195.2,并且用戶不需要在PLC中定義與M功能相對應(yīng)的信號,地址可以直接使用。以下過程用于解釋動態(tài)M功能。 示例plc程序: A DB21.DBX195.2 //在nck程序的通道1中編輯以激活西門子plc掃描周期; S Q0.0 //冷卻泵啟動 A DB21.DBX195.3 //在nck程序的通道1中編輯以激活plc掃描周期; R Q0.0 Nck頻道1節(jié)目: N010 G0 M10 //開始冷卻 , N090 M11 //當(dāng)nc程序運行到此步驟時,關(guān)閉冷卻 如果我們想控制門開關(guān)或監(jiān)控開關(guān)冷卻液,可以添加NC讀取使能信號。
例如,實例觸發(fā)NC暫停; DB2x.DBX195.2 M10觸發(fā)信號,激活西門子plc掃描周期; S DB2x.DBX6.1 NC通道讀使能信號,暫停NC程序; 滿足條件時,NC暫停結(jié)束; A Q0.0開關(guān)門或冷卻液打開輸出; I0.0開關(guān)門或冷卻液到達信號; 在R DB2x.DBX6.1動作或冷卻液壓力到位后,復(fù)位信號并繼續(xù)執(zhí)行NC程序; 以上示例便于理解。因此,如果一次執(zhí)行多個M代碼,則上述方法還需要增加多個M功能的判斷,例如將多個M功能的狀態(tài)保存到一個數(shù)據(jù)塊,然后輪詢該程序。執(zhí)行所有功能。只要未執(zhí)行一個功能,就始終設(shè)置NC程序讀取使能并暫停程序。
靜態(tài)M功能是非西門子標(biāo)準(zhǔn)接口信號的M功能。接口信號地址類型和塊編號功能由OEM制造商定義。與系統(tǒng)提到的M99=125一樣,它與西門子plc地址沒有標(biāo)準(zhǔn)對應(yīng)關(guān)系,并且不能通過M編號反轉(zhuǎn)。引入了plc信號地址,但我們可以通過其基本原理來反轉(zhuǎn)plc程序的推送。 例如,執(zhí)行NC通道時,M99=125存儲在DB2x.DBW68的地址中。此變量定義為整數(shù)變量。 125在執(zhí)行時存儲在DB2x.DBD70的地址中,并且該變量被定義為實變量。 還應(yīng)該有一個關(guān)鍵信號DB2x.DBX58.0,它在M功能代碼改變時發(fā)生變化,信號保持西門子plc周期,并可用于鎖存M功能代碼的代碼值以讀取瞬間確保數(shù)據(jù)存儲沒有錯誤。 。
已經(jīng)提到了這種靜態(tài)M功能的幾個關(guān)鍵信號,下一步是應(yīng)用該問題。靜態(tài)M功能的關(guān)鍵在于其靈活的應(yīng)用。它的變化結(jié)合了16位整數(shù)的最大值乘以32位實數(shù)的小數(shù)點之前的最大值。動態(tài)M函數(shù)從0到99的變化無法與之進行比較。事實上,我們不能使用它。這么多M代碼。 以下簡單的應(yīng)用示例; 一個 ( L 99 L DB2x.DBW68 ==d) 一個 ( L 125 L DB2x.DBD70 ==d) DB2x.DBX58.0 S DBxx.DBXxx.x 以上方便大家理解,只需寫幾個字,實際使用需要轉(zhuǎn)換數(shù)據(jù)類型等,一些比較值必須用索引地址和間接指針尋址來代替,以減少使用代碼,應(yīng)加強邏輯保護。 如果需要在位置監(jiān)視中添加操作,請采用相應(yīng)的變量并像上面提到的動態(tài)M函數(shù)一樣處理它。結(jié)束后,輪詢數(shù)據(jù)區(qū)域進行比較。如果M功能未完成,則NC暫停。門未打開時,機械手無法移動。如果門關(guān)閉,則必須存在諸如通道讀入啟用之類的信號。它可以來自通道讀取啟用或警報鎖定。它類似于輪詢處理和報警管理,只有存在警報才會影響它。
總結(jié):今天小編為大家介紹了西門子840DSL解碼的方法,希望對大家有幫助,如果大家有這方面的需求,請咨詢?nèi)莞须姎狻?/span>
標(biāo)題:動態(tài)編碼和靜態(tài)編碼是怎么編寫的? 地址:http://www.easyfrms.com/ask/3300.html