Exemplo n.º 1
0
        private void Set_oc_output_analog()
        {
            VM_FloatGet m_curr = new VM_FloatGet()
            {
                Description = "M-curr",
                _protocolOp = Consts.Keys.getProtocolOp(2242, 0),
                MsgReceiveIsDealtExternally = true
            };
            VM_FloatGet mot_c = new VM_FloatGet()
            {
                Description = "MOT-c",
                _protocolOp = Consts.Keys.getProtocolOp(2242, 0),
                MsgReceiveIsDealtExternally = true
            };

            OC_OutputAnalog = new ObservableCollection <VM_FloatGet>()
            {
                m_curr, mot_c
            };
            AddEventHandler(
                Consts.Keys.getProtocolOp(2242, 0).Id,
                data => {
                if (flagRefresh_Mcurr)
                {
                    double readyNumber0  = ((Int16)((data[5] << 8) + data[4])) * Math.Pow(2, -15) * Multiply;
                    double readyNumber1  = ((Int16)((data[7] << 8) + data[6])) * Math.Pow(2, -15) * Multiply2;
                    m_curr.ValueFloatGet = (float)readyNumber0;
                    mot_c.ValueFloatGet  = (float)readyNumber1;
                }
                flagRefresh_Mcurr = false;
            }
                );
        }
        public static Abs_VM_UIItem TaskFactory(int key)
        {
            if (key == -1)
            {
                return(null);
            }
            var protocolOp = Consts.Keys.getProtocolOp(key);

            var           dtype  = protocolOp.UIDefaultType.Type;
            Abs_VM_UIItem result = null;

            switch (dtype)
            {
            case E_DB_UI_Type.INT_GET_SET:
                result = new VM_IntGetSet();
                break;

            case E_DB_UI_Type.INT_GET:
                result = new VM_IntGet();
                break;

            case E_DB_UI_Type.FLOAT_GET:
                result = new VM_FloatGet();
                break;

            case E_DB_UI_Type.FLOAT_GET_SET:
                result = new VM_FloatGetSet();
                break;
            }
            if (result == null)
            {
                Debugger.Break();
            }
            if (result != null)
            {
                result._protocolOp = protocolOp;
            }
            return(result);
        }