Очень простая библиотека SysLibCom - всего-то буферизованный неструктурированный обмен с посл. интерфейсами, но сколько глюков
1) SysComOpen() при успешном открытии возвращает 0 вместо хэндла порта. А другим функциям надо давать номер порта вместо хендла. Да, об этом сказано в русской документации, но если пользователь заглянет в хелп или английскую документацию. Зачем такая несовместимость - ведь хендл по определению может быть чем угодно, в том числе и совпадать с номером порта, если разработчику так удобнее.
2) После открытия порт надо "запускать" - опять фирменная Овеновская особенность. А если SysComOpen() его сразу запускать будет - что страшного случится?
3) Если порт уже открыт, повторно он не открывается. Это естественно. Но неестественно то, что он не закрывается по RESET! Кстати, такой же эффект замечен и для сокетов. Для файлов еще не пробовал. Господа, RESET - это УСТАНОВКА ВСЕГО ОБОРУДОВАНИЯ И ПО В НАЧАЛЬНОЕ СОСТОЯНИЕ! Сбрасывать ПЛК по питанию при отладке (с учетом аккумуляторных особенностей
) очень утомительно.
4) !!! Обнаружен эффект пропуска байтов на приеме (скорость 57600). Чтобы понять, в чем дело, пришлось параллельно подключать компьютер с Гипертерминалом. На Гипертеминале символ есть, в Овене - нет. Большая скорость, недостаточный размер буфера?
5) Размер буфера установить нельзя. Почему? Это же не аппаратное квитирование, которое "не распаяно"![]()