/// <summary> Проба получения новых данных заливки с контроллера, вызов с таймера </summary>
        /// <param name="secondsBegin">секунд продолжается заливка</param>
        /// <param name="error">ошибка чтения ПЛК</param>
        /// <param name="mix">данные заливки</param>
        /// <returns>Есть новые данные по заливке</returns>
        public bool TryNewMixTick(out int secondsBegin, out int error, out Mix mix)
        {
            var result = false;

            secondsBegin = 0;
            error        = 0;
            mix          = null;
            var r = _client.ConnectTo(_address, 0, 2);

            if (r == 0)
            {
                var run = _connector.NowMixRunning(out secondsBegin, out bool begin, out bool end);
                _connector.GetNewDataFromPLCToBuffetDbTick();
                var count = _connector.UpdateBuffer(begin);
                if (begin)
                {
                    _edgeFrontBegin = true;
                }
                if (_edgeFrontBegin && count <= 1)
                {
                    _connector.SetNewMixFromBuffer();
                    _connector.ClearBuffer();
                    _edgeFrontBegin = false;
                }
                if (end)
                {
                    mix = _connector.GetUpdatedMix();
                    if (mix != null)
                    {
                        result = true;
                    }
                }
                if (_edgeFrontBegin)
                {
                    Debug.WriteLine($"Начало заливки начато, число компонентов не в смесителе: {count}");
                }
            }
            else
            {
                error = r;
            }
            _client.Disconnect();
            return(result);
        }