Exemple #1
0
        /*
         * public uint NodeID { get { return _NodeID; } }
         * public string ModuleName { get { return _ModuleName; } }
         * public string SerialNo { get { lock (SyncObject) return _SerialNo; } }
         * public string FireWareVer { get { lock (SyncObject) return _FireWareVer; } }
         * public Byte ModuleIndex { get { lock (SyncObject) return _ModuleIndex; } }
         * public Byte ErrorCode { get { lock (SyncObject) return _ErrorCode; } }
         * public Byte WaringCode { get { lock (SyncObject) return _WaringCode; } }
         * public TModuleType ModuleType { get { lock (SyncObject) return _ModuleType; } }
         * public Byte ExecMask { get { lock (SyncObject) return _ExecMask; } }
         * public TModuleState ModuleState { get { lock (SyncObject) return _ModuleState; } }
         */

        public TBaseModule(uint ID, string Name)
        {
            //SyncObject = new object();

            _NodeID     = ID;
            _ModuleName = Name;
            _ModuleType = TModuleType.mtNone;
            _ExecMask   = 0;

            _ModuleState = TModuleState.msNone;

            _PortOpened = false;

            _WorkThread = WorkThread.CreateInstance();
            _WorkThread.AddModuleToList(this);

            //Dlgt = new AsyncSendWorker(SendMsgMethod);

            WriteDlgt = new WriteParamWorker(WriteDataToEEPRom);
            ReadDlgt  = new ReadParamWorker(ReadDataFromEEPRom);

            _SendCmd = new byte[8];

            //_SendCmd = System.Text.Encoding.Unicode.GetBytes();

            //处理该模块硬件响应数据的线程
            //Task.Factory.StartNew(DataHandlerMethod, cancelTokenSource.Token);
        }
Exemple #2
0
 public static WorkThread CreateInstance()
 {
     if (_Instance == null)
     {
         lock (lockHelper)
         {
             if (_Instance == null)
             {
                 _Instance = new WorkThread();
             }
         }
     }
     return(_Instance);
 }