<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Вычисление CRC16 Modbus]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=12233</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=12233&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Вычисление CRC16 Modbus».]]></description>
		<lastBuildDate>Wed, 21 Dec 2016 19:48:41 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Вычисление CRC16 Modbus]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=109982#p109982</link>
			<description><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=12240">http://forum.script-coding.com/viewtopic.php?id=12240</a><br />Готовый скрипт.</p>]]></description>
			<author><![CDATA[null@example.com (MandarinKa02)]]></author>
			<pubDate>Wed, 21 Dec 2016 19:48:41 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=109982#p109982</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Вычисление CRC16 Modbus]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=109932#p109932</link>
			<description><![CDATA[<p>День добрый всем. Проблема в написании скрипта для вычисления CRC16_Modbus/ Перерыл все что можно, ничего не нашел.<br />Единственное, есть скрипт на PHP для такой функции. Может кто поможет его переделать в AHK?</p><div class="codebox"><pre><code>    function modbus_crc($modbus_msg){
        $crctab16 = array(0X0000 .... тут таблица);

        $hexdata = pack(&#039;H*&#039;,$modbus_msg);
        $nLength = strlen($hexdata);
        $fcs = 0xFFFF;
        $pos = 0;
        while($nLength &gt; 0)
        {
            $fcs = ($fcs &gt;&gt; 8) ^ $crctab16[($fcs ^ ord($hexdata[$pos])) &amp; 0xFF];
            $nLength--;
            $pos++;
        }
        $inverted = sprintf(&#039;%04X&#039;, $fcs);
        $crc_modbus = substr($inverted,2,2).&quot; &quot;.substr($inverted,0,2);
        return $crc_modbus;
    }</code></pre></div><p>Входная строка типа &quot;A4 F1 14 D3&quot;<br />Непонятны пару строк:<br />$hexdata = pack(&#039;H*&#039;,$modbus_msg); перевод в бинарную строку<br />ord($hexdata[$pos] ACSII символ строки</p>]]></description>
			<author><![CDATA[null@example.com (nezl0in)]]></author>
			<pubDate>Mon, 19 Dec 2016 13:34:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=109932#p109932</guid>
		</item>
	</channel>
</rss>
