Страница 348 из 708 ПерваяПервая ... 248298338346347348349350358398448 ... ПоследняяПоследняя
Показано с 3,471 по 3,480 из 7075

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

  1. #3471

    По умолчанию

    Я хочу вот чего спросить. Чего-то под ночь туплю, и вдруг кто быстро ответит и пнёт.
    Можно ли ENUM преобразовать в WORD и обратно? Такая штука прокатывала в CDS 2.3, а тут я код скопипастил - и не прокатило.
    У меня число - WORD, который я читаю из Modbus. Оно содержит статус измерения канала для Mx110.8А. Хочу его в коде видеть как ENUM, а не как число.
    Можно так или нет?
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  2. #3472
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Можно ли ENUM преобразовать в WORD и обратно?
    Да, можно.

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    У меня число - WORD, который я читаю из Modbus.
    Оно содержит статус измерения канала для Mx110.8А. Хочу его в коде видеть как ENUM, а не как число.
    Можно так или нет?
    В данном случае проще всего использовать готовое перечисление MV_SENSOR_ERROR из библиотеки Mx110Assistant (она устанавливается вместе с пакетом шаблонов Mx110) - и привязывать его экземпляр вместо переменной типа WORD, чтобы избежать лишних конверсий.

  3. #3473

    По умолчанию

    Да, можно
    А как?
    Я ж через SysCom получают просто байты, из которых я склеиваю WORD.
    И вот дальше у меня присвоить его и не получается на мой ENUM (такие же статусы, копипаста из CDS 2.3). А на MV_SENSOR_ERROR - получилось. Ой!
    Мне интересен исследовательский вопрос про то, в чём разница.

    UPDATE: Тьфу. Я дурак. Там strict был включен - вот оно и не давало присвоить ничего. Убрал, всё работает так, как мне и хотелось!
    Последний раз редактировалось Cs-Cs; 09.09.2021 в 10:31.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  4. #3474

    По умолчанию

    gluk.jpg
    Поясните чего я недопонимаю. Почему не происходит перезапись переменной out1, при этом переменная out2 перезаписывается, после выключенного блока?
    Сохранение переменных и выполнение блоков после выключенного блока выполняется по разному? Где об этом можно почитать?

  5. #3475
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от qroot Посмотреть сообщение
    gluk.jpg
    Поясните чего я недопонимаю. Почему не происходит перезапись переменной out1, при этом переменная out2 перезаписывается, после выключенного блока?
    Сохранение переменных и выполнение блоков после выключенного блока выполняется по разному? Где об этом можно почитать?
    По скрину складывается впечатление, что вы где-то еще в коде производите запись в out1.
    Если это не так - выложите простейший проект, на котором можно воспроизвести эту ситуацию.

  6. #3476

    По умолчанию

    test_set.projectarchive
    Прикрепил. Самый простой код. Нигде больше не устанавливается. Если вручную on сбросить. То out1 в ручную меняется а out2 нет. Не понятно, разное поведение.

  7. #3477
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от qroot Посмотреть сообщение
    test_set.projectarchive
    Прикрепил. Самый простой код. Нигде больше не устанавливается. Если вручную on сбросить. То out1 в ручную меняется а out2 нет. Не понятно, разное поведение.
    У меня не воспроизводится.
    Или я чего-то не учитываю?

    09-09-2021 19-23-50.png

  8. #3478

    По умолчанию

    in1 и in2 не нужно менять. Нужно добиться чтобы на выходе EQ было true, затем EQ отключить через on. После этого out1 и out2 по разному себя ведут.

  9. #3479

    По умолчанию

    Можно перед присваиванием в out1 поставить блок move. Тогда будут вести себя одинаково. Но вообще это сильный косяк, не понятно, почему о нем нигде не сказано. Можно ли как то посмотреть откомпилированный код?

  10. #3480
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от qroot Посмотреть сообщение
    in1 и in2 не нужно менять. Нужно добиться чтобы на выходе EQ было true, затем EQ отключить через on. После этого out1 и out2 по разному себя ведут.
    Сделал по описанию - у меня с вашим проектом это не воспроизводится.
    После отключения EQ на его выходе остается TRUE - out1 равно TRUE, out2 - FALSE.

Страница 348 из 708 ПерваяПервая ... 248298338346347348349350358398448 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3193
    Последнее сообщение: 15.04.2024, 12:51
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 822
    Последнее сообщение: 20.11.2023, 17:48
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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