Это уже детали, два двойных слова, всёравно меньше по байтам, чем длинные номера строкой
Это уже детали, два двойных слова, всёравно меньше по байтам, чем длинные номера строкой
Так ведь текст передается из панели в чем проблема, тем более с числами.
Проблема в безответственном использовании ресурсов контроллера в случае со строкой,тем бодее если заранее длинна номера будет неизвестна
1. В конфигурации ПЛК добавляем модуль Mobdus.
2. Добавляем 6 элементов 2 byte из расчете, что номер телефона не более 12 символов.
3.Для переменной N_Tel указываем прямой адрес ПЛК ( AT %) регистра модуля Modbus(Slave)в данном случае первого. Для панели адрес регистра Modbus будет равен 4х0.
Захват-4.png
4. На экране панели помещаем "Текстовый ввод". В настройках задаем адрес 4х0 и число регистров 6.
Т.к. в шаблоне проекта для панели для текстового ввода используется большая символьная клавиатура с буквами и цифрами, а для ввода номера телефона понадобятся только цифры и символы "#" "*", если вздумаете отправлять USSD запросы, например узнать баланс счета, то предлагаю маленькую клавиатуру.
Захват-3.png
KeyBoard_Asc_02 -окно для нее должно иметь №60035. В этом случае в настройках "Текстового ввода" можно будет выбрать эту маленькую клавиатуру.
1544762.gif
Нажать на картинку для просмотра анимации.
Можно дополнить проект вводом текста СМС, элементами индикации результата отправки СМС и кодов ошибок.
Последний раз редактировалось petera; 30.11.2013 в 17:41.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Спасибо, petera!!
Всё работает, только срезаются первые цифры. вместо 79195609285 в контроллере отображается 5609285. причём если после ввода номера перезапустить панель то она из ПЛК считывает и показавает нормальный номер. всё делал как советовали, что не так?
Последний раз редактировалось kukla100; 30.11.2013 в 18:25.
Дома нет ПЛК, смогу проверить только в понедельник на работе.
Эти грабли из-за прямой адресации в программе ПЛК ( AT %) регистра модуля Modbus(Slave)?
ЗЫ."...перезапустить панель то она из ПЛК считывает и показавает нормальный номер." может по тому, что при объявлении переменной явно указано начальное значение?
N_Tel AT %QW8.1.0: STRING(12):='79195609285';
Последний раз редактировалось petera; 30.11.2013 в 19:57.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg