<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[SDS PLC/PAC: Měření Energie & OnlineTechnology.cz - CRC Modbus]]></title>
		<link>https://forum.sds.an-d.cz/viewtopic.php?id=330</link>
		<atom:link href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=330&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Nejnovější příspěvky v CRC Modbus.]]></description>
		<lastBuildDate>Fri, 02 Nov 2012 17:33:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CRC Modbus]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2572#p2572</link>
			<description><![CDATA[<p>MODBUS využije určitě řada dalších uživatelů. Jsem zvědav jak to dopadne.<br />Nevýhoda u MODBUSu přes sériovou linku je (u běžných verzí MODBUSu) nutnost &quot;trvalé&quot; komunikace mezi zařízeními... snad to tady nebude problém.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Fri, 02 Nov 2012 17:33:05 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2572#p2572</guid>
		</item>
		<item>
			<title><![CDATA[Re: CRC Modbus]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2568#p2568</link>
			<description><![CDATA[<p>Díky moc, jdu to hned zkusit rozchodit.</p>]]></description>
			<author><![CDATA[null@example.com (akinek)]]></author>
			<pubDate>Thu, 01 Nov 2012 18:50:19 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2568#p2568</guid>
		</item>
		<item>
			<title><![CDATA[Re: CRC Modbus]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2521#p2521</link>
			<description><![CDATA[<p>Předpokládám realizaci jako program v SDS-C.<br />Popisu algoritmu pro výpočet CRC je plný Internet, takže to chce najít něco a přepsat do SDS-C.</p><div class="codebox"><pre><code>var CRC16;
var b;

#define SEED 0xFFFF  //inicializace pro CRC16
#define GP   0xA001  //generujici polynom (zmenit v pripade jineho protokolu)

Calc_CRC
{
   var carry;
   var i;

   CRC16 = CRC16 ^ (b &amp; 0xFF);
   
   CRC16 = CRC16 &amp; 0xFFFF;


   i=0; 
nextb:
   if (i&lt;8)
   {
      carry = CRC16 &amp; 0x0001;

      CRC16 = CRC16 &gt;&gt; 1;

      if (carry != 0) 
       { CRC16 = CRC16 ^ GP; };

      CRC16 = CRC16 &amp; 0xFFFF;

      i++;
      goto nextb;
   }
}

main
{

 //priklad
 // spocitat CRC pro text[0] az text[3] (v poli text[0] az text[3] je zprava - toto je priklad...)

 // start
 CRC16 = SEED; // vzdy spravne nastavit na zacatek

 // provest
 b = text[0];
 Calc_CRC();
 b = text[1];
 Calc_CRC();
 b = text[2];
 Calc_CRC();
 b = text[3];
 Calc_CRC();

 // vysledek
 echo(&#039; crc je = &#039;, CRC16);

}</code></pre></div><p>Budu velmi rád když se se svým projektem (a výsledkem) pochlubíte zde na fóru, aby z toho měli ostatní uživatelé také užitek.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Mon, 29 Oct 2012 18:17:13 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2521#p2521</guid>
		</item>
		<item>
			<title><![CDATA[CRC Modbus]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2510#p2510</link>
			<description><![CDATA[<p>Dobrý den,<br />potřeboval bych poradit s realizací výpočtu CRC.&nbsp; Jde mi o odesílání teplot na zařízení s Modbus komunikací po RS485.</p><p>Díky</p>]]></description>
			<author><![CDATA[null@example.com (akinek)]]></author>
			<pubDate>Sun, 28 Oct 2012 23:05:52 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2510#p2510</guid>
		</item>
	</channel>
</rss>
