slik
級別: 論壇先鋒
|
有這樣一種需求,工藝需求共分A,B,C,D,E五個動作階段,但是其動作的先后順序不定,根據在HMI的設置來決定,比如,HMI設置1,2,,3,4,5,那么按照A,B,C,D,E來走,如果HMI設置4,2,3,1,5,那么將按照D,B,C,A,E的先后順序來執行,請問這樣的應用要怎么編程比較簡單明晰,我最初想到的是解碼指令對應到某個字中的某位,然后用字的循環移位指令來做,但是,問題是要怎么把Dn.X的某bit位對應到動作階段上,請各位高手指點下,謝謝!~ |
---|---|
|
夢雨天涯
微信hui530527 &
級別: 網絡英雄
|
威綸通多臺任意順序啟動停止_嗶哩嗶哩_bilibili https://www.bilibili.com/video/BV1WK4116768/?vd_source=bd98370170cd04f9ea404d49b3e1ce5b 三菱任意序號啟動_嗶哩嗶哩_bilibili https://www.bilibili.com/video/BV1Qd4y1K77T/?vd_source=bd98370170cd04f9ea404d49b3e1ce5b 三菱任意序號啟動,停止延時(FX3U)_嗶哩嗶哩_bilibili https://www.bilibili.com/video/BV1nH4y1p7pq/?vd_source=bd98370170cd04f9ea404d49b3e1ce5b 三菱任意按鈕啟動停止測試_嗶哩嗶哩_bilibili https://www.bilibili.com/video/BV16M4y1672k/?vd_source=bd98370170cd04f9ea404d49b3e1ce5b 做過無數個了 |
|
---|---|---|
本帖最近評分記錄:
|
dgl4245123
非標自動化編程設計。。。17798956193
級別: 探索解密
|
你的意思我空間的也一樣能解決?
|
|
---|---|---|
|
gxtmdb82164
級別: 論壇先鋒
|
實現方式非常多的,給你一個最簡單的: 這個方向需要提前確認最大的步數空間,比如20步,那么準備40個寄存器,比如說從D100開始(如果你的PLC可以用類似結構體之類的就更方便了) Step0:命令寄存器:D100,狀態寄存器D120 Step1:命令寄存器:D101,狀態寄存器D121 。。。 Step19:命令寄存器:D119,狀態寄存器D129 程序掃描就是正常的從Step0到Step19,當然得有個位置記錄一下這個Step號,命令寄存器里面通過觸摸屏寫入要執行的命令,就是一樓的12345,然后狀態寄存器用于指示當前這個步的狀態,啟動了,等待了,完成了,出錯了等等, 程序就是從D100開始循環到D119,跳步條件通過狀態寄存器實現,具體的12345子程序,根據當前的步數加乘后使用變址的方式獲得參數和輸出結果(大白話解釋一下:比如1的程序,啟動的時候要復位完成點(假設是這樣),完成后要置位完成點,這個完成點的具體地址要看當前的Step號,比如Step5,對應的是D125.1,在Step6就是D126.1,通過變址這兩個地址對子程序來說是一樣的,當然還要看具體的PLC是否支持) 在這個基礎上擴展一下,命令字后面再增加幾個寄存器,還可以把參數也傳進去,都是動態的 |
---|---|
本帖最近評分記錄: |
13642077586
13642077586
級別: 略有小成
|
用一個數組,數組的讀取數組第一個的數據如果是3就對應執行工藝3的動作,執行完以后數組索引加一 |
---|---|
|
yezouping
深圳東莞PLC編程,微信:158 8974 8406
級別: 工控俠客
|
用變址就可以 |
|
---|---|---|
|
slik
級別: 論壇先鋒
|
謝謝樓上的幾位朋友提供的幫助,特別是4樓的朋友還給出了詳細的步驟,真是謝謝了~,我想我思路是有了,在很多地方用變址還是比較方便的。。。。 另外,哪位大俠有沒有關于編程算法或編程技巧方面比較好的參考書的?提供下書名,有空我去下下來看看,謝謝~ |
---|---|
|