/// <summary> /// Асинхронно прекратить выполнять подпрограмму на устройстве с подтверждением успеха операции. /// </summary> /// <param name="target">Адрес устройства.</param> /// <param name="id">Идентификатор подпрограммы.</param> /// <param name="options">Параметры NiBUS-операции.</param> /// <returns><see cref="Task"/> - асинхронная операция.</returns> public async Task StopProgramComfirmedAsync(Address target, int id, NibusOptions options = null) { //Contract.Requires(!IsDisposed); //Contract.Requires(target != null); //Contract.Requires(target.Type == AddressType.Hardware || target.Type == AddressType.Net); var stop = new NmsStop(Address.Empty, target, id); await WaitForNmsResponseAsync(stop, options); }
/// <summary> /// Прекратить выполнение подпрограммы на устройстве без подтверждения успеха. /// </summary> /// <param name="target">Адрес устройства.</param> /// <param name="id">Идентификатор подпрограммы.</param> public void StopProgram(Address target, int id) { Contract.Requires(!IsDisposed); Contract.Requires(target != null); Contract.Requires(target.Type != AddressType.Empty); Contract.Requires(id > 0); var stop = new NmsStop(Address.Empty, target, id, false); OutgoingMessages.Post(stop); }