<?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 - Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
		<link>https://forum.sds.an-d.cz/viewtopic.php?id=1163</link>
		<atom:link href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=1163&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Nejnovější příspěvky v Získání hodnot z teplotních čidel: problém se zápornými hodnotami.]]></description>
		<lastBuildDate>Sat, 16 Nov 2024 20:28:51 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=7755#p7755</link>
			<description><![CDATA[<p>Pro zálohu slouží zdrojový soubor *.c ve kterém je program napsaný. Ze zařízení to vytáhnout nelze - jak už bylo napsáno.</p>]]></description>
			<author><![CDATA[null@example.com (soami)]]></author>
			<pubDate>Sat, 16 Nov 2024 20:28:51 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=7755#p7755</guid>
		</item>
		<item>
			<title><![CDATA[Re: Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=7753#p7753</link>
			<description><![CDATA[<p>A není možné si nějak stáhnout a zazálohovat ten binární kód programu ze zařízení? Jde mi o to, abych měl zálohu, ke které se mohu vrátit, pokud by něco nefungovalo. Díky.</p>]]></description>
			<author><![CDATA[null@example.com (pep9k)]]></author>
			<pubDate>Wed, 06 Nov 2024 11:15:10 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=7753#p7753</guid>
		</item>
		<item>
			<title><![CDATA[Re: Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=7752#p7752</link>
			<description><![CDATA[<p>Mnohokrát díky za cenné rady, zkusím to upravit a případně se ještě ozvu.</p>]]></description>
			<author><![CDATA[null@example.com (pep9k)]]></author>
			<pubDate>Wed, 06 Nov 2024 11:11:48 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=7752#p7752</guid>
		</item>
		<item>
			<title><![CDATA[Re: Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=7751#p7751</link>
			<description><![CDATA[<p>Pokud umíte Javascript, tak pro vás C nebude určitě až takový problém, naopak by to snad i mělo být snazší na pochopení a úpravy.<br />Ano, přesně ta jedna podmínka v tom IF bude ta příčina. Netuším proč tam je, nevím ani, kdo ten program psal, takže zde moc neporadím, ale - přesně v tomto řádku bych sám úpravu provedl.<br />A doplnil druhý typ testu, a to na hodnotu 85 st.C., což je speciální hodnota určená výrobce čidel DS18B20, kterou čidlo hlásí, pokud je v poruše (ano, pak nejde rozeznat, zda-li je tam zrovna právě 85 st.C. nebo porucha, ale s tím už se nedá nic dělat, takto to navrhli a vyrábějí, ale zase tak moc to nevadí - dá se to snadno programově ošetřit, např. podle historického trendu).</p><p>Do SDS se nahrává přeložený program, tedy binární vykonávaný kód, ze kterého zpětně nelze přímo sestavit původní text C programu.</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Wed, 06 Nov 2024 10:53:31 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=7751#p7751</guid>
		</item>
		<item>
			<title><![CDATA[Re: Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=7750#p7750</link>
			<description><![CDATA[<p>Nedošlo mi, že do ram zapisuju v SDS-C programu - moje chyba.</p><p>Našel jsem na disku soubor <em>zobrazeni_teplot_a_posilani_dat_na_eportal.c</em> a ten mám pravděpodobně uložený v zařízení. Nicméně jsem jej uploadoval z nějakého příkladu (pravděpodobně z vašich příkladů) již před léty a nejsem si jistý, jestli je to přesně ten program, který mám v zařízení. <strong>Prosím, lze nějak ze zařízení stáhnout aktuální SDS-C program?</strong></p><p>Ve výše zmíněném souboru jsem našel funkci <em>nactitemp</em>, která podle mě zapisuje do diskutovaných pozic ram:<br /></p><div class="codebox"><pre><code>nactitemp
{
 _sys=310;
 _ram=292;
 label nactitemp_1:
 if (sys[_sys]&gt;0 &amp;&amp; sys[_sys]&lt;20000) {
  ram[_ram]=sys[_sys];
  _pom=_ram+16;
  if (ram[_ram]&lt;ram[_pom]){
   ram[_pom]=ram[_ram];
  }
  _pom=_ram+32;
  if (ram[_ram]&gt;ram[_pom]){
   ram[_pom]=ram[_ram];
  }
 }
 _sys++;
 _ram++;
 if (_sys&lt;326) goto nactitemp_1;
}</code></pre></div><p>Teď už tuším, že problém bude na 4.tém řádku těla funkce:<br /></p><div class="codebox"><pre><code> if (sys[_sys]&gt;0 &amp;&amp; sys[_sys]&lt;20000) {</code></pre></div><p>Myslíte, že postačí odebrat podmínku <strong>sys[_sys]&gt;0</strong> ?<br />Ale důležitá je pro mně otázka z prvího odstavce, jestli můžu nějak stáhnout aktuální SDS-C program ze zařízení. Nejsem si totiž jistý, že citovaný program <em>zobrazeni_teplot_a_posilani_dat_na_eportal.c</em> (který mám uložený na disku) je shodný s programem v zařízení. S programováním v C mám jen základní zkušenosti <img src="https://forum.sds.an-d.cz/img/smilies/smile.png" width="15" height="15" alt="smile" /></p><p>Děkuji za odpověď.</p>]]></description>
			<author><![CDATA[null@example.com (pep9k)]]></author>
			<pubDate>Wed, 06 Nov 2024 09:28:40 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=7750#p7750</guid>
		</item>
		<item>
			<title><![CDATA[Re: Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=7749#p7749</link>
			<description><![CDATA[<p>Co zapisujete ve vašem SDS-C programu, do obsahu ram[292] (a dalších ram[] pozic) ?</p>]]></description>
			<author><![CDATA[null@example.com (adamn)]]></author>
			<pubDate>Wed, 06 Nov 2024 08:50:10 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=7749#p7749</guid>
		</item>
		<item>
			<title><![CDATA[Re: Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=7748#p7748</link>
			<description><![CDATA[<p>Ještě dodávám, že popisované zařízení SDS-MICRO mám umístěné na nezateplené půdě, kde teploty víceméně kopírují venkovní teploty. Takže v zimě tam může být -10°C a v létě 40°C. Mohli tyto mezní teploty způsobit nějaký hardwareový problém? Zařízení ale po všech stránkách pracuje správně: ve webové administraci v sekci &quot;Čidla Teploty&quot; jsem správně viděl i záporné hodnoty teplot.</p>]]></description>
			<author><![CDATA[null@example.com (pep9k)]]></author>
			<pubDate>Tue, 05 Nov 2024 10:52:58 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=7748#p7748</guid>
		</item>
		<item>
			<title><![CDATA[Získání hodnot z teplotních čidel: problém se zápornými hodnotami]]></title>
			<link>https://forum.sds.an-d.cz/viewtopic.php?pid=7747#p7747</link>
			<description><![CDATA[<p>Dobrý den,<br />mám SDS-MICRO a včera jsem aktualizoval firmware. Nicméně problém, který budu popisovat byl stejný i u předchozího firmware. Při kontrole aktuálnosti firmwaru dostávám zprávu:<br /><em>Váš firmware je aktuální.<br />Zařízení: SDS MICRO LM<br />Verze použitého firmware: 1.7.2022<br />Nejnovější dostupný vydaný (stable) firmware: 1.7.2022</em></p><br /><p>Naměřené teploty zobrazuji na User Web Page (http://192.168.1.251/user.htm), kterou jsem upravil na základě nějakého příkladu z vaší podpory. Problém není přímo s User Web Page, nicméně uvnitř user.htm pomocí javascriptového http requestu načítám hodnoty teplot ze zařízení. Následující ukázka není přesnou kopií použitého kódu, ale &quot;vyzobávám&quot; z něj jen podstatné věci:</p><div class="codebox"><pre><code>reqTemp=false;
if(window.XMLHttpRequest){
     reqTemp=new XMLHttpRequest();
}
else if (window.ActiveXObject){
     reqTemp=new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
}
if (reqTemp){
     reqTemp.open(&quot;GET&quot;, &quot;get_ram[292]?rn=16&amp;rand=&quot;+Math.random(), true);
     reqTemp.onreadystatechange = reqTempComplete;
     reqTemp.send(null);
}

function reqTempComplete(){
  if(reqTemp.readyState == 4){
    if(reqTemp.status == 200){
      if (reqTemp.responseText!=&#039;&#039;) {
        var rE=reqTemp.responseText.split(&quot;|&quot;);
        var rE=reqTempXML.responseText.split(&quot;|&quot;);
   ...</code></pre></div><p>Takže http requestem získám řetězec 16ti hodnot a ty pak splituju do pole a dále v kódu každou hodnotu dělím 100 ... to je vše v pořádku. Pro simulaci získaných hodnot mohu přímo do adresní řádky prohlížeče vepsat následující URL: </p><div class="codebox"><pre><code>192.168.1.251/get_ram[292]?rn=16</code></pre></div><p>Strukturu parametrů requestu chápu tak, že požaduji vypsání 16ti hodnot z RAM paměti od indexu 292. Je to tak?</p><p>A v prohlížeči pak vidím získané hodnoty:<br /></p><div class="codebox"><pre><code>6868|3975|2950|3250|2800|2631|5325|2818|2600|5125|5537|2350|6300|3675|768|687</code></pre></div><p><strong>PROBLÉM</strong> je, že takto získané hodnoty (citované v předchozím rámečku) <strong>neobsahují záporné hodnoty</strong>. Pokud je na některém z čidel záporná hodnota (menší než 0), tak na příslušném místě responseTextu je <strong>poslední naměřená nezáporná hodnota</strong>.</p><p>Včera jsem toto chování simuloval obložením jednoho čidla chladícími vložkami z mrazáku <img src="https://forum.sds.an-d.cz/img/smilies/smile.png" width="15" height="15" alt="smile" /> Myslel jsem si, že mám nějakou chybu v javascriptu User Web Page, ale pak jsem si to ověřil přímo v browseru zadáním výše zmíněné URL. Problém jsem vyřešil tak, že naměřené hodnoty získávám http requestem z jiné URL:<br /></p><div class="codebox"><pre><code>192.168.1.251/temp.xml</code></pre></div><p>a na této URL správně dostávám XML se správnými (i zápornými) hodnotami.</p><p>Nicméně mě napadlo, že byste o tomto problému chtěli vědět. Předpokládám, že se to dá opravit ve firmwaru ... ale tím si nejsem jistý. Pro upřesnění dodávám, že pracuji jako webový programátor (PHP, SQL, HTML, JAVASCRIPT, CSS). Podle toho můžete formulovat odpověď.</p><p>Závěrem mi dovolte poděkovat vám za vaší práci a podporu. Pomocí vaší technologie měřím teploty v topném systému našeho domu a také spotřebu elektřiny. Získané hodnoty mi pomohli významně optimalizovat provoz topného systému i spotřebu elektřiny v domácnosti. Výborná práce!</p>]]></description>
			<author><![CDATA[null@example.com (pep9k)]]></author>
			<pubDate>Tue, 05 Nov 2024 10:46:13 +0000</pubDate>
			<guid>https://forum.sds.an-d.cz/viewtopic.php?pid=7747#p7747</guid>
		</item>
	</channel>
</rss>
