<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[SDS PLC/PAC: Měření Energie & OnlineTechnology.cz - [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
	<link rel="self" href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=785&amp;type=atom" />
	<updated>2017-03-28T21:09:13Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.sds.an-d.cz/viewtopic.php?id=785</id>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6016#p6016" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-28T21:09:13Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6016#p6016</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6011#p6011" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Hanes]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11712</uri>
			</author>
			<updated>2017-03-26T19:51:15Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6011#p6011</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6010#p6010" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-23T17:19:12Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6010#p6010</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6009#p6009" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Hanes]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11712</uri>
			</author>
			<updated>2017-03-22T22:09:46Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6009#p6009</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6008#p6008" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-20T19:01:35Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6008#p6008</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6005#p6005" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Hanes]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11712</uri>
			</author>
			<updated>2017-03-18T11:59:51Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6005#p6005</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6004#p6004" />
			<content type="html"><![CDATA[<p>Povedlo se vam to overit (ze vse funguje jak ma) s novym FW?</p>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-18T10:28:23Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6004#p6004</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5997#p5997" />
			<content type="html"><![CDATA[<p>Takže změřeno a změněno. <br />Vyzkoušejte BETA FW 14.3.2017 (nebo novější podle dostupnosti).</p>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-14T18:26:09Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5997#p5997</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5993#p5993" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Hanes]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11712</uri>
			</author>
			<updated>2017-03-11T19:03:03Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5993#p5993</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5992#p5992" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-11T09:13:03Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5992#p5992</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5991#p5991" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Hanes]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11712</uri>
			</author>
			<updated>2017-03-10T23:00:40Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5991#p5991</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5990#p5990" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-09T19:48:43Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5990#p5990</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5989#p5989" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Hanes]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11712</uri>
			</author>
			<updated>2017-03-07T20:35:41Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5989#p5989</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5988#p5988" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-07T16:26:37Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5988#p5988</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] Jak zprovoznit RS485 na SDS-BIG]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=5984#p5984" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2017-03-03T16:40:36Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=5984#p5984</id>
		</entry>
</feed>
