НУЖНА ПОМОЩЬ. Не получается настроить передачу данных между ПЛК110 и ПК по UDP. Если можно пример настройки плк.
НУЖНА ПОМОЩЬ. Не получается настроить передачу данных между ПЛК110 и ПК по UDP. Если можно пример настройки плк.
А кто реализует на стороне ПК обмен? Или Вам только пример для плк? Если да то поищите такую библиотеку TcpUdpLib она идет с примерами использования
нашел пример TcpUdpLibExample но в нем не хватает библиотеки TcpUdpLib.lib не могли бы вы подсказать где ее найти или выложить эту библиотеку
Помоему там должна быть и сама библиотека в виде проекта, на меня не расчитывайте, я в пути так что нет возможности ничего выложить, я её брал на оф.сайте S3
появился вопрос плк отправляет в сеть udp пакет с адресом 255.255.255.255. как сделать так чтобы плк отправлял пакет на определенный адрес?
мне кажется Вы за основу взяли пример приема UDP пакетов, для передачи адрес получателя и порт указываются при инициализации
для отправки udp пакета я должен написать примерно такой код ?
PROGRAM UDPProducer
VAR
diSendSocket : DINT;
iPort : INT:=4343;
stDestIPAddress : STRING := '10.0.6.0';
diRecvSocket: DINT;
bySend :WORD;
bSent: BOOL;
bActive: BOOL;
cycle: INT:=0;
MV1:WORD;
END_VAR
IF bActive THEN
IF diSendSocket = 0 THEN
diSendSocket := UdpOpenSendSocket(iPort);
END_IF
MV1.0:=1;
MV1.1:=0;
MV1.2:=1;
MV1.3:=0;
MV1.4:=0;
MV1.5:=0;
MV1.6:=1;
MV1.7:=1;
MV1.8:=0;
MV1.9:=1;
MV1.10:=1;
MV1.11:=0;
MV1.12:=0;
MV1.13:=1;
MV1.14:=0;
MV1.15:=1;
bySend:=MV1;
IF diSendSocket > 0 AND bSent THEN
bSent := FALSE;
UdpSendData(diSendSocket, iPort, stDestIPAddress, ADR(bySend), SIZEOF(bySend));
END_IF;
однозначно сказать не возможно, хотя бы потому, что неизвестна маска Вашей подсети, для С это номер сети а не конкретного хоста, для других такой адрес может встречаться
сеть только мeжду ПЛК и ПК. настройки плк следующие IP 10.0.6.10 GATE 10.0.6.1 MASK 255.255.255.0. Настройки ПК IP 10.0.6.0 маска 255.255.0.0. Может я неправильно что-то настроил???