示例#1
0
        public void Add(ICommunicationCommand cmd)
        {
            ElementModel emodel = null;

            if (cmd is GeneralWriteCommand)
            {
                GeneralWriteCommand gwcmd = (GeneralWriteCommand)cmd;
                Write(gwcmd.RefElements_A);
                Write(gwcmd.RefElements_B);
            }
            if (cmd is IntrasegmentWriteCommand)
            {
            }
            if (cmd is ForceCancelCommand)
            {
                ForceCancelCommand fccmd = (ForceCancelCommand)cmd;
                emodel = fccmd.RefElement;
                if (fccmd.IsAll)
                {
                    foreach (ElementModel _emodel in dict.Values)
                    {
                        Unlock(_emodel);
                    }
                    smodel.SManager.UnlockAll();
                }
                else
                {
                    Unlock(emodel);
                }
            }
        }
示例#2
0
        public void Handle(IMoniValueModel mvmodel, ElementValueModifyEventArgs e)
        {
            ElementModel element = (ElementModel)mvmodel;

            element.ShowType = e.VarType;
            byte bvalue = 0;
            ICommunicationCommand command = null;

            switch (e.Type)
            {
            case ElementValueModifyEventType.ForceON:
                bvalue           = 0x01;
                element.SetValue = "ON";
                Force(element, bvalue);
                break;

            case ElementValueModifyEventType.ForceOFF:
                bvalue           = 0x00;
                element.SetValue = "OFF";
                Force(element, bvalue);
                break;

            case ElementValueModifyEventType.ForceCancel:
                element.SetValue = String.Empty;
                command          = new ForceCancelCommand(false, element);
                Add(command);
                break;

            case ElementValueModifyEventType.AllCancel:
                element.SetValue = String.Empty;
                command          = new ForceCancelCommand(true, element);
                Add(command);
                break;

            case ElementValueModifyEventType.WriteOFF:
                bvalue           = 0x00;
                element.SetValue = "OFF";
                Write(element, bvalue);
                break;

            case ElementValueModifyEventType.WriteON:
                bvalue           = 0x01;
                element.SetValue = "ON";
                Write(element, bvalue);
                break;

            case ElementValueModifyEventType.Write:
                element.SetValue = e.Value;
                Write(element, element.SetValue);
                break;
            }
        }
示例#3
0
        public void Handle(IMoniValueModel mvmodel, ElementValueModifyEventArgs e)
        {
            if (mvmodel is SimuMoniValueModel)
            {
                SimuMoniValueModel smvmodel = (SimuMoniValueModel)mvmodel;
                switch (e.Type)
                {
                case ElementValueModifyEventType.ForceON:
                case ElementValueModifyEventType.ForceOFF:
                    smvmodel.Lock(e.Value, e.VarType);
                    break;

                case ElementValueModifyEventType.WriteON:
                case ElementValueModifyEventType.WriteOFF:
                case ElementValueModifyEventType.Write:
                    smvmodel.Write(e.Value, e.VarType);
                    break;

                case ElementValueModifyEventType.ForceCancel:
                    smvmodel.Unlock();
                    break;

                case ElementValueModifyEventType.AllCancel:
                    smvmodel.UnlockAll();
                    break;
                }
            }
            if (mvmodel is ElementModel)
            {
                ElementModel          element = (ElementModel)mvmodel;
                ICommunicationCommand command = null;
                switch (e.Type)
                {
                case ElementValueModifyEventType.ForceON:
                    element.SetValue = "ON";
                    Lock(element);
                    break;

                case ElementValueModifyEventType.ForceOFF:
                    element.SetValue = "OFF";
                    Lock(element);
                    break;

                case ElementValueModifyEventType.ForceCancel:
                    element.SetValue = String.Empty;
                    command          = new ForceCancelCommand(false, element);
                    Add(command);
                    break;

                case ElementValueModifyEventType.AllCancel:
                    element.SetValue = String.Empty;
                    command          = new ForceCancelCommand(true, element);
                    Add(command);
                    break;

                case ElementValueModifyEventType.WriteOFF:
                    element.SetValue = "OFF";
                    Write(element);
                    break;

                case ElementValueModifyEventType.WriteON:
                    element.SetValue = "ON";
                    Write(element);
                    break;

                case ElementValueModifyEventType.Write:
                    element.SetValue = e.Value;
                    Write(element);
                    break;
                }
            }
        }