<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to UDP Multicast receiver</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6bb5431696/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6bb5431696/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/6bb5431696/</id><updated>2020-02-28T02:51:11.163000Z</updated><subtitle>Recent posts to UDP Multicast receiver</subtitle><entry><title>UDP Multicast receiver</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/6bb5431696/?limit=25#7195" rel="alternate"/><published>2020-02-28T02:51:11.163000Z</published><updated>2020-02-28T02:51:11.163000Z</updated><author><name>Arthur</name><uri>https://forge.codesys.com/u/arthur/</uri></author><id>https://forge.codesys.comb4ed0c457142f2e69347b823b8f29232943bed63</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Zusammen&lt;/p&gt;
&lt;p&gt;Ich arbeite an einer KNX Schnittstelle für Codesys 3.5, welche über UDP kommuniziert. Die Kommunikation läuft über die Multicastadresse 224.0.23.12. Ich habe jedoch Schwierigkeiten beim Empfangen von Daten, welche über Muticast gesendet werden. Und zwar wie folgt:&lt;br/&gt;
Wenn ich die Daten an die IP-Adresse „192.168.178.78“ (IP des Codesys Divice) sende klappt alles wunderbar. Wenn ich aber die Daten an die Multicastadresse „224.0.23.12“ sende, empfange ich keine Daten(Im Wireshark werden die Daten angezeigt).&lt;/p&gt;
&lt;p&gt;....weiss jemand was ich falasch mache? &lt;/p&gt;
&lt;p&gt;Arthur&lt;/p&gt;
&lt;p&gt;Code:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;FUNCTION_BLOCK&lt;/span&gt; &lt;span class="nv"&gt;UDPEmpfang&lt;/span&gt;
&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR_OUTPUT&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt;
&lt;span class="nv"&gt;eState&lt;/span&gt;: &lt;span class="nv"&gt;INT&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;IPAddress&lt;/span&gt;   : &lt;span class="nv"&gt;NBS&lt;/span&gt;.&lt;span class="nv"&gt;IP_ADDR&lt;/span&gt;&lt;span class="c1"&gt;; (* IP Address *)&lt;/span&gt;
&lt;span class="nv"&gt;uiPort&lt;/span&gt;   : &lt;span class="nv"&gt;UINT&lt;/span&gt;&lt;span class="c1"&gt;; (* Port No. *)&lt;/span&gt;
&lt;span class="nv"&gt;sReceived&lt;/span&gt;   : &lt;span class="nv"&gt;STRING&lt;/span&gt;&lt;span class="c1"&gt;; (* Holds the received message *)&lt;/span&gt;
&lt;span class="nv"&gt;ctRecAnswers&lt;/span&gt;   : &lt;span class="nv"&gt;CAA&lt;/span&gt;.&lt;span class="nv"&gt;COUNT&lt;/span&gt;&lt;span class="c1"&gt;; (* No. of received messages *)&lt;/span&gt;
&lt;span class="nv"&gt;UDPPeer&lt;/span&gt;   : &lt;span class="nv"&gt;NBS&lt;/span&gt;.&lt;span class="nv"&gt;UDP_Peer&lt;/span&gt;&lt;span class="c1"&gt;; (* FB UDP Peer *)&lt;/span&gt;
&lt;span class="nv"&gt;XUDPPeer&lt;/span&gt;   : &lt;span class="nv"&gt;NBS&lt;/span&gt;.&lt;span class="nv"&gt;UDP_Peer&lt;/span&gt;&lt;span class="c1"&gt;; (* FB UDP Peer *)&lt;/span&gt;
&lt;span class="nv"&gt;UDPSend&lt;/span&gt;   : &lt;span class="nv"&gt;NBS&lt;/span&gt;.&lt;span class="nv"&gt;UDP_Send&lt;/span&gt;&lt;span class="c1"&gt;; (* FB UDP Send *)&lt;/span&gt;
&lt;span class="nv"&gt;UDPReceive&lt;/span&gt;   : &lt;span class="nv"&gt;NBS&lt;/span&gt;.&lt;span class="nv"&gt;UDP_Receive&lt;/span&gt;&lt;span class="c1"&gt;; (* FB UDP Receive *)&lt;/span&gt;
&lt;span class="nv"&gt;Peer&lt;/span&gt;   : &lt;span class="nv"&gt;CAA&lt;/span&gt;.&lt;span class="nv"&gt;HANDLE&lt;/span&gt;&lt;span class="c1"&gt;; (* Handle to the peer connection *)&lt;/span&gt;
&lt;span class="nv"&gt;xEnable&lt;/span&gt;   : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;udpData&lt;/span&gt;   :&lt;span class="nv"&gt;STRING&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="o"&gt;////=============&lt;/span&gt;&lt;span class="nv"&gt;Programm&lt;/span&gt;&lt;span class="o"&gt;=================&lt;/span&gt;
&lt;span class="nv"&gt;UDPPeer&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;xEnable&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;xEnable&lt;/span&gt;, &lt;span class="nv"&gt;ipAddr&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;IPAddress&lt;/span&gt;, &lt;span class="nv"&gt;uiPort&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;uiPort&lt;/span&gt;, &lt;span class="nv"&gt;hPeer&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;Peer&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;CASE&lt;/span&gt; &lt;span class="nv"&gt;eState&lt;/span&gt; &lt;span class="nv"&gt;OF&lt;/span&gt;
&lt;span class="mi"&gt;0&lt;/span&gt;: &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;Init&lt;/span&gt;
&lt;span class="nv"&gt;IPAddress&lt;/span&gt;.&lt;span class="nv"&gt;sAddr&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;192.168.178.78&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="c1"&gt;;//'0.0.0.0';//'192.168.178.255';//'192.168.178.78';//'192.168.178.78'; // IP Adress where Codesys application is running //224.0.23.12&lt;/span&gt;
&lt;span class="nv"&gt;uiPort&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3671&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;xEnable&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;eSTATE&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="mi"&gt;10&lt;/span&gt;: &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;Start&lt;/span&gt; &lt;span class="nv"&gt;listening&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;UDPPeer&lt;/span&gt;.&lt;span class="nv"&gt;xActive&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
&lt;span class="nv"&gt;UDPReceive&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;xEnable&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;, &lt;span class="nv"&gt;hPeer&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;Peer&lt;/span&gt;, &lt;span class="nv"&gt;szSize&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;SIZEOF&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sReceived&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;, &lt;span class="nv"&gt;pData&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;ADR&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;sReceived&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;UDPReceive&lt;/span&gt;.&lt;span class="nv"&gt;xReady&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
&lt;span class="nv"&gt;udpData&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;sReceived&lt;/span&gt;&lt;span class="c1"&gt;; // Data from UDP-stream&lt;/span&gt;
&lt;span class="nv"&gt;ctRecAnswers&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;ctRecAnswers&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;; // Number of UDP calls&lt;/span&gt;
&lt;span class="nv"&gt;ELSIF&lt;/span&gt; &lt;span class="nv"&gt;UDPReceive&lt;/span&gt;.&lt;span class="nv"&gt;xError&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
&lt;span class="nv"&gt;eState&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="k"&gt;ELSE&lt;/span&gt;
&lt;span class="nv"&gt;eState&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;span class="mi"&gt;20&lt;/span&gt;:
&lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="nv"&gt;Error&lt;/span&gt;
&lt;span class="nv"&gt;END_CASE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry></feed>