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

Тема: ПЛК100: unm.lib и syslibcom.lib

  1. #1

    По умолчанию ПЛК100: unm.lib и syslibcom.lib

    К выходу RS485 ПЛК100 подключены счетчик Меркурий и модуль МВА8 (протокол модбас). Планируется еще несколько модулей расширения. Есть большое желание сделать обмен с модулями расширения не через конфигуратор, а с помощью библиотеки modbus.lib. Обмен со счетчиком - с помощью библиотеки Mercury.lib. И тут начинаются сложности. Дело в том что modbus.lib работает с портом через syslibcom и comservice, а меркурий - через UNM. В отдельности - все работает нормально. А вместе - не работает. При открытии порта c помощью comservice - unm теряет с ним связь. Даже закрытие порта в комсервисе и повторный вызов LockDevice - не помогает. Подскажите, как заставить их работать вместе? Может есть UNM-реализация протокола modbus или что-то подобное?

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

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

    По умолчанию

    Переделайте работу Меркурия на Syslib.com.

    Я начинал перелопачивать, но потом счетчик пришлось вернуть. Чтение я добился.

    Еще есть реализация опроса Меркурий 230 для АВВ с описанием. Но там могут быть свои заморочки, так что для ПЛК100 все равно переделывать.
    Проверить по вышеозначенным причинам не довелось. Библиотеку писали в ABB.
    Последний раз редактировалось melky; 25.04.2016 в 16:30.

  4. #4

    По умолчанию

    Спасибо за "пример". Вопрос про аргументы функциональных блоков в библиотеке:

    Enable - запуск по фронту работы блока,
    Handle - номер порта в UNM
    UnitID - адрес устройства
    REF - номер регистра
    COUNT - число передаваемых байт (=число регистров * 2)
    PNTFF - указатель на массив данных
    DELAY - таймаут

    Это верно? Может дадите пароль от библиотеки? Очень интересно ознакомиться.

  5. #5

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Переделайте работу Меркурия на Syslib.com.

    Я начинал перелопачивать, но потом счетчик пришлось вернуть. Чтение я добился.

    Еще есть реализация опроса Меркурий 230 для АВВ с описанием. Но там могут быть свои заморочки, так что для ПЛК100 все равно переделывать.
    Проверить по вышеозначенным причинам не довелось. Библиотеку писали в ABB.
    Вариант перелопачивать - остается. Вопрос в том подгонять меркурий под syslibcom или реализовывать modbus через unm. Я решил, что гораздо больше вероятность, что кто-нибудь делал второе. И как оказалось - правильно решил.

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

    По умолчанию

    самому бы хотелось вспомнить пароль, чтоб остальное доделать, а так только 3 и 16 функции используются
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  7. #7

    По умолчанию

    Нашел, на мой взгляд, элегантное решение! Из кода modbus.lib удалил библиотеки syslibcom и comservice. (Из проекта, куда эта библиотека загружается, их, естественно, тоже надо удалить) И в саму библиотеку добавил функции SysComRead и SysComWrite, реализующие чтение и отправку через unm. В результате получил полную функциональность библиотеки modbus.lib, но работающую через unm.
    Вложения Вложения

  8. #8

    По умолчанию

    Цитата Сообщение от izwerg Посмотреть сообщение
    В результате получил полную функциональность библиотеки modbus.lib, но работающую через unm.
    И какой с этого кайф ?

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

    По умолчанию

    Вольд, видимо чтобы не переделывать Mercury.lib, раз он нужен.
    Я же наоборот начинал переделывать, потому что проектом был предусмотрен контроллер ABB, а там нет UNM, так как это только Овеновская фича...

  10. #10

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Вольд, видимо чтобы не переделывать Mercury.lib, раз он нужен.
    Я же наоборот начинал переделывать, потому что проектом был предусмотрен контроллер ABB, а там нет UNM, так как это только Овеновская фича...
    Именно для этого. Чтобы не переделывать Mercury.lib

Похожие темы

  1. SysLibCom
    от Антон12345 в разделе ПЛК1хх
    Ответов: 36
    Последнее сообщение: 21.11.2013, 15:44
  2. SysLibCom
    от JoSaint в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 09.11.2010, 14:13
  3. SysLibCom
    от mettled в разделе ПЛК1хх
    Ответов: 37
    Последнее сообщение: 16.09.2009, 09:37
  4. SysLibCom
    от demon в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 20.03.2009, 13:08
  5. ПЛК 150 и SysLibCom.lib.
    от Анатолий в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 13.12.2008, 13:48

Ваши права

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