Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: eu-1982 от 15 Января 2026, 08:00:38

Название: Работа процедуры Dial
Отправлено: eu-1982 от 15 Января 2026, 08:00:38
Здравствуйте, столкнулся в работе с процедурой Dial(ANumber: string); (https://simple-scada.com/help/script/dial.html)
Все настройки сделаны, СМС отправить могу, как из настроек, так и из самого проекта, но при попытке позвонить ничего не происходит... При этом через АТ команды модем позвонить может.
Казалось бы синтаксис проще некуда, но все же ....

По итогу моих изысканий найдено решение:
Документация на сайте говорит нам, что:
Код: (delphi)
begin
  Dial('7928456789'); // звонок по номеру 7928456789.
end.
По факту это не работает (версия 2.7.3.1)!!!
Далее мною было прочитано еще немного инструкций с сайта и попробовал вариант:
Код: (delphi)
begin
  RunAT('ATD 8928456789;'); // звонок абоненту 8928456789
end.
И он заработал как ни странно... А причина в формате номера абонента, а именно номер должен начинаться с 8, а не 7 и не +7, при этом если написать процедуру Dial вот так:
Код: (delphi)
begin
  Dial('8928456789');
end.
То в этом варианте все прекрасно работает...

Господа поправьте инструкцию пожалуйста, чтобы ваши пользователи не путались в дальнейшем, либо поправьте скаду, чтобы она понимала и 7 в начале номера и 8 в начале номера...
Название: Re: Работа процедуры Dial
Отправлено: Simple-Scada от 15 Января 2026, 10:17:56
Здравствуйте.

Все примеры описанные в руководстве не раз протестированы. Повторно проверили работу Dial c 7 и с 8, оба варианта работают (GSM модем Телеофис, оператор МТС, Краснодарский край).
Скада не устанавливает никаких собственных требований к номеру, или к AT-командам. Все команды без преобразований отправляются модему. Команда ATD допускает номера с символами: 0-9, *,#,”A”, ”B”, ”C”, ”D”, ”+”. Чаще всего при вызове команды ATD используется международный формат номера ( 7 ), а не внутренний ( 8 ), поэтому в руководстве оставили 7.

Цитировать
либо поправьте скаду, чтобы она понимала и 7 в начале номера и 8 в начале номера...
Скада не предъявляет никаких требований к номерам и никак их не корректирует. С номером работает модем и оператор связи. Указывайте номер в том формате, который подходит Вам.
Название: Re: Работа процедуры Dial
Отправлено: eu-1982 от 15 Января 2026, 12:45:26
Понял, спасибо за ответ, значит дело в мегафоне, или в моем стареньком модеме.
Еще вопрос по Dial(): Можно ли как-то получить результат выполнения этой процедуры, к примеру нечто типа ответа модема об окончании звонка? Или это уже все через АТ упражняться надо? Понятно конечно, что это не функция и значения не возвращает... но может есть варианты?
Название: Re: Работа процедуры Dial
Отправлено: Simple_Scada от 15 Января 2026, 20:37:29
Скада-система лишь передает на модем AT-команду и далее всё зависит от модема. Если используемый модем возвращает какую-либо информацию о выполнении AT-команды, то можно вызвать звонок через RunAT и затем обработать ответ от модема в скрипте по событию "Ответ от GSM-модема (https://simple-scada.com/help/script/answer-from-modem.html)".