Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14

Тема: ПЛК63 + COM1 разночтения в документации и примерах

  1. #1
    Пользователь
    Регистрация
    03.02.2014
    Адрес
    Питер
    Сообщений
    35

    По умолчанию ПЛК63 + COM1 разночтения в документации и примерах

    Господа,
    не хочется беспокоить но видимо придется
    пытаюсь работать напрямую с RS232-портом 63-го
    с тем что RJ12 на верхней стороне, не через DBGU (в инструкции написано что то типа "Не трогат. Использовать ТОЛЬКО для перепрошивки")
    1. порт открыл и он открылся (Handle не равен INVALID_HANDLE)
    2. структуру COMSETTINGS создал и заполнил
    3. пытаюсь установить параметры из COMSETTINGS для этого порта
    вот в этом моменте начинаются фокусы
    Судя по документации, первый параметр функции SysComSetSettings
    dwHandle DWORD Дескриптор порта, возвращаемый SysComOpen.

    в нескольких примерах встречал что в качестве первого параметра используется переменная типа PORTS (не понятненько где правда)

    Судя по документации SysComSetSettings возвращает истину если ей удалось установить параметры
    а в примерах нахожу обратный код
    ---------------------------
    res:=SysComSetSettings(com_num,ADR(com_set));
    (*Успешно открыт*)
    IF NOT res THEN
    port_opened:=TRUE;
    END_IF;
    --------------------------------
    типа если не TRUE то прекращаем попытки открыть и сконфигурировать порт и начинаем с ним работать

    Где правда?
    Каким должен быть 1-й параметр?
    и что должна вернуть функция в случае успеха?

  2. #2
    Пользователь
    Регистрация
    03.02.2014
    Адрес
    Питер
    Сообщений
    35

    По умолчанию

    Еще непоняточка
    в перечисление портов начинается с COM1
    а судя по файлику с номерами овеновских портов, везде присутствует СОМ0

    кстати
    com_set:COMSETTINGS;
    ...
    ...
    com_set.Port:= COM1;

    в окне отладки дает com_set.Port: = *** INVALID: 0 ***
    Последний раз редактировалось ongleb; 28.04.2014 в 14:55.

  3. #3
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    наберите в поиске форума строку invalid и получите кучу тем, где найдете ответы на свои вопросы.

  4. #4
    Пользователь
    Регистрация
    03.02.2014
    Адрес
    Питер
    Сообщений
    35

    По умолчанию

    запрос конечно гениален
    действительно выдает много
    я пробовал и несколько десятков более конкретных запросов
    набрал хорошую подборку разночтений

    в конце концов вроде удалось настроить порт (хэндлы помогли)
    попробовал туда чего ни будь записать (в смысле из ПЛК в ПК)
    пока тишина
    либо порт не тот (COM1)
    либо что то не так делаю
    сегодня спать
    завтра продолжать

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

    По умолчанию

    С "Инвалидом" разобрался вроде
    Похоже вся неприятность была втом что я сам через этот порт с плк работал
    Заливаешь, отключаешь, перезагружаешь и все конфигурится
    Одна засада
    Не ясно какой при этом порт конфигурится
    В списке портов 63го присутствует COM0 -rs485
    Его ни открыть ни сконфигурить не удается
    Поддается COM1 и COM4
    2 и 3 в 63м не используется ( так в мануале пишут )
    4й вроде должен быть DBGU (в мануале говорят ни чего туда не пихать а то хуже будет)
    Последний раз редактировалось ongleb; 28.04.2014 в 20:52.

  6. #6
    Пользователь
    Регистрация
    03.02.2014
    Адрес
    Питер
    Сообщений
    35

    По умолчанию

    пипец какой то

    одни пишут
    byte_read:=SysComRead(Settings.Port, ADR(buf_otvet), 64, 0);

    другие
    tmp1:=SysComRead(Handle, ADR(buf_otvet), otvet_len, 0);

    у одних PORTS у других HANDE
    и типа оба примера рабочих
    и ни один не работает

    с портами разобрался
    COM0 -самая загадочная конструкция но это rs485 (слава богу он мне не нужен)
    мне нужен либо COM1 либо СОМ4
    но молчат оба
    SysComWrite возвращает 0 там где должен вернуть 10
    буфер предварительно почищен (если конечно SysComRead, вернувший 0, это признак чистого буфера)

    63-й в принципе позволяет работать с портами на прямую?
    Последний раз редактировалось ongleb; 29.04.2014 в 11:34.

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

    По умолчанию

    в примерах на диске нашел еще более загадочную строку
    ComHandle:= Settings.Port, (*номер COM-порта*)
    это как

  8. #8
    Пользователь
    Регистрация
    03.02.2014
    Адрес
    Питер
    Сообщений
    35

    По умолчанию

    что то становится понятно
    COM1 это действительно RJ12 штатно установленный в корпусе

    если взять пример "Modbus запись Int и Real (ST)"
    заменить в нем номер порта с 0 на 1
    в порт начинает валиться какая то Modbus'ятина

    отрезаешь из него Modbus'овскую библиотеку
    вместо Modbus'овских вызовов пишешь SysComWrite(Settings.Port, ADR(snd_str),LEN(snd_str),0)
    получаешь из порта фигу с маслом

    все больше склоняюсь к идее что без ОВЕН'а или Modbus'а в этот порт ни чего не запихать
    буду пытаться рыться в этих библиотеках если удастся
    как то же они отправляют


    PS: что то я в каком то монологе тут извергаю

  9. #9

    По умолчанию

    Ну, монолог-то интересный.
    Уверен, что многие следят за Вашими исследованиями.
    Успехов!

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

    По умолчанию

    Цитата Сообщение от kolyan Посмотреть сообщение
    Ну, монолог-то интересный.
    Уверен, что многие следят за Вашими исследованиями.
    Успехов!
    блин, ну хоть сказали бы "Пилите шура. Пилите... на 63-м это возможно"

    com_port_test.pro с диска
    компилируется для 63-го удачно
    даже пробовал MinCycleLength ms поставить не 1 а 5 или 10 (не помогло)
    В порт вожделенного словечка 'TEST1$N' не льет
    я бы в этом контексте и более короткому слову был бы рад

    невъезжаю
    библиотеку Modbus изнутри посмотреть неудалось
    не пускает говорит правов нет на редактирование (я кстати редактировать ни чего и не хотел. мне бы посмотреть просто как они цыферьку в порт пихают)

    народ.
    Где грабли?
    в какую сторону копать?
    Последний раз редактировалось ongleb; 29.04.2014 в 20:10.

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

Похожие темы

  1. ПЛК 63 в примерах
    от kucherik в разделе Наши проекты
    Ответов: 102
    Последнее сообщение: 07.04.2024, 16:54
  2. Создание документации
    от АлексPetr в разделе Трёп (Курилка)
    Ответов: 11
    Последнее сообщение: 20.02.2011, 10:32
  3. По документации ПЛК63
    от haa в разделе ПЛК63/73
    Ответов: 4
    Последнее сообщение: 20.01.2011, 12:20
  4. ошибки в примерах ...
    от Дмитрий Артюховский в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 25.01.2009, 21:17

Ваши права

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