Страница 805 из 855 ПерваяПервая ... 305705755795803804805806807815 ... ПоследняяПоследняя
Показано с 8,041 по 8,050 из 8547

Тема: CODESYS V3.5. Вопросы и ответы

  1. #8041

    По умолчанию

    здравствуйте.
    у меня поменялось поведение компилятора при попытке тащить проект с одной машины на другую.
    В проекте имеется расширение функционального блока (extend) , который аналогичен родительскому, но с переопределением значений некоторых переменных по-умолчанию.
    Прежде это мне сходило с рук, а теперь вот такие сообщения:

    [ERROR] RTU: u_ReqAc_CMD: C0097: Повторяющееся определение переменной 'freeze' в функциональном блоке 'u_ReqAc_CMD' и в основе 'u_ReqCy_DEV'

    что можно в связи с этим поделать?

  2. #8042
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    Question

    всем привет.
    Хочу упростить себе задачу и создать таблицу параметров пользователя для проекта, что бы не рисовать окно настроек, а засунуть все параметры в графический элемент "таблица".
    Создаю массив структуры с элементами "Название", "Значение", "Единицы измерения".
    Засовываю этот массив в таблицу визуализации, получается такая картинка:
    Снимок экрана 2025-02-06 155651.png
    Но использовать массив в тексте программы неудобно, нужно постоянно смотреть индекс нужного параметра. Можно использовать Перечисление [ENUM] вместо индекса массива, но тогда нужно при добавлении параметра объявлять его в двух разных местах.
    Может быть кто-то из гуру подскажет более элегантное решение?

  3. #8043

    По умолчанию

    А если для индексов использовать VAR_CONSTANT?
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

  4. #8044
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    А если для индексов использовать VAR_CONSTANT?
    Да, это удобнее, чем перечисление )

  5. #8045

    По умолчанию

    У меня CodeSys 3.5 на другом компе, не где форум, я щас точно не смогу поглядеть. Пишу по памяти.
    В перечислениях была какая-то pragma (ставится в начале в фигурных скобках), которая запрещала использовать перечисление в виде чисел (то есть, нельзя его подставить туда, куда числа вставляются). По идее, если её убрать - то и с ним должно заработать.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

  6. #8046
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Структура с нужным именами, коли уж заместо индексов имена енума вставляете
    Структура из структур некорректно отображается в элементе "таблица" в визуализации. Не знаю как ее нормально вывести на экран. Нормально отображается массив структур.

  7. #8047
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Цитата Сообщение от chm Посмотреть сообщение
    здравствуйте.
    у меня поменялось поведение компилятора при попытке тащить проект с одной машины на другую.
    В проекте имеется расширение функционального блока (extend) , который аналогичен родительскому, но с переопределением значений некоторых переменных по-умолчанию.
    Прежде это мне сходило с рук, а теперь вот такие сообщения:

    [ERROR] RTU: u_ReqAc_CMD: C0097: Повторяющееся определение переменной 'freeze' в функциональном блоке 'u_ReqAc_CMD' и в основе 'u_ReqCy_DEV'

    что можно в связи с этим поделать?
    Не знаю что такое определение. Но ищите что то одинаковое с именем 'freeze' в 'u_ReqAc_CMD' и в основе 'u_ReqCy_DEV'. Попробуйте переименовать один из 'freeze' в 'freeze_1'. Если не удается найти проблемную область, сделайте копию проекта и начинайте удалять разные части программы, что бы понять, в каком элементе проблема.

  8. #8048
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    В перечислениях была какая-то pragma (ставится в начале в фигурных скобках), которая запрещала использовать перечисление в виде чисел (то есть, нельзя его подставить туда, куда числа вставляются). По идее, если её убрать - то и с ним должно заработать.
    Перечисления в место индекса встают без ошибок.
    Ошибки появляются только если я пытаюсь присвоить переменной значение из перечисления. Сейчас мне это не нужно, но было бы интересно узнать как разрешить такое действие. По умолчанию установлены 2 прагмы:
    Код:
    {attribute 'qualified_only'}
    {attribute 'strict'}
    Они не влияют на возможность присваивания, ошибка появляется все равно.

  9. #8049

    По умолчанию

    Вот вроде как:
    'qualified_only' - это когда обращаться можно только через "ИмяПеречисления.Значение". Без него можно обращаться только по "Значение"
    'strict' - вроде как это то самое, что мы ищем. Ты пробовал его убирать?
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

  10. #8050
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    А таблице в визуализации скормите указатель на массив структур который указывает на структуру из структур
    Делов то
    Спасибо! Это то что нужно!
    а можно как-то выделить память под структуру сразу с запасом? что бы указатель на массив сделать на 30 элементов, например. А структуру дополнять по мере необходимости.

Страница 805 из 855 ПерваяПервая ... 305705755795803804805806807815 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3997
    Последнее сообщение: Вчера, 13:05
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 849
    Последнее сообщение: 16.11.2025, 08:58
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 273
    Последнее сообщение: 08.09.2025, 13:21
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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