Показано с 1 по 10 из 38

Тема: SysLibCom

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Вместо temp подставьте номер порта. И не пользуйтесь числами, используйте константы из библиотеки

  2. #2

    По умолчанию

    ну тогда очередная неточность в описании библиотеки и ее работе.
    там везде написано что надо использоваться дескриптор порта, который возвращает функция открытия порта.
    и не могли бы вы, очень вас прошу, написать примерчик работоспособный, где использовались бы функциии работы с ком-портом.
    Уж очень надо.

  3. #3

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Вместо temp подставьте номер порта. И не пользуйтесь числами, используйте константы из библиотеки
    добрый день.
    подниму тему, вопросов накопилось.

    пример, который в первом собщении подойдет. овен 150 И-М, таргет самый свежий.
    1. функция SysComOpen у меня всегда возвращает все ff... независимо, указываю ли я порт как константу, или как численную переменную.
    2.в переведеннном файле по библиотеке написано -
    -Режим (для PLC-100): ..0 порт – RS-485
    ..1 порт – RS-232
    ..2 порт – не используется
    ..3 порт – не используется
    ..4 порт – отладочный RS-232
    однако, в разделе типов библиотеки СОМ1 = 1. там нет константы со значением 0!. а Вы пишете использовать константы из библиотеки..
    3. по хэндлу порта непонятно.. в оригинале описания библиотеки написано что в функциях библиотеки надо использовать хэндл, позвращаемы ф-ей открытия.. у вас совсем по другому, номер порта.
    4. работает ли на овенах функция установки ..Ex ? Важно для числа бит !
    5. работает ли библиотека на PLCWinNT ?

    вот то что я делаю в пустом проекте:

    PROGRAM PLC_PRG
    VAR
    init:BOOL;
    ptrWORD;
    set: COMSETTINGS;
    END_VAR

    IF (init <> TRUE) THEN

    set.Port := COM1; - неважно что присваивать, результат один
    set.byParity := 0;
    set.byStopBits := 0;
    set.dwBaudRate := 9600;

    ptr := SysComOpen (set.Port);
    init := SysComSetSettings (set.Port ,ADR(set));

    END_IF
    результат - ptr - 0xffffffff, init - INVALID 16#ff

Ваши права

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