按照順序執行后,第一個電機正常,但是第二個電機不轉,相應if語句里燈的變化正常,求問是怎么回事
捕獲.PNG (86.08 KB, 下載次數: 36)
下載附件
2020-5-27 16:24 上傳
void jiance()
{ GPIO_MOTOR=0x99;
while(1)
{
if(p00==0&&p01==0&&p03==1&&L3==0) //p00檢測到有托盤要進入 ,p01檢測內部沒有托盤,p02檢測內部沒有零部件
{
L1=1; //L1表示當前工位內部有托盤,開始工作
L2=0; //L2不亮不啟用p02
SETP_MOTOR_QZ(); //前端正轉
delay(10);
}
if(p00==1&&p01==1&&p03==1&&L1==1&&L2==0&&L3==0) //p00檢測到沒有托盤要進入 ,p01檢測內部有,p02檢測沒有且已經打開過前端開關
{
SETP_MOTOR_QF(); //前端反轉 ,防止后邊托盤進入
delay(10);
L2=1; //L2亮p02 起作用
}
if(p03==1&&L1==1&&L2==1&&L3==0) //p00檢測到沒有托盤要進入,p01檢測內部有,p02檢測內部沒有零部件
{
if(p02==0)
{
SETP_MOTOR_QZ(); //后端正轉 ,直接離開
delay(10);
}
elseL3=1;
}
if(L3==1&&K3==0)
{ // (p00==1&&p01==0&&p02==0&&p03==1)p00
SETP_MOTOR_HZ(); //后端正轉
delay(10);
L3=0;
}
if(p00==1&&p03==0) //p00檢測到沒有托盤要進入 ,p01檢測內部沒有,p02檢測內部沒有零部件,p03檢測已經離開
{
SETP_MOTOR_QF();
L1=0;
L2=0;
delay(10);
}
}
return;
}
|