<?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 - [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
		<link>https://forum.sds.an-d.cz/viewtopic.php?id=785</link>
		<atom:link href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=785&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Nejnovější příspěvky v [vyřešeno] Jak zprovoznit RS485 na SDS-BIG.]]></description>
		<lastBuildDate>Tue, 28 Mar 2017 21:09:13 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=6016#p6016</link>
			<description><![CDATA[<div class="quotebox"><cite>Hanes napsal:</cite><blockquote><p>S odporem mezi +5V a RS485 A+ vše OK.</p></blockquote></div><p>Takže vhodný HW to řeší.</p><p>Každopádně použijte nejposlednější oficiální firmware, je tam i správné časování řízení RS485 Master chipu.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Tue, 28 Mar 2017 21:09:13 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=6016#p6016</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=6011#p6011</link>
			<description><![CDATA[<p>Oproti předchozímu FW (140317_EN_BETA) žádná změna.</p><p>http://jjtech.rajce.idnes.cz/RS485_v3/#WP_20170326_21_33_59_Pro.jpg</p><p>http://jjtech.rajce.idnes.cz/RS485_v3/#WP_20170326_21_37_15_Pro.jpg</p><p>- - -</p><p><strong>S odporem mezi +5V a RS485 A+ vše OK.</strong></p>]]></description>
			<author><![CDATA[null@example.com (Hanes)]]></author>
			<pubDate>Sun, 26 Mar 2017 19:51:15 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=6011#p6011</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=6010#p6010</link>
			<description><![CDATA[<p>Zkuste BETA FW 23.3.2017, je tam přidáno drobné zpoždení pro vysílání prvního znaku, třeba to pomůže.</p><p>Master RS485 je realizovan chipem uvnitř SDS-BIG, a je provozován na napětí 3V3, nicméně 5V na samotné sběrnici (A+, B-) mu neublíží (tak dlouho jak jsou propojeny GND spojky mezi každým zařízením a zdroji atd.).<br />Na svorky A+,B- je chip připojen přímo přes sériové rezistory 10ohmů, které se v normálním stavu prakticky neuplatní (jsou tam jen jako bezpečnostní prvek). A samozřemě rezistor 120ohmů napříč, tam také je. <br />Ten externí rezistor 390ohmů mezi B- a GND je požadován právě z důvodu definice klidového stavu linky. Toto lze řešit i jinými způsoby, takže není se třeba čeho obávat a lze zkoušet takové zapojení, které bude dané instalaci vyhovovat.</p><p>Dejte vědět jestli ten novější FW funguje.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Thu, 23 Mar 2017 17:19:12 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=6010#p6010</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=6009#p6009</link>
			<description><![CDATA[<p>Časování s novým FW je opravdu již v pořádku.</p><p>Můj další problém jsem objevil jinde - zabezpečení klidového stavu na sběrnici.</p><p>Ve starší verzi FW (070317_EN_BETA) při přepnutí sběrnice na vysílání SDS naskočila nejprve log.1, teprve potom start bit prvniho vysílaného byte (log.0).&nbsp; <br />Viz obrázek:&nbsp; http://jjtech.rajce.idnes.cz/RS485_v2/#WP_20170322_21_23_21_Pro.jpg</p><p>V nové verzi FW (140317_EN_BETA) se tomu tak uz nestalo.<br />Viz obrázek:&nbsp; http://jjtech.rajce.idnes.cz/RS485_v2/#WP_20170322_21_19_54_Pro.jpg</p><p>Slave tedy nezachytil start bit prvniho byte (adresní) a tudíž neodpovídal.</p><p>Zkusmo jsem připojil odpor 120 Ohm mezi 1W-A +5V a RS485 A+ a slave začal odpovídat (odpor 390 Ohm mezi B- a BUS GND mám). <br />http://jjtech.rajce.idnes.cz/RS485_v2/#WP_20170322_22_05_27_Pro.jpg</p><p>Nyní je otázkou zda je zabezpečení klidového stavu tímto způsobem správné.<br />Nezkoumal jsem vnitřní zapojení SDS a nevím jestli můžu použít výstup 1W-A +5V.</p><p>Dnes jsem neměl moc času. O víkendu zkusím ještě zaexperimentovat s odpory na sběrnici a udělat lepší měření.</p>]]></description>
			<author><![CDATA[null@example.com (Hanes)]]></author>
			<pubDate>Wed, 22 Mar 2017 22:09:46 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=6009#p6009</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=6008#p6008</link>
			<description><![CDATA[<p>Časování vypadá dobře - podle osciloskopu je přesné přes celý rozsah rychlostí - takže tam bude ještě asi jiný problém. Hm.</p><p>Zkuste vypsat do konzole co vám to specificky vrací (čtení z rs485) . . . jestli to odpovídá tomu co je očekávané.</p><p>Já si mezitím seženu nějakou IO desku a zkusím to u sebe...</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Mon, 20 Mar 2017 19:01:35 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=6008#p6008</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=6005#p6005</link>
			<description><![CDATA[<p>S novym FW mám odezvu Zadna odpoved.</p><p>Nyní nemám možnost podívat se co se děje na lince osciloskopem.</p><p>Během příštího týdne připojím osciloskop a dám vědět.</p>]]></description>
			<author><![CDATA[null@example.com (Hanes)]]></author>
			<pubDate>Sat, 18 Mar 2017 11:59:51 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=6005#p6005</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=6004#p6004</link>
			<description><![CDATA[<p>Povedlo se vam to overit (ze vse funguje jak ma) s novym FW?</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Sat, 18 Mar 2017 10:28:23 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=6004#p6004</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=5997#p5997</link>
			<description><![CDATA[<p>Takže změřeno a změněno. <br />Vyzkoušejte BETA FW 14.3.2017 (nebo novější podle dostupnosti).</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Tue, 14 Mar 2017 18:26:09 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=5997#p5997</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=5993#p5993</link>
			<description><![CDATA[<p>Opravdu je to tak. Pokud radek neni zakomentovan, vse je OK.</p><p>Pro svůj projekt potřebuju hodně digitálních vstupů a výstupů, proto testuju různé karty &quot;neznámých&quot; výrobců. Neco za způsob tohoto:</p><p>https://www.x.com/item/8CH-12V-Modbus-RTU-RS485-Relay-Module-Switch-Board-for-PLC-Lamp-LED-PTZ-Camera/3.html</p><p>Mám několik podobných karet a všechny se chovají stejně(odpovídají ihned).<br />Při připojení k PC přes převodník vše OK.</p><p>Každopádně jsu rád, že se přišlo na to, kde je problém. A bude super, když se to vyřeší updatem firmware v SDS.</p>]]></description>
			<author><![CDATA[null@example.com (Hanes)]]></author>
			<pubDate>Sat, 11 Mar 2017 19:03:03 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=5993#p5993</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=5992#p5992</link>
			<description><![CDATA[<p>Jo, tady to jde velmi dobře vidět.</p><p>Obrázek (WP_20170310_22_51_58_Pro.jpg) to krásně ukazuje, připojený slave odpovídá dříve, než master uvolnil linku.</p><p>Předpokládám průběh B je přímo z chipu na straně logiky, a průběh a je jeden z vodičů na RS485.</p><p>Zajímavá souhra. Jsem rád že jste to objevil a poslal sem.</p><p>Rychlý dotaz - skutečně komentáře pro #1 a #2 odpovídají - čekal bych že pokud to zakomentované není, tak právě dojde k &quot;nechtěnému&quot; prodložení. Jen pro jistotu se ujisťuji tímto dotazem.</p><p>Uvnitř firmware jde o to, že vypínání RS485 master drive nebylo dáno do oblasti s tak velkou prioritou takže může dojít ke zpoždení vypnutí až o 1 msec. Je to teď v 1msec timeru který může být dočasně zakázán (to se děje u různých akcí kde je potřeba vnitřní atomický přístup uvnitř kódu SDS) a tím se může až o 1msec zpozdit.<br />Takto to je v SDS od začátku a předpokládal jsem, že by to neměl být problém. <br />Ale toto měření jasně ukazuje že s vaším daným slave HW to problém je.</p><p>Co to je za zajímavý slave HW, který odpovídá prakticky okamžitě ?<br />To v podstatě ani není &quot;správný&quot; přístup k sériové sběrnici, aspoň chvíli je vždy dobré (jako slave se svou odpovědí) počkat, aby se sběrnice ustálila, popřípadě aby se právě zamezilo kolizím jako je tato.<br />Předpokládám že ale slave HW nebudete schopen nijak upravit, jedině snad napsat výrobci . . . ale to jedno, podíváme se na to ze strany SDS a vyřeší se to tam.</p><p>Ještě to změřím u sebe a v průběhu týdne bude k dispozici upravený firmware.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Sat, 11 Mar 2017 09:13:03 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=5992#p5992</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=5991#p5991</link>
			<description><![CDATA[<p>1. měření: s deklaraci; bez připojeného slave zařízení<br />http://jjtech.rajce.idnes.cz/RS485/#WP_20170310_22_14_02_Pro.jpg</p><p>2. měření: se zakomentovanou deklaraci; bez připojeného slave zařízení<br />http://jjtech.rajce.idnes.cz/RS485/#WP_20170310_22_15_21_Pro.jpg</p><p>3. měření: se zakomentovanou deklaraci; s připojeným slave zařízením<br />http://jjtech.rajce.idnes.cz/RS485/#WP_20170310_22_51_58_Pro.jpg</p><p>Detail 3. měření:<br />http://jjtech.rajce.idnes.cz/RS485/#WP_20170310_22_53_02_Pro.jpg</p><p>Kanál A: mezi vodiči A a B sběrnice RS485<br />Kanál B: mezi negRE+DE a zemí</p><p>Při zakomentování deklarace dojde k prodloužení posledního pulsu.<br />Periferní zařízení začne odpovídat do tohoto pulsu, kdy ještě není přepnut směr komunikace.</p><p>Hanes</p>]]></description>
			<author><![CDATA[null@example.com (Hanes)]]></author>
			<pubDate>Fri, 10 Mar 2017 23:00:40 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=5991#p5991</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=5990#p5990</link>
			<description><![CDATA[<p>V nejbližší době se dostanu k tomu to změřit. </p><p>Zdá se že konkrétní externí HW deska, kterou používáte, je velmi citlivá na časování, a asi jí chování SDS nesedí.</p><p>Pokud to můžete změřit i u sebe, na své sestavě, a poslat sem obrázky (nebo na můj mail) tak by to bylo super.</p><p>Je důležité aby byl zapojen ten externí 390R rezistor, viz wiki, jinak se RS485 sběrnice může dostávat do neurčeného stavu, a to také může být důvod problémů. <br />Máte propojený i RS_GND vodič mezi SDS a externí HW deskou (na svorkovnici SDS třetí pin z kraje, kde první a druhý pin konektoru jsou sběrnice samotná) ?</p><p>Ale podle popisu to bude chtít asi trochu poladit firmware - nicméně pro to je nejprve potřeba měření (osciloskop) (mám, ale až se k tomu dostanu).<br />Při původním vývoji jsme to důsledně změřili a RS485 driver (SDS) vypne nejhůře do 1.5msec od posledního vyslaného znaku.<br />Musí se teď ověřit že se to nezměnilo, a také by mne zajímalo jak to vypadá na konkrétní sestavě (vaše konkrétní zapojení).</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Thu, 09 Mar 2017 19:48:43 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=5990#p5990</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=5989#p5989</link>
			<description><![CDATA[<p>ad 1. s nejvetší pravdepodobnosti to bude ten problem<br />ad 2. zadna zmena<br />ad 3. toto v mem programu neni<br />ad 4. Update FW nepomohlo</p><br /><p>Vypis celeho programu v SDS:</p><div class="codebox"><pre><code>char _odpoved[50];  //buffer
unsigned int res[20];  //cela odpoved
unsigned int _res;  //res[] index

void main(void)
{
    SDS_serial_config(1, 9600, 8, 1, 0);
    while(1){
        nastav_quido_rele();
        wait(500);  //pockam na odpoved 100ms
        readdata();
        wait(1000);  //1s prodleva
    }
}

int readdata()
{
    unsigned int _rss = 0;
    unsigned int _retval = 0;
    unsigned int _pru = 0;
    _res=0;
    while (1) {
        _rss = SDS_serial_read(1, _odpoved, 50);
        //pokud nic nedostanu, dam mu jeste sanci
        if (_pru &lt;= 5 &amp;&amp; _rss == 0 &amp;&amp; _retval == 0) {
            wait(100);
            _pru++;
        }
        else {
            if (_rss == 0) { break; }
            _retval += _rss;
            _pru = 0;
              printf(&quot;Odpověď: (délka %u)&quot;, _rss);
            unsigned int i;
            for (i=0; i&lt;_rss; i++){
             res[_res]=_odpoved[i];
             _res++;
             printf(&quot; %02x&quot;, _odpoved[i]);
            }
            printf(&quot;\n&quot;);
        }
    }
    if(_retval == 0) {
     printf(&quot;Žádná odpoveď!\n&quot;);
    }
    return _retval;
}

int nastav_quido_rele()
{
  char prikaz[9];


//  char relech[11] = {&#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;, &#039;\0&#039;}; 


  /* Komunikace s Quido*/
  prikaz[0] = 1;
  prikaz[1] = 6;
  prikaz[2] = 0;
  prikaz[3] = 1;
  prikaz[4] = 1;
  prikaz[5] = 0;
  prikaz[6] = (0xD9);
  prikaz[7] = (0x9A);
  prikaz[8] = &#039;\0&#039;;
  printf(&quot;%s\n&quot;, prikaz);
  SDS_serial_write(1, (char *)prikaz, 8);
  return(1);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Hanes)]]></author>
			<pubDate>Tue, 07 Mar 2017 20:35:41 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=5989#p5989</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=5988#p5988</link>
			<description><![CDATA[<p><strong>1.</strong><br />Ověřil jsem, že na sběrnici se vysílají stejné znaky ve všech variantách programu, které jsou zde uvedeny (tj. původní a zjednodušená, obě jak se zakomentovanou tak přítomnou deklarací).<br />Takže bude něco buď s SDS (že by časování ovládání směru RX/TX na RS485 nebylo přesné? to už by chtělo osciloskop na řídící piny RS485 chipu a zkontrolovat), <br />nebo spíše viz bod #2.</p><p><strong>2.</strong><br />Zřejmě, externí HW deska kterou používáte, potřebuje nějaký čas na vnitřní zpracování příkazů a nebo něco takového podobného.</p><p>Zkuste tam cvičně (jen pro pokus a ověření teorie) přidat čekání, tzn. vhodně proložit kód tímto:<br /></p><div class="codebox"><pre><code> wait(500); // wait for 500 msecs</code></pre></div><p>Tzn. po poslání příkazu do externí HW desky, dejte tam to umělé zpoždění a pak teprve sledujte odpověď.</p><br /><p><strong>3.</strong><br />V prvním programu (nahoře) vydím i jinou &quot;chybu&quot;. I když je pravda že pozdější příklad ji tam už nemá.</p><p>Proměnná &quot;prikaz&quot; není inicializovaná, nelze se tedy spoléhat na to co v ní bude.<br /></p><div class="codebox"><pre><code>  char prikaz[9];</code></pre></div><p>Proto ji celou kousek po kousku nastavíte...<br /></p><div class="codebox"><pre><code>  prikaz[0] = &#039;*&#039;;
  prikaz[1] = &#039;B&#039;;
  prikaz[2] = &#039;$&#039;;
  prikaz[3] = &#039;O&#039;;
  prikaz[4] = &#039;S&#039;;</code></pre></div><p>Ale v případě že neplatí podmínka &quot;(rele&lt;&lt;10)&quot; tak se &quot;prikaz[5]&quot; nevyplní známou hodnotou.<br /></p><div class="codebox"><pre><code>  if (rele&lt;&lt;10)
     {
       prikaz[5] = relech[rele];
     };</code></pre></div><p><strong>4.</strong><br />Zkuste ještě SDS-BIG BETA firmware ze 7.3.2016 a dejte vědět.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Tue, 07 Mar 2017 16:26:37 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=5988#p5988</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=5984#p5984</link>
			<description><![CDATA[<p>Máte správně zapojenou linku RS485? viz <a href="http://wiki.merenienergie.cz/index.php/SDS-BIG_and_RS485">http://wiki.merenienergie.cz/index.php/ … _and_RS485</a> .</p><p>Vyzkouším ten program na SDS (váš externí HW ale nemám) a zkusím zjistit co se tam děje. <br />Pokud to bude chyba FW, vydá se nový. <br />Mezitím ověřte to zapojení, zda-li odpovídá nastavení komunikace na obou stranách (rychlost atd)., <br />plus ověřte že váš externí hardware funguje OK když se přes jiný převodník připojí např. k vašemu PC a pošlou se stejné příkazy.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Fri, 03 Mar 2017 16:40:36 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=5984#p5984</guid>
		</item>
	</channel>
</rss>
