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

Тема: ПЛК110-30 и RS485-2. Порт не открывается.

  1. #1

    По умолчанию ПЛК110-30 и RS485-2. Порт не открывается.

    Пытаюсь организовать обмен данными с применением ПЛК110-30 и двумя сетями RS-485.
    Столкнулся вот с такой проблемой. RS-485-1 открывается без проблем, а вот RS485-2 остается постоянно закрытым и не открывается.
    Вот пример кода:

    com_number1 := 0; (*COM0 RS485-1*)
    com_number2 := 2; (*COM2 RS485-2*)
    IF COM_SERVICE1.ready=FALSE THEN
    com_settings1.Port := com_number1;
    com_settings1.dwBaudRate := 9600;
    com_settings1.byParity := 0;
    com_settings1.dwTimeout := 0;
    com_settings1.byStopBits := 0;
    com_settings1.dwBufferSize := 0;
    com_settings1.dwScan := 0;

    COM_SERVICE1(Enable := TRUE, Settings := com_settings1, Task := OPEN_TSK);
    com_ready1 := FALSE;
    ELSE
    COM_SERVICE1.Enable := FALSE;
    com_ready1 := TRUE;
    END_IF;

    IF (com_ready1 = TRUE)
    THEN
    (*Порт открывается, проблем нет*)
    END_IF;

    IF COM_SERVICE2.ready = FALSE
    THEN
    com_settings2.Port := com_number2;
    com_settings2.dwBaudRate := 9600;
    com_settings2.byParity := 0;
    com_settings2.dwTimeout := 0;
    com_settings2.byStopBits := 0;
    com_settings2.dwBufferSize := 0;
    com_settings2.dwScan := 0;

    COM_SERVICE2(Enable := TRUE, Settings := com_settings2, Task := OPEN_TSK);
    com_ready2 := FALSE;
    ELSE
    COM_SERVICE2.Enable := FALSE;
    com_ready2 := TRUE;
    END_IF;

    IF (com_ready2 = TRUE)
    THEN
    (* А вот сюда никак не попадает, COM_SERVICE2.ready = FALSE -ВСЕГДА*)
    END_IF

    Если же пытаться открыть только какой то один порт, то все равно открывается только 1-й порт, а второй - ну никак. Таргет 2.10, прошивка ПЛК 2.14.
    Может кто сталкивался с такой проблемой или хотя бы подскажет в каком направлении копать. Может проблему можно решить используя напрямую SysLibCom.lib? Только я не знаю как. Если кто может подскажите кусочком кода.

    p.s. Просьба, решение с конфигуратором не предлагать.

  2. #2

    По умолчанию

    Причем, что интересно: если пытаться открыть порт RS485-1 и RS232,
    com_number1 := 0; (*COM0 RS485-1*)
    com_number2 := 1; (*COM2 RS232*)
    то оба порта открываются без проблем и идет обмен данными по обоим портам без проблем, а вот при попытке открыть RS485-2, порт не открывается (COM_SERVICE2.ready = FALSE - всегда). Стоит так же упомянуть, что RS485-2 через конфигуратор работает.
    Какова вероятность того что ошибка в микропрошивке контроллера?
    Как может прокомментировать это тех-поддержка? (Если она конечно это читает)

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,382

    По умолчанию

    Цитата Сообщение от Bagaj Посмотреть сообщение
    p.s. Просьба, решение с конфигуратором не предлагать.
    Странный подход, а протестировать работает ли порт через конфигуратор нельзя? Или Вам сразу надо готовый проект загрузить

  4. #4

    По умолчанию

    Цитата Сообщение от Bagaj Посмотреть сообщение
    Стоит так же упомянуть, что RS485-2 через конфигуратор работает.
    Проверял я его и так и эдак... Через конфигуратор работает, а так не хочет. А 15-го марта надо объект ехать сдавать. Контроллер этот покупался именно из-за 2-х 485 портов....

  5. #5
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,382

    По умолчанию

    если через конфиг работает, попробуйте создать пустой проект и добавить только блок работы с вторым 485, в таком варианте работает?

  6. #6

    По умолчанию

    Создал пустой проект с одним 485-2 портом. (com_number := 2 Не активен.
    Если же поменять:
    com_number := 0; (485-1)
    com_number := 1; (232)
    то работает. Если же опять меняем на 485-2, опять не работает.

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,382

    По умолчанию

    в режиме онлайн com_number всегда остается равным тому номеру который задаете?

  8. #8

    По умолчанию

    Да, это тоже проверил. Так же проверил что работает при com_number = 4( 232 DEBUG). Поведение com_number = 2 аналогично поведению com_number = 3 то есть несуществующего порта.

  9. #9
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,382

    По умолчанию

    и при отстегнутых проводах тоже самое, ну мало ли

    а как себя в конфигураторе ведет, передавалась ли какая нибудь информация
    Последний раз редактировалось capzap; 03.03.2012 в 16:14.

  10. #10

    По умолчанию

    Проверял так же при отстегнутых проводах; отправлял байты принудительно после нескольких тысяч инициализаций в цикле, проверял выход осцилографом - результат ноль.
    Через конфигуратор работает без проблем. Опрашивает несколько устройств и передает данные. Проблема в том что на линии будет более 50 устройств и конфигуратором это все реализовать довольно громоздко.
    При настройке через конфигуратор порт 485-2 по умолчанию InterfaceType = RS232, и это вызывает сомнения (485-1 InterfaceType = RS485) вот и думаю, может его как то по другому инициализировать надо?

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

Похожие темы

  1. Опрос ПЛК110 по RS485
    от SStas в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 26.09.2011, 15:07
  2. порт
    от Антон12345 в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 20.04.2010, 15:49
  3. ПЛК110+15 модулей МВ110 по RS485
    от Александр М в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 06.11.2009, 09:52
  4. Не открывается проект
    от shide в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 29.10.2009, 13:43

Ваши права

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