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

Тема: SysLibCom

  1. #1

    По умолчанию SysLibCom

    возникла проблемма, вот кусок программы. Контроллер ПЛК 150 U-M. таргет 2.0-4, Прошивка 2.01.8.
    при подключении к контроллеру temp1 получается значение ***INVALID: 16#FF***.
    Не могу понять почему и в чем ошибка...
    помогите советом добрым. люди добрые )))

    set: COMSETTINGS;
    temp: DWORD;
    temp1:BOOL;
    ________________________________________
    temp:=SysComOpen(1);
    set.Port:=1;
    set.dwBaudRate:=38400;
    set.byParity:=0;
    set.dwTimeout:=0;
    set.byStopBits:=1;
    set.dwBufferSize:=0;
    set.dwScan:=0;
    temp1:=SysComSetSettings(temp,ADR(set));
    Последний раз редактировалось mettled; 20.09.2007 в 16:46.

  2. #2

    По умолчанию

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

  3. #3

    По умолчанию

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

  4. #4

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Вместо 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

  5. #5

    По умолчанию

    SettingsEx работает, под Nt библиотека тоже должна работать, но не проверял, т.к. NT не использую.
    Пример выложу в ближайшее время.

  6. #6

    По умолчанию

    вот еще проектик, гляньте, скажите что не так?
    вроде все примитивно, а не работает, опять какая нибудь мелочь поди.
    Вложения Вложения

  7. #7

    По умолчанию

    up.
    жду ответа.

  8. #8

    По умолчанию

    Пример работы:
    Вложения Вложения

  9. #9

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Пример работы:
    пример для plc 100. у меня 150. сменил таргет. еще при загрузке проекта было замечание про разные версии библиотек...

    поясните, ваша функция OPEN_FUN возвращает 1 в случае успеха или неуспеха открытия порта???

    напишите пожайлуста четко, цифрами, а не константами из библиотеки номера портов 485 со стороны клеммников и 232 на лицевой панели для PLC-150.

  10. #10

    По умолчанию

    по номерам портов все таки напишите пожайлуста.
    какой номер для функций библиотеки у порта на лицевой стороне ПЛК-150?
    и почему этот код из вашего примера :

    IF SysComOpen(setings.Port)=0 THEN
    OPEN_FUN:=FALSE;
    ELSE
    OPEN_FUN:=TRUE;

    возвращает из функции TRUE если функция открытия порта возвращает 16#ffffffffff ? ведь это неудачное открытие порта согласно документации.
    при выполнении программы для портов с номерами 1-5 функция открытия возвращает ффы.
    ???
    и еще. можно ли вообще работать с портом на лиц панели из программы? не занят ли он под отладочный?
    Последний раз редактировалось Аркадий; 21.03.2008 в 16:34.

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

Ваши права

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