Beispiel #1
0
 public static M12Wrapper CreateInstance(string PortName, int Baudrate)
 {
     //线程安全
     lock (_lock)
     {
         if (InstanseDic.Keys.Contains(PortName))
         {
             return(InstanseDic[PortName]);
         }
         else
         {
             var ins = new M12Wrapper(PortName, Baudrate);
             InstanseDic.Add(PortName, ins);
             return(ins);
         }
     }
 }
        public bool Init(MotionCardCfg motionCfg, ICommunicationPortCfg communicationPortCfg)
        {
            try
            {
                this.motionCfg = motionCfg;
                MAX_AXIS       = motionCfg.MaxAxisNo;
                MIN_AXIS       = motionCfg.MinAxisNo;
                ComportCfg portCfg = communicationPortCfg as ComportCfg;
                comport     = CommunicationMgr.Instance.FindPortByPortName(motionCfg.PortName) as Comport;
                _controller = M12Wrapper.CreateInstance(portCfg.Port, portCfg.BaudRate);
                _controller.OnUnitStateUpdated += OnIrixiAxisStateChanged;
                _controller.Open();

                return(true);
            }
            catch
            {
                return(false);
            }
        }