Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 25

Тема: Библиотеки сторонних разработчиков

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

    По умолчанию Библиотеки сторонних разработчиков

    Кроме упоминаемых на форуме бесплатных, с открытым кодом, OSCATовских библиотек OSCATBasic.
    1. OSCATBasic http://www.oscat.de/component/jdownl...cat-basic.html (содержат массу полезных функций и блоков).
    2. OSCATNetwork http://www.oscat.de/component/jdownl...t-network.html
    3. OSCATBuilding http://www.oscat.de/component/jdownl...-building.html (готовые функциональные блоки для управления инженерным оборудованием зданий - исполнительными механизмами, отоплением, вентиляцией, кондиционированием воздуха, управление жалюзи и шторами)
    Нашел на сайте Пролога еще одну бесплатную библиотеку, то же с открытым кодом, описанием и несколькими примерами.
    Это HBMutilities.lib http://extern.codesys.com/index.shtml?ru_ru_libs_forum
    Полезные математические функции для вычисления сложных выражений (напр. гиперболические угловые функции, статистические функции и т.д.) В ZIP-файле есть примеры проектов CoDeSys.
    Данная библиотека не содержит аппаратно-зависимых функций
    Данная библиотека содержит не только это!

    PUD.
    Ссылка на HBMutilities.lib больше не работает. По этому выкладываю ее здесь
    Вложения Вложения
    Последний раз редактировалось petera; 16.06.2015 в 19:18.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию OSCATBuilding ACTUATOR_PUMP

    Неоднократно поднимался вопрос о подсчете моточасов.
    Для насоса следует обратить внимание на блок ACTUATOR_PUMP
    actuator_pump.gif
    Входы
    IN: BOOL (Сигнал управления насосом)
    MANUAL : BOOL (Сигнал ручного управления)
    RST : BOOL (Сигнал сброса)
    Выходы
    PUMP : BOOL (Сигнал управления насосом)
    RUNTIME : REAL (Время наработки двигателя в часах)
    CYCLES : REAL (Количество циклов включения / выключения насоса)
    Настройки
    MIN_ONTIME : TIME (Минимальное время работы двигателя)
    MIN_OFFTIME : TIME (Минимальное время простоя двигателя)
    RUN_EVERY : TIME (Время, по прошествии которого насос включается автоматически)
    ACTUATOR_PUMP представляет собой интерфейс насоса со счетчиком часов наработки.
    Насос может включаться входом IN либо MANUAL.
    Переменные настроек MIN_ONTIME и MIN_OFFTIME задают минимальную периодичность включения и минимальную продолжительность работы.
    Если вход IN установлен в TRUE меньшее, чем MIN_ONTIME время, то насос продолжает работать, пока не будет достигнута минимальная продолжительность его работы.
    Если вход IN установлен в TRUE дольше, чем MIN_ONTIME, то насос работает, пока IN снова не станет FALSE.

    Если насос нужно запустить снова через короткое время, блок ожидает, пока не истечет время MIN_OFFTIME, и только затем насос снова включается. С помощью настроечной переменной RUN_EVERY задается время простоя насоса, после которого он автоматически включается, чтобы предотвратить блокировку насоса. В этом случае после автоматического включения насос работает в течение времени MIN_ONTIME. Установкой RUN_EVERY = T#0s можно отключить автоматический запуск насоса.

    Встроенный счетчик часов наработки подсчитывает время работы насоса в часах, а также количество циклов включения. Оба значения могут быть сброшены в ноль подачей TRUE на вход RST. Значение счетчика является реманентным и не теряется при потере питания или сбросе контроллера. И RUNTIME, и CYCLES являются значениями типа REAL, и поэтому не переполняются, как обычные TIME, после 50 дней.
    Использует библиотеку Oscat Basic
    Последний раз редактировалось petera; 18.04.2014 в 15:00.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию OSCATBuilding HEAT_TEMP

    Блок HEAT_TEMP
    Входы
    T_EXT : REAL (Наружная температура)
    T_INT : REAL (Заданная температура в помещении)
    OFFSET : REAL (Понижение или повышение температуры в помещении)
    T_REQ : REAL (Заявленная температура)
    Выходы
    TY : REAL (Температура теплоносителя в контуре отопления)
    HEAT : BOOL (Запрос на включение отопления)
    Настройки
    TY_MAX : REAL (Максимальная температура в контуре отопления, 70°C)
    TY_MIN : REAL (Минимальная температура в контуре отопления, 25°C)
    TY_C : REAL (Расчётная температура, 70°C)
    T_INT_C : REAL (Расчётная температура в помещении, 20°C)
    T_EXT_C : REAL (T_EXT при расчётной температуре -15°C)
    T_DIFF_C : REAL (Дифференциал подающей и обратной магистрали 10°C)
    C : REAL (Постоянная системы отопления, DEFAULT = 1,33)
    H : REAL (Порог для запроса на включение отопления 3°C)
    HEAT_TEMP вычисляет температуру теплоносителя в зависимости от наружной температуры по следующей формуле:

    TY = TR + T_DIFF / 2 * TX + (TY_Setup - T_DIFF / 2 - TR) * TX ^ (1 / C)

    где: TR = T_INT + OFFSET

    TX := (TR - T_EXT) / (T_INT_Setup - T_EXT_Setup);

    Параметры температурного графика отопления задаются через настроечные переменные TY_C (расчетная температура теплоносителя), T_INT_C (температура в помещении в расчётной точке), T_EXT_C (наружная температура в расчётной точке) и T_DIFF_C (разность температур подаваемого и обратного теплоносителя в расчётной точке). При помощи входа OFFSET температурный график может настраиваться для снижения (отрицательное смещение) или повышения (положительное смещение) температуры в помещении. Настроечными переменными TY_MIN и TY_MAX температура теплоносителя может быть ограничена минимальным и максимальным значениями. Вход T_REQ служит для поддержки внешних запросов температуры, например, от бойлера. Если T_REQ больше, чем вычисленное по температурному графику значение TY, то TY будет установлено в соответствии с T_REQ. Ограничение по TY_MAX не распространяется на запрос через T_REQ. Настроечной переменной H определяется, начиная с какой наружной температуры будет вычисляться температурный график. Пока T_EXT + H >= T_INT + OFFSET, TY остается равным 0, а HEAT равным FALSE. Когда T_EXT + H < T_INT + OFFSET, HEAT устанавливается в TRUE, а TY становится равным вычисленной температуре теплоносителя. Настроечная переменная C определяет кривизну температурного графика. Кривизна зависит от применяемой системы отопления.

    Конвекторы: C = 1.25 – 1.45

    Панельные радиаторы: C = 1.20 – 1.30

    Радиаторы: C = 1.30

    Трубы: C = 1.25

    Теплые полы: C = 1.1

    Чем больше значение C, тем сильнее искривлен температурный график. Значение 1.0 задает температурный график в виде прямой. Для типичных систем отопления значение C лежит в пределах от 1.0 до 1.5.
    Последний раз редактировалось petera; 24.12.2012 в 15:30.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию OSCATBasic CRC_GEN

    Функция CRC_GEN тип DWORD
    Входы
    PT : POINTER TO ARRAY OF BYTE (Пакет данных)
    SIZE : UINT (Размер массива)
    Настройки
    PL : UINT (Длина полинома)
    PN : DWORD (Полином)
    INIT : DWORD (Данные для инициализации)
    REV_IN : BOOL (Переставлять местами биты в байтах на входе)
    REV_OUT : BOOL (Переставлять местами биты в байтах на выходе)
    XOR_OUT : DWORD (Последнее XOR результата)
    Выходы
    CRC_GEN: DWORD (Вычисленное значение CRC)
    CRC_GEN генерирует контрольную сумму CRC для массива байтов произвольной длины. При вызове функции передаются указатель на обрабатываемый массив и его длина в байтах. В CoDeSys вызов производится как: CRC_GEN(ADR(Array), SIZEOF(Array),...), где Array - имя обрабатываемого массива. ADR является стандартной функцией, которая возвращает указатель на массив, а SIZEOF - стандартной функцией, вычисляющей размер массива. Полином PN может быть произвольным полиномом длиной максимум 32 бита.
    Полином X&#179; + X&#178; + 1 представляется как 101 (1*X&#179; + 1*X&#178; + 0*X&#185; + 1* X⁰). Самый старший значащий бит, в данном случае 1*X&#179;, в полиноме не задается, поскольку он всегда равен единице. Могут обрабатываться полиномы до X&#179;&#178; (CRC 32). С помощью значения INIT можно задать для CR начальное значение, обычно это 0000 или FFFF. Применяемое начальное значение в литературе обычно называют „Direct Initial Value“. Вход XOR_OUT задаёт последовательность битов, с которой контрольная сумма комбинируется операцией XOR в конце. Входы REV_IN и REV_OUT задают последовательность битов данных. Когда REV_IN = TRUE, каждый байт обрабатывается, начиная с LSB, а при REV_IN = FALSE - начиная с MSB. REV_OUT=TRUE соответствующим образом переворачивает последовательность битов в контрольной сумме. Для работы блока необходимо минимум 4 байта входных данных, верхним пределом является максимальная длина массива.
    Обыкновенно CRC_GEN вычисляет контрольную сумму, которая присоединеняется к оригинальному сообщению. Если теперь снова вычислить контрольную сумму сообщения вместе с присоединенной к нему контрольной суммой, то в результате получится 0.

    Для некоторых особых CRC, для которых это правило не выполняется, после приёма сообщения можно вычислить заново контрольную сумму всех полезных байтов без присланной контрольной суммы и затем сравнить с присланной контрольной суммой.
    Онлайн-вычисления для тестирования могут быть осуществлены следующей Java-утилитой: http://zorc.breitbandkatze.de/crc.html
    Большая таблица Распространенные CRC и полиномы:

    UPD
    Вложение можно скачать здесь
    https://drive.google.com/open?id=0B1...EJjVkI5NUEwOVU
    Вложения Вложения
    Последний раз редактировалось petera; 24.09.2018 в 13:41.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Цитата Сообщение от liga_blunt Посмотреть сообщение
    Подскажите в библиотеки OSCAT есть ФБ DRIVER_4C нужно чтобы переключались Q1 и Q2 что надо прописать в настройках. Александр
    Этот ФБ по каждому фронту на входе IN формирует на выходах Q1,Q2,Q3,Q4 комбинацию, заданную в массиве SX. По умолчанию 1(0001),3(0011),7(0111),15(1111). Эти комбинации нужно изменить, задав другие значения в массиве SX так, как требует логика работы выходов Q1 и Q2.
    Захват-14.png

    Скрытый текст:
    Вложения Вложения
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #6
    Пользователь
    Регистрация
    01.04.2010
    Адрес
    Лыткарино
    Сообщений
    174

    По умолчанию

    Спасибо понял Но вот ротация идет через SN=0

  7. #7
    Пользователь Аватар для Сема
    Регистрация
    17.12.2011
    Адрес
    Армавир
    Сообщений
    568

    По умолчанию

    Добрый день, а на русском языке таких плюшевых библиотек не предвидится?? А есть там какие нибудь готовый погодозависимые регуляторы?? Можете подсказать пожалуйста??

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

    По умолчанию

    Цитата Сообщение от Сема Посмотреть сообщение
    Добрый день, а на русском языке таких плюшевых библиотек не предвидится?? А есть там какие нибудь готовый погодозависимые регуляторы?? Можете подсказать пожалуйста??
    Не трудно догадаться, что погодозависимый регулятор получится если выход ФБ HEAT_TEMP (см. пост #3) использовать в качестве уставки для любого регулятора.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #9
    Пользователь Аватар для Сема
    Регистрация
    17.12.2011
    Адрес
    Армавир
    Сообщений
    568

    По умолчанию

    petera а если вас не затруднит, вы можете ещё рассказать о полезных функциональных блоках?? Просто мануал у них в лучшем случае на английском, сложно разобрать...

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

    По умолчанию

    Цитата Сообщение от Сема Посмотреть сообщение
    petera а если вас не затруднит, вы можете ещё рассказать о полезных функциональных блоках?? Просто мануал у них в лучшем случае на английском, сложно разобрать...
    Однако я немецкий изучал и то давно это было....
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. Подключение к ЕКОН-134 сторонних приборов
    от pilot2 в разделе Подбор Оборудования
    Ответов: 4
    Последнее сообщение: 13.01.2013, 12:23
  2. Ответов: 2
    Последнее сообщение: 30.06.2011, 10:45
  3. Ответов: 2
    Последнее сообщение: 16.01.2009, 00:32
  4. Opc-сервер сторонних разработчиков?
    от NSemenov в разделе Сервисное ПО
    Ответов: 3
    Последнее сообщение: 21.12.2007, 17:46
  5. Ответов: 5
    Последнее сообщение: 13.06.2007, 09:22

Ваши права

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