flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數量: 884 個
工控威望: 1033 點
下載積分: 1985 分
在線時間: 687(小時)
注冊時間: 2012-05-09
最后登錄: 2024-11-12
查看flyfeky的 主題 / 回貼
樓主  發(fā)表于: 2018-08-09 18:22
重新描述一下過程,假設1-10共10個工位,小車依次經過兩個工位,由1.2,3,4,5.6.7.8.910使用不使用來決定。  

例如:  1 6 9 不使用時,  滿足條件時(工位有工件等),那小車經過的工位依次為2-3,  3-4 4-5 5-7 7-8 8-10

注意: 條件滿足時只移動兩個工位,就算完成;小車由伺服電機驅動。

2-3,  3-4 4-5 5-7 7-8 8-10  某一時刻只執(zhí)行一個, 執(zhí)行優(yōu)先級一樣。


大家都分別發(fā)表一下思路,如何簡潔的實現通用算法,  完貼時我把大家寶貴經驗整理一下。
[ 此帖被flyfeky在2018-08-09 19:10重新編輯 ]
西門子倍福WPF+C#數據庫,槽式設備專家
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員

精華主題: 8 篇
發(fā)帖數量: 9661 個
工控威望: 8546 點
下載積分: 16705 分
在線時間: 5321(小時)
注冊時間: 2006-08-10
最后登錄: 2024-11-12
查看ymmfa的 主題 / 回貼
1樓  發(fā)表于: 2018-08-09 18:45
這是一個新手比較理解的辦法:

如果用步進的話, STL  S21~ STL S30

12345678910使用不使用,對應M0~M10

然后跳轉到每步的時候,如果M通就執(zhí)行。如果不M不通就跳到下一步。
本帖最近評分記錄:
  • 下載積分:+1(flyfeky) 真誠感謝!
  • 特別提醒大家:
    偶爾修改下自己的密碼,以防被盜
    不要在多個網站都用一樣賬號密碼
    偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水
    flyfeky
    bilibili 工控貴族
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數量: 884 個
    工控威望: 1033 點
    下載積分: 1985 分
    在線時間: 687(小時)
    注冊時間: 2012-05-09
    最后登錄: 2024-11-12
    查看flyfeky的 主題 / 回貼
    2樓  發(fā)表于: 2018-08-09 19:09
    引用
    引用第1樓ymmfa于2018-08-09 18:45發(fā)表的  :
    這是一個新手比較理解的辦法:

    如果用步進的話, STL  S21~ STL S30

    12345678910使用不使用,對應M0~M10
    .......


    楊站長再來回帖.
    西門子倍福WPF+C#數據庫,槽式設備專家
    不小心遇見你
    自動項目、PLC、視覺、通訊等工控軟件開發(fā)QQ3515716
    級別: 工控俠客

    精華主題: 3 篇
    發(fā)帖數量: 2042 個
    工控威望: 2959 點
    下載積分: 25173 分
    在線時間: 1431(小時)
    注冊時間: 2014-01-05
    最后登錄: 2024-11-12
    查看不小心遇見你的 主題 / 回貼
    3樓  發(fā)表于: 2018-08-09 19:13
    什么鬼? 完全看不懂
    新手路過
    項目、視覺、通訊QQ3515716
    ymmfa
    不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
    級別: 管理員

    精華主題: 8 篇
    發(fā)帖數量: 9661 個
    工控威望: 8546 點
    下載積分: 16705 分
    在線時間: 5321(小時)
    注冊時間: 2006-08-10
    最后登錄: 2024-11-12
    查看ymmfa的 主題 / 回貼
    4樓  發(fā)表于: 2018-08-09 19:26
    你主樓一編輯,我有點蒙了。。
    有修改的時候最好回復在樓下,不要修改主樓。。。
    限制 編輯時間就是這個原因。。

    然后回到正題,如果要兩兩移動。
    假如2345都被選擇否了,那是不是先移動1和6,再移動7和8,9和10?
    那這樣,否的話只能否偶數,如果單數,還會剩余一個。

    那可以把之前的STL修改一下,加上相關部分。
    如果C1為0,那第一個被啟動的只是先預備啟動。
    如果C1為1,那么就可以直接啟動。同時再啟動之前有預備啟動信號的。
    直接啟動后,RST一下C1。

    這樣就可以成對啟動了。
    特別提醒大家:
    偶爾修改下自己的密碼,以防被盜
    不要在多個網站都用一樣賬號密碼
    偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水
    ymmfa
    不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
    級別: 管理員

    精華主題: 8 篇
    發(fā)帖數量: 9661 個
    工控威望: 8546 點
    下載積分: 16705 分
    在線時間: 5321(小時)
    注冊時間: 2006-08-10
    最后登錄: 2024-11-12
    查看ymmfa的 主題 / 回貼
    5樓  發(fā)表于: 2018-08-09 19:44
    還可以利用變址,然后循環(huán)N次達到效果,思路整理一下:

    M0 是狀態(tài)選擇
    M1~M10是啟動選擇,10個工位
    M100~M110是啟動信號。
    程序的目的是根據M1~M10的選擇,對應輸出M100~M110。并且是成對啟動的。

    PLC剛上電時,先把Z1和Z2為零。
    Z1記錄了成對啟動第1個的編號,Z2記錄了成對啟動第2個的編號
    比如當Z1等于1,Z2等于2的時候, SET  M100Z0和M100Z1就是SET  M101和M102。

    程序中主要有兩個STL:

    按下總啟動按鈕,第一次掃描到STL1 時,Z0=1,M0Z0=M1。對M0Z0進行一個判斷。
    1,M0Z0 為OFF
    沒被選擇,直接跳到STL2,在STL2中, Z0+1,然后再跳到STL1。

    2,M0Z0為ON,M0為OFF
    這說明當前編號被選擇,并且是成對的第一個。那就把當成的Z0 MOV給Z1,然后同時SET M0和S2,跳到STL2,Z0+1,又回到STL1

    3,M0Z0為ON,M0為ON
    這說明這是成對的第二個,同時SET M100Z0和M100Z1。這樣就成對啟動了。然后RST M0,同時SET S2進入STL2

    第2個STL就要就是Z0+1,如果Z0=10了,就結束 ,如果Z0不到10,就跳到S1繼續(xù)掃描。

    判斷三種情況那里,也可以做成3個STL,這樣不容易出錯
    特別提醒大家:
    偶爾修改下自己的密碼,以防被盜
    不要在多個網站都用一樣賬號密碼
    偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水
    ymmfa
    不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
    級別: 管理員

    精華主題: 8 篇
    發(fā)帖數量: 9661 個
    工控威望: 8546 點
    下載積分: 16705 分
    在線時間: 5321(小時)
    注冊時間: 2006-08-10
    最后登錄: 2024-11-12
    查看ymmfa的 主題 / 回貼
    6樓  發(fā)表于: 2018-08-09 20:10
    調試通過。不足之處你自己完善吧。




       選擇+成對啟動.rar (158 K) 下载次数:109
    特別提醒大家:
    偶爾修改下自己的密碼,以防被盜
    不要在多個網站都用一樣賬號密碼
    偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水
    honggun
    級別: 網絡英雄
    精華主題: 0
    發(fā)帖數量: 1574 個
    工控威望: 6996 點
    下載積分: 31409 分
    在線時間: 907(小時)
    注冊時間: 2009-11-16
    最后登錄: 2024-11-13
    查看honggun的 主題 / 回貼
    7樓  發(fā)表于: 2018-08-09 21:05
    站長好樣的,點贊!
    flyfeky
    bilibili 工控貴族
    級別: 論壇先鋒
    精華主題: 0
    發(fā)帖數量: 884 個
    工控威望: 1033 點
    下載積分: 1985 分
    在線時間: 687(小時)
    注冊時間: 2012-05-09
    最后登錄: 2024-11-12
    查看flyfeky的 主題 / 回貼
    8樓  發(fā)表于: 2018-08-09 21:11
    學習了站長,   還沒怎么看明白。
    西門子倍福WPF+C#數據庫,槽式設備專家
    libin520
    雖然沒什么突破和進步,卻還是每天在堅持著。
    級別: 工控俠客
    精華主題: 1 篇
    發(fā)帖數量: 2352 個
    工控威望: 2781 點
    下載積分: 4412 分
    在線時間: 1167(小時)
    注冊時間: 2008-10-24
    最后登錄: 2024-11-12
    查看libin520的 主題 / 回貼
    9樓  發(fā)表于: 2018-08-09 21:49
    站長功力深厚。學習了。樓主改主貼,弄得跟帖有點不匹配。
    本帖最近評分記錄:
  • 下載積分:+1(flyfeky) 我檢討.
  • 需要高品質音樂資源+QQ群:723680148,音質好的音樂讓愛車如音樂海洋。享受美妙音樂帶來的超快感。音樂文件資源來聊即送。
    ymmfa
    不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
    級別: 管理員

    精華主題: 8 篇
    發(fā)帖數量: 9661 個
    工控威望: 8546 點
    下載積分: 16705 分
    在線時間: 5321(小時)
    注冊時間: 2006-08-10
    最后登錄: 2024-11-12
    查看ymmfa的 主題 / 回貼
    10樓  發(fā)表于: 2018-08-09 22:34
    抱歉, 前面好象我又理解錯樓主意思了。
    樓主有可能是想做一個“萬能程序”,讓同一個PLC程序可以用在多臺相似的機器上。
    理論上只要硬件不沖突,還真的可以。
    一是根據軟元件的數值不同,機器做不同的動作。
    二是根據接線不同,機器作不同用途。比如短接X1是彎管機,短接X2變成清洗機,短接X3變成包裝機。

    比如QQ.exe  我可以一臺電腦開3個QQ,只是輸入不同賬號和密碼。但進程里都是三個QQ。

    有一個舞臺項目大概編程思路是這樣:
    程序由:掃描主程序,功能子程序,參數輸入輸出   三部分組成
    導演希望在不同時間段,舞臺出現不同的背景。(比如央視春晚的背景液晶屏)
    一組參數為10個D,D0-D9。
    D0代表此動作保持的時間,D1代表伺服移動時的速度,D23456789代表8個伺服的絕對位置。
    一共有100組參數。
    客戶在觸摸屏上設置好每組畫面8塊液晶的高低數值。按聯機啟動時,一組一組依次展示,從第1組到第100組。
    比如某小品節(jié)目使用3號參數,某相聲節(jié)目使用8號參數,某歌唱節(jié)目使用10號參數。
    也可以事先輸入好,根據導演的時間自動運行。當然也可以手動運行,就是直接使用其中一組參數。
    這些D代表了不同的參數,有點象QD75P編程時的定位數據那種概念。
    主程序 先掃描第一個D,如果D>0,那說明這里有活干,就觸發(fā)了相應的子程序。并且在觸發(fā)前把D1-D9這些參數傳送到相應的子程序對應的區(qū)域。

    再舉一個例:
    假如某設備控制機械手在電腦上打字。電腦鍵盤上的123456789ABCDEFG回車空格就可以在觸摸屏上選擇
    比如按鍵“1數字”的話,就可能是伺服移動到X=20,Y=30的位置,然后再輸出一下氣動元件。
    比如按鍵“enter回車鍵”的話,就可能是伺服移動到X=120,Y=80的位置,然后再輸出一下氣動元件。
    所以有可能我們要把所有字母對應的位置先輸入到掉電保持寄存器中保持起來。
    然后觸摸屏上輸入了ymmfa.com回車
    PLC把分別把y存入D0,m存入D10....回車存入D100
    主程序掃描D0,然后根據D0的內存,把相應存儲區(qū)的XY坐標找出來MOV過去,然后CALL伺服移動的子程序。
    執(zhí)行完后再做下一行,直到遇到空白參數為止才停下
    這是一種原始的笨方法,不過實現起來比較容易。

    最早的時候夢想當一個黑客,做出一個萬能程序,這個程序可以不斷升級自己,并且不斷分身,一個用來守護進程,一個用來尋找肉雞,一個用來自我升級。。。
    后來發(fā)現其實人世間就這樣一個程序,一個程序叫孩子,參數是天天不聽話。一個程序叫老婆,參數是天天使勁花錢,當然還有很多很多程序,比如廣大網友們。有的看貼回復,有的看貼不回復。
    本帖最近評分記錄:
  • 下載積分:+1(1054529736) 站長厲害
  • 下載積分:+3(mk自動化)
  • 下載積分:+5(東方花豬) 好貼好貼! 縱橫工控人家 ..
  • 下載積分:+1(工控大學徒) 若不撇開終是苦,各不捺 ..
  • 特別提醒大家:
    偶爾修改下自己的密碼,以防被盜
    不要在多個網站都用一樣賬號密碼
    偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水
    zhou5245
    級別: 探索解密
    精華主題: 0
    發(fā)帖數量: 54 個
    工控威望: 177 點
    下載積分: 16715 分
    在線時間: 181(小時)
    注冊時間: 2012-02-23
    最后登錄: 2024-08-28
    查看zhou5245的 主題 / 回貼
    11樓  發(fā)表于: 2018-08-09 22:51
    mark。支持下。