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);
            }
        }
Exemple #2
0
        public virtual bool BuildPoints()
        {
            if (_baseconfig.SignalListFilePath == "")
            {
                _log.ErrorLog("BuildPoints:Points List data read Error,Path is null!!");
                return(false);
            }
            var workBook = XmlSerialiaztion.XmlDeserial <XMLWorkbook>(_baseconfig.SignalListFilePath, _log);

            if (workBook == null)
            {
                _log.ErrorLog("BuildPoints:Points List data read Error!!");
                return(false);
            }
            var pointsFactory = new PointsCollcetFactory(workBook, _log);
            var points        = pointsFactory.CreatePoints(_clientName);

            PointsRegister.Register(ref points, _log);
            _clientTask.Points = points;
            return(true);
        }