Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

NET_PTZ_SET_TIMER_ERROR (21) IP-Телефония и СКУД

Dahua NetSDK Ошибка 21: NET_PTZ_SET_TIMER_ERROR — Сбой таймера PTZ

Обновлено: 24.08.2026 · Официальная документация ↗

Сбои управления поворотными PTZ-камерами (Speed Dome):

  • Функции позиционирования CLIENT_DHPTZControlEx или запуск туров патрулирования завершаются с ошибкой 21.
  • Камера не останавливает движение по истечении заданного интервала времени.
  • Отказ запуска автоматических сценариев巡 (Tour/Pattern/Scan).

Код NET_PTZ_SET_TIMER_ERROR (21) возникает, когда операционная система клиента или прошивка камеры не могут выделить системный таймер для обработки интервальной команды PTZ (например, непрерывное вращение в течение N секунд).

1. Переход на явные команды СТАРТ / СТОП

Вместо использования относительных таймеров SDK безопаснее отправлять прямые команды начала и остановки движения:

// 1. Запуск поворота вправо со скоростью 4
CLIENT_DHPTZControlEx(lLoginID, nChannel, DH_PTZ_RIGHT, 4, 4, 0, FALSE);

// 2. Ожидание необходимого интервала (управляется приложением)
std::this_thread::sleep_for(std::chrono::milliseconds(1500));

// 3. Явная остановка движения (dwStop = TRUE)
CLIENT_DHPTZControlEx(lLoginID, nChannel, DH_PTZ_RIGHT, 0, 0, 0, TRUE);

2. Проверка ограничений PTZ-контроллера на камере

  • Убедитесь, что на камере не запущен приоритетный сценарий (автотрекинг Smart Tracking, возврат в домашнюю позицию Home Position).
  • Перезагрузите службу PTZ на камере или выполните ребут устройства, если внутренний пул аппаратных таймеров прошивки переполнен.
💡 Практика специалистов: Никогда не полагайтесь на таймеры внутри SDK для критически важного СКУД-наведения. Всегда передавайте явную команду остановки (dwStop=TRUE) в блоках отслеживания отпускания клавиш джойстика/мыши.

Частые вопросы (FAQ)

Чем вызвана ошибка 21 на стороне клиентского ПК?

Исчерпанием пула системных таймеров Windows (SetTimer) или высокой загрузкой очереди сообщений UI-потока.

Как гарантировать остановку вращения PTZ камеры при обрыве связи?

В современных прошивках Dahua активируйте функцию PTZ Watchdog/Auto-Stop, которая автоматически останавливает мотор при отсутствии heartbeat-команд более 3 секунд.

Работает ли вызов пресетов (Presets) при наличии этой ошибки?

Вызов абсолютных пресетов (Goto Preset) обычно работает, так как он не требует удержания интервального таймера.

Поддерживают ли все камеры Dahua команду DH_EXTPTZ_EXACTGOTO?

Только поворотные купольные камеры (SpeedDome) с абсолютным энкодером позиционирования.

Полезные материалы
Рекомендуем