Re: [軟體] 關於人機參數保存

作者: oldgj123 (oldgj)   2024-01-24 16:14:17
※ 引述《jay1202 (世界是一本書)》之銘言:
: ※ 引述《qke (qk志)》之銘言:
: : 手機排版請各位大大見諒
: : 請問各位大大們
: : 機械於試機時各軸馬達原點參數皆不相同,遇過幾次因更新程式時電腦當機或設定錯誤,
: : 導致參數遺失
: : 因這些問題都跑來問試機人員有沒有紀錄參數,但在機台出廠前參數都有可能在進行變更
: : 除了人工紀錄外,想了解的是機電編寫plc 時有辦法將參數備份嗎?
: 有辦法,不過要會PLC的編輯軟體
: : 譬如參數繞出備份於usb或機電更新前備份於電腦
: : 目前得到的答案是沒辦法,但據瞭解似乎是很麻煩,感覺就是不願意做
: 參數的計入大概分在幾區
: 1.配方表-通常記錄在人機,用人機的編輯軟體可以撈出來。
: 2.PLC的停電保持暫存區-用PLC編輯軟體。
: 3.軸的參數-有可能在PLC的停電保持暫存區,或驅動器裡,在驅動器一樣用驅動器
: 編輯軟體紀錄參數。
今天我比較有時間可以做一個比較詳細的回覆
首先你要先了解你的馬達是用哪種驅動方式
主要常見的方式
1.純伺服馬達+伺服驅動器
2.步進馬達+步進馬達驅動器
3.AC馬達+變頻器
其中伺服馬達又分abs與inc兩種形式
兩種型主要差別在abs自帶編碼器記憶功能
(你會看到馬達的編碼線上有一盒電池,但新型的伺服馬達也有免電池記憶的)
可以透過馬達軟體去做絕對值原點歸零
並且機台斷電時編碼值不會消失
而inc型就只能使用感應器去做原點歸零
***以下前提是伺服馬達運轉模式是單軸定位模式 多軸同動會比較複雜***
程式人員在記錄馬達要停在哪裡 就是靠存讀這個編碼器位置的數值(脈衝數)
你只停一站就是存一站的編碼值,停十站就是十筆 以此類推
有幾個軸就乘幾倍這樣
再來能在斷電時保持儲存data的硬體
1.帶有不斷電記憶體的PLC
2.PLC的運動模組(或稱運動軸卡/伺服馬達控制卡)
3.人機記憶體
4.帶定位功能的變頻器
一般若是接在運動模組的話就會透過PLCCPU把參數直接存在模組規定的定址裡面
若是無模組純粹用高速脈衝帶動的 那這個參數就只能存在plc的數值記憶體裡
帶定位功能的變頻器也是一樣會透過PLCCPU去存讀變頻器的定址
只是要另外去寫通訊看怎麼讓PLC跟變頻器交握
儲存在人機記憶體上的做法是最少人會去做的
通常是不得已才會把數據存在人機上
因為前述的硬體 能儲存的記憶空間非常有限
人機的記憶體空間相對大得多
所以通常是我可能有幾十軸要做幾十組不同的定位運動
要儲存的資訊量龐大PLC本體記憶體不夠用才會把腦筋動到人機身上
因為這樣做我就必須要把資料分區從人機上搬回PLC,再對馬達定址進行寫入
等於會多一套存儲馬達參數的database要規劃及撰寫 很費工
另外人機作為最容易被ENDUSER碰觸的硬體 陣亡率也是最高的
參數寫在人機上要是人機故障了那真的沒解了.
/////
回到原PO的問題
照正常程式邏輯 PLC程式更新不會帶到參數
因為程式人員修改的是階梯圖上的邏輯點(ON/OFF等條件)不會去改動到儲存參數的位址
這兩個區塊是完全不同的
一般程式人員會把大部分的參數都儲存在PLC上
而人機上顯示的數值只是單純對PLC記憶體做讀取與寫入動作而已
原po說各軸原點資料在更新資料後丟失,那我只覺得最大的可能是
1.你的程式人員在更新程式時使用的是全部複寫,導致寫入時整個程式含參數都覆蓋掉了
才導致所有參數歸零 請他下次在更新時注意只要覆蓋階梯圖就好 不要覆蓋參數
1-2.請他先開改好的PLC程式檔,把現場機台的參數撈回新程式裡 再做更新
如果你的機台是量產機 用1-2這個方法可以節省大量時間
因為等於以後程式在安裝同型機時就把現場最終測試OK的參數全部都先載進去了
2.程式人員真的把參數儲存位置寫在人機上但他不願意提供編輯檔給你備份
因為配方表區一定可以備份,你只要用人機編輯軟體
將檔案從機台上撈回來就是完整備份檔了
最後若你的PLC是PCBASE那就更單純了
PCBASE跑的是文字檔 頂多就是加密過的文字檔 根本就沒有不能備份的問題
以上
作者: andy199113 (Andy)   2024-01-24 20:46:00
專業推
作者: infernoking (infernoking)   2024-01-25 12:21:00
專業推
作者: qke (qk志)   2024-01-28 13:16:00
感謝大大專業回覆,我在詢問看看公司的機電人員

Links booklink

Contact Us: admin [ a t ] ucptt.com