Здравствуйте.
Понимаю, что тема о библиотеке SysLibSockets и о ее реализации в ПЛК110 фирмы ОВЕН довольно избитая и обсуждалась на форуме не один раз, но хочется услышать от уважаемых форумчан советы по реализации следующей задачи:
Необходимо реализовать сервер Modbus TCP, обслуживающий запросы от системы диспетчеризации и HMI. Основное требование - логирование (код команды, IP-адрес, штамп времени), ну уж потом только дополнительные преимущества в виде генерации исключений протокола Modbus на основе своей карты адресов, областей памяти с правами "только для чтения" и т.п.
На вопрос "Почему просто не воспользоваться конфигуратором?" отвечу сразу: невозможно реализовать вышеперечисленные требования.
Все бы ничего, но с существующей реализацией SysLibSockets это превращается в ОГРОМНУЮ ПРОБЛЕМУ. Я бы все мог понять, даже возможность только одного клиентского подключения на один "прослушивающий" серверный сокет, но никогда не смогу понять неработоспособность функций, в частности SysSockAccept, отвечающей за открытие нового сокета и установление через него соединения с клиентом. При этом также должна заполниться структура SOCKADDRESS, содержащую информацию о клиенте, в том числе его IP-адрес.
Самое главное я об этом МАРАЗМЕ даже не догадывался. Как наивный пользователь написал программу принимающую 10 клиентов (с помощью SysSockAccept), "запоминал" все клиентские сокеты в массив и управлял ими, закрывая их по таймаутам после последнего обмена данными, либо сразу при наличии "свободных" соединений менее 2.
Я не хочу здесь расписывать все возникающие проблемы, так как они обсуждались уже достаточно, но хочу сказать одно разработчикам ОВЕН, а также продакт-менеджерам и руководящему составу: нельзя так относиться к клиентам. Существует просто ФАКТ о том, что на официальный сайт для "УВАЖАЕМЫХ" КЛИЕНТОВ выложен архив с библиотеками, содержащими АБСОЛЮТНО НЕВЕРНУЮ ДОКУМЕНТАЦИЮ к ним!!! Это как нужно понимать? Я как клиент и заказчик, расцениваю это как НАПЛЕВАТЕЛЬСКОЕ ОТНОШЕНИЕ по отношению ко всем пользователям. Все отмазки (никак иначе это не назовешь) по поводу того что во всем виновата 3S, то что она такая-сякая изменяет документацию каждый год, а у нас реализация старой версии библиотеки, нас, клиентов, каким образом должно волновать?! Сделайте, подверьте, наконец, всю свою документацию!! Не водите клиентов за нос!!!
Извините за эмоции, просто накипело. Разрабатываю абсолютно новый продукт, который, возможно, будет установлен не на одном предприятии на основе ПЛК фирмы ОВЕН, но в свете последних событий начинаю всерьез задумываться об использовании ПЛК других фирм.
Все же прошу помощи и совета и вообще можно ли (в чем я уже сильно сомневаюсь) реализовать требуемый функционал? Да, прошу принять участие в ОТКРЫТОМ сборе подписей!
P.S.: Может все же ОВЕН наведет порядок с SysLibSockets?? Да, и 3S - молодцы, так как не стоят на месте, а совершенствуют библиотеку для своих клиентов, а что делает в это время ОВЕН??