<?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] http_get problém mezi dvěmi SDS]]></title>
		<link>https://forum.sds.an-d.cz/viewtopic.php?id=214</link>
		<atom:link href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=214&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Nejnovější příspěvky v [vyřešeno] http_get problém mezi dvěmi SDS.]]></description>
		<lastBuildDate>Mon, 12 Nov 2012 08:24:58 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2662#p2662</link>
			<description><![CDATA[<p>Je to OK. Testováno 2 dny a vše v pořádku. Díky za úpravu.</p>]]></description>
			<author><![CDATA[null@example.com (j@m)]]></author>
			<pubDate>Mon, 12 Nov 2012 08:24:58 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2662#p2662</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2654#p2654</link>
			<description><![CDATA[<p>Podle toho jak je FW v SDS udělaný, se máš řídit podle ram[0], kam se zapíše (po každém úspěšném provedení http_get) počet přijatých znaků. Taky pozor na nastavení max. počtu přijatých znaků, na to je zase jiný sys[].</p><p>BETA FW 8.11.2011 (a novější) tam teď zapíše 0x00 za poslední přijatý znak - vyzkoušej to a dej vědět, jestli to pomohlo (a jestli se nerozbilo něco jiného).</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Thu, 08 Nov 2012 17:49:37 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2654#p2654</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2644#p2644</link>
			<description><![CDATA[<p>Chyba je pri prechudu mezi rady(<strong>1234</strong>-&gt;<strong>900</strong> nikoliv <em>9000</em>). <br />Dej program do jednoho sds, v druhem na IP ...251, port 300 nastav sys[140-143]. sys[143] na 1234, pak na <strong>900</strong> a je to tam (pismenko navic).</p><div class="codebox"><pre><code>var _ram;         //identifikace ram
var _pom;         //pomocna promenna
var _poz;         //pomocna promenna - pozice
var _tmicro;      //cas dalsiho nacteni hodnot z micra
var _microtimeout;//cas pro dalsi nacteni teplot z micra

microdata
{
  //port 300, odpoved do text[], delka 32zn.
  sys[76]=300;
  sys[77]=2;
  sys[78]=32;
  //prvni 4 teploty
  http_get(192,168,1,251,&#039;192.168.1.251&#039;,&#039;/get_sys[140]?rn=4&#039;);
  //pockam az probehne funkce do konce
  label microdata_wait:
  if (sys[65] == 0) goto microdata_wait;
  //pokud je problem
  if ((sys[65] != 1024)||(sys[75] != 200)) goto microdata_err;
  //zpracovani vysledku
  //echo (ram[0]);
  echo (&#039;text[0]:&#039;, text[0]);
  _pom=0;
  _poz=0;
  _ram=300;
  label microdata_for:
   if (text[_pom]==124) {
    text[_pom]=0x00;
    atoi(text[_poz]);
    ram[_ram]=sys[62];
    _ram++;
    _poz=_pom+1;
   }
   _pom++;
  if (_pom&lt;=ram[0]) goto microdata_for;
  //posledni hodnota
  atoi(text[_poz]);
  ram[_ram]=sys[62];

  echo (&#039;r300:&#039;, ram[300], &#039;, r301:&#039;, ram[301], &#039;, r302:&#039;, ram[302], &#039;, r303:&#039;, ram[303]);

  label microdata_err:
  //timeout pro dalsi cteni
  _tmicro=sys[3]+_microtimeout;
}

init
{
 echo (&#039;start programu test http_get&#039;);
 _microtimeout=1000;        //10sek
 _tmicro=0;                 //ihned
}

main
{
  //nacte data z micra
  if ((_tmicro&lt;sys[3] &amp;&amp; sys[65]!=0) || _tmicro==0) microdata();
}</code></pre></div><p>start programu test http_get<br />text[0]:1400|1410|1420|1234<br />r300:1400, r301:1410, r302:1420, r303:1234<br />text[0]:1400|1410|1420|1234<br />r300:1400, r301:1410, r302:1420, r303:1234<br />text[0]:1400|1410|1420|1234<br />r300:1400, r301:1410, r302:1420, r303:1234<br />text[0]:1400|1410|1420|9004<br />r300:1400, r301:1410, r302:1420, r303:9004<br />text[0]:1400|1410|1420|9004<br />r300:1400, r301:1410, r302:1420, r303:9004<br />text[0]:1400|1410|1420|9004<br />r300:1400, r301:1410, r302:1420, r303:9004<br />text[0]:1400|1410|1420|9876<br />r300:1400, r301:1410, r302:1420, r303:9876<br />text[0]:1400|1410|1420|9876<br />r300:1400, r301:1410, r302:1420, r303:9876</p>]]></description>
			<author><![CDATA[null@example.com (j@m)]]></author>
			<pubDate>Wed, 07 Nov 2012 08:20:56 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2644#p2644</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2641#p2641</link>
			<description><![CDATA[<p>Napiš mi ten krátký program na kterém to můžu otestovat - ať si to můžu pustit u sebe.<br />V čem tam přesně je ten problém - že http_get() špatně zapisuje ukončovací nulu ? Potřebuju detailní popis problému... ať to můžu řešit.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Tue, 06 Nov 2012 20:51:08 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2641#p2641</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2634#p2634</link>
			<description><![CDATA[<p>Ještě prosím odstranění chyby http_get vs text[]. Předpokládám drobná oprava ;-)</p>]]></description>
			<author><![CDATA[null@example.com (j@m)]]></author>
			<pubDate>Tue, 06 Nov 2012 11:11:08 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2634#p2634</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2599#p2599</link>
			<description><![CDATA[<p>Aha, tak opravdu už je to špatně v text (posl.hodnota)... Takže se ta ukončovací nula nejak spatne zapise. To by mělo jít lehce odladit s programem se 3mi příkazy v SDS.</p><p>2981|2487|3068|9310<br />ram: 2981, 2487, 3068, 9310<br />2956|2487|3068|9370<br />ram: 2956, 2487, 3068, 9370<br />2962|2487|3062|9310<br />ram: 2962, 2487, 3062, 9310<br />2956|2481|3062|9180<br />ram: 2956, 2481, 3062, 9180<br />2943|2475|3056|9430<br />ram: 2943, 2475, 3056, 9430</p>]]></description>
			<author><![CDATA[null@example.com (j@m)]]></author>
			<pubDate>Sat, 03 Nov 2012 19:56:42 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2599#p2599</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2589#p2589</link>
			<description><![CDATA[<p>Můžeš to spustit ještě jednou, a vypsat pokaždé i ten obsah text[] po přijetí z http_get() - to pak pěkně ukáže, kde je problém.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Sat, 03 Nov 2012 08:55:39 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2589#p2589</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2581#p2581</link>
			<description><![CDATA[<p>Adame. Můžeš prosím otestovat kód níže? Jen jsem to vypreparoval z delšího programu. Kdyby tam něco nesedělo, dolaď si to aby to běželo. Jde mi tu funkci microdata{}. Ta je celá OK. Chvíli je vše v pohodě, ale po páru průchodech se jakoby zapamatuje poslední číslo v ram[303] - tedy při přechodu mezi desítkami, stovkami,&nbsp; tisícema...</p><p>Čte do data z jiného SDS(micra) z prvních 4 teplotních čidel. To poslední je venku. Dělá to poslední beta na macru.</p><p>toto je při teplote cca 0.5st. Ale poslední osmička se tam jakoby přidává z posledního přetečení. Vznikne z toho pak teplota 3.78, 5.08, 4.38 místo 0.37, 0.50, 0.43. Mrkni na výpis níže. Nevím, asi bude problém v převodu atoi do sys[62].</p><p>mikro 378<br />mikro 508<br />mikro 438<br />mikro 438<br />mikro 508<br />mikro 508<br />mikro 508<br />mikro 438<br />mikro 508<br />mikro 378<br />mikro 508<br />mikro 688<br />mikro 758<br />mikro 818<br />mikro 938</p><br /><br /><br /><div class="codebox"><pre><code>var _ram;         //identifikace ram
var _pom;         //pomocna promenna
var _poz;         //pomocna promenna - pozice
var _tmicro;      //cas dalsiho nacteni hodnot z micra
var _microtimeout;//cas pro dalsi nacteni teplot z micra

microdata
{
  //port 300, odpoved do text[], delka 32zn.
  sys[76]=300;
  sys[77]=2;
  sys[78]=32;
  //prvni 4 teploty
  http_get(192,168,1,300,&#039;192.168.1.300&#039;,&#039;/get_sys[310]?rn=4&#039;);
  //pockam az probehne funkce do konce
  label microdata_wait:
  if (sys[65] == 0) goto microdata_wait;
  //pokud je problem
  if ((sys[65] != 1024)||(sys[75] != 200)) goto microdata_err;
  //zpracovani vysledku
  //echo (ram[0]);
  //echo (text[0]);
  _pom=0;
  _poz=0;
  _ram=300;
  label microdata_for:
   if (text[_pom]==124) {
    text[_pom]=0x00;
    atoi(text[_poz]);
    ram[_ram]=sys[62];
    _ram++;
    _poz=_pom+1;
   }
   _pom++;
  if (_pom&lt;=ram[0]) goto microdata_for;
  //posledni hodnota
  atoi(text[_poz]);
  ram[_ram]=sys[62];

  echo (ram[300]);
  echo (ram[301]);
  echo (ram[302]);
  echo (&#039;mikro &#039;, ram[303]);

  label microdata_err:
  //timeout pro dalsi cteni
  _tmicro=sys[3]+_microtimeout;
}

init
{
 _microtimeout=6000;        //60sek
 _tmicro=0;                 //ihned
}

main
{
  //nacte data z micra
  if ((_tmicro&lt;sys[3] &amp;&amp; sys[65]!=0) || _tmicro==0) microdata();
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (j@m)]]></author>
			<pubDate>Fri, 02 Nov 2012 23:03:31 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2581#p2581</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2580#p2580</link>
			<description><![CDATA[<div class="quotebox"><cite>karel napsal:</cite><blockquote><p>Poradí někdo??</p></blockquote></div><p>Před zavolání (kterékoliv) funkce http_get (to samé i pro jiné OSI7 funkce jako je smtp_send), je potřeba otestovat sys[65], a to na takovou hodnotu, která ukáže, že předchozí funkce byla úspěšně dokončena.<br />Lépe řečeno, je to vhodnější provést po zavolání funkce (http_get), tj. zahájit odeslání dat (zavoláním http_get) a hned potom čekat na hodnotu v sys[65]. Dokud tam nebude očekávaný výsledek (nebo chybový kód), tak nepokračovat dále (nevolat další http_get).</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Fri, 02 Nov 2012 21:11:42 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2580#p2580</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2575#p2575</link>
			<description><![CDATA[<p>Firmware novější než 2.11.2012 (včetně) po zapnutí nastaví sys[65] (OSI7 status code) na hodnotu <strong>0xFFFF</strong>.<br />Pak až zavolání některé z SDS-C OSI7 funkcí to nastaví na 0 a pak následně na provozní či výsledné hodnoty.<br />Snad to pomůže (a doufám že to nezmění funkci už existujících programů - <strong>J@M ověř to prosím</strong>).</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Fri, 02 Nov 2012 17:38:57 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2575#p2575</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=2563#p2563</link>
			<description><![CDATA[<p>Jak je to myšleno se sys[65]? Po restartu programu (nahraju přes winexe) je hodnota v sys[65] == 0? Nebylo by lepší mít tam hotnotu třeba ==1.</p><p>Mám totiž v programu konstrukci na odesílání více požadavků řízných přes timeouty přes sys[3]. Všude jsou ale kontroly na dosud probíhající komunikaco po http_get - což odpovídá sys[65] == 0. Nicméně se mi po nastartování sds nenahodí ani jedna funkce.</p><div class="codebox"><pre><code>main
{
 ...
 if (_tmicro&lt;sys[3] &amp;&amp; sys[65]!=0) microdata();
 if (_tmacro&lt;sys[3] &amp;&amp; sys[65]!=0) macrodata();
 if (_tmacro2&lt;sys[3] &amp;&amp; sys[65]!=0) macro2data();
 ...
}</code></pre></div><br /><p>Abych nezapomněl... poslední BETA + MACRO <img src="https://forum.sds.an-d.cz/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (j@m)]]></author>
			<pubDate>Thu, 01 Nov 2012 14:21:42 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=2563#p2563</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=1738#p1738</link>
			<description><![CDATA[<p>Prosím o radu:<br />Odesílám každou druhou minutou data z micra na web:<br /></p><div class="codebox"><pre><code>odesilani_web
{
if(odeslano==0)
{
http_get(IP1,IP2,IP3,IP4, &#039;xxx.xx.cz&#039;,&#039;/hodina_bazen.php?&amp;kolektor=&#039;,kolektor, &#039;&amp;vstup=&#039;, vstup, &#039;&amp;vystup=&#039;, vystup, &#039;&amp;bazen=&#039;, bazen, &#039;&amp;cistirna=&#039;, cistirna );
odeslano = 1;
}
}</code></pre></div><p>Dále chci odesílat každou minutu teploty na Macro přes sys[141] :<br /></p><div class="codebox"><pre><code>odeslani_macro
{
//bazen_kolektor=bazen/10*1000000+kolektor/10*1000+sys[231]+sys[232]/10; // hodnoty odeslané do macra
http_get(192,168,1,250,&#039;192.168.1.250&#039;,&#039;/sdscep?p=0&amp;sys141=1&#039;);//odeslání teplot a stavů do macra
wait(1000);
}</code></pre></div><p>Historie vypadá ok, ale na web se nic nepřenese:<br /> 11:57:27 08.04.2012&nbsp; &nbsp;&nbsp; 192.168.1.250, HTTP GET OK<br /> 11:58:01 08.04.2012&nbsp; &nbsp;&nbsp; 88.x.x.x, HTTP GET OK<br /> 11:58:27 08.04.2012&nbsp; &nbsp;&nbsp; 192.168.1.250, HTTP GET OK<br /> 11:59:27 08.04.2012&nbsp; &nbsp;&nbsp; 192.168.1.250, HTTP GET OK<br /> 12:00:00 08.04.2012&nbsp; &nbsp;&nbsp; 88.x.x.x, HTTP GET OK<br /> 12:00:27 08.04.2012&nbsp; &nbsp;&nbsp; 192.168.1.250, HTTP GET OK<br /> 12:01:28 08.04.2012&nbsp; &nbsp;&nbsp; 192.168.1.250, HTTP GET OK<br /> 12:02:00 08.04.2012&nbsp; &nbsp;&nbsp; 88.xx.xx.xx, HTTP GET OK</p><p>Do Macra hodnotu přenesu. Pokud vymažu řádek s odesíláním do macra, tak se mi hodnoty na web přenesou.<br />Firmaware u obou SDS je poslední.<br />Poradí někdo?</p>]]></description>
			<author><![CDATA[null@example.com (karel)]]></author>
			<pubDate>Sun, 08 Apr 2012 11:11:51 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=1738#p1738</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=1315#p1315</link>
			<description><![CDATA[<div class="quotebox"><cite>tola napsal:</cite><blockquote><p>Dodane zarizeni maji uplne stejne MAC adresy.</p></blockquote></div><p>Vím o tom, je to i v návodu, hned na začátku... doufám že už to jednoho dne začnou ve výrobě nastavovat pro každé zařízení jinak...</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Wed, 15 Feb 2012 19:40:08 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=1315#p1315</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=1311#p1311</link>
			<description><![CDATA[<p><strong>Tak vyreseno</strong>, <br />problem uplne nekde jinde.&nbsp; Dodane zarizeni maji uplne stejne MAC adresy. Je to naprosto logicke , ze nemohou fungovat na stejne siti. Proto obe dve zarizeni fungovala dost nepochopitelne. Prosim Adminy, aby na tento problem, vice viditelne upozornili.</p>]]></description>
			<author><![CDATA[null@example.com (tola)]]></author>
			<pubDate>Wed, 15 Feb 2012 17:51:54 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=1311#p1311</guid>
		</item>
		<item>
			<title><![CDATA[Re: [vyřešeno] http_get problém mezi dvěmi SDS]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=1296#p1296</link>
			<description><![CDATA[<p>Zařízení jsem koupil minulý týden tak doufám, že je poslední. </p><p>tak firmware , alespon doufam ze je to toto znaceni je: hw SoC-ARM REV4 100Mbit DF5, ze dne 17.1.2012..</p><p>V pripade , ze zarizeni upravuji pres web tak se obcas stane, ze cekam 15 vterin nez se stranka prekresli. Nekdy musim udelat refresh.</p>]]></description>
			<author><![CDATA[null@example.com (tola)]]></author>
			<pubDate>Tue, 14 Feb 2012 21:24:14 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=1296#p1296</guid>
		</item>
	</channel>
</rss>
