Страница 57 из 77 ПерваяПервая ... 747555657585967 ... ПоследняяПоследняя
Показано с 561 по 570 из 935

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,241

    По умолчанию

    Денисов Максим Сергеевич у вас там есть макрос, который с битами работает с 1-ого бита вместо 0-ого. Со слов Ревака Юрия макрос делался для ТРМ1032(33) или около. Вот зачем подобные макросы без проверки попадают в Logic ? я понимаю, что какие-то полезны, но они ведь должны удовлетворять логике работы непосредственно для ОЛ, а не пиленные под какие-то там ТРМы...

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

    По умолчанию

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

    Например в ST по указателям циклом, а если бы функционал был заложен в прошивку то как в языках Array.Copy(исходный, индекс, получатель, индекс, количество) а дальше прошивка занимается.
    Попробуйте в FBD например 4 байта перетрусить местами на новые места, а это могла быть всего одна строчка, если бы поддерживалось на уровне firmware прибора например...
    Ну или один квадратик без кучи FBD внутри....

    Ну еще пример проще. fSEL - раньше это был целый макрос, сейчас функция в прошивке.
    Последний раз редактировалось melky; 27.08.2022 в 14:36.

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Сергей0308 не важно вам или кому-то другому легче, но во многих вещах текстовый вариант кода будет многократно лаконичнее и меньше... Особенно если все потроха спрятаны от глаз прошивкой (ну или языком). Простой пример скажем копирование массива (В ОЛ нет их к сожалению но может со временем появятся)....

    Например в ST по указателям циклом, а если бы функционал был заложен в прошивку то как в языках Array.Copy(исходный, индекс, получатель, индекс, количество) а дальше прошивка занимается.
    Попробуйте в FBD например 4 байта перетрусить местами на новые места, а это могла быть всего одна строчка, если бы поддерживалось на уровне firmware прибора например...
    Ну или один квадратик без кучи FBD внутри....

    Ну еще пример проще. fSEL - раньше это был целый макрос, сейчас функция в прошивке.
    Вот Вам функцию, переставляет местами ворды в двойном слове:

    Перестановка слов.PNG

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

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

    По умолчанию

    Сергей0308 байты, а не слова, соответственно добавится еще FBD, вместо того, чтобы такие вещи добавить в прошивку ПР и FBD бы выглядел примерно так, на один вход подаем что надо, на второй вход к примеру "4321" и на выходе получим переставленное именно в этом порядке...

    Ну или в рамках ПР научить это делать галочками не только для мастера наконец, но и для слейва....

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Сергей0308 байты, а не слова, соответственно добавится еще FBD, вместо того, чтобы такие вещи добавить в прошивку ПР и FBD бы выглядел примерно так, на один вход подаем что надо, на второй вход к примеру "4321" и на выходе получим переставленное именно в этом порядке...

    Ну или в рамках ПР научить это делать галочками не только для мастера наконец, но и для слейва....
    Я же написал, хорошо повторюсь, в ворде переставить местами байты можно аналогично как на моей картинке, только измените константу для сдвига с "16" на "8", всё! Надеюсь как разбить двойное слово на два слова Вы сообразите?!
    Вот Вы говорите, что не пользуйтесь ПР от Овена, Вы купите и попользуйтесь и тогда, если будут какие вопросы и спросите, зачем выдумывать несуществующие проблемы, у ПР есть перестановка байт и слов и с этим у меня никогда проблем не возникало! Тем более я Вам нарисовал как переставить слова и байты!

    Перестановка байт в двух вордах двойного слова_2.PNG

    Перестановка байт в двух вордах двойного слова.PNG

    Перестановка байт в двух вордах двойного слова_4.PNG

    Даже так:

    Перестановка байт в двух вордах двойного слова_5.PNG

    https://disk.yandex.ru/d/J58fo9rg44EtNg
    Последний раз редактировалось Сергей0308; 18.09.2022 в 21:55.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #6
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,241

    По умолчанию

    Сергей0308 кто вам сказал, что я не пользуюсь ПР от Овена? я такого не говорил тем более один висит в котельной а другой на столе....

    Я про другое говорю, как бы просто это не выглядело на картинках, в ST и тем более в С это выглядит гораздо компактнее и некоторые вещи могли быть заложены в прошивку на уровне железа, а в базе это выглядело бы как обертка как тот же TON, TOF, AND, PUTBIT и так далее и занимало бы гораздо меньше места без необходимости выстраивать кучу элементов и создавать макросы на достаточно простые вещи...

    И пора бы Овену избавляться от хлама в виде счетчика например, в который нельзя записать уставку добавив в справку замену.
    Загрузите старую программу - оп-па, покраснел элемент - внизу - "Смотри туда-то как его заменить"...
    Надо освобождать прошивку от хлама, который оставлен для какой-то там совместимости, учитывая, что сама программа друг с другом фиг совместима вниз....

    з.ы. это просто мое мнение, может быть когда-нибудь дойдет до (цензура ) программеров...

  7. #7

    По умолчанию

    Вот разобрал и собрал, на регистры и байты, переставляй не хочу)))1Разбор и сбор Байт в целочисленном.jpg
    Байты конечно условные, но правильные, проверено.
    Даже можно в REAL переставлять, только сначала умножить на 10, 100, 1000 и конвертировать. Потом обратно, также.
    Но на ST это намного проще)

    ЗЫ Ну вот, пока рисовал, Сергей уже всё выложил)
    Последний раз редактировалось kondor3000; 27.08.2022 в 22:57.

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

    По умолчанию

    Да, десятки раз на форуме этот вопрос обсуждали, как разбить на байты и собрать обратно:

    Упаковка-распаковка_6_2.PNG

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

  9. #9

    По умолчанию

    Сергей0308, тут в другом проблема, в полученном REAL по сети, с переставленными байтами (регистрами), байты таким способом уже не переставишь, если ПР слейв.
    Тут уже указатели нужны и ST, а так же наличие переменных типа BYTE.
    Например число -3.388945e+025, если перевести в целочисленное будет 0, а SHR и SHL с флоатом не работают.
    А реально это 123.4568 с переставленными регистрами.
    Последний раз редактировалось kondor3000; 27.08.2022 в 23:53.

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

    По умолчанию

    ТРМ-ы, модули ввода-выхода, ПЧ и датчики от Овена не могут быть мастером, тогда у вас мастером ПЛК должен выступать, короче, вам повезло, всё сделаете по красоте на ST! Не может же сеть без мастера работать!
    Последний раз редактировалось Сергей0308; 28.08.2022 в 00:16.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

Похожие темы

  1. Универсальные макросы для OWEN Logic
    от rovki в разделе Среда программирования OWEN Logic
    Ответов: 952
    Последнее сообщение: 19.01.2026, 23:15
  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

Ваши права

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