Страница 11 из 81 ПерваяПервая ... 9101112132161 ... ПоследняяПоследняя
Показано с 101 по 110 из 806

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

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

    По умолчанию

    Цитата Сообщение от Сергей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/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от 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

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

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

    По умолчанию

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

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

    По умолчанию

    выходит что так, эх тепер надо отыскивать посты где я считал что достаточно бит поднять в старшем разряде
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

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

    По умолчанию

    Цитата Сообщение от 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.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    Цитата Сообщение от Сергей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/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #107

    По умолчанию Макрос AVG

    AVG макрос (арифметичекое среднее) не работает, проблема с внутренними связями макроса. Предлагаю свой вариант. Внешне макрос похож. Вход 1/0 - вкл/выкл усреднения. При выключенном усреднении - вещественное число на входе передается сразу на выход.
    Вложения Вложения
    • Тип файла: zip fAVG.zip (84.5 Кб, Просмотров: 33)

  8. #108

    По умолчанию

    Цитата Сообщение от STVV Посмотреть сообщение
    AVG макрос (арифметичекое среднее) не работает, проблема с внутренними связями макроса. Предлагаю свой вариант. Внешне макрос похож. Вход 1/0 - вкл/выкл усреднения. При выключенном усреднении - вещественное число на входе передается сразу на выход.
    Проверил в 148 версии, работает, что у Вас не так, подсвечивается сообщение о внутренних связях, но на работу это не должно влиять.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    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

  9. #109

    По умолчанию

    time_ud тоже не работает ... Обнаружены циклические связи..... Версия v 1.1

  10. #110

    По умолчанию

    Цитата Сообщение от sanlan Посмотреть сообщение
    time_ud тоже не работает ... Обнаружены циклические связи..... Версия v 1.1
    О чем Вы все говорите, что конкретно не работает, запускаю макросы в режиме симуляции, все считает.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    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

Страница 11 из 81 ПерваяПервая ... 9101112132161 ... ПоследняяПоследняя

Похожие темы

  1. Универсальные макросы для OWEN Logic
    от rovki в разделе Среда программирования OWEN Logic
    Ответов: 827
    Последнее сообщение: 22.12.2023, 13:20
  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, 16:33
  5. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16

Ваши права

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