Вход

Просмотр полной версии : Функция SysComRead из библиотеки SysLibCom.Com



Newcomer
29.05.2014, 11:11
Добрый день.

Прошу пояснить назначение входной переменной dwBytesToRead функции SysComRead.

melky
29.05.2014, 12:04
dwBytesToRead DWORD Число считаемых байт
Справка F1 в CodeSys

Newcomer
29.05.2014, 12:14
Понятно, что число считаемых байт. А для чего функции нужна эта переменная ?

melky
29.05.2014, 17:49
Newcomer подается команда на устройство, количество байт известно, ожидается ответ от устройства, количество байт известно, его и указываете в данной переменной.

Newcomer
30.05.2014, 09:43
Newcomer подается команда на устройство, количество байт известно, ожидается ответ от устройства, количество байт известно, его и указываете в данной переменной.
Это все понятно. Еще раз спрашиваю, зачем функции нужен этот параметр (что будет после того, как в порт поступит указанное количество байт) ?

melky
30.05.2014, 12:12
Newcomer наверное для того, чтобы выставлять другой параметр, если он поддерживается платформой (непосредственно ПЛК)

dwTimeout DWORD
Время в мс, после которого функция обязана завершиться.

Валенок
31.05.2014, 01:16
Да размер буфера это

Newcomer
31.05.2014, 09:52
Да размер буфера это
А что происходит с буфером при обращении к функции ?

capzap
31.05.2014, 12:35
А что происходит с буфером при обращении к функции ?

ну программист же не сапер, можно сделать кучу попыток с разными вариантами значений переменной чтоб самостоятельно выяснить для чего это и самое интересное, что Вам за это ни чего не будет. В качестве наводки, отправляйте в контроллер запросы например от мастера модбас и выставляйте параметр меньше чем количество байтв запросе, равное запросу и больше запроса

Newcomer
31.05.2014, 12:43
ну программист же не сапер, можно сделать кучу попыток с разными вариантами значений переменной чтоб самостоятельно выяснить для чего это и самое интересное, что Вам за это ни чего не будет. В качестве наводки, отправляйте в контроллер запросы например от мастера модбас и выставляйте параметр меньше чем количество байтв запросе, равное запросу и больше запроса
Если бы у меня было "железо", то я бы так и сделал, но у меня его нет.

capzap
31.05.2014, 13:26
для winNT тоже есть бибка для работы с ком-портом

Newcomer
31.05.2014, 13:32
для winNT тоже есть бибка для работы с ком-портом
Что можно в порт посылать и тут же читать ?

capzap
31.05.2014, 13:37
есть демо-версии виртуальных портов, они могут заворачивать обратно то что приняли

Newcomer
31.05.2014, 13:42
есть демо-версии виртуальных портов, они могут заворачивать обратно то что приняли
Если можно поподробнее про это.

capzap
31.05.2014, 14:03
https://www.google.ru/#newwindow=1&q=%D1%8D%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80 +%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2% D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9+%D 0%BF%D0%BE%D1%80%D1%82

Newcomer
31.05.2014, 14:27
Большое спасибо.

Yegor
01.06.2014, 10:25
Да просто этой функции надо знать, сколько байт от неё вы готовы проглотить, т.е. размер созданного вами буфера. Выяснить размер буфера из одного только dwBufferAddress она не может, т.к. это лишь указатель на начало буфера.