Страница 12 из 77 ПерваяПервая ... 210111213142262 ... ПоследняяПоследняя
Показано с 111 по 120 из 931

Тема: Макросы в онлайн базе OWEN Logic

Комбинированный просмотр

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

    По умолчанию

    Цитата Сообщение от Ревака Юрий Посмотреть сообщение
    Добрый день, в базу добавлены макрос int16 для работы с целочисленными переменными в дополнительном коде описание макроса
    Это всё конечно замечательно, но где обратная функция, ПР не чёрная дыра, допустим кому потребуется(захочется) из ПР куда ни будь послать отрицательное значение в инте, например в СМИ2 и как ему ваш макрос поможет?
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  2. #2

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Это всё конечно замечательно, но где обратная функция, ПР не чёрная дыра, допустим кому потребуется(захочется) из ПР куда ни будь послать отрицательное значение в инте, например в СМИ2 и как ему ваш макрос поможет?
    Из ПР200 в INT, пока не сталкивался с такими запросами, так как в ПР INT отрицательный не бывает, но доработать можно да.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    e-mail: yu.revaka@owen.ru

    Шаблон описания ошибки ПР или OL http://ftp-ow.owen.ru/softupdate/OWE...s/Shablon.docx
    Видео уроки по ПР200 и OWEN Logic http://edu.owen.ru/series/pr200_rev/
    Другие видеоролики по тематике ПР https://www.youtube.com/channel/UCj4...H5H3d_t6iDlQOQ

  3. #3
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Это всё конечно замечательно, но где обратная функция, ПР не чёрная дыра, допустим кому потребуется(захочется) из ПР куда ни будь послать отрицательное значение в инте, например в СМИ2 и как ему ваш макрос поможет?
    А в чем проблема?
    Если результат арифметической операции в ПР получается отрицательным, то он будет представлен в ПР в дополнительном коде безо всяких макросов.

    И если послать из ПР это результат по сети, то получатель увидит это число как отрицательное.

    Захват-1.png

    Захват-2.png

    4294967295 = FFF FFF (Hex)
    После "обрезания" в 16 битовой сетевой переменной РЕЗУЛЬТАТ останется FFFF(65535), это -1 в дополнительном коде для int16
    Последний раз редактировалось petera; 02.02.2018 в 12:35.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    А в чем проблема?
    Если результат арифметической операции в ПР получается отрицательным, то он будет представлен в ПР в дополнительном коде безо всяких макросов.

    И если послать из ПР это результат по сети, то получатель увидит это число как отрицательное.

    Захват-1.png

    Захват-2.png

    4294967295 = FFF FFF (Hex)
    После "обрезания" в 16 битовой сетевой переменной РЕЗУЛЬТАТ останется FFFF(65535), это -1 в дополнительном коде для int16
    а минус два как выглядит после обрезания?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  5. #5
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а минус два как выглядит после обрезания?
    -2 это 4294967294 (FFFF FFFE)
    в сетевой переменной будет
    FFFE (65534)
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    А в чем проблема?
    Если результат арифметической операции в ПР получается отрицательным, то он будет представлен в ПР в дополнительном коде безо всяких макросов.

    И если послать из ПР это результат по сети, то получатель увидит это число как отрицательное.

    Захват-1.png

    Захват-2.png

    4294967295 = FFF FFF (Hex)
    После "обрезания" в 16 битовой сетевой переменной РЕЗУЛЬТАТ останется FFFF(65535), это -1 в дополнительном коде для int16
    Обрезание до 16 бит в сетевой переменной, не превращает DINT в INT, знак минус находится в 31 и 15 битах, соответственно, если считать с "0" и он обрежется!
    Кроме того в ПР200 бывает это выводят на экран, да и в симуляторе проверять - мозги забивать лабудой, на мой взгляд, лучше флоат в инт преобразовать, что я и сделал несколько лет назад!
    http://www.owen.ru/forum/showthread.php?t=13106&page=3
    Конечно Ваше право убеждать мозг, что это не "4 миллиарда", а "минус"!
    Последний раз редактировалось Сергей0308; 02.02.2018 в 22:29.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  7. #7
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Обрезание до 16 бит в сетевой переменной, не превращает DINT в INT, знак минус находится в 31 и 15 битах, соответственно, если считать с "0" и он обрежется!
    Для 32 битных отрицательных чисел в дополнительном коде от -32768 до -1 ВСЕ биты от 31 до 15 всегда в "1".

    Значит, если значения DINT находятся в области допустимых чисел для INT16 ( от -32768 до 32767), то "обрезание" всегда будет корректным. Включая и 0 естественно.


    "-32768" в ОЛ это 4294934528 == FFFF 8000 (знак минус в 31 бите), после обрезания в INT16 будет 8000 (знак минус в 15 бите)
    0 == 0
    32767 == 0000 7FFF, после обрезания таким и останется 7FFF
    Последний раз редактировалось petera; 02.02.2018 в 15:59.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #8
    Пользователь
    Регистрация
    09.03.2020
    Адрес
    г.Первомайский Харьковская обл.
    Сообщений
    3

    По умолчанию

    Доброй ночи,помогите пожалуйста разобраться!не работает макрос "Преобразование int16 в float (INT16)" и функция чтение бита (EXTRACT),скриншот-Проблема с INT16.jpg

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

    По умолчанию

    Цитата Сообщение от Андрей Чуб Посмотреть сообщение
    Доброй ночи,помогите пожалуйста разобраться!не работает макрос "Преобразование int16 в float (INT16)" и функция чтение бита (EXTRACT),скриншот-Проблема с INT16.jpg
    Хватит дурью маяться, Вы каждый элемент из ОЛ будете проверять? Всё там прекрасно работает, просто для начала придумайте какую-нибудь имеющую смысл программу, всё!
    Если хотите проверить макрос, можно его открыть для редактирования и проверить в симуляторе, даже без имеющей смысл программы!
    Последний раз редактировалось Сергей0308; 10.03.2020 в 03:45.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  10. #10
    Пользователь
    Регистрация
    09.03.2020
    Адрес
    г.Первомайский Харьковская обл.
    Сообщений
    3

    По умолчанию

    Спасибо за ответ.

Страница 12 из 77 ПерваяПервая ... 210111213142262 ... ПоследняяПоследняя

Похожие темы

  1. Универсальные макросы для OWEN Logic
    от rovki в разделе Среда программирования OWEN Logic
    Ответов: 921
    Последнее сообщение: 01.12.2025, 11:45
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  3. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  4. ПО OWEN Logic !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 15:33
  5. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16

Ваши права

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