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

Тема: Связь двух ПЛК100 через модем (CSD)

  1. #1

    По умолчанию Связь двух ПЛК100 через модем (CSD)

    Уважаемые форумчане, подскажите где ошибка.

    В итоге у меня должна появиться программа передачи с ПЛК100 на ПЛК100 через модем ПМ01 в режиме CSD нескольких байт. Но пока приближаюсь к ней поэтапно.

    Запнулся на обмене.

    Сделал тестовые программки (для приемника и передатчика) обмена по RS485 без модема. По нажатию на кнопку "Старт" передатчик увеличиват на 1 число и отправляет его на приёмник, а тот выставляет его на выходные контакты.
    Признаком завершения удачного обмена я решил выбрать равенство записываемого и считываемого чисел из одного регистра.
    Работает.

    Перешёл к обмену через модем. Настроил ПМ01 через терминал на автоподъём и работу без эха. Заменил в программах RS485-1 на модем. Нажимаю на "Старт". Обмен один-два (чаще один) раза проходит, а потом выставляется ошибка модема в 1. На этом сязь прекращается до перезагрузки выключением питания.

    Приаттачиваю архив с тестовыми программками.

    P.S. В моём распоряжении для отладки чуть различные ПЛК - ПЛК100-R-L и ПЛК100-R-M.
    Вложения Вложения
    • Тип файла: zip Forum.zip (36.3 Кб, Просмотров: 29)

  2. #2

    По умолчанию

    Мне кажется, что разобрался.

    Отправной точкой была информация о том, что GSM модемы плохо разрывают соединение ("кладут трубку"). Т.к. модем с ПЛК соединён по RS485, то можно "прослушать" их обмен:
    Код:
    ATI                         <-------  ПЛК опрашивает готовность модема
    
    SIM900D R11.0               <------- у модема всё хорошо
    
    OK                                    
    ATDT89181111111             <------- набор номера
    
    CONNECT 9600                <------- соединение установлено
    :01700000018E
    :0171000001107D
    :01700000018E
    :0171000001107D
    :01700000018E
    :0171000001107D
    :01700000018E
    :0171000001107D
    :01700000018E
    :0171000001107D
    :01700000018E
    :0170000001008E
    :0171000001107D
    :01700000018E
    :01710000018D
    :017░ВВВВВККВ║"5             <------- сбой в обмене
                    01107E
    :01700000018E
    :01710000018D
    :0171000001107D
    :01700000018E
    :0170000001107E
    :017AАИ║КВВВВВККВ║"5
                        00018D
    :0170000001107E
    :01710000018D
    :0170000001107E
    :01710000018D
    Э└ААВККВ║*5                   <------- сбой в обмене
               :0170000001107E
    +++чар°                       <------- сбой при смене режима
           ATH                    <------- и как следствие - не "кладётся трубка"
    ATI                           <------- ПЛК опрашивает модем, но ответа нет
    ATI
    ATI
    ATI
    ATI
    На основе лога я пришёл к выводу, что
    1) для избежания сбоя при обмене (rs485 ведёт приём и передачу по одной и той же паре) нужно увеличить время между опросом (polling time)
    2) для стабильного переключения режима нужно, чтобы к моменту подачи "+++" обмен уже прекратился.

    Реализация:
    1) Настройка Universal Modbus Device -> Work Mode -> By command
    2) после установления соединения запускаю таймер и с его периодичностью произвожу обмен - подаю команду 16#FF в Universal Modbus Device (UMD)
    3) когда выполняются какие-либо условия завершения обмена - подаю команду 16#FE в UDM
    4) запускаю таймер ожидания завершения обмена по rs485
    5) после гарантированного завершения обмена - в модем подаю команды "Stop_Dial=1" и "Start_Auto_Dial=0"

    Возможно, было бы правильнее, если бы завершение обмена по Modbus и подача команд "+++" и "ATH" согласовывались на уровне прошивки контроллера. Но тут разработчикам "виднее" - в этом пожелании я не учитываю множества других факторов.

  3. #3

    По умолчанию

    А можно поподробнее? У меня та же проблема.

Похожие темы

  1. связь двух ПЛК по Ethernet
    от laud в разделе Сетевые технологии
    Ответов: 1
    Последнее сообщение: 10.06.2010, 16:27
  2. связь по средсвам двух панелей.
    от Юрий Мазин в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 05.02.2010, 08:17
  3. Ответов: 9
    Последнее сообщение: 29.01.2010, 08:55
  4. связь двух плк по Rs-232
    от miha_mvp в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 18.01.2010, 10:44
  5. связь двух плк по Rs-485
    от Антон12345 в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 24.12.2009, 09:45

Ваши права

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