Страница 398 из 431 ПерваяПервая ... 298348388396397398399400408 ... ПоследняяПоследняя
Показано с 3,971 по 3,980 из 4303

Тема: Фичи и баги OWEN Logic

  1. #3971

    По умолчанию

    У меня на версии Owen Logic2.10.366 всё заработало, на Виндовс 7 (32 бит)

  2. #3972

    По умолчанию

    Версия 2.10.366.0 проект для ПР225:
    Константа (целочисленное) - связь - сетевая переменная(целочисленное)
    При установленном значении более 9999 преобразуется (переполняется) и в окне просмотра переменных другое число.
    Пример 9999 ->9999, а 99999 -> 34463
    Скрин:
    Последний раз редактировалось jereghi1979; 21.04.2025 в 13:58.

  3. #3973

    По умолчанию

    Сетевые переменные - 2-х байтные. Максимальное значение = 65535. 99999 - 65536 = 34463
    Последний раз редактировалось EFrol; 21.04.2025 в 14:33.

  4. #3974

    По умолчанию

    Цитата Сообщение от jereghi1979 Посмотреть сообщение
    Версия 2.10.366.0 проект для ПР225:
    Константа (целочисленное) - связь - сетевая переменная(целочисленное)
    При установленном значении более 9999 преобразуется (переполняется) и в окне просмотра переменных другое число.
    Пример 9999 ->9999, а 99999 -> 34463
    Скрин:
    А не связано ли это с WORD? ПРки вроде больший формат в сетевых не тянут... Хотя я не спец в ПР...

  5. #3975

    По умолчанию

    Да - это такой прикол. В программе целочисленные значения типа UDINT(4 байта), а в сетевых переменных целочисленные UINT(2 байта). Причем если из программы переменную привязать в сетевые, то никакой ошибки не будет, просто при значении больше 65535 будет в сетевой переменной мусор.
    Нигде про это не написано, разбирайтесь сами с такими багами.
    Для меня ПР исчезли навсегда как приборы после обнаружении такой фичи.
    Последний раз редактировалось Николай Суриков; 21.04.2025 в 15:59.

  6. #3976
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,460

    По умолчанию

    Насколько знаю: в режиме мастер ПР умеет работать с 32 битными сетевыми переменными, в режиме слейв - надо вручную разделять 32 битную переменную на два смежных регистра!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  7. #3977

    По умолчанию

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

  8. #3978
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,460

    По умолчанию

    В режиме слейв 32 битная целочисленная внутренняя переменная обрежется до 16 младших бит, для правильной передачи надо вручную разделить на два смежных регистра, вроде об этом много разговоров было, поэтому я запомнил, где это написано не знаю, может потом допишут, если ещё не написали или добавят поддержку работы с такими переменными в режиме слейв.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  9. #3979

    По умолчанию

    Извините, я не хочу к вам цепляться, но как разделить одну переменную 4 байта на две по 2 байта если в ПР нет переменных по 2 байта?))
    Получается мы делим VAR1 (UDINT) на две VAR2 и VAR3 тоже UDINT и потом так же через баг лоджика присваиваем к сетевым переменным UINT.
    Далее выходит "обновление" (которые уже стали выходить каждую неделю) и все проекты полетят.

  10. #3980

    По умолчанию

    Цитата Сообщение от Николай Суриков Посмотреть сообщение
    Извините, я не хочу к вам цепляться, но как разделить одну переменную 4 байта на две по 2 байта если в ПР нет переменных по 2 байта?))
    Получается мы делим VAR1 (UDINT) на две VAR2 и VAR3 тоже UDINT и потом так же через баг лоджика присваиваем к сетевым переменным UINT.
    Далее выходит "обновление" (которые уже стали выходить каждую неделю) и все проекты полетят.
    Что значит нет, 1 регистр это и есть 2 байта. Вы это должны знать как никто другой.
    Передаёте сетевую целочисленную 1 или 2 регистрами, то есть передаёте WORD (65535) или DWORD (4294967295).
    Отправляя число больше 65535 надо выбирать 2 регистра, для программиста это как азбука.
    Так же как типы переменных, разборка и сборка 32 битных переменных на две 16 битных и это не меняется при обновлении ОЛ.
    Последний раз редактировалось kondor3000; 21.04.2025 в 17:52.

Страница 398 из 431 ПерваяПервая ... 298348388396397398399400408 ... ПоследняяПоследняя

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  3. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  4. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 20:55

Ваши права

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