Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="deviceNum">Номер устройства</param>
        /// <param name="startAddress">Стартовый адресс</param>
        /// <param name="numOfPoints">Количество слов</param>
        /// <param name="moduletype">Тип модуля</param>
        /// <param name="moduleposition"></param>
        /// <param name="queryName"></param>
        /// <returns></returns>
        public async Task <ushort[]> ReadHoldingRegistersAsyncFunction12(byte deviceNum, ushort startAddress, ushort numOfPoints, byte moduleposition, string queryName)
        {
            try
            {
                Logger.AddToFile(String.Format("Запрос  на чтение {0} байт  {1} по адресу {2}", numOfPoints, queryName, startAddress));
                ushort[] res = await ModbusMaster.ExecuteFunction12ReadAsync(startAddress, numOfPoints, deviceNum, moduleposition);

                Logger.AddToFile("ОТВЕТ - ", res.ToArray());
                _queryReport.IsSuccess = true;
                return(res);
            }
            catch (Exception e)
            {
                Logger.AddToFile(String.Format("Запрос  на чтение {0} байт  {1} по адресу {2}  выдал ошибку - {3}", numOfPoints, queryName, startAddress, e.Message));
                _queryReport.IsSuccess = false;
                throw;
            }
            finally
            {
                Progress?.Report(_queryReport);
            }
        }