CODESYS форум
https://forum-ru.codesys.com/

SysComLib
https://forum-ru.codesys.com/viewtopic.php?f=2&t=720
Страница 1 из 1

Автор:  GazovikYa [ Пт мар 28, 2008 8:47 am ]
Заголовок сообщения:  SysComLib

У меня не работает функция _ - всегда возвращает false. Необходимо использовать функцию управления RTS. Может есть какие тонкости ее использования? Перепробовал все... даже нашел пример с установкой параметра размера .size:=sizeof(); и тем не менее не работает..... Подскажите если есть наработки

Автор:  Avgur [ Пн мар 31, 2008 4:29 am ]
Заголовок сообщения: 

Посмотрите вложенный файл - там есть описание.
И еще эта функция поддерживается не всеми целевыми платформами (target)

PS. Или это глюк моего браузера и firewall'а или форума, но вместо название функции у меня стоит знак подчеркивания _ видать надо писать SysComSetSettings_Ex :D чтоб не воспринималось как спам

Автор:  Avgur [ Чт сен 18, 2008 7:19 am ]
Заголовок сообщения: 

Возник вопрос по работе функции SysComLib.
в документации написано
Цитата:
SysComRead
Функция типа DWORD (из библиотеки SysLibCom.lib), читает принятые данные из порта. Возвращает число считанных байтов.

Входные переменные:
dwHandle DWORD Дескриптор порта, возвращаемый SysComOpen
dwBufferAddress DWORD Указатель на буфер, куда копируются принятые данные. (Используйте оператор ADR).
dwBytesToRead DWORD Число считаемых байт.
dwTimeout DWORD Время в мс, после которого функция обязана завершиться.

Собственно вопрос по параметру dwTimeout: функция должна выполнится за интервал времени dwTimeout в мс даже если нечего читать. Правильно я понимаю?
В моем случае, функция всегда выполняется без задержек независисмо от значения параметра dwTimeout, т.е. возвращает 0 прочитанных байт.
Мое предположение, что она должна подождать dwTimeout миллисекунд и пытаться прочитать данные из порта, неверно?

Автор:  Maxim Ananskih [ Сб июл 18, 2009 12:01 pm ]
Заголовок сообщения: 

Присоединяюсь к вопросу о таймауте и заодно замечу, что для разных платформ эта функция может быть реализована по-разному. Где найти подробную информацию? Хочется писать переносимые программы работы с портом.

Автор:  Igor Petrov [ Сб июл 18, 2009 1:58 pm ]
Заголовок сообщения: 

Maxim Ananskih писал(а):
Присоединяюсь к вопросу о таймауте и заодно замечу, что для разных платформ эта функция может быть реализована по-разному.м.

Может и будет. Реально эта функция просто пустая обертка. Она в лоб передает вызов соот-й функции API ОС контроллера и все. Что сделано в этой ОС или в системном ПО этого контроллера, то и будет. Не поддержаны там таймауты = их и не будет. Все SysLib... такие.

Maxim Ananskih писал(а):
Где найти подробную информацию?
Теоретически у изготовителя контроллера. Практически пишу простейший примерчик и гляжу как эти функции себя ведут на данной модели ПЛК.

Maxim Ananskih писал(а):
Хочется писать переносимые программы работы с портом.
Конечно. Увы это не стандартные POU МЭК, а доп. расширения. Поэтому в V3 появились CAA биб-ки, которые заменяют SysLib.... Дают неблокирующие вызовы и одинаковое поведение под любой ОС.

Страница 1 из 1 Часовой пояс: UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/