flyfeky
bilibili 工控貴族
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個(gè)
工控威望: 1040 點(diǎn)
下載積分: 2000 分
在線時(shí)間: 688(小時(shí))
注冊(cè)時(shí)間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
樓主  發(fā)表于: 2018-08-09 18:22
重新描述一下過(guò)程,假設(shè)1-10共10個(gè)工位,小車依次經(jīng)過(guò)兩個(gè)工位,由1.2,3,4,5.6.7.8.910使用不使用來(lái)決定。  

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

注意: 條件滿足時(shí)只移動(dòng)兩個(gè)工位,就算完成;小車由伺服電機(jī)驅(qū)動(dòng)。

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


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

精華主題: 8 篇
發(fā)帖數(shù)量: 9680 個(gè)
工控威望: 8578 點(diǎn)
下載積分: 16737 分
在線時(shí)間: 5328(小時(shí))
注冊(cè)時(shí)間: 2006-08-10
最后登錄: 2024-12-22
查看ymmfa的 主題 / 回貼
1樓  發(fā)表于: 2018-08-09 18:45
這是一個(gè)新手比較理解的辦法:

如果用步進(jìn)的話, STL  S21~ STL S30

12345678910使用不使用,對(duì)應(yīng)M0~M10

然后跳轉(zhuǎn)到每步的時(shí)候,如果M通就執(zhí)行。如果不M不通就跳到下一步。
本帖最近評(píng)分記錄:
  • 下載積分:+1(flyfeky) 真誠(chéng)感謝!
  • 特別提醒大家:
    偶爾修改下自己的密碼,以防被盜
    不要在多個(gè)網(wǎng)站都用一樣賬號(hào)密碼
    偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水
    ymmfa
    不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
    級(jí)別: 管理員

    精華主題: 8 篇
    發(fā)帖數(shù)量: 9680 個(gè)
    工控威望: 8578 點(diǎn)
    下載積分: 16737 分
    在線時(shí)間: 5328(小時(shí))
    注冊(cè)時(shí)間: 2006-08-10
    最后登錄: 2024-12-22
    查看ymmfa的 主題 / 回貼
    2樓  發(fā)表于: 2018-08-09 19:26
    你主樓一編輯,我有點(diǎn)蒙了。。
    有修改的時(shí)候最好回復(fù)在樓下,不要修改主樓。。。
    限制 編輯時(shí)間就是這個(gè)原因。。

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

    那可以把之前的STL修改一下,加上相關(guān)部分。
    如果C1為0,那第一個(gè)被啟動(dòng)的只是先預(yù)備啟動(dòng)。
    如果C1為1,那么就可以直接啟動(dòng)。同時(shí)再啟動(dòng)之前有預(yù)備啟動(dòng)信號(hào)的。
    直接啟動(dòng)后,RST一下C1。

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

    精華主題: 8 篇
    發(fā)帖數(shù)量: 9680 個(gè)
    工控威望: 8578 點(diǎn)
    下載積分: 16737 分
    在線時(shí)間: 5328(小時(shí))
    注冊(cè)時(shí)間: 2006-08-10
    最后登錄: 2024-12-22
    查看ymmfa的 主題 / 回貼
    3樓  發(fā)表于: 2018-08-09 19:44
    還可以利用變址,然后循環(huán)N次達(dá)到效果,思路整理一下:

    M0 是狀態(tài)選擇
    M1~M10是啟動(dòng)選擇,10個(gè)工位
    M100~M110是啟動(dòng)信號(hào)。
    程序的目的是根據(jù)M1~M10的選擇,對(duì)應(yīng)輸出M100~M110。并且是成對(duì)啟動(dòng)的。

    PLC剛上電時(shí),先把Z1和Z2為零。
    Z1記錄了成對(duì)啟動(dòng)第1個(gè)的編號(hào),Z2記錄了成對(duì)啟動(dòng)第2個(gè)的編號(hào)
    比如當(dāng)Z1等于1,Z2等于2的時(shí)候, SET  M100Z0和M100Z1就是SET  M101和M102。

    程序中主要有兩個(gè)STL:

    按下總啟動(dòng)按鈕,第一次掃描到STL1 時(shí),Z0=1,M0Z0=M1。對(duì)M0Z0進(jìn)行一個(gè)判斷。
    1,M0Z0 為OFF
    沒(méi)被選擇,直接跳到STL2,在STL2中, Z0+1,然后再跳到STL1。

    2,M0Z0為ON,M0為OFF
    這說(shuō)明當(dāng)前編號(hào)被選擇,并且是成對(duì)的第一個(gè)。那就把當(dāng)成的Z0 MOV給Z1,然后同時(shí)SET M0和S2,跳到STL2,Z0+1,又回到STL1

    3,M0Z0為ON,M0為ON
    這說(shuō)明這是成對(duì)的第二個(gè),同時(shí)SET M100Z0和M100Z1。這樣就成對(duì)啟動(dòng)了。然后RST M0,同時(shí)SET S2進(jìn)入STL2

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

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

    精華主題: 8 篇
    發(fā)帖數(shù)量: 9680 個(gè)
    工控威望: 8578 點(diǎn)
    下載積分: 16737 分
    在線時(shí)間: 5328(小時(shí))
    注冊(cè)時(shí)間: 2006-08-10
    最后登錄: 2024-12-22
    查看ymmfa的 主題 / 回貼
    4樓  發(fā)表于: 2018-08-09 20:10
    調(diào)試通過(guò)。不足之處你自己完善吧。




       選擇+成對(duì)啟動(dòng).rar (158 K) 下载次数:109
    特別提醒大家:
    偶爾修改下自己的密碼,以防被盜
    不要在多個(gè)網(wǎng)站都用一樣賬號(hào)密碼
    偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水
    ymmfa
    不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
    級(jí)別: 管理員

    精華主題: 8 篇
    發(fā)帖數(shù)量: 9680 個(gè)
    工控威望: 8578 點(diǎn)
    下載積分: 16737 分
    在線時(shí)間: 5328(小時(shí))
    注冊(cè)時(shí)間: 2006-08-10
    最后登錄: 2024-12-22
    查看ymmfa的 主題 / 回貼
    5樓  發(fā)表于: 2018-08-09 22:34
    抱歉, 前面好象我又理解錯(cuò)樓主意思了。
    樓主有可能是想做一個(gè)“萬(wàn)能程序”,讓同一個(gè)PLC程序可以用在多臺(tái)相似的機(jī)器上。
    理論上只要硬件不沖突,還真的可以。
    一是根據(jù)軟元件的數(shù)值不同,機(jī)器做不同的動(dòng)作。
    二是根據(jù)接線不同,機(jī)器作不同用途。比如短接X(jué)1是彎管機(jī),短接X(jué)2變成清洗機(jī),短接X(jué)3變成包裝機(jī)。

    比如QQ.exe  我可以一臺(tái)電腦開3個(gè)QQ,只是輸入不同賬號(hào)和密碼。但進(jìn)程里都是三個(gè)QQ。

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

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

    最早的時(shí)候夢(mèng)想當(dāng)一個(gè)黑客,做出一個(gè)萬(wàn)能程序,這個(gè)程序可以不斷升級(jí)自己,并且不斷分身,一個(gè)用來(lái)守護(hù)進(jìn)程,一個(gè)用來(lái)尋找肉雞,一個(gè)用來(lái)自我升級(jí)。。。
    后來(lái)發(fā)現(xiàn)其實(shí)人世間就這樣一個(gè)程序,一個(gè)程序叫孩子,參數(shù)是天天不聽(tīng)話。一個(gè)程序叫老婆,參數(shù)是天天使勁花錢,當(dāng)然還有很多很多程序,比如廣大網(wǎng)友們。有的看貼回復(fù),有的看貼不回復(fù)。
    本帖最近評(píng)分記錄:
  • 下載積分:+1(1054529736) 站長(zhǎng)厲害
  • 下載積分:+3(mk自動(dòng)化)
  • 下載積分:+5(東方花豬) 好貼好貼! 縱橫工控人家 ..
  • 下載積分:+1(工控大學(xué)徒) 若不撇開終是苦,各不捺 ..
  • 特別提醒大家:
    偶爾修改下自己的密碼,以防被盜
    不要在多個(gè)網(wǎng)站都用一樣賬號(hào)密碼
    偶爾還是要發(fā)發(fā)貼,回回貼,不要總潛水