コード例 #1
0
        public void ap_Enter(DematicCommunicationPoint sender, Load load)
        {
            IATCPalletLoadType palletLoad = load as IATCPalletLoadType;

            if (palletLoad == null)
            {
                return;
            }

            palletLoad.Location = commPoint.Name; //Update the palletLoad location

            switch (CommPointType)
            {
            case PalletCommPointATCInfo.PalletCommPointATCTypes.None: break;

            case PalletCommPointATCInfo.PalletCommPointATCTypes.LocationArrived: LocationArrived(CommPoint, palletLoad); break;

            case PalletCommPointATCInfo.PalletCommPointATCTypes.LocationLeft: LocationLeft(commPoint, palletLoad); break;

            case PalletCommPointATCInfo.PalletCommPointATCTypes.TransportRequest: TransportRequest(commPoint, palletLoad); break;

            case PalletCommPointATCInfo.PalletCommPointATCTypes.TransportFinished: TransportFinished(commPoint, palletLoad); break;

            case PalletCommPointATCInfo.PalletCommPointATCTypes.TransportRequestOrFinished: TransportRequestOrFinished(commPoint, palletLoad); break;

            default: break;
            }
        }
コード例 #2
0
 void ap_Enter(DematicCommunicationPoint commPoint, Load load)
 {
 }
コード例 #3
0
        public void ap_Enter(DematicCommunicationPoint sender, Load load)
        {
            //if (CommPointType == CommPointDatcomInfo.CommPointTypes.DelayPoint)
            //{
            //    load.WaitingTime = DelayTime;
            //    return;
            //}
            //else if (CommPointType == CommPointDatcomInfo.CommPointTypes.Arrival_Delay)
            //{
            //    load.WaitingTime = DelayTime;
            //}

            Case_Load caseload = load as Case_Load;

            if (caseload == null)
            {
                return;
            }

            if (CommPoint.ControllerName != string.Empty)
            {
                if (((CaseData)caseload.Case_Data).PLCName != CommPoint.ControllerName && ((CaseData)caseload.Case_Data).PLCName != string.Empty)
                {
                    //Case enters new plc area. Remove from routing table
                    IController oldplc = Experior.Core.Assemblies.Assembly.Items[((CaseData)caseload.Case_Data).PLCName] as IController;

                    if (oldplc != null)
                    {
                        oldplc.RemoveSSCCBarcode(caseload.SSCCBarcode);
                    }
                }

                ((CaseData)caseload.Case_Data).PLCName = CommPoint.ControllerName;
            }

            switch (CommPointType)
            {
            case CommPointDatcomInfo.CommPointTypes.None:
                break;

            case CommPointDatcomInfo.CommPointTypes.Arrival_Point:
                //case CommPointDatcomInfo.CommPointTypes.Arrival_Delay:

                ToteArrived(CommPoint, caseload);

                if (RemoveFromRoutingTableArrival)
                {
                    casePLC.RemoveSSCCBarcode(caseload.SSCCBarcode);
                }
                break;

            //case CommPointDatcomInfo.CommPointTypes.CallForwardPoint:

            //    CallForwardArrived((CommunicationPoint)CommPoint.Parent, caseload);

            //    if (RemoveFromRoutingTableArrival)
            //    {
            //        casePLC.RemoveSSCCBarcode(caseload.SSCCBarcode);
            //    }
            //    break;

            //case CommPointDatcomInfo.CommPointTypes.MultishuttleDropStation:
            //    if (caseload.UserData != null)
            //    {
            //        //caseload.UserData should be a reference to the Multishuttle.
            //        //Send handshake message so multishuttle can continue.
            //        HandshakeMessage msg = new HandshakeMessage();
            //        msg.MessageType = HandshakeMessage.MessageTypes.Tote_Arrived_On_Dropstation;
            //        msg.Load = load;
            //        Experior.Core.Communication.Internal.SendMessage(this, caseload.UserData, msg);
            //        caseload.UserData = null;
            //        caseload.UserDeletable = true;
            //    }
            //    break;

            default:
                break;
            }
        }