<?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 - Speciální funkce, nemožné vytvořit v SDS-C (např WindChill)]]></title>
	<link rel="self" href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=407&amp;type=atom" />
	<updated>2013-02-22T13:47:51Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.sds.an-d.cz/viewtopic.php?id=407</id>
		<entry>
			<title type="html"><![CDATA[Speciální funkce, nemožné vytvořit v SDS-C (např WindChill)]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=3214#p3214" />
			<content type="html"><![CDATA[<p>Vím, že je to využitelné jen pro zlomek uživatelů, ale možná by se dala postupně budovat knihovna funkcí, které by mohly být součástí SDS-C (a nedají se samozřejmě naprogramovat přímo pomocí SDS-C).<br />Jedná se mi třeba o výpočet Wind Chill&nbsp; (nebo Heat Index) teploty; ve vzorci jsou využité reálné mocniny. Momentálně mi SDS vrací jen teplotu a vítr a já si pak externě počítám tu WindCill teplotu, ale je zbytečné počítat ji na x-místech, když by ji mohlo vypočíst přímo SDS.</p><div class="codebox"><pre><code>int wind_chill (int tepl, int vitr_kmh) 
{
  if (tepl&lt;=1000 &amp;&amp; vitr_kmh&gt;=468) //obě hodnoty jsou ve fixed point na 2 desetinná místa, t=10 st. C, v=4.68 km/h
    return 100*(13.12 + 0.6215 * tepl/100.0 - 11.37 * (vitr_kmh/100.0)^0.16 + 0.3965 * tepl/100.0  * (3.6*vitr_kmh/100.0)^ 0.16);
  else
    return tepl;
}</code></pre></div><p>Pro HeatIndex je ten vzorec ještě složitější, ale opět hlavně kvůli reálným mocninám (a pár konstatntám), celkově jsou ale takové funkce jednoduše programovatelné přímo v ARM.</p>]]></content>
			<author>
				<name><![CDATA[jirsoft]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=1160</uri>
			</author>
			<updated>2013-02-22T13:47:51Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=3214#p3214</id>
		</entry>
</feed>
