Кажется непонятным что??? Вообще все, или что-то конкретно непонятно? Если что-то конкретно непонятно то создавайте тему отдельную и там непонятность предъявляйте конкретно, и вот тогдааа непонятность может быть рассосется.
А то:- Страшно, очень страшно, мы не знаем, что это такое! Если бы мы знали что это такое, но мы не знаем, что это такое...![]()
Вы вот 4 день писаниной занимаетесь, а я уже протестировал вариант через конфигурацию, добавил 24 UMD (адреса с 16 по 39), в каждый добавил по 8 RealInput с нужными адресами регистров. Правда у меня есть всего 2 модуля 8А, (адреса 16 и 32) их и подключил и вариант Валенка.
Конечно 2 модуля это не 24, но запросы идут на все 24 блока. И результаты поражают.
Для считывания только параметров REAL, конфигурации, в среднем требуется от 30 до 40 сек (жду пока считаются все 16 параметров моих модулей). Вариант Валенка считывает вообще всё, то есть 40*24=960 параметров за 1-2 сек.
В обоих случаях добавлены все 24 блока в конфигурацию, в первом по 8 Real, во втором по 2 String, то есть запросы отправляются всем 24 модулям. При чём у меня старый ПЛК154 и что бы разгрузить процессор, пришлось увеличить время цикла ПЛК до 15 мс. Новый ПЛК 110-30 V2, думаю справится и за 5 мс.
Последний раз редактировалось kondor3000; 29.11.2021 в 15:58.
Валенок, сказал как у меня получилось, загрузку проца смотрел по модулю статистики. Что ещё скрины выложить ?
Поставил цикл 1 мс, считывает моментально. Но CPU Overloaded постоянно горит. И на 12 мс тоже постоянно горит, а на 15 мс тухнет.
Проверил ещё раз на 15 мс, сделал 20 сбросов и стартов. Не всегда, но бывает задержка до 3 с на некоторых каналах, чаще всего на первом модуле, адрес 16 почему то.
Последний раз редактировалось kondor3000; 20.12.2021 в 22:32.
а для лучшего понимания пример со string без дополнительных модулей (чисто в PLC_prg) можете показать, в котором считываются данные с одного блока расширения МВ110.8А в формате real?
Для ПЛК110-30...
Вам этого мало? Там и примеры есть. Важно понять принцип работы, дальше дело техники.
petera неоднократно выкладывал примеры записи, чтения через STRING https://owen.ru/forum/showthread.php...l=1#post244022
А на 1 странице этой темы, в конце, мой готовый пример чтения МВ110.8А, правда чтение WORD и сборка REAL уже после чтения, можно легко переделать.
Чтение WORD (1 регистр, 2 байта) отличается от чтения REAL ( 2 регистра, 4 байта), только кол-вом переменных в массиве и количеством байт.
Последний раз редактировалось kondor3000; 19.04.2023 в 15:45.
прочёл раз 10, вроде бы пазл в голове сложился) наверное повторюсь, заранее извините.
Максимально число байт в троке 80? в мв110-8А последний регистр 47, могу я взять с нулевого 96 байт одной строкой и разбить на массив из 24 REAL,а потом прописать в переменные только те, что являются real значениями на входах?
Регистров 48 (с 0 по 47), разбиваете пополам для удобства, по 24 регистра (12 REAL или 48 байт), 2 стринга инпут по 0..11 REAL. При получении выбираете нужные REAL.
Фактически, это мой пример, только 2 раза 24 WORD, заменяете на 12 REAL.
Чем хорош отдельный ФБ, вы научитесь работать с блоками,
кроме того готовый отдельный блок (ФБ) вы можете через экспорт, импорт добавить в любой новый проект и 2 стринга и читать МВ110-8А
Последний раз редактировалось kondor3000; 20.04.2023 в 14:48.