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

Тема: Почему не открывается порт RS-232 у ПЛК-150 в стандартном режиме

  1. #1

    По умолчанию Почему не открывается порт RS-232 у ПЛК-150 в стандартном режиме

    Имеется ПЛК-150 -220-А-М Зав. № 10749130502143650 Б13-009949 2013г. версия прошивки 2.14.0 Лог hyperterminal - 223.TXT
    Кабель КС-1 с РАЗОРВАННОЙ связью 4 и 5 проводков, подсоединенный к компу через переходник USB-COM.
    Согласно документации номера портов для ПЛК-150: COM1 - RS-232, COM4 - RS-232 Debug
    Версия таргета 2.10.
    Проект, взятый с диска Navigator_PLC_DVD_v3 com_port_test
    PHP код:
    IF NOT port_opened THEN
        com_handle
    :=SysComOpen(com_num);                         (*строка 1*)
        IF 
    com_handle<>16#FFFFFFFF THEN
            
    port_init:=TRUE;
        ELSE
            
    SysComClose(    com_num);
            
    com_handle:=SysComOpen(    com_num);
            
    port_init:=TRUE;

        
    END_IF

    (*Настраиваем скорость*)
        
    com_set.Port:=com_num;
        
    com_set.dwBaudRate:=115200;
        
    com_set.byParity:=0;
        
    com_set.dwTimeout:=0;
        
    com_set.byStopBits:=0; (* *)
        
    com_set.dwBufferSize:=0;
        
    com_set.dwScan:=0;
        
    res:=SysComSetSettings(com_num,ADR(com_set));     (*строка 2*)
    (*
    Успешно открыли*)
        IF 
    NOT res THEN
            port_opened
    :=TRUE;
        
    END_IF
    END_IF

    IF NOT port_opened THEN
        
    RETURN;
    END_IF

        ton1
    (In:=start_tmr,pt:=t#1s);
        
    start_tmr:=TRUE;
        
    tr1(clk:=ton1.Q);
        IF 
    tr1.Q THEN
            SysComWrite
    (com_num,ADR(snd_str),LEN(snd_str),0);
            
    start_tmr:=FALSE;
        
    END_IF

        sz
    :=SysComRead(com_num,ADR(rcvBUF),1024,0);               (*строка 3*) 
    При com_num = 4 в строке 1 com_handle становится равным 0, в строке 2 res становится равным *INVALID*, в hyperterminale я вижу сроку TEST1, однако записать в порт на стороне компа и увидтеть, то что было записано на строне ПЛК не получается в строке 3 sz всегда равно 0.

    При com_num = 1 в строке 1 com_handle становится равным INVALID_HANDLE (большое число начинается с 42), соответсвенно никуда дальше программа не идет. Если сделать этот проект загрузочным, то после рестарта ПЛК я наблюдаю в hyperterminale примерно раз в секунду строку make req at и изменяющееся число.

    Кабель используется один и тот же. Перемычку на верхней плате замыкал - ничего не поменялось. Такое чувство, что я что-то упускаю или не допонимаю, вопрос что?



    Проект полностью - tttttt.zip

  2. #2

    По умолчанию

    на сколько я помню порт номер 4 это 232-debug. для того чтобы по нему работать нужен кабель такой же как кабель программирования КС1, но без перемычки внутри (2 провода спаяны вместе внутри DB-9f). По этой перемычке ПЛК при старте идентифицирует тип кабеля к нему подключенного.
    Чтобы понять рекурсию нужно понять рекурсию

  3. #3

    По умолчанию

    Погодите, насколько я понял из чтения документации и форума. Если в кабеле есть перемычка (которую я удалил) порт работает как debug, т.е. com4, если перемычки нет, то порт работает в стандартном режиме - т.е. открываться должен com1

  4. #4

    По умолчанию

    номер порта всегда неизменен и привязан к физическому....разъему, если хотите. Тот порт который у ваc на контроллере RS-232-debug с rj-6 разъемом - COM4, Порт который просто RS-232 с db-9m разъемом - это COM1. Номера портов неизменны. При этом СОМ4 (который для программирования) может работать и как порт для программирования, и как обычный ком-порт. На то как он будет работать и влияет перемычка. Если вы её удаляете, то порт работает как обычный ком порт. При этом, чтобы контроллер увидел, какой именно кабель вы в него воткнули (с перемычкой или без) нужно нажать скрытую кнопку "сброс" - контроллер перезагрузится, прогонит тесты, реинициализирует порт, в результате чего последний будет работать в соответствии с тем есть перемычка или нет.
    Последний раз редактировалось S.A.D.; 18.06.2013 в 12:05.
    Чтобы понять рекурсию нужно понять рекурсию

  5. #5

    По умолчанию

    так нету на плк-150 RS-232 с db-9m...
    зачем же тогда в документации пишут 2 номера ком-порта, если физически на плк только один разъем ? это сбивает с толку

  6. #6

    По умолчанию

    Цитата Сообщение от kost2 Посмотреть сообщение
    так нету на плк-150 RS-232 с db-9m...
    зачем же тогда в документации пишут 2 номера ком-порта, если физически на плк только один разъем ? это сбивает с толку
    проверил - действительно, у ПЛК150 только один 232 - он же для программирования. Значит номер порта - 4. А в какой именно документации вы прочитали про 2 ком-порта? Если это общая документация, то там как правило даются общие данные применимые ко всей линейке контроллеров (100, 150, 154).

    Есть например вот-такой pdf с номерами портов:
    Номера портов П&#1.pdf
    Чтобы понять рекурсию нужно понять рекурсию

Похожие темы

  1. ПЛК110-30 и RS485-2. Порт не открывается.
    от Bagaj в разделе Сетевые технологии
    Ответов: 21
    Последнее сообщение: 04.12.2014, 17:52
  2. Не подключается ПЛК 150 через RS-232
    от justplan в разделе ПЛК1хх
    Ответов: 23
    Последнее сообщение: 16.05.2014, 16:34
  3. Проблема с подключением ПЛК 150 УМ по RS 232
    от Dimasjan в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 27.02.2009, 17:08
  4. Порт Debug RS-232
    от RV9WFJ в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 27.12.2007, 15:32

Ваши права

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