PDA

Просмотр полной версии : MODEL PLC 110-60 странное поведение библиотеки SysLibSockets.lib на прошивке 1.2.42



Andrey495
03.03.2022, 16:48
День добрый

Есть работающий проект на плк 110-60 которые работали более 5 лет прошивка - 0.3.56

Купили несколько новых PLC не более года назад с установкой прошивки 1.2.42
PLC model MODEL PLC 110-60
Версия ПО метр: 2.0
Binary VERSION 1.2.42
Need Target version >= 3.12
Compiled: 14:38:47 Feb 8 2021
STM32 binary version 114
MAC E4:1E:0A:01:71:9B

На новых PLC наблюдается следующая ситуация:
При установке прошивки 0.3.56 - проект прекрасно работает отсылает UDP пакеты которые видятся waresharkom и далее отлично обрабатываются серверной частью.
Но при этом через определенный промежуток времени плк полностью сбрасывается перестает отвечать за запросы - соответственно далее formatFFS с последующей настройкой и т.п.
ситуация происходит без привязки ко времени и т.п.

При установки прошивки 1.2.42
проект работает но не работает связь по сети т.е. не отправляются пакеты UDP т.к. не может инициализировать сокет diSocket:=SysSockCreate(SOCKET_AF_INET, SOCKET_DGRAM, SOCKET_IPPROTO_UDP); всегда равен -1

Может кто сталкивался или есть идеи ?

Andrey495
09.03.2022, 16:22
Дополнительно

на прошивке 1.1.0
PLC model MODEL PLC 110-60
Binary VERSION 1.1.0
Need Target version >= 3.12
Compiled: 14:13:46 May 26 2020
STM32 binary version 114

Сетевой стек работает.
Но вместо порта который задается в проекте пакет отправляется на порт 28439

т.е. конструкция в проекте с заданием порта получателя не работает

var
sa:SOCKADDRESS;
........

sa.sin_family:=SOCKET_AF_INET;
sa.sin_addr:=serverIP;
sa.sin_port:=Port;

Andrey495
09.03.2022, 17:11
Ну в общем из серии сам спросил сам ответил.

Конструкция
sa.sin_port:=Port; - не работает в новых прошивках

меняем на sa.sin_port:=SysSockHtons(Port); все прекрасно работает

Также работает и на прошивке 1.2.42 т.е. появился трафик (чего ранее не было в принципе) причем на нужном порту.

Вопрос снят тему можно закрыть.