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