Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 14 из 14

Тема: Проблема с библиотекой modbus

  1. #11

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    а еnable где падает ?
    Нет, не падает.

  2. #12
    Пользователь
    Регистрация
    20.07.2011
    Адрес
    Новосибирск
    Сообщений
    38

    По умолчанию

    Соединил два ПЛК-100 и хочу считать регистр из Slave. СОМ-порт нормально открывается, с номерами регистров и другими настройками тоже давно разобрался, но возникает такая же ошибка таймаута, потому что устройства не могут между собой связаться и вечное ожидание RX_WAIT происходит, даже старт-бит не приходит ) Программа уже написана, но не могу пока грамотно связать два устройства... Проблема как понимаю может быть из-за: 1) настроек в Slave и Master, 2) неисправном кабеле 232 или 485 интерфейса. А ещё из-за чего? На что бы посоветовали обратить внимание?

    Насчёт того куда приходят данные. Открываете блокнотом овеновскую библиотеку Modbus, там всё русскими комментариями расписано. Ищите нужный вам ФБ по имени и среди языка ST можно разглядеть, что Buffer[4] это старший байт значения, Buffer[5] младший - в зависимости от ФБ найти нужное.
    Автоматизирую, как завещал нам Генри Форд

  3. #13
    Пользователь
    Регистрация
    20.07.2011
    Адрес
    Новосибирск
    Сообщений
    38

    По умолчанию

    Валенок, маркер-старт будет привычнее звучать? В последовательной передаче он называется старт-бит, тем более StartFrame: BOOL; Не придирайтесь.
    Цитата Сообщение от Валенок
    А в КДС никак ?
    а по существу ответить никак? Какая разница где я код посмотрю, я вообще в view64 глядел, потому что оформление приятнее.
    Автоматизирую, как завещал нам Генри Форд

  4. #14
    Пользователь
    Регистрация
    20.07.2011
    Адрес
    Новосибирск
    Сообщений
    38

    По умолчанию

    Задача простая, есть два ПЛК-100.24.К.М., которые соединены по RS-485, нужно записать регистр в устройсве Slave и считать из него другой регистр. Пробовал сделать как написано в примерах "Modbus запись Int и Real (FBD)" и чтение, но таким способом не получилось. Сделал через конфигурацию ПЛК, где в Master просто добавил Universal Modbus Device, и в нём Register Input Module и Register Output Module. Через них всё заработало, а программно никак )

    Номер СОМ-порта в примерах указан как нулевой для 485 интерфейса, поэтому Кодесис при подключении всегда пишет Invalid и из-за этого нельзя посмотреть результат своей программы. В библиотеке SysLibCom.lib в типах данных указано
    TYPE PORTS : (COM1:=1, COM2, COM3, COM4, COM5, COM6, COM7, COM8);
    Но везде в примерах пишут 0. У меня RS-485 через СОМ1 заработал.

    Цитата Сообщение от Валенок
    Время цикла какое ?
    5 мс на обоих, пробовал менять, не повлияло. Для простых задач 1 мс было бы достаточно?
    Последний раз редактировалось Максим Tomahawk; 26.07.2011 в 08:49.
    Автоматизирую, как завещал нам Генри Форд

Страница 2 из 2 ПерваяПервая 12

Ваши права

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