leslie1994
菜鳥努力中
級別: 家園常客
|
公司是做注射機機械手的。 機械手的系統是單片機控制的。 還有一個控制面板。 控制面板可以編制 動作的順序。 比如: 主臂下降》延時2秒》主臂前進》主臂上升》側姿水平。。。。。。 我在想 如果用PLC控制的話, 要做才能做到的HMI上選擇動作的順序 然后依次動作呢? 以前編的程序都是順序控制的, 但是這種順序自由的沒想過, 哪位大神能給我解答一下呢? |
|
---|---|---|
|
lvpretend
級別: 論壇先鋒
|
這個與MCC中的自由編輯各電機啟動順序差不多。 你就取PLC中若干個連續的存儲區,每個可能的動作分別做一個唯一的編號,運行的時候去依次解析這些存儲區就行了。就像PLC系統的工作原理一樣,一步步去解析你的程序代碼。 不難。 |
---|---|
本帖最近評分記錄: |
leslie1994
菜鳥努力中
級別: 家園常客
|
能具體說說嗎?舉個例子。 |
|
---|---|---|
|
lvpretend
級別: 論壇先鋒
|
比如,取D1000開始的停電保持位為動作存儲區,主臂上升定義為1,下降定義為2,前進定義為3,后退定義為4,旋轉45度定義為5,旋轉90度定義為6,旋轉--45度定義為7,旋轉--90度定義為8,,,,,延遲時間定義為1***,1***中***為可設置的時間,比如單位為0.1秒,那么最大就可以定義99.9秒,如果需要更大時間就定義為1****。 在HMI上分步設置,就像G代碼編程一樣,第一步對應D1000,第二步對應D1001,,,,,第十步對應D1009,,,,, 這樣需要在第一步主臂上升,就把“1”存入D1000;第二步延遲5秒,就把1050(50就是5秒)存入D1001,,,,,,,,, 然后開始運行,就從D1000開始,D1000是“1”就讓主臂上升,上升完成后給出一個步執行完成信號,移動到D10001,然后是延遲時間5秒,延遲5秒就是,,,,,, 直到執行到D***為0時表示整個流程執行完,看需要跳轉回D1000不。 原理就是這樣,你可以定義得更多。說白了,就是要你使用PLC來定義一個自己的專用 的簡單的“軟PLC"。 |
---|---|
|
sccgkong
不是每次都會成功,但是必須每次都有進步
級別: 論壇先鋒
|
6樓思路正確,不需要變址寄存器,說白了就是把每個動作用一個數字來表示,我以前用過類似方法做這樣的組合動作 如你把1,2定義成大臂小臂對應兩個寄存器D1000和D1001 當D1000=1時候表示大臂先動作,當D1000=2表示小臂先動作, 至于是什么動作你又可以按照上面的方法設定 還可以用示教的方法 |
|
---|---|---|
|