Страница 13 из 74 ПерваяПервая ... 311121314152363 ... ПоследняяПоследняя
Показано с 121 по 130 из 738

Тема: Обсуждение макросов для OWEN Logic

  1. #121
    Пользователь Аватар для Borserg
    Регистрация
    06.05.2015
    Адрес
    Санкт-Петербург
    Сообщений
    148

    По умолчанию

    Немного подумал и решил, что счетчики можно упростить.

    Счетчик моточасов:

    4.png

    "Сервисный" счетчик:

    5.png

    Счетчики CT в макросах - с сохранением состояния.
    Изменение точности отсчета - параметрами блоков BLINK и CT и добавлением операции деления на 60 в счетчике моточасов.

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

    По умолчанию

    а если немного поэкспериментировать, то вы упретесь в ограничение счетчика CTN в 16 бит, отсюда и делались счетчики на 32 бита из простых элементов...

  3. #123
    Пользователь Аватар для Borserg
    Регистрация
    06.05.2015
    Адрес
    Санкт-Петербург
    Сообщений
    148

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    а если немного поэкспериментировать, то вы упретесь в ограничение счетчика CTN в 16 бит, отсюда и делались счетчики на 32 бита из простых элементов...
    Думаю, в большинстве случаев возможностей 16-битного счетчика (65 535 часов) должно хватить. По крайней мере для того оборудования, с которым я имею дело. После такого "пробега" обычно делается капитальный ремонт. А там можно и заново отсчет начать

    А можно и макрос немного дополнить и получить полноценный 32-битный счетчик моточасов (на выходе данные типа FLOAT):

    6.png

    Добавлен четвертый вход для предварительной записи в счетчик CTN3 "множителя" при необходимости установить после обновления программы моточасы, превышающие 65535.
    Последний раз редактировалось Borserg; 26.03.2018 в 08:31.

  4. #124

    По умолчанию

    Цитата Сообщение от Borserg Посмотреть сообщение
    С первой страницы многие макросы "не грузятся". Вместо них открывается пустая страница:

    Вложение 29050
    Добрый день! Действительно есть такая неприятность, сейчас выясняю с чем это может быть связано. Надеюсь поправим.
    С уважением, Ревака Юрий.
    Инженер группы технической поддержки компании "ОВЕН"
    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

  5. #125

    По умолчанию

    Цитата Сообщение от Borserg Посмотреть сообщение
    Думаю, в большинстве случаев возможностей 16-битного счетчика (65 535 часов) должно хватить. По крайней мере для того оборудования, с которым я имею дело. После такого "пробега" обычно делается капитальный ремонт. А там можно и заново отсчет начать

    А можно и макрос немного дополнить и получить полноценный 32-битный счетчик моточасов (на выходе данные типа FLOAT):
    Поясню насчёт типов данных в ПР : "внутри" используется 32х разрядный INT. Float также имеет 32 разряда, только арифметика в 4 раза медленнее.

    32х разрядный реверсивный счётчик с предустановкой имеется в моём макросе задвижки.
    Так-что можете не заморачиваться и считать наработку в секундах. У ПР114 (с часами) и ПР200 есть вывод секунд.

    Макросы выкладывают "завернув" их в программу(.OWL сайт понимает, tpl-нет) , или заархивировав ZIP.

  6. #126
    Пользователь Аватар для Borserg
    Регистрация
    06.05.2015
    Адрес
    Санкт-Петербург
    Сообщений
    148

    По умолчанию

    Цитата Сообщение от Алексей Геннадьевич Посмотреть сообщение
    Поясню насчёт типов данных в ПР : "внутри" используется 32х разрядный INT. Float также имеет 32 разряда, только арифметика в 4 раза медленнее.
    Не совсем понял: почему тогда сетевые переменные типа INT занимают один регистр 16 бит, а FLOAT - два, идущих подряд (32 бита)?

    32х разрядный реверсивный счётчик с предустановкой имеется в моём макросе задвижки.
    Так-что можете не заморачиваться и считать наработку в секундах. У ПР114 (с часами) и ПР200 есть вывод секунд.
    Спасибо, посмотрю. Но в том оборудовании, с которым я работаю, учет минут и, тем более, секунд - излишен.

    Макросы выкладывают "завернув" их в программу(.OWL сайт понимает, tpl-нет) , или заархивировав ZIP.
    Прилагаю .OWL.

    Макросы.owl

  7. #127

    По умолчанию

    Не совсем понял: почему тогда сетевые переменные типа INT занимают один регистр 16 бит, а FLOAT - два, идущих подряд (32 бита)?
    внутри программы у целых больше диапазон, чем у сетевых переменных в 2 раза

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

    По умолчанию

    Цитата Сообщение от Borserg Посмотреть сообщение
    Не совсем понял: почему тогда сетевые переменные типа INT занимают один регистр 16 бит, а FLOAT - два, идущих подряд (32 бита)?



    Спасибо, посмотрю. Но в том оборудовании, с которым я работаю, учет минут и, тем более, секунд - излишен.



    Прилагаю .OWL.

    Макросы.owl
    Вам правильно сказали что внутри ОЛ тип данных INT32, на самом деле это UINT32, при выводе в сетевой переменной обрезается до UINT16, т. е. 16 младших бит!

    Типы данных.PNG
    Последний раз редактировалось Сергей0308; 02.02.2017 в 08:22.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    потому что один регистр в modbus это одно СЛОВО, вот и 16 бит. а float в Modbus это два идущих подряд регистра.
    Вам нужно двойное слово ?, разделите в программе uint32 на два регистра а в scada склеивайте.

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

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    потому что один регистр в modbus это одно СЛОВО, вот и 16 бит. а float в Modbus это два идущих подряд регистра.
    Вам нужно двойное слово ?, разделите в программе uint32 на два регистра а в scada склеивайте.
    Что там делить, сдвиг вправо на 16, вот вам и второй регистр!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 13 из 74 ПерваяПервая ... 311121314152363 ... ПоследняяПоследняя

Похожие темы

  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 !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 16:33
  4. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  5. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 21:55

Ваши права

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