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

Тема: Преобразование типов для сравнения с константой

  1. #1

    По умолчанию Преобразование типов для сравнения с константой

    Всем привет! Продолжаю марафон тупых моих тупых вопросов Внезапно обнаружил, что переменная типа WORD не хочет корректно сравниваться с целочисленной константой на равенство (EQ): то есть, например, если my_var = 0, при проверке на равенство с 0 выдает результат FALSE, если не провести явное преобразование my_var WORD_TO_INT или преобразование константы 0 INT_TO_WORD.

    Меня немного обескуражило такое поведение, поэтому хочу спросить: в каких случаях надо делать преобразование типов перед сравнением с константами (для каких типов), чтобы понимать масштаб того, сколько надо переделать для корректной работы проекта.

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    9,646

    По умолчанию

    Цитата Сообщение от Juan Esteban Посмотреть сообщение
    Всем привет! Продолжаю марафон тупых моих тупых вопросов
    так может и будете писать в одной теме, зачем на каждый пук тему создавать


    owen.png
    Последний раз редактировалось capzap; 24.03.2021 в 15:27.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Тема-то другая. Ладно, буду впредь писать свои вопросы здесь, все равно тему я уже не удалю.

    Здорово, что у вас работает. Вопрос, почему у меня не работает. Под константами я имел в виду не именованные константы, а просто вход блока с прописанной цифрой 0, например. Переменная - OPC-переменная типа WORD. Возможно, это дела не меняет, но я не понимаю, почему у меня с этим возникла проблема.

    ipd. Все преобразовал - работает, удалил преобразования - все равно работает. Мистика. Почему раньше не работало - хз.
    Последний раз редактировалось Juan Esteban; 24.03.2021 в 15:39.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    9,646

    По умолчанию

    так скринами покажите неработающий код, скорее всего окажется что дело не в КДС, а какая нибудь поговорка об альтернативно-одаренных
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #5

    По умолчанию

    Все заработало, раньше не додумался заскринить.

    Цитата Сообщение от capzap Посмотреть сообщение
    скорее всего окажется что дело не в КДС, а какая нибудь поговорка об альтернативно-одаренных
    Спасибо за доброту.

  6. #6

    По умолчанию

    Добрый день.

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

    На всякий случай, перед загрузкой проекта в ПЛК на холсте с кодом сделайте "ПКМ-> Порядок выполнения -> Согласно потоку данных".

  7. #7

    По умолчанию

    Порядок выполнения я всегда проверяю.

Похожие темы

  1. преобазование типов
    от u_bishop в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 07.02.2017, 16:35
  2. СП3хх - графики и преобразование типов
    от ks-app в разделе Панели оператора (HMI)
    Ответов: 8
    Последнее сообщение: 30.03.2016, 09:08
  3. Не соответствие типов переменных
    от Canek в разделе ПЛК63/73
    Ответов: 1
    Последнее сообщение: 25.09.2012, 16:11
  4. преобразование типов.
    от AntonTrade в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 24.03.2010, 08:31
  5. Преобразование типов
    от DeMax в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 22.06.2009, 22:33

Ваши права

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