Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }