Просмотр полной версии : ПР 103 и панель Weintek - передача целочисленного значения
Дмитрий Александрович
21.06.2024, 09:52
Добрый день. Извините, если где то подобный вопрос задавался, не увидел решения.
В ПР 103 есть сетевая переменная тип целое. (диапазон 0 до 4 294 967 295)
В WEINTEK создаю макрос, объявляю переменную типом unsigned int (диапазон 0 до 4 294 967 295)
В макросе пытаюсь считать переменную следующим кодом и передать в регистр панели для отображения
GetData(counter, "MODBUS", 3x, 3#16386, 1)//Получаем значение счетчика из ПР103
SetData(counter, "Local HMI", LW, 30, 1)//Передаем значение счетчика на экран
Не работает. Обмен по MODBUS с ПР есть, Панель - Master, ПР - Slave
Если объявить переменную counter как short - работает, но при переходе через 65535 - происходит переполнение, что логично...
Собственно вопрос: как в макросе WEINTEK прочитать целочисленную переменную ПР? Возможно кто то подобное делал.
Спасибо.
В ПР slave сетевые целочисленные переменные 16-битные. Поэтому разбиваете 32-битное число на два
76766
Добрый день. Извините, если где то подобный вопрос задавался, не увидел решения.
В ПР 103 есть сетевая переменная тип целое. (диапазон 0 до 4 294 967 295)
В WEINTEK создаю макрос, объявляю переменную типом unsigned int (диапазон 0 до 4 294 967 295)
В макросе пытаюсь считать переменную следующим кодом и передать в регистр панели для отображения
GetData(counter, "MODBUS", 3x, 3#16386, 1)//Получаем значение счетчика из ПР103
SetData(counter, "Local HMI", LW, 30, 1)//Передаем значение счетчика на экран
Не работает. Обмен по MODBUS с ПР есть, Панель - Master, ПР - Slave
Если объявить переменную counter как short - работает, но при переходе через 65535 - происходит переполнение, что логично...
Собственно вопрос: как в макросе WEINTEK прочитать целочисленную переменную ПР? Возможно кто то подобное делал.
Спасибо.
Для этой сетевой надо в ПР указать "Количество регистров - 2" (т.е. 32 битное целое)
76769
Дмитрий Александрович
21.06.2024, 11:36
Извините, но не нашел где эта настройка
Дмитрий Александрович
21.06.2024, 11:37
Для этой сетевой надо в ПР указать "Количество регистров - 2" (т.е. 32 битное целое)
76769
Извините, а где это настраивается?
Для этой сетевой надо в ПР указать "Количество регистров - 2" (т.е. 32 битное целое)
76769
Это если ПР мастер
Извините, а где это настраивается?
Это если ПР мастер
Да, точно. Для слейва целочисленные на 32 бита - только разбивать в программе
Добрый день, есть необходимость сделать небольшой проект на ПР103 +WEINTEK соединить хоту по modbus TCP . Вопрос в следующем есть ли какая то возможность произвести симуляцию (как на 210 например с помощью вирт контроллера) или какими то другими средствами что протестировать обмен.
kondor3000
14.07.2024, 10:11
Добрый день, есть необходимость сделать небольшой проект на ПР103 +WEINTEK соединить хоту по modbus TCP . Вопрос в следующем есть ли какая то возможность произвести симуляцию (как на 210 например с помощью вирт контроллера) или какими то другими средствами что протестировать обмен.
Виртуальную панель WEINTEK можно соединить только с живым ПР103, или симулировать ПР103, например ОРС сервером (Инсат и Лектус могут работать в режиме слейв https://owen.ru/catalog/opc_serveri )
или тем же вирт. контроллером CODESYS Control Win V3 или например живым контроллером типа ПЛК110.
А программу в ПР103 протестировать просто эмулятором, без обмена.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot