示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="deviceNum">Номер устройства</param>
        /// <param name="startAddress">Стартовый адрес</param>
        /// <param name="moduletype">Тип модуля</param>
        /// <param name="moduleposition">Позиция модуля</param>
        /// <param name="writeArray">Данные для записи</param>
        /// <param name="queryName">Наименование запроса</param>
        /// <returns></returns>
        public async Task WriteMultipleRegistersAsyncFunction12(byte deviceNum, ushort startAddress, byte moduleposition, ushort[] writeArray, string queryName)
        {
            try
            {
                Logger.AddToFile(String.Format("Запрос {0} по адресу {1} ", queryName, startAddress), writeArray.ToArray());
                await ModbusMaster.ExecuteFunction12WriteAsync(startAddress, deviceNum, moduleposition, writeArray);

                _queryReport.IsSuccess = true;
            }
            catch (Exception e)
            {
                _queryReport.IsSuccess = false;
                Logger.AddToFile(String.Format("Запрос {0}: по адресу {1} выдал ошибку: {2}", queryName, startAddress, e.Message));
                throw;
            }
            finally
            {
                Progress?.Report(_queryReport);
            }
        }