標(biāo)題: 關(guān)于電機(jī)往復(fù)控制程序 [打印本頁(yè)]

作者: 鄭效桂    時(shí)間: 2024-6-30 17:56
標(biāo)題: 關(guān)于電機(jī)往復(fù)控制程序
求教各位大佬,我寫了一個(gè)自動(dòng)尋膜系統(tǒng),就是用電機(jī)做往復(fù)運(yùn)動(dòng),搭配一個(gè)光電開(kāi)關(guān)做啟停信號(hào)。
整個(gè)過(guò)程大概如下:(在光電開(kāi)關(guān)沒(méi)有被遮擋時(shí))
1.啟動(dòng)信號(hào)產(chǎn)生時(shí),電機(jī)正轉(zhuǎn);
2.正轉(zhuǎn)到正轉(zhuǎn)限位開(kāi)關(guān)處時(shí),限位開(kāi)關(guān)被觸發(fā),立即反轉(zhuǎn);
3.反轉(zhuǎn)到反轉(zhuǎn)限位開(kāi)關(guān)處時(shí),限位開(kāi)關(guān)被觸發(fā),立即正轉(zhuǎn);(如此往復(fù)運(yùn)動(dòng))。
4.如果在正轉(zhuǎn)過(guò)程中,光電開(kāi)關(guān)被遮擋,電機(jī)停止轉(zhuǎn)動(dòng);
5.在4的基礎(chǔ)上,如果光電開(kāi)關(guān)失去遮擋,則電機(jī)正轉(zhuǎn)(進(jìn)入往復(fù)狀態(tài));
6.如果在反轉(zhuǎn)過(guò)程中,光電開(kāi)關(guān)被遮擋,電機(jī)停止轉(zhuǎn)動(dòng);
7.在6的基礎(chǔ)上,如果光電開(kāi)關(guān)失去遮擋,則電機(jī)反轉(zhuǎn)(進(jìn)入往復(fù)狀態(tài));


程序我發(fā)圖了

現(xiàn)在有一個(gè)問(wèn)題,就是狀態(tài)在7的時(shí)候,電機(jī)無(wú)法反轉(zhuǎn)(進(jìn)入往復(fù)狀態(tài))


請(qǐng)各位大佬指教一下   應(yīng)該怎么寫;
拜托拜托了!

3.png (88.41 KB, 下載次數(shù): 23)

3.png

2.png (20.65 KB, 下載次數(shù): 18)

2.png

1.png (16.06 KB, 下載次數(shù): 23)

1.png

作者: lkc8210    時(shí)間: 2024-6-30 22:08
  1. bit dir = 0;//0=ZZ, 1=FZ
  2. while(1)
  3. {
  4.         if(IN4==0)dir=1;
  5.         if(IN2==0)dir=0;
  6.         if(IN1==0 && IN3==1)
  7.         {
  8.                 if(dir)
  9.                 {
  10.                         fz();
  11.                 }else{
  12.                         zz();
  13.                 }
  14.         }else{
  15.                 tz();
  16.         }
  17. }
復(fù)制代碼

作者: xiaobendan001    時(shí)間: 2024-7-1 09:49
lkc8210 發(fā)表于 2024-6-30 22:08

簡(jiǎn)潔高效。!
作者: 鄭效桂    時(shí)間: 2024-7-1 10:04
lkc8210 發(fā)表于 2024-6-30 22:08

謝謝大佬   這段代碼有用   但是有一個(gè)問(wèn)題  就是IN1=1時(shí)   我想要回原點(diǎn)  也就是反轉(zhuǎn)   到IN4=0時(shí)  停止
作者: 鄭效桂    時(shí)間: 2024-7-1 10:48
xiaobendan001 發(fā)表于 2024-7-1 09:49
簡(jiǎn)潔高效!!

是的    確實(shí)簡(jiǎn)潔高效   比我之前寫的那個(gè)好太多了
作者: lkc8210    時(shí)間: 2024-7-1 11:49
鄭效桂 發(fā)表于 2024-7-1 10:04
謝謝大佬   這段代碼有用   但是有一個(gè)問(wèn)題  就是IN1=1時(shí)   我想要回原點(diǎn)  也就是反轉(zhuǎn)   到IN4=0時(shí)  停止

IN1=1不是停止?fàn)顟B(tài)嗎?
作者: dyx811    時(shí)間: 2024-7-1 23:16
lkc8210 發(fā)表于 2024-7-1 11:49
IN1=1不是停止?fàn)顟B(tài)嗎?

他的意思是發(fā)出停止指令時(shí),不管正轉(zhuǎn)還是反轉(zhuǎn),都達(dá)到原點(diǎn),即運(yùn)行到正轉(zhuǎn)極限位置時(shí)停止。
建議樓主設(shè)計(jì)時(shí)考慮極限開(kāi)關(guān),最好用常閉觸點(diǎn)。
作者: 鄭效桂    時(shí)間: 2024-7-2 07:31
lkc8210 發(fā)表于 2024-7-1 11:49
IN1=1不是停止?fàn)顟B(tài)嗎?

已經(jīng)搞好了謝謝你  非常感謝
作者: 鄭效桂    時(shí)間: 2024-7-5 09:25
dyx811 發(fā)表于 2024-7-1 23:16
他的意思是發(fā)出停止指令時(shí),不管正轉(zhuǎn)還是反轉(zhuǎn),都達(dá)到原點(diǎn),即運(yùn)行到正轉(zhuǎn)極限位置時(shí)停止。
建議樓主設(shè)計(jì) ...

對(duì)的   就是這個(gè)意思  現(xiàn)在已經(jīng)弄好了  謝謝




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1