65 lines
1.9 KiB
C#
65 lines
1.9 KiB
C#
using AR;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace Project
|
|
{
|
|
public partial class FMain
|
|
{
|
|
private void _SM_MAIN_ERROR(Boolean isFirst, eSMStep Step, TimeSpan StepTime)
|
|
{
|
|
//모션의 위치를 저장해준다. - 재시작시 변경이 잇다면 오류로 처리한다
|
|
for (short i = 0; i < PUB.mot.DeviceCount; i++)
|
|
PUB.Result.PreventMotionPosition[i] = PUB.mot.GetLastCmdPos(i);
|
|
|
|
var errorMessage = string.Empty;
|
|
|
|
//에러메세지가 있는 경우에만 표시함
|
|
if (PUB.Result.ResultCode != eResult.NOERROR && PUB.Result.ResultMessage != "")
|
|
errorMessage += PUB.Result.ResultMessage;
|
|
|
|
//에러메세지가 있는 경우에만 표시함
|
|
if (errorMessage != "")
|
|
{
|
|
//사용자 값 입력창에서는 오류를 표시하지않는다
|
|
if (Step == eSMStep.PAUSE && PUB.flag.get(eVarBool.FG_WAIT_LOADERINFO))
|
|
PUB.log.Add("Pause message not displayed because barcode information input window is open");
|
|
else
|
|
PUB.popup.setMessage(errorMessage);
|
|
}
|
|
|
|
|
|
if (Step == eSMStep.EMERGENCY)
|
|
{
|
|
PUB.log.AddE("Enter Emergency Step");
|
|
}
|
|
else if (Step == eSMStep.PAUSE)
|
|
{
|
|
PUB.log.AddE("Enter Pause Step 1 : " + PUB.Result.ResultMessage);
|
|
}
|
|
else
|
|
{
|
|
//홈 검색실패로 인해 멈췄다면 모든 축을 멈춘다
|
|
if (Step == eSMStep.ERROR && PUB.Result.ResultCode == eResult.SAFTY)
|
|
PUB.mot.MoveStop("홈검색 실패");
|
|
|
|
PUB.log.AddE(string.Format("Enter Error Step 1 : {0}", PUB.Result.ResultMessage));
|
|
}
|
|
|
|
//lbMsgR.ProgressEnable = false;
|
|
|
|
DIO.SetBuzzer(true);
|
|
DIO.SetPortMotor(0, eMotDir.CW, false, "ERROR");
|
|
DIO.SetPortMotor(1, eMotDir.CW, false, "ERROR");
|
|
DIO.SetPortMotor(2, eMotDir.CW, false, "ERROR");
|
|
|
|
//컨베어멈춤
|
|
DIO.SetOutput(AR.eDOName.LEFT_CONV, false);
|
|
DIO.SetOutput(AR.eDOName.RIGHT_CONV, false);
|
|
}
|
|
}
|
|
}
|