274 lines
10 KiB
C#
274 lines
10 KiB
C#
///*
|
|
// * Created by SharpDevelop.
|
|
// * User: amkor
|
|
// * Date: 5/16/2018
|
|
// * Time: 3:08 PM
|
|
// *
|
|
// * To change this template use Tools | Options | Coding | Edit Standard Headers.
|
|
// */
|
|
//using System;
|
|
|
|
//namespace Project
|
|
//{
|
|
// public static class Util_DO
|
|
// {
|
|
// /// <summary>
|
|
// /// ADLink I/O Board input status
|
|
// /// </summary>
|
|
// /// <param name="pin"></param>
|
|
// /// <returns></returns>
|
|
// public static Boolean GetIOInput(eDIName pin)
|
|
// {
|
|
// var curValue = Pub.dio.INPUT(GetDINum(pin) - 1);
|
|
// if (pin == eDIName.EMERGENCY ||
|
|
// pin == eDIName.PCB_PUSHER_END ||
|
|
// pin == eDIName.PCB_PUSHER_HOME ||
|
|
// pin == eDIName.PCB_IN_MGZ ||
|
|
// pin == eDIName.PCB_OVERLOAD ||
|
|
// pin == eDIName.PCB_PUSHER_OVR)
|
|
// {
|
|
// return !curValue;
|
|
// }
|
|
// else return curValue;
|
|
// }
|
|
|
|
// /// <summary>
|
|
// /// ADLink I/O Board Output Status
|
|
// /// </summary>
|
|
// /// <param name="pin"></param>
|
|
// /// <returns></returns>
|
|
// public static Boolean GetIOOutput(eDOName pin)
|
|
// {
|
|
// return Pub.dio.OUTPUT(GetDONum(pin) - 1);
|
|
// }
|
|
|
|
// /// <summary>
|
|
// /// A/D Link Digital input Pin number
|
|
// /// </summary>
|
|
// /// <param name="pin"></param>
|
|
// /// <returns></returns>
|
|
// public static int GetDINum(eDIName pin)
|
|
// {
|
|
// return (int)pin + 1;
|
|
// //return Pub.setting.DI[(byte)pin];
|
|
// }
|
|
|
|
// /// <summary>
|
|
// /// adlink digital output in number
|
|
// /// </summary>
|
|
// /// <param name="pin"></param>
|
|
// /// <returns></returns>
|
|
// public static int GetDONum(eDOName pin)
|
|
// {
|
|
// return (int)pin + 1;
|
|
// //return Pub.setting.DO[(byte)pin];
|
|
|
|
// }
|
|
|
|
// /// <summary>
|
|
// /// 도어각 닫혀있는 경우 TRUE,
|
|
// /// </summary>
|
|
// /// <returns></returns>
|
|
// public static Boolean CheckDoorSafty()
|
|
// {
|
|
// var door1 = CheckDoorSafty_Front();
|
|
// var door2 = CheckDoorSafty_Rear();
|
|
// var door3 = CheckDoorSafty_Left();
|
|
// var door4 = CheckDoorSafty_Right();
|
|
// if (door1 && door2 && door3 && door4) return true;
|
|
// else return false;
|
|
// }
|
|
// public static Boolean CheckDoorSafty_Front()
|
|
// {
|
|
// var door = GetIOInput(eDIName.DOOR_FRONT) || Pub.setting.DisableDoorFront;
|
|
// return door;
|
|
// }
|
|
// public static Boolean CheckDoorSafty_Rear()
|
|
// {
|
|
// var door = GetIOInput(eDIName.DOOR_REAR) || Pub.setting.DisableDoorRear;
|
|
// return door;
|
|
// }
|
|
// public static Boolean CheckDoorSafty_Left()
|
|
// {
|
|
// var door = GetIOInput(eDIName.DOOR_LEFT) || Pub.setting.DisableDoorLeft;
|
|
// return door;
|
|
// }
|
|
// public static Boolean CheckDoorSafty_Right()
|
|
// {
|
|
// var door = GetIOInput(eDIName.DOOR_RIGHT) || Pub.setting.DisableDoorRight;
|
|
// return door;
|
|
// }
|
|
|
|
// public static Boolean checkMGZReady()
|
|
// {
|
|
// var ready1 = GetIOInput(eDIName.MGZ_CLAMP_RDY1);
|
|
// var ready2 = GetIOInput(eDIName.MGZ_CLAMP_RDY2);
|
|
// return ready1 && ready2;
|
|
// }
|
|
|
|
// public static Boolean SetAIR(Boolean ON)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.MAIN_AIR) - 1, ON);
|
|
|
|
// }
|
|
// //public static Boolean SetEMGLamp(Boolean ON)
|
|
// //{
|
|
// // if (Pub.dio == null || !Pub.dio.initOK) return false;
|
|
// // return Pub.dio.SetOutput(GetDONum(eDOName.em) - 1, ON);
|
|
// //}
|
|
// public static Boolean SetPusher(eMotDir Direction)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// if (Direction == eMotDir.CW)
|
|
// {
|
|
// if(Util_DO.GetIOInput( eDIName.MGZ_CLAMP_RDY1)==false &&
|
|
// Util_DO.GetIOInput(eDIName.MGZ_CLAMP_RDY2)==false)
|
|
// {
|
|
// Pub.log.AddE("매거진이 없어서 푸셔 작동이 불가 합니다");
|
|
// return false;
|
|
// }
|
|
// Pub.dio.SetOutput(GetDONum(eDOName.PCB_PUSHER_DIR) - 1, true);
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.PCB_PUSHER_RUN) - 1, true);
|
|
// }
|
|
// else if (Direction == eMotDir.CCW)
|
|
// {
|
|
// Pub.dio.SetOutput(GetDONum(eDOName.PCB_PUSHER_DIR) - 1, false);
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.PCB_PUSHER_RUN) - 1, true);
|
|
// }
|
|
// else
|
|
// {
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.PCB_PUSHER_RUN) - 1, false);
|
|
// }
|
|
// }
|
|
|
|
// public static Boolean SetMGZMotor(Boolean run)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// if (run)
|
|
// {
|
|
// Pub.MGZRunTime = DateTime.Now;
|
|
// Pub.log.Add("MGZ In Run : " + Pub.MGZRunTime.ToString());
|
|
// return Pub.dio.SetOutput((int)eDOName.MGZ_IN, true);
|
|
// }
|
|
// else
|
|
// {
|
|
// return Pub.dio.SetOutput((int)eDOName.MGZ_IN, false);
|
|
// }
|
|
// }
|
|
|
|
// #region "Tower Lamp"
|
|
|
|
// /// <summary>
|
|
// /// 타워램프버튼 작업
|
|
// /// </summary>
|
|
// /// <param name="g"></param>
|
|
// /// <param name="r"></param>
|
|
// /// <param name="y"></param>
|
|
// public static void SetTWLamp(Boolean r, Boolean g, Boolean y)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return;
|
|
// if (Util_DO.GetIOOutput(eDOName.TWR_GRN) != g) Pub.dio.SetOutput(GetDONum(eDOName.TWR_GRN) - 1, g);
|
|
// if (Util_DO.GetIOOutput(eDOName.TWR_RED) != r) Pub.dio.SetOutput(GetDONum(eDOName.TWR_RED) - 1, r);
|
|
// if (Util_DO.GetIOOutput(eDOName.TWR_YEL) != y) Pub.dio.SetOutput(GetDONum(eDOName.TWR_YEL) - 1, y);
|
|
|
|
// if (Util_DO.GetIOOutput(eDOName.LED_START) != g) Pub.dio.SetOutput(GetDONum(eDOName.LED_START) - 1, g);
|
|
// if (Util_DO.GetIOOutput(eDOName.LED_STOP) != r) Pub.dio.SetOutput(GetDONum(eDOName.LED_STOP) - 1, r);
|
|
// if (Util_DO.GetIOOutput(eDOName.LED_RESET) != y) Pub.dio.SetOutput(GetDONum(eDOName.LED_RESET) - 1, y);
|
|
// }
|
|
|
|
// public static Boolean SetTwRed(Boolean ON)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// Pub.dio.SetOutput(GetDONum(eDOName.LED_STOP) - 1, ON);
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.TWR_RED) - 1, ON);
|
|
// }
|
|
// public static Boolean SetTwYel(Boolean ON)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// Pub.dio.SetOutput(GetDONum(eDOName.LED_RESET) - 1, ON);
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.TWR_YEL) - 1, ON);
|
|
// }
|
|
// public static Boolean SetTwGrn(Boolean ON)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// Pub.dio.SetOutput(GetDONum(eDOName.LED_START) - 1, ON);
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.TWR_GRN) - 1, ON);
|
|
// }
|
|
|
|
// #endregion
|
|
|
|
// public static void ToggleRoomLight()
|
|
// {
|
|
// var current = Util_DO.GetIOOutput(eDOName.ROOM_LIGHT);
|
|
// Pub.dio.SetOutput((int)eDOName.ROOM_LIGHT, !current);
|
|
// }
|
|
|
|
|
|
// public static Boolean SetBrake(Boolean ON)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.BRAKE_OFF) - 1, !ON);
|
|
// }
|
|
|
|
// public static Boolean SetBuzzer(Boolean ON)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// if (ON)
|
|
// {
|
|
// Pub.BuzzerTime = DateTime.Now;
|
|
// if (Pub.setting.EnableBuzzer == false) return true; //부저기능OFF시 사용 안함
|
|
// }
|
|
// if (ON && Pub.setting.EnableBuzzer==false)
|
|
// {
|
|
// Pub.log.AddAT("buzzer Disabled");
|
|
// ON = false;
|
|
// }
|
|
// return Pub.dio.SetOutput(GetDONum(eDOName.BUZZER) - 1, ON);
|
|
// }
|
|
// public static Boolean getBrakeOn()
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// return !GetIOOutput(eDOName.BRAKE_OFF);
|
|
// }
|
|
|
|
// public static Boolean setGripper(Boolean close)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// var rlt = Pub.dio.SetOutput(GetDONum(eDOName.PCB_GRIPPER_CLOSE) - 1, close);
|
|
// if (!rlt) Pub.log.AddE("Grip Set Error vlaue=" + close.ToString());
|
|
// else
|
|
// {
|
|
// System.Threading.Thread.Sleep(Pub.setting.GripperOnOffDelay);
|
|
// //Pub.log.Add("DELAY:GRIP:" + Pub.setting.GripperOnOffDelay);
|
|
// }
|
|
// return rlt;
|
|
// }
|
|
// public static Boolean setMGZClamp(Boolean close)
|
|
// {
|
|
// if (Pub.dio == null || !Pub.dio.IsInit) return false;
|
|
// bool rlt1, rlt2;
|
|
// if (close)
|
|
// {
|
|
// rlt1 = Pub.dio.SetOutput((int)eDOName.MGZ_CLAMP_OPEN, false);
|
|
// rlt2 = Pub.dio.SetOutput((int)eDOName.MGZ_CLAMP_CLOSE, true);
|
|
// }
|
|
// else
|
|
// {
|
|
// rlt2 = Pub.dio.SetOutput((int)eDOName.MGZ_CLAMP_CLOSE, false);
|
|
// rlt1 = Pub.dio.SetOutput((int)eDOName.MGZ_CLAMP_OPEN, true);
|
|
// }
|
|
|
|
// Pub.log.AddAT("gripper set close = " + close.ToString());
|
|
|
|
// if (rlt1 == false || rlt2 == false) Pub.log.AddE("Grip Set Error vlaue=" + close.ToString());
|
|
// else
|
|
// {
|
|
// System.Threading.Thread.Sleep(Pub.setting.GripperOnOffDelay);
|
|
// // Pub.log.Add("DELAY:GRIP:" + Pub.setting.GripperOnOffDelay);
|
|
// }
|
|
// return rlt1 && rlt2;
|
|
// }
|
|
// }
|
|
//}
|