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

Тема: ПЛК73 и RS-485

  1. #1

    По умолчанию ПЛК73 и RS-485

    Здравствуйте уважаемые специалисты. Прежде всего, хочу сказать спасибо компании "Овен" за возможность тестирования ПЛК73.
    В попытках "наладить" связь с частотником LS по интерфейсу RS-485, столкнулся с ошибкой:Безымянный.jpg

    В примерах написано: Безымянный1.jpg

    А в документации: Безымянный2.jpg

    Плата у меня точно ПИ73-2: Безымянный3.jpg

    Помогите пожалуйста разобраться!

  2. #2

    По умолчанию

    Особенность CODESYS - при использовании порта 0 - пишет invalid, хотя обмен идет.
    Проверьте получаете ли Вы данные.

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

    По умолчанию

    Возможно неправильно организован обмен, так как заявлены два ФБ для обмена. Используйте конструкцию CASE. Если используете один ФБ, а второй чтобы было, то на вход enable подавайте сразу TRUE, а по завершению работы ФБ (Complete=TRUE) разбирайте ответ

  4. #4

    По умолчанию

    Спасибо! Попробую что нибудь получить по сети, так как отправка ничего не изменила на периферийном оборудовании. Может я с адресами напутал что-то?
    Я тоже заметил, что передача Complete.

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

    По умолчанию

    Цитата Сообщение от Денис_Гуливатенко Посмотреть сообщение
    Спасибо! Попробую что нибудь получить по сети, так как отправка ничего не изменила на периферийном оборудовании. Может я с адресами напутал что-то?
    Я тоже заметил, что передача Complete.
    Судить по кусочку картинки очень неудобно

  6. #6

    По умолчанию

    Цитата Сообщение от kgsh82 Посмотреть сообщение
    Судить по кусочку картинки очень неудобно
    Так на картинке весь код. А переменная S1 - это кнопочка.

    Прочитать тоже ничего не получилось((.

    Давайте по порядку, может я что-то не так понял.

    В документации прописаны следующие настройки:
    rtu.jpg
    У меня в программе
    F port_opened=0 THEN
    Settings.Port:=com_num;
    Settings.dwBaudRate:=9600;
    Settings.byParity:=0;
    Settings.dwTimeout:=0;
    Settings.byStopBits:=2;
    Settings.dwBufferSize:=0;
    Settings.dwScan:=0;
    END_IF
    *******************************
    read1modbus(
    Enable:=SR1.Q1 ,
    Mode:=MB_RTU ,
    DevAddr:=10 ,
    FirstAddr:=6 ,
    Quantity:=1 ,
    ComHandle:=Settings.Port ,
    TimeOut:=T#50ms ,
    Buffer:=Buffer,
    Exception=>err ,
    Complete=>cmpl );
    При этом выскакивает ошибка err=255. В документации написано OxFF - Ошибка таймаута.

    Может я неправильно ввожу адреса
    adr.jpg
    Последний раз редактировалось Денис_Гуливатенко; 26.11.2013 в 15:41.

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

    По умолчанию

    Цитата Сообщение от Денис_Гуливатенко Посмотреть сообщение
    Так на картинке весь код. А переменная S1 - это кнопочка.

    Прочитать тоже ничего не получилось((.

    Давайте по порядку, может я что-то не так понял.

    В документации прописаны следующие настройки:
    rtu.jpg
    У меня в программе


    При этом выскакивает ошибка err=255. В документации написано OxFF - Ошибка таймаута.

    Может я неправильно ввожу адреса
    adr.jpg

    Для начала давайте пробежимся по настройкам. Проверьте скорость и адрес частотника. Остальное вроде как надо

    Когда удостоверитесь в корректности настройки, перепишите кусок открытия порта вот так:

    port_opened: BOOL:=FALSE;
    ***************************
    IF NOT port_opened THEN
    (****)
    здесь настройка
    (****)
    COM_SERVICE1(Enable:=TRUE, Settings:=Settings, Task:=OPEN_TSK);
    port_opened:=COM_SERVICE1.Ready;
    END_IF

    дальше сам обмен

    IF port_opened THEN
    read1modbus(Enable:=TRUE, Mode:=MB_RTU, DevAddr:=10, FirstAddr:=6, ComHandle:=Settings.Port, TimeOut:=500ms);
    IF read1modbus.Complete THEN
    IF read1modbus.Exception THEN
    Здесь ставьте точку останова и просматривайте буфер
    END_IF
    END_IF
    END_IF


    Если не зафурычит - попробуйте увеличить время цикла контроллера

  8. #8

    По умолчанию

    Как на языке ST сделать точку останова? Вроде нашел.

    Спасибо за ответ. Завтра попробую. Вроде еще количество стоп-бит не совпадает.

    А скажите, длина стоп-бита и количество стоп-битов это одно и тоже, или нет?
    Последний раз редактировалось Денис_Гуливатенко; 26.11.2013 в 18:39.

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

    По умолчанию

    Цитата Сообщение от Денис_Гуливатенко Посмотреть сообщение
    Как на языке ST сделать точку останова? Вроде нашел.

    Спасибо за ответ. Завтра попробую. Вроде еще количество стоп-бит не совпадает.

    А скажите, длина стоп-бита и количество стоп-битов это одно и тоже, или нет?
    Это синоним. Кому как нравится....

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

    По умолчанию

    Сделал опечатку. Надо так

    IF read1modbus.Exception=0 THEN
    Здесь ставьте точку останова и просматривайте буфер
    END_IF

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

Похожие темы

  1. Золотые правила организации сети RS-485. Управление трмами по RS-485.
    от МихаилЯр в разделе Сетевые технологии
    Ответов: 80
    Последнее сообщение: 05.03.2024, 11:39
  2. Преобразователь (RS-232 to RS-422/485 ) Transio A52/53 и МУ110-8Р
    от Doomnik в разделе Эксплуатация
    Ответов: 5
    Последнее сообщение: 14.06.2012, 12:30
  3. Преобразование RS-232 в RS-485
    от dikens3 в разделе Подбор Оборудования
    Ответов: 4
    Последнее сообщение: 09.04.2012, 18:19
  4. Master Scada и счетчики с интерфесом RS-485 (RS-232)
    от Дениc в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 02.05.2009, 15:09

Ваши права

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