public bool OnInit()
        {
            _log.NormalLog(string.Format("ModbusTCPClientHanderTask:Init=>Initing "));
            try
            {
                //获取配置
                _config = ReaderXMLUtil.ReadXMLConfig <ModbusTCPClientConfig>("../../../../conf/Configuration.xml", ModbusTCPClientConfig.ReadConfig, "setup", "ModbusTCPClientHandlerTask")[0];
                if (_config.IpAddress == "" || _config.SignalListFilePath == "")
                {
                    _log.ErrorLog(string.Format("ModbusTCPClientHanderTask Init fail:{0}", "IP address or Signal file path is null!"));
                    return(false);
                }
                _setup   = new EthernetSetUp(_config.IpAddress, _config.Port);
                _timeout = new TimeOut("ModbusTCPClientHanderTask", _config.TimeOut, _log);

                _timeRead = new Timer.Timer(_config.PollingTime);

                _client = new ModbusTCPClient(_setup, _timeout, _log);

                //获取点数据
                _workbook = XmlSerialiaztion.XmlDeserial <XMLWorkbook>(_config.SignalListFilePath, _log);
                _points   = PointsCollcetCreate.Create(_workbook, _log);
                //点数据注册
                PointsRegister.Register(ref _points, _log);
                _log.NormalLog(string.Format("ModbusTCPClientHanderTask:Initing=>Inited "));
                return(true);
            }
            catch (Exception e)
            {
                _log.ErrorLog(string.Format("ModbusTCPClientHanderTask Init fail:{0}", e.Message));
                return(false);
            }
        }
 public PointDeviceCollcet CreatePoints(ClientName name)
 {
     if (name == ClientName.DL645_1997Client || name == ClientName.DL645_2007Client)
     {
         return(PointsCollcetCreate.CreateDL645(_workbook, _log));
     }
     else if (name == ClientName.S7CommClient)
     {
         return(PointsCollcetCreate.CreateS7(_workbook, _log));
     }
     else
     {
         return(PointsCollcetCreate.Create(_workbook, _log));
     }
 }
        public PointVirtualCollcet CreatePoints(ServerName name)
        {
            PointVirtualCollcet result = new PointVirtualCollcet();

            if (name == ServerName.ModbusTCPServer)
            {
                result = PointsCollcetCreate.CreateMoudbus(_workbook, _log);
                ModbusPointsRegister.Register(result, _log);
            }
            else if (name == ServerName.ModbusRTUServer)
            {
                result = PointsCollcetCreate.CreateMoudbus(_workbook, _log);
                ModbusPointsRegister.Register(result, _log);
            }
            return(result);
        }
示例#4
0
 public bool OnInit()
 {
     _log.NormalLog(string.Format("ModbusServerHanderTask:Init=>Initing"));
     try
     {
         _config = ReaderXMLUtil.ReadXMLConfig <ModbusServerConfig>("../../../../conf/Configuration.xml", ModbusServerConfig.ReadConfig, "setup", "ModbusTCPServerHandlerTask")[0];
         if (_config.SignalListFilePath == "")
         {
             _log.ErrorLog("ModbusServerHanderTask Init fail: signal file path is null!");
             return(false);
         }
         _workbook = XmlSerialiaztion.XmlDeserial <XMLWorkbook>(_config.SignalListFilePath, _log);
         if (_workbook == default(XMLWorkbook))
         {
             _log.ErrorLog("ModbusServerHanderTask Init fail:Read signal file fail!");
             return(false);
         }
         _points = PointsCollcetCreate.CreateMoudbus(_workbook, _log);
         ModbusPointsRegister.Register(_points, _log);
         _timeout = new TimeOut("ModbusServerHanderTask", _config.TimeOut, _log);
         _server  = new ModbusTCPServer(new EthernetSetUp(_config.IpAddress, _config.Port), _timeout, _log, _config.MaxConnect, _config.SalveId, SocketServers.SocketServerType.SaeaServer);
         if (_server.Init())
         {
             _log.NormalLog(string.Format("ModbusServerHanderTask:Initing=>Inited"));
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception e)
     {
         _log.ErrorLog(string.Format("ModbusServerHanderTask Init fail:{0}", e.Message));
         return(false);
     }
 }