Вместо temp подставьте номер порта. И не пользуйтесь числами, используйте константы из библиотеки
Вместо 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