public ProtocolOp(int RS232Cmd, int RS232idx, string CANcmd, int CANidx, ProtocolOpDataType dataType, string cmdName, string cmdUIName)
 {
     CmdName   = cmdName;
     CmdUIName = cmdUIName;
     DataType  = dataType;
     RS232     = new ProtocolOpRS232(RS232Cmd, RS232idx);
     CAN       = new ProtocolOpCAN(CANcmd, CANidx);
     Key       = Utils.MakeKey(CANcmd, CANidx);
 }
        public ProtocolOp(
            int RS232Cmd, int RS232idx,
            string CANcmd, int CANidx,
            ProtocolOpDataType dataType, string cmdGroup,
            string cmdUIName, ProtocolOpUIDefault uiType, string cmdName, string description)
        {
            CmdName   = cmdName;
            CmdUIName = cmdUIName;
            DataType  = dataType;

            RS232         = new ProtocolOpRS232(RS232Cmd, RS232idx);
            CAN           = string.IsNullOrEmpty(CANcmd)?null:new ProtocolOpCAN(CANcmd, CANidx);
            CmdGroup      = cmdGroup;
            Description   = description;
            UIDefaultType = uiType ?? DB_Consts.FloatGetSet;
        }