Exemple #1
0
        public static bool WritePLCAddressData(CNCMachine machine, CNCPort port, int data)
        {
            if ((machine == null) || (port == null))
            {
                return(false);
            }
            bool flag = false;

            switch (port.AddressType)
            {
            case EnumCNCAddress.I:
                return(WritePlcIBit(machine, port.PortNumber, (byte)data));

            case EnumCNCAddress.O:
            case EnumCNCAddress.A:
                return(flag);

            case EnumCNCAddress.C:
                return(WritePlcCBit(machine, port.PortNumber, (byte)data));

            case EnumCNCAddress.S:
                return(WritePlcSBit(machine, port.PortNumber, (byte)data));

            case EnumCNCAddress.R:
                return(WriteRegisterData(machine, port.PortNumber, data));
            }
            return(flag);
        }
Exemple #2
0
        public static bool StartVacuumPump(TransferStation station, CNCPort startPort)
        {
            WritePLCAddressData(station, startPort, 1);
            int data = -1;

            GetPLCAdreesData(station, startPort, out data);
            return(data == 1);
        }
Exemple #3
0
        public static bool StopVacuumPump(TransferStation station, CNCPort startPort)
        {
            WritePLCAddressData(station, startPort, 0);
            Thread.Sleep(500);
            int data = -1;

            GetPLCAdreesData(station, startPort, out data);
            return(data == 0);
        }
Exemple #4
0
        public static int GetPortValue(TransferStation station, CNCPort port)
        {
            int data = -1;

            if (!GetPLCAdreesData(station, port, out data))
            {
                data = -1;
            }
            return(data);
        }
Exemple #5
0
        public static bool GetPLCAdreesData(CNCMachine machine, CNCPort port, out int data)
        {
            data = -1;
            if ((machine == null) || (port == null))
            {
                return(false);
            }
            byte num  = 0;
            bool flag = false;

            switch (port.AddressType)
            {
            case EnumCNCAddress.I:
                flag = GetPlcIBit(machine, port.PortNumber, out num);
                data = num;
                return(flag);

            case EnumCNCAddress.O:
                flag = GetPlcOBit(machine, port.PortNumber, out num);
                data = num;
                return(flag);

            case EnumCNCAddress.C:
                flag = GetPlcCBit(machine, port.PortNumber, out num);
                data = num;
                return(flag);

            case EnumCNCAddress.S:
                flag = GetPlcSBit(machine, port.PortNumber, out num);
                data = num;
                return(flag);

            case EnumCNCAddress.A:
                flag = GetPlcABit(machine, port.PortNumber, out num);
                data = num;
                return(flag);

            case EnumCNCAddress.R:
                return(GetRegisterData(machine, port.PortNumber, out data));
            }
            return(flag);
        }
Exemple #6
0
 public static bool Reset(CNCMachine machine, CNCPort port)
 {
     return(((machine != null) && (port != null)) && Reset(GetCNCStation(machine.MachineIP.ToString()), port.PortNumber, machine.ResetPortIntervalTime.Value));
 }
Exemple #7
0
 public static void MoveAxisToAbsPosition(CNCMachine machine, float axisXMachMax, float axisXMachMin, float axisYMachMax, float axisYMachMin, CNCPort xPosPort, CNCPort yPosPort, CNCPort moveStartPort, float absX, float absY)
 {
     if (((machine != null) && (xPosPort != null)) && ((yPosPort != null) && (moveStartPort != null)))
     {
         SyntecRemoteCNC cNCStation = GetCNCStation(machine.MachineIP.ToString());
         if (cNCStation != null)
         {
             CNCPosition cncPosition = new CNCPosition();
             if (GetPosition(cNCStation, cncPosition))
             {
                 List <float> dist = new List <float>();
                 if (cncPosition.AxisName.Count > 0)
                 {
                     dist.Add(absX - cncPosition.Abs[0]);
                 }
                 else
                 {
                     dist.Add(0f);
                 }
                 if (cncPosition.AxisName.Count > 1)
                 {
                     dist.Add(absY - cncPosition.Abs[1]);
                 }
                 else
                 {
                     dist.Add(0f);
                 }
                 MoveAxis(cNCStation, dist, axisXMachMax, axisXMachMin, axisYMachMax, axisYMachMin, xPosPort.PortNumber, yPosPort.PortNumber, moveStartPort.PortNumber, machine.ResetPortIntervalTime.Value);
             }
         }
     }
 }
Exemple #8
0
 public static void MoveAxis(CNCMachine machine, float axisXMachMax, float axisXMachMin, float axisYMachMax, float axisYMachMin, CNCPort xPosPort, CNCPort yPosPort, CNCPort moveStartPort, List <float> dist)
 {
     if (((machine != null) && (xPosPort != null)) && ((yPosPort != null) && (moveStartPort != null)))
     {
         SyntecRemoteCNC cNCStation = GetCNCStation(machine.MachineIP.ToString());
         if (cNCStation != null)
         {
             MoveAxis(cNCStation, dist, axisXMachMax, axisXMachMin, axisYMachMax, axisYMachMin, xPosPort.PortNumber, yPosPort.PortNumber, moveStartPort.PortNumber, machine.ResetPortIntervalTime.Value);
         }
     }
 }
Exemple #9
0
 public static void StopAction(TransferStation station, CNCPort startPort)
 {
     WritePLCAddressData(station, startPort, 0);
 }
Exemple #10
0
 public static bool Start(CNCMachine machine, CNCPort startPort, CNCPort resetPort)
 {
     return((((machine != null) && (startPort != null)) && (resetPort != null)) && Start(GetCNCStation(machine.MachineIP.ToString()), startPort.PortNumber, resetPort.PortNumber, machine.ResetPortIntervalTime.Value));
 }