Показано с 1 по 9 из 9

Тема: Библиотеки CAA

  1. #1
    Пользователь
    Регистрация
    20.08.2018
    Адрес
    Тюмень
    Сообщений
    4

    По умолчанию Библиотеки CAA

    Доброго времени суток!

    Сразу скажу - в ПЛК новичок. Делал небольшой проект на ПЛК100, на FB. Есть опыт программирования МК (STM, Microchip) на С.
    Сейчас присматриваюсь к СПК, т.к. нужно визуализировать некоторые данные.
    Есть ряд вопросов на которые не смог ничего найти поиском:
    1. Установил Codesys 3.5 - во встроенной помощи идет описание библиотек CAA в качестве системных, но этих библиотек нет в репозитории. Где их можно взять? Или СПК поддерживает только небольшое количество CAA которые есть в \intern\CAA\.....
    2. Где можно найти описание на библитеки \System\Syslibs?
    3. Возможно ли в СПК использовать таймеры? Если да то с какой библиотекой?
    4. Опять же к вопросу по таймерам - как именно вызывается callback функция, механизм вызова? Функция будет вызываться только в основном цикле или в т.ч. и в системной области программы ПЛК (по аналогии с прерыванимем)?

    Прошу прощения если вопросы глупые.

    С уважением,
    Сергей

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Добрый день.

    1. Дерево библиотек не очень удобное. Нажмите на эти кнопки - и увидите их все в виде списка:

    21-08-2018 7-13-47.png

    2. Какие именно библиотеки вас интересуют? Для многих из них вообще нет описания (за исключением встроенного в библиотеку).
    3. Да, см. библиотеку Standard (обычно она присутствует в проекте по умолчанию).
    4. Таймеры представлены в виде функциональных блоков (объектов). При запуске таймера запоминается значение системного тика и далее при каждом вызове таймера оно сравнивается с текущим. По истечению заданного интервала времени выход таймера Q принимает значение TRUE. Т.е. таймеры - асинхронные, вызываются только в программе пользователя.

    Cсылки, которые могут вам помочь:
    https://habr.com/post/402315/ (реализация таймеров CODESYS на С - поможет понять их внутреннее устройство)
    http://prolog-plc.ru/docs/TimeExperience.pdf (про таймеры - со стр. 20)
    http://www.codesys.ru/docs/st_c.pdf (статья "Язык ST для С программиста")

  3. #3
    Пользователь
    Регистрация
    20.08.2018
    Адрес
    Тюмень
    Сообщений
    4

    По умолчанию

    1. Спасибо, так действительно видно.
    2. Буду копать.
    3.4. Возможно я некорректно сформулировал вопрос. К таймерам из библиотеки стандарт у меня вообще никаких вопросов нет. Я разбираюсь с примером на ST для библиотеки CAA.Timers. В ней как раз на событие регистрируется callback функция. Вообще у меня к этому примеру есть ряд вопросов:
    А. объявление переменной CB_Timer - выдает ошибку, при замене на CB.Timer ругаться перестает... Зачем в примере с подчеркиванием сделано объявление?
    Б. объявление teError, так же выдает ошибку. Тип TMR.ERROR я найти не смог ни в одной библиотеке, хотя судя по тому же хелпу этот тип должен быть в библиотеке CAA Timer, но этой библиотеки у меня нет.

    Дальше пока не копал.


    Снимок.PNG

  4. #4

  5. #5
    Пользователь
    Регистрация
    20.08.2018
    Адрес
    Тюмень
    Сообщений
    4

    По умолчанию

    Планировал сделать на нем измеритель частоты сигнала - вызов функции циклический, читаем текущее значение счетчика модуля цифрового ввода, вычитаем предыдущее делим на время таймера получаем частоту. Так то по большому счету можно и TON использовать.
    Но ведь и библиотека CAA Timers должна работать, так что для чистоты эксперимента надо разобраться. Ну и судя по первым признакам вызов функции должен происходить строго по срабатыванию таймера, хотя возможно я и ошибаюсь но никакой литературы даже на английском я не нашел.

  6. #6
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Вам, по-моему, даже таймер не нужен. Достаточно системного тика:

    tVar := TIME(); // значение системного тика в текущем цикле (tVar типа TIME)

    По поводу CAA Timer сложно дать комментарии, но то, что в документации много ошибок - это факт.
    Этот вопрос не связан с конкретно нашим контроллером. Вы можете запросить информацию у ПК Пролог (http://prolog-plc.ru/contacts) или напрямую у разработчиков CODESYS (https://store.codesys.com/, кнопка My Question справа).

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

    По умолчанию

    спасибо, буду разбираться

  8. #8

    По умолчанию

    не буду создавать новую тему спрошу здесь.

    если использовать на первом порту самописный DCON, используя CAA Serial, а на втором порту использовать Modbus через мастер Codesys'а , они нормально друг с другом уживаются?

  9. #9
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,060

    По умолчанию

    Цитата Сообщение от tegs Посмотреть сообщение
    не буду создавать новую тему спрошу здесь.

    если использовать на первом порту самописный DCON, используя CAA Serial, а на втором порту использовать Modbus через мастер Codesys'а , они нормально друг с другом уживаются?
    Да, порты независимые и друг на друга никак не влияют.

Похожие темы

  1. Библиотеки
    от Евгений Сергеевич в разделе ПЛК3хх
    Ответов: 160
    Последнее сообщение: 23.08.2018, 12:25
  2. Про библиотеки
    от aven в разделе ПЛК1хх
    Ответов: 26
    Последнее сообщение: 22.04.2016, 00:19
  3. ПЛК 304/308 - Библиотеки к ним
    от vlkv в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 25.02.2011, 16:55
  4. про Pid из библиотеки
    от Игор100 в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 29.10.2009, 11:38
  5. Cad библиотеки
    от незарегистрированный в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 29.07.2007, 23:10

Ваши права

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