Показано с 1 по 6 из 6

Тема: Все RETAIN-ы - на Modbus

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #5

    По умолчанию

    Добрый
    Наконец-то я начал это делать. И сразу возникла как будто нерешаемая проблема
    Вот есть у меня структура:
    Код:
    TYPE STRUCT_Weintek_Program_DATA:
    	STRUCT
    		//Собственно, все параметры
    		ROOM_READ_TEMP                               : REAL; //Адрес 000-001. СЗ. Текущая температура в помещении с датчика
    		ROOM_TEMP_ON                                 : REAL; //Адрес 002-003. Температура включения нагревателей
    		ROOM_TEMP_OFF                                : REAL; //Адрес 004-005. Температура выключения нагревателей
    		V1_PRESSURE                                  : REAL; //Адрес 006-007. СЗ. Давление из В1 (город)
    		Pings                                        : DINT; //Адрес 008-009. Счётчик пингов для внешних систем
    		OUT_V1_PRESSURE                              : REAL; //Адрес 010-011. СЗ. Давление В1. На участок запаса воды
    		CPU_Load                                     : REAL; //Адрес 012-013. Загрузка ЦП контроллера
    		AFTER_PUMP1_PRESSURE                         : REAL; //Адрес 014-015. СЗ. Давление после перекачного насоса
    		TANK_PRESSURE                                : REAL; //Адрес 016-017. СЗ. Давление в емкости (Уровень)
    		DRY_RUNNING_PROTECT_ON                       : REAL; //Адрес 018-019. Защита от сухого хода ВКЛ
                    ..............
                    .............
                    ..........
    	END_STRUCT
    END_TYPE
    Вот код:
    111.png
    Вот всё работает как надо, всё хорошо
    Но структура большая, в ней ~400 строк
    Стоит мне переименовать/добавить/удалить любой параметр, как Codesys сразу говорит, что мол структура изменилась - и теперь будет обнулена
    А это значит, что остальные ~399 параметров тоже обнулятся - и придётся все RETAIN-ы вводить по-новой

    Пока вижу решением только хранить всё это с универсальными именами типа такого:
    Код:
    TYPE STRUCT_Weintek_Modbus_DATA:
    	STRUCT
    		//Собственно, все параметры
    		rHoldReg_000_000 : REAL; //Адрес 000-001. СЗ. Текущая температура в помещении с датчика
    		rHoldReg_002_002 : REAL; //Адрес 002-003. Температура включения нагревателей
    		rHoldReg_004_004 : REAL; //Адрес 004-005. Температура выключения нагревателей
    		rHoldReg_006_006 : REAL; //Адрес 006-007. СЗ. Давление из В1 (город)
    		rHoldReg_008_008 : DINT; //Адрес 008-009. Счётчик пингов для внешних систем
    		rHoldReg_010_010 : REAL; //Адрес 010-011. СЗ. Давление В1. На участок запаса воды
    		rHoldReg_012_012 : REAL; //Адрес 012-013. Загрузка ЦП контроллера
    		rHoldReg_014_014 : REAL; //Адрес 014-015. СЗ. Давление после перекачного насоса
    		rHoldReg_016_016 : REAL; //Адрес 016-017. СЗ. Давление в емкости (Уровень)
    		rHoldReg_018_018 : REAL; //Адрес 018-019. Защита от сухого хода ВКЛ
                    ..............
                    .............
                    ..........
    	END_STRUCT
    END_TYPE
    Тогда переименовывать ничего не придётся, но выглядит-то плохо
    Может, как-то через UNION? Через структуры? Через указатели? Через атрибуты?
    Хочется где-то в стороне создать такую же структуру, объединить адреса у этой и у модбасовской структуры, но не через UNION, т.к., когда они в одном UNION-е - та же самая проблема с переименовкой
    Спасибо за идеи
    Последний раз редактировалось aaaSashaMGGU; 28.04.2025 в 13:53.

Похожие темы

  1. Ответов: 6
    Последнее сообщение: 21.12.2023, 21:13
  2. ПЛК110-60Р-М02, не сохраняются RETAIN в Modbus Slave
    от Александр32 в разделе ПЛК1хх [М02]
    Ответов: 8
    Последнее сообщение: 21.02.2019, 08:36
  3. Инициализация Modbus slave (Retain) переменных
    от Спорягин Кирилл в разделе ПЛК1хх [М02]
    Ответов: 20
    Последнее сообщение: 14.03.2016, 08:17
  4. ModBus -> Retain
    от Fanat в разделе ПЛК1хх
    Ответов: 22
    Последнее сообщение: 10.07.2007, 15:47
  5. все же, ModBus - retain?
    от Ушаков Николай в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 02.07.2007, 16:35

Метки этой темы

Ваши права

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