Страница 4 из 4 ПерваяПервая ... 234
Показано с 31 по 37 из 37

Тема: SysLibCom

  1. #31
    Пользователь
    Регистрация
    03.03.2008
    Адрес
    Новосибирск
    Сообщений
    238

    По умолчанию

    Цитата Сообщение от kulikovv Посмотреть сообщение
    На ПЛК73 нарвался на точно такую же засаду. Слейв команду записи отрабатывает, шлет ответ, но ПЛК в момент прихода ответа выкидывает комплит в месте с ошибкой 255, задолго до назначенного таймаута. При этом 06-я функция работает корректно.
    Господа разработчики - в чем проблема?
    Тоже столкнулся на ПЛК73, подумал и решил разработать свой ФБ для модбаса. Закончил пока с 3 и 4 функцией. Скоро приступлю к записи. Считаю, что решиться две проблемы: будет корректно работать и уменьшиться количество POU. С ограничением количества POU столкнулся при автоматизации кондиционера - долго пришлось извращаться

  2. #32

    По умолчанию

    требуется помощь в изобретении велосипеда. В общем нужна поддержка SysComSetSettings Ex(антимат озабоченый слитно не дал написать) чего в com_service.lib не предусмотрено. Стал писать свой ФБ открытия закрытия порта.

    FUNCTION_BLOCK COM_SERVICEEX
    VAR_INPUT
    Enable:BOOL;
    Settings:COMSETTINGSEX;
    TASK:BYTE;
    END_VAR
    VAR_OUTPUT
    Ready:BOOL;
    END_VAR
    VAR
    P_discr: DWORD;
    CLOSE_OK:BOOL;
    END_VAR
    _________________________________________

    IF Enable THEN
    IF TASK=0 THEN SysComClose(Settings.Port); P_discr:=SysComOpen(Settings.Port);
    IF P_discr<>16#FFFFFFFF THEN
    Settings.Size:=SIZEOF(Settings);
    Ready:=NOT SysComSetSettingsEx(Settings.Port, ADR(Settings));
    ELSE TASK:=2;
    END_IF
    ELSIF TASK=2 THEN CLOSE_OK:=SysComClose(Settings.Port); Ready:=FALSE;
    END_IF
    END_IF

    в итоге при открытии порта не прокатывает задание настроек для SysComSetSettingsEx. Вываливается инвалид 16#FE. Глядел в различных темах как писали другие люди - я делаю вроде все так же. Может кто подскажет в чем я не прав. COM_SERVICE.lib работает исправно, а у меня не работает, причем на любом порту. Открывается порт нормально, загвоздка именно в настройках.
    Последний раз редактировалось S.A.D.; 08.10.2013 в 13:10.
    Чтобы понять рекурсию нужно понять рекурсию

  3. #33

    По умолчанию

    неужели ни у кого никаких мыслей?
    проблему решил. Ошибка была в том, что я не обратил внимание на обязательность заполнения количества бит данных в настройке. Короче лоханулся на ровном месте.
    Последний раз редактировалось S.A.D.; 08.10.2013 в 16:56.
    Чтобы понять рекурсию нужно понять рекурсию

  4. #34

    По умолчанию

    c одной проблемой разобрался, и встрял в другую. Необходимо мне чтобы всегда был выставлен RTS. Выставил я его в настройках, однако на 7 ноге относительно 5 всегда стабильно -5,8В вне зависимости что я там выставляю в программе. И при подключении к ПК нуль модемным кабелем в программе прослушке я не вижу чтобы был выставлен CTS. Логично предположить, что ПЛК не выставляет RTS. Может кто сталкивался с этим?
    Чтобы понять рекурсию нужно понять рекурсию

  5. #35

    По умолчанию

    Доброго времени суток.
    Возникла вот проблема.
    С помощью SysLibCom пытаюсь c 110-60 подключиться по своему протоколу с двумя устройствами. За основу брал пример реализации из приложенных примеров.
    Одно устройство (измеритель вакуума TPG300) сидит на RS232 порту, и я его заставил общаться.
    Беру тот же пример переделываю под другое устройство (Leybold TD20) под другой порт - теперь под RS-485-2. Никак не могу получить ответа.
    Но что смутило: смотрю осцилом на линиях - ПЛК посылает свою посылку 24 байта, ответа от устройства я не вижу, но при этом SysComRead возвращает 24 принятых байта, при чем инвертированных тех, что я посылаю. Возникла дурная мысль, что он работает как асинхронный 232 интерфейс - и по линии RxD сразу считывает то же, что и посылает.
    Когда делал обмен с модулями МВА через конфигуратор, там в параметрах модуля (для RS485-2) был выбор :
    Interface type RS485/RS232/HARD_HANDSH/... и т.д.
    Может и здесь получается, что хоть порт 485, а ведет себя как асинхронный 232? Если это так как ему задать тип?

    UPD: Хех, переделал исходник на RS485-1 - ( com_num1:=0; как писали здесь) получил красненький INVALID. Попытка не обращать на это дела работоспособности порту не добавила - колличество отправленых байтов равно нулю, это же подтверждает осциллограф.
    Последний раз редактировалось Foregit; 20.11.2013 в 14:08.

  6. #36
    Пользователь
    Регистрация
    03.03.2008
    Адрес
    Новосибирск
    Сообщений
    238

    По умолчанию

    Цитата Сообщение от Foregit Посмотреть сообщение
    Доброго времени суток.
    Возникла вот проблема.
    С помощью SysLibCom пытаюсь c 110-60 подключиться по своему протоколу с двумя устройствами. За основу брал пример реализации из приложенных примеров.
    Одно устройство (измеритель вакуума TPG300) сидит на RS232 порту, и я его заставил общаться.
    Беру тот же пример переделываю под другое устройство (Leybold TD20) под другой порт - теперь под RS-485-2. Никак не могу получить ответа.
    Но что смутило: смотрю осцилом на линиях - ПЛК посылает свою посылку 24 байта, ответа от устройства я не вижу, но при этом SysComRead возвращает 24 принятых байта, при чем инвертированных тех, что я посылаю. Возникла дурная мысль, что он работает как асинхронный 232 интерфейс - и по линии RxD сразу считывает то же, что и посылает.
    Когда делал обмен с модулями МВА через конфигуратор, там в параметрах модуля (для RS485-2) был выбор :
    Interface type RS485/RS232/HARD_HANDSH/... и т.д.
    Может и здесь получается, что хоть порт 485, а ведет себя как асинхронный 232? Если это так как ему задать тип?

    UPD: Хех, переделал исходник на RS485-1 - ( com_num1:=0; как писали здесь) получил красненький INVALID. Попытка не обращать на это дела работоспособности порту не добавила - колличество отправленых байтов равно нулю, это же подтверждает осциллограф.
    Выложите проект

  7. #37

    По умолчанию

    Цитата Сообщение от kgsh82 Посмотреть сообщение
    Выложите проект
    Ну проектом это назвать пока сложно. Первая попытка достучаться по веревке к девайсу

    Делалось на основе:
    http://www.owen.ru/forum/showthread....ll=1#post41631

    Девайс - блок управления турбиком :
    http://www.mpi-hd.mpg.de/gerda/TG04_...D20_manual.pdf
    Вложения Вложения
    Последний раз редактировалось Foregit; 21.11.2013 в 16:07.

Страница 4 из 4 ПерваяПервая ... 234

Похожие темы

  1. SysLibCom
    от JoSaint в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 09.11.2010, 14:13
  2. Syslibcom
    от Назаров Александр в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 28.04.2010, 17:34
  3. SysLibCom
    от demon в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 20.03.2009, 13:08
  4. ПЛК 150 и SysLibCom.lib.
    от Анатолий в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 13.12.2008, 13:48
  5. SysLibCom.lib
    от Nekit в разделе ПЛК1хх
    Ответов: 0
    Последнее сообщение: 05.05.2007, 11:14

Ваши права

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