Пример #1
0
 /// <summary>
 /// Асинхронно изменить значение переменной без подтверждения успеха внесения изменений.
 /// </summary>
 /// <param name="target">Адрес устройства, на котором требуется изменить значение переменной.</param>
 /// <param name="id">Идентификатор переменной.</param>
 /// <param name="valueType">Тип значения.</param>
 /// <param name="value">Записываемое значение.</param>
 public async Task WriteValueAsync(Address target, int id, NmsValueType valueType, object value)
 {
     //Contract.Requires(!IsDisposed);
     //Contract.Requires(target != null);
     //Contract.Requires(value != null);
     var write = new NmsWrite(target, id, valueType, value, false);
     await OutgoingMessages.SendAsync(write);
 }
Пример #2
0
        /// <summary>
        /// Изменить значение переменной без подтверждения успеха внесения изменений.
        /// </summary>
        /// <param name="target">Адрес устройства, на котором требуется изменить значение переменной.</param>
        /// <param name="id">Идентификатор переменной.</param>
        /// <param name="valueType">Тип значения.</param>
        /// <param name="value">Записываемое значение.</param>
        public void WriteValue(Address target, int id, NmsValueType valueType, object value)
        {
            Contract.Requires(!IsDisposed);
            Contract.Requires(target != null);
            Contract.Requires(value != null);
            var write = new NmsWrite(target, id, valueType, value, false);

            OutgoingMessages.Post(write);
        }
Пример #3
0
        /// <summary>
        /// Асинхронно изменить значение переменной с подтверждением успеха внесения изменений.
        /// </summary>
        /// <param name="target">Адрес устройства, на котором требуется изменить значение переменной.</param>
        /// <param name="id">Идентификатор переменной.</param>
        /// <param name="valueType">Тип значения.</param>
        /// <param name="value">Записываемое значение.</param>
        /// <param name="options">Параметры NiBUS-операции.</param>
        /// <returns>
        ///  <see cref="Task"/> асинхронная операция.
        /// </returns>
        public async Task WriteValueConfirmedAsync(
            Address target,
            int id,
            NmsValueType valueType,
            object value,
            NibusOptions options = null)
        {
            Contract.Requires(!IsDisposed);
            Contract.Requires(target != null);
            Contract.Requires(target.Type == AddressType.Hardware || target.Type == AddressType.Net);
            Contract.Requires(value != null);
            var write = new NmsWrite(target, id, valueType, value);

            await WaitForNmsResponseAsync(write, options);
        }