/// <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); }
/// <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); }
/// <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); }