<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785528</guid>
        <pubDate>Fri, 14 Dec 2018 09:58:25 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785528</link>
        <description><![CDATA[Serega_mexanik: Проблема свелась к преобразованию string to byte или byte[]]]></description>
        <author>Serega_mexanik</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785356</guid>
        <pubDate>Wed, 12 Dec 2018 19:48:00 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785356</link>
        <description><![CDATA[Dushevny: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3785338'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_mexanik &#064; <time class="tag-quote__quoted-time" datetime="2018-12-12T17:27:02+00:00">12.12.18, 17:27</time></span><div class='quote '>Тыкните носом, что курить.</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3785290'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Dushevny &#064; <time class="tag-quote__quoted-time" datetime="2018-12-12T05:17:35+00:00">12.12.18, 05:17</time></span><div class='quote '>Начиная от википедии на русском и заканчивая полным описанием от авторов этого стандарта на английском.</div></div><br>
&quot;Чтение документации из интернета вслух- 100 евро в час.&quot;]]></description>
        <author>Dushevny</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785338</guid>
        <pubDate>Wed, 12 Dec 2018 17:27:02 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785338</link>
        <description><![CDATA[Serega_mexanik: Ничего не понятно. Но, оч интересно.<br>Тыкните носом, что курить. Буду  благодарен за кусочек кода]]></description>
        <author>Serega_mexanik</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785302</guid>
        <pubDate>Wed, 12 Dec 2018 09:10:08 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785302</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3785286'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_mexanik &#064; <time class="tag-quote__quoted-time" datetime="2018-12-12T00:02:41+00:00">12.12.18, 00:02</time></span><div class='quote '>Про формат посылки.<br>
Это массив. Без знаковое, целое. 8 или 16. Почему, например не _int64 ?</div></div><br>
Потому, что стандартный (широко распространённый) UART<br>
использует для приёма/передачи байты. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-12-12T09:12:31+00:00">12.12.18, 09:12</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3785286'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_mexanik &#064; <time class="tag-quote__quoted-time" datetime="2018-12-12T00:02:41+00:00">12.12.18, 00:02</time></span><div class='quote '>mas[2]=100;//общая длина пакета. Где берецца? Из мануала к устройству?</div></div><br>
В том числе. Но вообще-то у классического модбаса нет<br>
такой переменной. У многочисленных типа-его реализаций может<br>
быть. Для удобства. Переменная должна быть рассчитана при формировании<br>
конкретного пакета. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-12-12T09:14:19+00:00">12.12.18, 09:14</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3785286'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_mexanik &#064; <time class="tag-quote__quoted-time" datetime="2018-12-12T00:02:41+00:00">12.12.18, 00:02</time></span><div class='quote '>mas[6]=0x0*//идентификатор запроса. Тоже не ясно</div></div><br>
Дополнительная переменная, идентифицирующая конкретный пакет.<br>
Должна содержаться в ответе.<br>
Показывает, что полученный ответ на тот самый конкретный запрос. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2018-12-12T09:15:27+00:00">12.12.18, 09:15</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3785286'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_mexanik &#064; <time class="tag-quote__quoted-time" datetime="2018-12-12T00:02:41+00:00">12.12.18, 00:02</time></span><div class='quote '>И ждём ComPort-&gt;read(mas_otvet[7);//?<br>
<br>
Младший байт/старший. Пока непонятно что и зачем. Но в двух словах, <br>
Я спрашиваю девайсу, &quot;какая температура&quot;, он отвечает в виде, например 25.5град, но виде кракозябр, которые расшифровываются своей функцией?</div></div><br>
Это всё читаем в доках на дивайс.<br>
Какой будет ответ, в каком формате данные, статусы итд.]]></description>
        <author>ЫукпШ</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785290</guid>
        <pubDate>Wed, 12 Dec 2018 05:17:35 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785290</link>
        <description><![CDATA[Dushevny: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3785286'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_mexanik &#064; <time class="tag-quote__quoted-time" datetime="2018-12-12T00:02:41+00:00">12.12.18, 00:02</time></span><div class='quote '>Про формат посылки.</div></div>Описаний Modbus в сети вагон и маленькая тележка. Начиная от википедии на русском и заканчивая полным описанием от авторов этого стандарта на английском. Вы хотите, чтобы вам их здесь пересказали? Зачем?]]></description>
        <author>Dushevny</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785286</guid>
        <pubDate>Wed, 12 Dec 2018 00:02:41 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785286</link>
        <description><![CDATA[Serega_mexanik: Про формат посылки.<br>
Это массив. Без знаковое, целое. 8 или 16. Почему, например не _int64 ?<br>
<br>
uint8 mas[7];<br>
При передаче<br>
mas[0]=10; //0x10 сетевой адрес устройства<br>
mas[1]=0x00;//код функции запроса(это чтение, запись и ещё что-то)?<br>
mas[2]=100;//общая длина пакета. Где берецца? Из мануала к устройству?<br>
mas[3]=0x0*; mas[4]=0x0*; mas[5]=0x0*;// входные данные запроса. Берём из мануала к девайсу. (длина определяется mas[2]<br>
<br>
mas[6]=0x0*//идентификатор запроса. Тоже не ясно<br>
mas[7]= func_CRC16();// контрольная сумма (uint16_t) которая рассчитана хитро-функцией...<br>
<br>
Дальше, просто в порт кидаем данные.<br>
ComPort-&gt;send(mas[7]);<br>
И ждём ComPort-&gt;read(mas_otvet[7);//?<br>
<br>
<br>
<br>
Младший байт/старший. Пока непонятно что и зачем. Но в двух словах, <br>
Я спрашиваю девайсу, &quot;какая температура&quot;, он отвечает в виде, например 25.5град, но виде кракозябр, которые расшифровываются своей функцией?]]></description>
        <author>Serega_mexanik</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785272</guid>
        <pubDate>Tue, 11 Dec 2018 18:52:29 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785272</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3785262'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_mexanik &#064; <time class="tag-quote__quoted-time" datetime="2018-12-11T18:05:17+00:00">11.12.18, 18:05</time></span><div class='quote '>Слейв ничего не шлют в сеть? Мастер их постоянно дёргает? Я один раз в сеть кинул сообщение, &quot;давай реле#18, включись&quot;. Слейв.id 18, включилось нет?</div></div><br>
Может зависеть от реализации.<br>
Нужно читать доки на конкретные устройства.<br>
---<br>
Но если реализация хорошая, то конечно, слэйвы должны отвечать.<br>
Данными, если из него читаются данные.<br>
Или статусом, если выполняется запись.<br>
Сам факт ответа - уже статус. Что дивайс включен и работоспособен.<br>
Ответ не высылается на широковещательное сообщение - сообщение по адресу 0.<br>
---<br>
Например, даётся команда &quot;включить реле&quot;, а такой команды у конкретного<br>
дивайса нет. Или команда не выполнена по причине неисправности.<br>
Или выполнена успешно. Надо ответить кодом возврата операции.<br>
Всё это должно быть подробно описано в доках на дивайсы.<br>
<a class='tag-url' href='http://www.teplocom.msk.ru/data/support/docs/teploschet/pulsar/protokol_pulsar_m.pdf' target='_blank'>хороший вариант описания</a>]]></description>
        <author>ЫукпШ</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785262</guid>
        <pubDate>Tue, 11 Dec 2018 18:05:17 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3785262</link>
        <description><![CDATA[Serega_mexanik: Подниму старую тему. Но для меня новую.<br><br>Чтобы прояснить.<br>В сети один мастер, например ноутбук, общается   через переходник, например с 20-тью устройствами типа слейв, с соответствующими адресами.<br>Устройства, слейв, типа реле. Включено, выключено...<br><br>Слейв ничего не шлют в сеть? Мастер их постоянно дёргает? Я один раз в сеть кинул сообщение, &quot;давай реле#18, включись&quot;. Слейв.id 18, включилось нет? Никто не знает. Мастер, спрашивает, включено или нет...<br><br>Проясните в голове]]></description>
        <author>Serega_mexanik</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3651120</guid>
        <pubDate>Thu, 04 Feb 2016 06:06:02 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3651120</link>
        <description><![CDATA[unduty: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3651101'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>shm &#064; <time class="tag-quote__quoted-time" datetime="2016-02-03T23:11:50+00:00">03.02.16, 23:11</time></span><div class='quote '>А проблема-то в чем? Поддержка ModBus-подобных протоколов реализуется прекрасно без всяких левых компонент, и обычно довольно быстро. Делать за вас всю работу никто просто так не будет. </div></div><br>
[QUOTE]<br>
По оплате в личке давайте обсудим. Тому кто этим занимается работы на час. Участок который нужно перенести подписан разработчиком.]]></description>
        <author>unduty</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3651101</guid>
        <pubDate>Wed, 03 Feb 2016 23:11:50 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3651101</link>
        <description><![CDATA[shm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3651100'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>unduty &#064; <time class="tag-quote__quoted-time" datetime="2016-02-03T22:26:59+00:00">03.02.16, 22:26</time></span><div class='quote '>Кто может помочь прикрутить ModBus для rs485 ? </div></div><br>
А проблема-то в чем? Поддержка ModBus-подобных протоколов реализуется прекрасно без всяких левых компонент, и обычно довольно быстро. Делать за вас всю работу никто просто так не будет. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-02-03T23:16:15+00:00">03.02.16, 23:16</time></span></span><br>
На прикладном уровне работа с RS485/232 обычно мало чем отличается.]]></description>
        <author>shm</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3651100</guid>
        <pubDate>Wed, 03 Feb 2016 22:26:59 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3651100</link>
        <description><![CDATA[unduty: Всем привет. <br>
Прикрутил к своей разработки компоненту для rs232 из этого проекта <a class='tag-url' href='https://github.com/tarasii/1c_rs232' target='_blank'>https://github.com/tarasii/1c_rs232 </a><br>
Кто может помочь прикрутить ModBus для rs485 ? <br>
команды имеют вот такой вид &quot;CC0500051800EE&quot;   <br>
есть исходники от другой компоненты(работает через ком) где есть рабочий код.]]></description>
        <author>unduty</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3571188</guid>
        <pubDate>Thu, 05 Feb 2015 11:49:22 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3571188</link>
        <description><![CDATA[raxp: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>получается что-то вроде куска SCADA, занимающегося только визуализацией)? Просто пока мои жалкие попытки приводят к каким-то разрозненным кускам кода</div></div>сколько устройств будет? Чито мешает взять сразу готовую SCADA? На 32 точки большинство бесплатно, TraceMode например. <a class='tag-url' href='http://www.cyberforum.ru/scada/thread896128.html' target='_blank'>MasterSCADA</a><br>
 например, сама по себе бесплатна.<br>
<br>
<a class='tag-url' href='http://www.cyberforum.ru/asutp/thread796107.html' target='_blank'>PascalSCADA</a><br>
 под Лазарус.]]></description>
        <author>raxp</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3571079</guid>
        <pubDate>Thu, 05 Feb 2015 08:00:49 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3571079</link>
        <description><![CDATA[Hadroran: trainer помоги плиз.<br>Разбираюсь с твоей библиотекой. <br>Строка в примере <br>PortId := TrComPortOpen(0); (* COM1 *)<br>Я так понимаю, что PortId  - это хендл порта? <br>И по нумерации портов <br>0 - COM1<br>1 - COM2 и т.д.?<br><br>Почему спрашиваю, при выполнении PortId := TrComPortOpen(0); возвращается &quot;0&quot;<br>D2010, Win7]]></description>
        <author>Hadroran</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094982</guid>
        <pubDate>Tue, 13 Mar 2012 05:18:42 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094982</link>
        <description><![CDATA[a_n_y_a: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3093970'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Dem_max &#064; <time class="tag-quote__quoted-time" datetime="2012-03-11T12:00:54+00:00">11.03.12, 12:00</time></span><div class='quote '>Да будет тебе известно, что в язике программирования Си и Си++, все регистро зависимо.<br>
но у меня тип описан как <strong class='tag-b'>typedef int ssize_t;</strong></div></div><br>
Ты кодиш под WIN32 для ModBus? Если да, можешь поделиться примерчиком использования библиотеки ModBus?]]></description>
        <author>a_n_y_a</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094478</guid>
        <pubDate>Mon, 12 Mar 2012 09:36:50 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094478</link>
        <description><![CDATA[Dem_max: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Если есть такие, ответьте, есть в вашем файлике stdint.h<br>
 тип ssize_t?</div></div><br>
смотри выше.]]></description>
        <author>Dem_max</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094472</guid>
        <pubDate>Mon, 12 Mar 2012 09:25:50 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094472</link>
        <description><![CDATA[a_n_y_a: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3094304'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Dem_max &#064; <time class="tag-quote__quoted-time" datetime="2012-03-12T05:30:56+00:00">12.03.12, 05:30</time></span><div class='quote '><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
Эта библиотека заточена под линукс, я же кодю в WIN32.<br>
 В ридми к этой библиотеке написано следующее:<br>
 If you want to compile with Microsoft Visual Studio, you need to install<br>
<a class='tag-url' href='http://code.google.com/p/msinttypes/' target='_blank'>http://code.google.com/p/msinttypes/</a> to fill the absence of stdint.h.<br>
 Я скачал этот файлик и сохранил. Может в нем как раз и должен был быть<br>
 описан этот тип? Кто кодит по WIN32, отзовитесь.<br>
</div></div><br>
Раз написано делай, только stdint.h включи первым</div></div><br>
Я так и делаю. Только в том файлике, который я скачал с гугла нет типа о котором мы говорим.<br>
Отсюда вопрос, если этот файл не из библиотеки, а из гугла, то не вкралась ли в него какая либо неточность?<br>
Есть кто нибудь, кто работает с библиотекой под WIN32? Если есть такие, ответьте, есть в вашем файлике stdint.h<br>
тип ssize_t?]]></description>
        <author>a_n_y_a</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094394</guid>
        <pubDate>Mon, 12 Mar 2012 07:38:05 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094394</link>
        <description><![CDATA[LeonidPr: Обсуждение ModBus подтолкнуло меня к тому, что бы задать более общий вопрос. Часто приходится писать маленькие программы для опроса какого-либо устройства по ModBus (в основном для проверки устройств в процессе их наладки). Поскольку они заточены под конкретное устройство с фиксированным набором регистров, особых сложностей при опросе не возникает. Сейчас же стоит более сложная задача. Нужно делать что-то вроде системы визуализации, причем набор устройств может быть различным, устройства будут подключаться к шине RS-485, к которой подключен и компьютер(т.е. через один COM порт будут опрашиваться сразу несколько устройств). Опрос по протоколу ModBus. Хочу спросить, есть ли какие-нибудь статьи (или книги) по поводу разработки систем такого типа (получается что-то вроде куска SCADA, занимающегося только визуализацией)? Просто пока мои жалкие попытки приводят к каким-то разрозненным кускам кода, никак не связанным друг с другом. Параллельно пытаюсь разобраться в исходниках OpenScada. Если этот вопрос - сильный оффтоп, скажите, создам новую тему.]]></description>
        <author>LeonidPr</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094304</guid>
        <pubDate>Mon, 12 Mar 2012 05:30:56 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094304</link>
        <description><![CDATA[Dem_max: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
Эта библиотека заточена под линукс, я же кодю в WIN32.<br>
 В ридми к этой библиотеке написано следующее:<br>
 If you want to compile with Microsoft Visual Studio, you need to install<br>
<a class='tag-url' href='http://code.google.com/p/msinttypes/' target='_blank'>http://code.google.com/p/msinttypes/</a> to fill the absence of stdint.h.<br>
 Я скачал этот файлик и сохранил. Может в нем как раз и должен был быть<br>
 описан этот тип? Кто кодит по WIN32, отзовитесь.<br>
</div></div><br>
Раз написано делай, только stdint.h включи первым]]></description>
        <author>Dem_max</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094303</guid>
        <pubDate>Mon, 12 Mar 2012 05:26:01 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3094303</link>
        <description><![CDATA[a_n_y_a: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3093982'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>popsa &#064; <time class="tag-quote__quoted-time" datetime="2012-03-11T12:11:50+00:00">11.03.12, 12:11</time></span><div class='quote '>у меня в солярисе <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#ifndef _SSIZE_T</div><div class="code_line">#define _SSIZE_T</div><div class="code_line">#if defined(_LP64) || defined(_I32LPx)</div><div class="code_line">typedef long &nbsp; &nbsp;ssize_t; &nbsp; &nbsp;/* size of something in bytes or -1 */</div><div class="code_line">#else</div><div class="code_line">typedef int ssize_t; &nbsp; &nbsp;/* (historical version) */</div><div class="code_line">#endif</div><div class="code_line">#endif &nbsp;/* !_SSIZE_T */</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script></div></div><br>
Эта библиотека заточена под линукс, я же кодю в WIN32.<br>
В ридми к этой библиотеке написано следующее:<br>
If you want to compile with Microsoft Visual Studio, you need to install<br>
<a class='tag-url' href='http://code.google.com/p/msinttypes/' target='_blank'>http://code.google.com/p/msinttypes/</a> to fill the absence of stdint.h.<br>
Я скачал этот файлик и сохранил. Может в нем как раз и должен был быть<br>
описан этот тип?  Кто кодит по WIN32, отзовитесь.]]></description>
        <author>a_n_y_a</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093982</guid>
        <pubDate>Sun, 11 Mar 2012 12:11:50 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093982</link>
        <description><![CDATA[popsa: у меня в солярисе <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#ifndef _SSIZE_T</div><div class="code_line">#define _SSIZE_T</div><div class="code_line">#if defined(_LP64) || defined(_I32LPx)</div><div class="code_line">typedef long &nbsp; &nbsp;ssize_t; &nbsp; &nbsp;/* size of something in bytes or -1 */</div><div class="code_line">#else</div><div class="code_line">typedef int ssize_t; &nbsp; &nbsp;/* (historical version) */</div><div class="code_line">#endif</div><div class="code_line">#endif &nbsp;/* !_SSIZE_T */</div></ol></div></div></div></div>]]></description>
        <author>popsa</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093970</guid>
        <pubDate>Sun, 11 Mar 2012 12:00:54 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093970</link>
        <description><![CDATA[Dem_max: Да будет тебе известно, что в язике программирования Си и Си++, все регистро зависимо.<br>
но у меня тип описан как <strong class='tag-b'>typedef int ssize_t;</strong>]]></description>
        <author>Dem_max</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093926</guid>
        <pubDate>Sun, 11 Mar 2012 10:41:48 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093926</link>
        <description><![CDATA[a_n_y_a: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3093797'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>popsa &#064; <time class="tag-quote__quoted-time" datetime="2012-03-11T07:13:14+00:00">11.03.12, 07:13</time></span><div class='quote '>насколько я помню size_t это unsigned long, а ssize_t это long.</div></div><br>
Я скачал файлик libmodbus-3.0.1.tar.gz, в нем хедер modbus-private.h, в строке 90 следующее:<br>
    ssize_t (*send) (modbus_t *ctx, const uint8_t *req, int req_length);<br>
    ssize_t (*recv) (modbus_t *ctx, uint8_t *rsp, int rsp_length);<br>
В MSDN на странице типов следующее:<br>
typedef LONG_PTR SSIZE_T<br>
typedef ULONG_PTR  SIZE_T<br>
название переменных большими буквами, в хедере модбаса маленькими бюуквами.<br>
Вот я и добавил определение типа. Вроде скачивал библиотеку с родного сайта.<br>
Компилил, как понятно под виндовсом 7 в среде VS2010 C++.]]></description>
        <author>a_n_y_a</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093829</guid>
        <pubDate>Sun, 11 Mar 2012 08:07:36 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093829</link>
        <description><![CDATA[Dem_max: <a class='tag-url' href='http://www.viva64.com/ru/a/0050/' target='_blank'>http://www.viva64.com/ru/a/0050/</a>]]></description>
        <author>Dem_max</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093797</guid>
        <pubDate>Sun, 11 Mar 2012 07:13:14 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093797</link>
        <description><![CDATA[popsa: насколько я помню size_t это unsigned long, а ssize_t это long.]]></description>
        <author>popsa</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093785</guid>
        <pubDate>Sun, 11 Mar 2012 06:58:06 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093785</link>
        <description><![CDATA[Dem_max: может быть все таки не <strong class='tag-b'>ssize_t</strong>, а <strong class='tag-b'>size_t</strong> ????<br>
<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>typedef LONG_PTR ssize_t<br>
Вопрос, правильно ли я сделал?</div></div><br>
<br>
Я думаю не очень]]></description>
        <author>Dem_max</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093741</guid>
        <pubDate>Sun, 11 Mar 2012 05:50:03 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3093741</link>
        <description><![CDATA[a_n_y_a: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=3091711'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Dem_max &#064; <time class="tag-quote__quoted-time" datetime="2012-03-06T13:03:49+00:00">06.03.12, 13:03</time></span><div class='quote '><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Но при работе не открывается порт. Правда коробочки с ModBus и устройств у меня пока нет</div></div><br>
 НУ если нет железа то и не откроется порт, так как его нету.</div></div><br>
Есть проблема с компиляцией библиотеки ModBus. Не находится описание типа  ssize_t.<br>
Я покопался в MSDN и нашел LONG_PTR.  В хедере добавил <br>
typedef LONG_PTR ssize_t<br>
И все откомпилировалось и запустилось. Вопрос, правильно ли я сделал?<br>
Вообще то такого в проверенных библиотеках не должно быть. Может я скачал<br>
кривую библиотеку из инета?  Если у кого то такого не было, кинте ссылочку на правльные<br>
исходники библиотеки. Буду очень признателен.]]></description>
        <author>a_n_y_a</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3091711</guid>
        <pubDate>Tue, 06 Mar 2012 13:03:49 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3091711</link>
        <description><![CDATA[Dem_max: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Но при работе не открывается порт. Правда коробочки с ModBus и устройств у меня пока нет</div></div><br>
 НУ если нет железа то и не откроется порт, так как его нету.]]></description>
        <author>Dem_max</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3090690</guid>
        <pubDate>Mon, 05 Mar 2012 07:30:28 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=3090690</link>
        <description><![CDATA[a_n_y_a: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=2848446'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>dmitry90 &#064; <time class="tag-quote__quoted-time" datetime="2011-03-08T22:36:39+00:00">08.03.11, 22:36</time></span><div class='quote '>Есть отличная библиотека на C для modbus мастера: <a class='tag-url' href='http://www.modbus.org' target='_blank'>www.modbus.org</a>. Может быть скомпилированна под Windows и Linux. Здесь читал её небольшое описание по-русски с примерами: <a class='tag-url' href='http://robot-develop.org/archives/1042' target='_blank'>http://robot-develop.org/archives/1042</a>.</div></div><br>
Спасибо за ссылку, посмотрел собрал LIB из библиотеки, подключил к проекту примера, собрал, все нормально. Но при работе не открывается порт. Правда коробочки с ModBus и устройств у меня пока нет, учусь плавать на сухую. Может поэтому проблемы? Вообщк е хотелось бы поюзать готовый рабочий проект с использованием библиотеки. Может вы могли бы дать ссылочку, или код? Работаю под VS 2010, C++.]]></description>
        <author>a_n_y_a</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2972472</guid>
        <pubDate>Fri, 26 Aug 2011 13:01:57 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2972472</link>
        <description><![CDATA[Ivanets777: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=2848446'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>dmitry90 &#064; <time class="tag-quote__quoted-time" datetime="2011-03-08T22:36:39+00:00">08.03.11, 22:36</time></span><div class='quote '>Есть отличная библиотека на C для modbus мастера: <a class='tag-url' href='http://www.modbus.org' target='_blank'>www.modbus.org</a>. Может быть скомпилированна под Windows и Linux. Здесь читал её небольшое описание по-русски с примерами: <a class='tag-url' href='http://robot-develop.org/archives/1042' target='_blank'>http://robot-develop.org/archives/1042</a>.</div></div><br>
Помогите, пожалуйста, новичку&#33; Необходимо по протоколу Модбас через ком-порт считывать и записывать данные в приборы ОВЕН. Не могу понять, что нужно делать с этим http://www.libmodbus.org/download/. Если можно по пунктам. Большое спасибо <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-08-26T13:03:29+00:00">26.08.11, 13:03</time></span></span><br>
Всё это делаю в Borland C++ Builder 6]]></description>
        <author>Ivanets777</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2848446</guid>
        <pubDate>Tue, 08 Mar 2011 22:36:39 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2848446</link>
        <description><![CDATA[dmitry90: Есть отличная библиотека на C для modbus мастера: <a class='tag-url' href='http://www.modbus.org' target='_blank'>www.modbus.org</a>. Может быть скомпилированна под Windows и Linux. Здесь читал её небольшое описание по-русски с примерами: <a class='tag-url' href='http://robot-develop.org/archives/1042' target='_blank'>http://robot-develop.org/archives/1042</a>.]]></description>
        <author>dmitry90</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2622060</guid>
        <pubDate>Wed, 16 Jun 2010 09:17:54 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2622060</link>
        <description><![CDATA[trainer: да. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2010-06-16T09:20:10+00:00">16.06.10, 09:20</time></span></span><br>
Можно просто читать побайтно, пока не появится заданный символ]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2622041</guid>
        <pubDate>Wed, 16 Jun 2010 08:52:26 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2622041</link>
        <description><![CDATA[Ex0RCi&#036;t: Логично :) <br>Видимо TrComPortReadArray(INT portid, LPVOID buffer, DWORD length, LONG timeout) ?<br>А параметр length у неё должен быть равен тому, что вернёт TrComPortGetQueue()?]]></description>
        <author>Ex0RCi&#036;t</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2621885</guid>
        <pubDate>Wed, 16 Jun 2010 04:43:01 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2621885</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=2621730'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Ex0RCi&#036;t &#064; <time class="tag-quote__quoted-time" datetime="2010-06-15T19:48:00+00:00">15.06.10, 19:48</time></span><div class='quote '>А как считать все данные, поступившие на порт?</div></div>Воспользоваться функцией чтения. Логично?]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2621730</guid>
        <pubDate>Tue, 15 Jun 2010 19:48:00 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2621730</link>
        <description><![CDATA[Ex0RCi&#036;t: Помогите новичку&#33; Использую TrComPort, взял пример из ReadMe.txt. Как я понял он считывает 1 байт и на этом завершает работу. А как считать все данные, поступившие на порт? Я пишу программу для работы со сканером штрих-кодов и мне нужно, чтобы каждый раз, когда сканером читают штрих-код, он целиком попадал в программу, а там дальше с ним велась дальнейшая работа. Подскажите пожалуйста как это сделать.]]></description>
        <author>Ex0RCi&#036;t</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2520378</guid>
        <pubDate>Tue, 02 Mar 2010 05:29:35 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2520378</link>
        <description><![CDATA[trainer: Если ты будешь при чтении использовать очки, поможет это тебе читать китайские тексты?]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2520264</guid>
        <pubDate>Mon, 01 Mar 2010 20:17:13 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2520264</link>
        <description><![CDATA[alexanlr: Trainer, подскажите, если  вместо обыкновенного компонента соmm32 я буду использовать modbus компонент, чтонибуть изменит.]]></description>
        <author>alexanlr</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2518758</guid>
        <pubDate>Sun, 28 Feb 2010 18:51:50 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2518758</link>
        <description><![CDATA[trainer: &quot;Я не волшебник, я только учусь...&quot; (c) не-помню-откуда.<br>Бери описание протокола обмена и смотри.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2518738</guid>
        <pubDate>Sun, 28 Feb 2010 18:15:32 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2518738</link>
        <description><![CDATA[alexanlr: trainer.<br>Очень прошу помочь.<br>Получаю данные с СОМ порта  моей  терминальной программой (делфи, компонент соmm32) вот в таком виде:<br><br>яяя/00016661&lt;0<br>&gt;6==;83&lt;&lt;49;:8<br>3&gt;&lt;0;1&gt;?4388&gt;&lt;<br>2:000000003;<br><br>Что нужно мне сделать, может нужна функция или процедура, чтобы конвертировать в<br>читабельный формат.<br><br>После обработки должно быть<br><br>Temp=-7.21, PD=0.024, Davl=0.376, Rasx=273.845;]]></description>
        <author>alexanlr</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2408084</guid>
        <pubDate>Wed, 28 Oct 2009 06:52:43 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2408084</link>
        <description><![CDATA[trainer: Не паскалист я. Неправильно там вроде написано.<br>
Либо<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">const</div><div class="code_line">&nbsp;params : TrComPortParameters &nbsp;= </div><div class="code_line">&nbsp;&nbsp; &nbsp;(DesiredParams: tcpmpBaudRate or tcpmpDefaultTimeout or tcpmpByteSize or tcpmpStopBits or tcpmpCheckParity or</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tcpmpParity or tcpmpEnableRtsControl or tcpmpEnableDtrControl,</div><div class="code_line">&nbsp;&nbsp; &nbsp; BaudRate: CBR_9600, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* 9600 бод *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; DefaultTimeout: 5000, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* по умолчанию тайм-аут 5 с. *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; ByteSize: 8, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* 8 бит *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; StopBits: ONESTOPBIT, &nbsp; &nbsp; &nbsp; &nbsp; (* 1 стоп-бит *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; CheckParity: 0, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* без проверки четности *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; Parity: NOPARITY, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* без бита четности *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; RtsControl: RTS_CONTROL_DISABLE,(* изначально RTS-off *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; DtrControl: DTR_CONTROL_ENABLE);(* изначально DTR-on *)</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;PortId: Integer;</div><div class="code_line">&nbsp;res: Integer;</div><div class="code_line">&nbsp;wr_data: array[1..8] of Byte;</div><div class="code_line">&nbsp;rd_buffer: array[1..8] of Byte;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">PortId := TrComPortOpen(0); (* COM1 *)</div><div class="code_line">if TRCOM_SUCCEEDED(PortId) then</div><div class="code_line">&nbsp;&nbsp; // порт открыт - устанавливаем параметры соединения</div><div class="code_line">&nbsp;&nbsp; res := TrComPortSetConfig(PortId,params);</div><div class="code_line">&nbsp;&nbsp; if TRCOM_SUCCEEDED(res) then</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;(* параметры заданы - устанавливаем управляющие сигналы(DTR-on, RTS-off) *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;res := TrComPortSetControl(PortId, TRCOM_CTRL(tcpccSet,tcpccClear));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if TRCOM_SUCCEEDED(result) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; (* управляющие согналы установлены - передаем и принимаем данные</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;передаем 6 байт, принимаем 1 байт, тайм-аут - 1 с. *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; res := TrComPortWriteAndRead(PortId, wr_data, 6, rd_buffer, 1, 1000);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; if TRCOM_SUCCEEDED(result) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* что-нибудь делаем далее *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">&nbsp;&nbsp; (* т.к. порт больше не нужен, закрываем его *)</div><div class="code_line">&nbsp;&nbsp; result = TrComPortClose(PortId);</div><div class="code_line">end;</div></ol></div></div></div></div>либо<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;PortId: Integer;</div><div class="code_line">&nbsp;res: Integer;</div><div class="code_line">&nbsp;wr_data: array[1..8] of Byte;</div><div class="code_line">&nbsp;rd_buffer: array[1..8] of Byte;</div><div class="code_line">&nbsp;params : TrComPortParameters;</div><div class="code_line">begin</div><div class="code_line">PortId := TrComPortOpen(0); (* COM1 *)</div><div class="code_line">if TRCOM_SUCCEEDED(PortId) then</div><div class="code_line">&nbsp;&nbsp; // порт открыт - устанавливаем параметры соединения</div><div class="code_line">&nbsp;&nbsp; with params do begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; DesiredParams := tcpmpBaudRate or tcpmpDefaultTimeout or tcpmpByteSize or tcpmpStopBits or tcpmpCheckParity or</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tcpmpParity or tcpmpEnableRtsControl or tcpmpEnableDtrControl,</div><div class="code_line">&nbsp;&nbsp; &nbsp; BaudRate := CBR_9600, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* 9600 бод *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; DefaultTimeout := 5000, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* по умолчанию тайм-аут 5 с. *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; ByteSize := 8, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* 8 бит *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; StopBits := ONESTOPBIT, &nbsp; &nbsp; &nbsp; &nbsp; (* 1 стоп-бит *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; CheckParity := 0, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* без проверки четности *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; Parity := NOPARITY, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* без бита четности *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; RtsControl := RTS_CONTROL_DISABLE,(* изначально RTS-off *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; DtrControl := DTR_CONTROL_ENABLE);(* изначально DTR-on *)</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">&nbsp;&nbsp; res := TrComPortSetConfig(PortId,params);</div><div class="code_line">&nbsp;&nbsp; if TRCOM_SUCCEEDED(res) then</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;(* параметры заданы - устанавливаем управляющие сигналы(DTR-on, RTS-off) *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;res := TrComPortSetControl(PortId, TRCOM_CTRL(tcpccSet,tcpccClear));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if TRCOM_SUCCEEDED(result) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; (* управляющие согналы установлены - передаем и принимаем данные</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;передаем 6 байт, принимаем 1 байт, тайм-аут - 1 с. *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; res := TrComPortWriteAndRead(PortId, wr_data, 6, rd_buffer, 1, 1000);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; if TRCOM_SUCCEEDED(result) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* что-нибудь делаем далее *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">&nbsp;&nbsp; (* т.к. порт больше не нужен, закрываем его *)</div><div class="code_line">&nbsp;&nbsp; result = TrComPortClose(PortId);</div><div class="code_line">end;</div></ol></div></div></div></div>Как-то так.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2407965</guid>
        <pubDate>Tue, 27 Oct 2009 21:17:19 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2407965</link>
        <description><![CDATA[Zheksonz: <strong class='tag-b'>trainer</strong><br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TForm1.Button7Click(Sender: TObject);</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;PortId: Integer;</div><div class="code_line">&nbsp;res: Integer;</div><div class="code_line">&nbsp;wr_data: array[1..8] of Byte;</div><div class="code_line">&nbsp;rd_buffer: array[1..8] of Byte;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">PortId := TrComPortOpen(0); (* COM1 *)</div><div class="code_line">if TRCOM_SUCCEEDED(PortId) then</div><div class="code_line">&nbsp;&nbsp; // порт открыт - устанавливаем параметры соединения</div><div class="code_line">&nbsp;&nbsp; TrComPortParameters(tcpmpBaudRate or tcpmpDefaultTimeout or tcpmpByteSize or tcpmpStopBits or tcpmpCheckParity or tcpmpParity or tcpmpEnableRtsControl or tcpmpEnableDtrControl, //[B]на этой строчке выдаёт ошибку((( натолкните плз на мысль...[/B]</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CBR_9600, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* 9600 бод *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5000, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* по умолчанию тайм-аут 5 с. *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 8, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* 8 бит *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ONESTOPBIT, &nbsp; &nbsp; &nbsp; &nbsp; (* 1 стоп-бит *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* без проверки четности *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NOPARITY, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (* без бита четности *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTS_CONTROL_DISABLE,(* изначально RTS-off *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DTR_CONTROL_ENABLE);(* изначально DTR-on *)</div><div class="code_line">&nbsp;&nbsp; res := TrComPortSetConfig(PortId,params);</div><div class="code_line">&nbsp;&nbsp; if TRCOM_SUCCEEDED(res) then</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;(* параметры заданы - устанавливаем управляющие сигналы(DTR-on, RTS-off) *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;res := TrComPortSetControl(PortId, TRCOM_CTRL(tcpccSet,tcpccClear));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if TRCOM_SUCCEEDED(result) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; (* управляющие согналы установлены - передаем и принимаем данные</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;передаем 6 байт, принимаем 1 байт, тайм-аут - 1 с. *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; res := TrComPortWriteAndRead(PortId, wr_data, 6, rd_buffer, 1, 1000);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; if TRCOM_SUCCEEDED(result) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(* что-нибудь делаем далее *)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">&nbsp;&nbsp; (* т.к. порт больше не нужен, закрываем его *)</div><div class="code_line">&nbsp;&nbsp; result = TrComPortClose(PortId);</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>Zheksonz</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2290050</guid>
        <pubDate>Mon, 15 Jun 2009 07:08:58 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2290050</link>
        <description><![CDATA[trainer: sprintf юный падован использовать должен.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2290002</guid>
        <pubDate>Mon, 15 Jun 2009 06:08:44 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2290002</link>
        <description><![CDATA[dvb: В моем примере выше,где char nabor nomera, как  можно внутрь кавычек АТ команды, вместо номера телефона  поставить переменную?]]></description>
        <author>dvb</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2288140</guid>
        <pubDate>Thu, 11 Jun 2009 12:34:09 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2288140</link>
        <description><![CDATA[dvb: Да нет,относится,сделал так-и заработало,еще раз огромное спасибо&#33;]]></description>
        <author>dvb</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2288132</guid>
        <pubDate>Thu, 11 Jun 2009 12:19:39 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2288132</link>
        <description><![CDATA[trainer: к проблеме это скорее всего не относится, но правильнее писать<br>
TrComPortWriteArray(PortId, end, <strong class='tag-b'>sizeof(end)-1</strong>, 1000); <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2009-06-11T12:24:01+00:00">11.06.09, 12:24</time></span></span><br>
А вообще - модем вообще-то должен отвечать на команды. Вот ответы и надо смотреть.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2288110</guid>
        <pubDate>Thu, 11 Jun 2009 11:58:14 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2288110</link>
        <description><![CDATA[dvb: С этим компонентом разобрался, сейчас мучаю модем Моторолы, который по USB соединен к компу, драйвером создается виртуальный порт СОМ3. По АТ командам все работает нормально, когда вот так-<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;vcl.h&#62;</div><div class="code_line">#pragma hdrstop</div><div class="code_line">&nbsp;</div><div class="code_line">#include &quot;COMPORT.h&quot;</div><div class="code_line">#include &quot;TrComPort.h&quot;</div><div class="code_line">//---------------------------------------------------------------------------</div><div class="code_line">#pragma package(smart_init)</div><div class="code_line">#pragma resource &quot;*.dfm&quot;</div><div class="code_line">TForm1 *Form1;</div><div class="code_line">&nbsp;</div><div class="code_line">//---------------------------------------------------------------------------</div><div class="code_line">__fastcall TForm1::TForm1(TComponent* Owner)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;: TForm(Owner)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;int PortId;</div><div class="code_line">&nbsp;&nbsp;int result;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;char end[] = {&quot;at+ckpd=\&quot;e\&quot;\r&quot;}; &nbsp; // завершить вызов</div><div class="code_line">&nbsp;char nabor_nomera[] = {&quot;at+ckpd=\&quot;89123456789\&quot;|at+ckpd=\&quot;s\&quot;\r&quot;}; // набрать номер и звонить</div><div class="code_line">&nbsp;char zvonit[] = {&quot;at+ckpd=\&quot;s\&quot;\r&quot;}; &nbsp;// звонить(зеленая кнопка телефона)</div><div class="code_line">&nbsp;</div><div class="code_line">PortId = TrComPortOpen(2); &nbsp; &nbsp;// COM3</div><div class="code_line">&nbsp;</div><div class="code_line">if( TRCOM_SUCCEEDED(PortId) ) {</div><div class="code_line">&nbsp;&nbsp; // порт открыт - устанавливаем параметры соединения</div><div class="code_line">&nbsp;&nbsp; TrComPortParameters params = {tcpmpBaudRate|tcpmpDefaultTimeout|tcpmpByteSize|tcpmpStopBits|tcpmpCheckParity|tcpmpParity|tcpmpEnableRtsControl|tcpmpEnableDtrControl,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CBR_9600, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // 9600 бод</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5000, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // по умолчанию тайм-аут 5 с.</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 8, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// 8 бит</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ONESTOPBIT, &nbsp; &nbsp; &nbsp; &nbsp; // 1 стоп-бит</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// без проверки четности</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NOPARITY, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // без бита четности</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTS_CONTROL_DISABLE,// изначально RTS-off</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DTR_CONTROL_ENABLE};// изначально DTR-on</div><div class="code_line">&nbsp;&nbsp; result = TrComPortSetConfig(PortId,&amp;params);</div><div class="code_line">&nbsp;</div><div class="code_line">result = TrComPortSetControl(PortId, tcpscfSetDtr|tcpscfClearRts);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TrComPortWriteArray(PortId, end, 20, 1000); // Прервать вызов</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TrComPortWriteArray(PortId, nabor_nomera, 35, 1000); // Набрать номер</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Sleep(1000); &nbsp; &nbsp;// пробовал с паузой и без</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TrComPortWriteArray(PortId, zvonit, 15, 1000);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Sleep(3000); &nbsp; &nbsp;// пауза</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TrComPortWriteArray(PortId, end, 20, 1000); // Прервать вызов</div><div class="code_line">}</div><div class="code_line">}</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Когда устанавливаю на форму таймер, чтобы пробовать делать дозвон через определенное время, и переменные выношу за кавычки формы и кусок кода вставляю в обработчик таймера, то уже все работает неправильно- уже набор номера не работает. Знаю это к этой теме не относится, скорее к азам программирования, но т.к. вопрос связан с этим компонентом-задаю здесь. Вот нерабочий код-<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#pragma hdrstop</div><div class="code_line">&nbsp;</div><div class="code_line">#include &quot;COMPORT.h&quot;</div><div class="code_line">#include &quot;TrComPort.h&quot;</div><div class="code_line">//---------------------------------------------------------------------------</div><div class="code_line">#pragma package(smart_init)</div><div class="code_line">#pragma resource &quot;*.dfm&quot;</div><div class="code_line">TForm1 *Form1;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;int PortId;</div><div class="code_line">&nbsp;&nbsp;int result;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;char end[] = {&quot;at+ckpd=\&quot;e\&quot;\r&quot;}; &nbsp; // завершить вызов</div><div class="code_line">&nbsp;char nabor_nomera[] = {&quot;at+ckpd=\&quot;89123456789\&quot;|at+ckpd=\&quot;s\&quot;\r&quot;}; // набрать номер и звонить</div><div class="code_line">&nbsp;char zvonit[] = {&quot;at+ckpd=\&quot;s\&quot;\r&quot;}; &nbsp;// звонить(зеленая кнопка телефона)</div><div class="code_line">&nbsp;</div><div class="code_line">//---------------------------------------------------------------------------</div><div class="code_line">__fastcall TForm1::TForm1(TComponent* Owner)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;: TForm(Owner)</div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">PortId = TrComPortOpen(2); &nbsp; &nbsp;// COM3</div><div class="code_line">&nbsp;</div><div class="code_line">if( TRCOM_SUCCEEDED(PortId) ) {</div><div class="code_line">&nbsp;&nbsp; // порт открыт - устанавливаем параметры соединения</div><div class="code_line">&nbsp;&nbsp; TrComPortParameters params = {tcpmpBaudRate|tcpmpDefaultTimeout| &nbsp; &nbsp;tcpmpByteSize|tcpmpStopBits|tcpmpCheckParity|tcpmpParity|tcpmpEnableRtsControl|tcpmpEnableDtrControl,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CBR_9600, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // 9600 бод</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5000, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // по умолчанию тайм-аут 5 с.</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 8, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// 8 бит</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ONESTOPBIT, &nbsp; &nbsp; &nbsp; &nbsp; // 1 стоп-бит</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// без проверки четности</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NOPARITY, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // без бита четности</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTS_CONTROL_DISABLE,// изначально RTS-off</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DTR_CONTROL_ENABLE};// изначально DTR-on</div><div class="code_line">&nbsp;&nbsp; result = TrComPortSetConfig(PortId,&amp;params);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;result = TrComPortSetControl(PortId, tcpscfSetDtr|tcpscfClearRts);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; Timer1-&#62;Interval=10000;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; Timer1-&#62;Enabled=true;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;void __fastcall TForm1::Timer1Timer(TObject *Sender)</div><div class="code_line">{</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TrComPortWriteArray(PortId, end, 20, 1000); // Прервать вызов</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TrComPortWriteArray(PortId, nabor_nomera, 35, 1000); // Набрать номер</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Sleep(1000); &nbsp; &nbsp;// пауза</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TrComPortWriteArray(PortId, zvonit, 15, 1000);</div><div class="code_line">&nbsp;&nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Sleep(3000); &nbsp; &nbsp;// пауза</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TrComPortWriteArray(PortId, end, 20, 1000); // Прервать вызов</div><div class="code_line">&nbsp;}</div></ol></div></div></div></div><br>
Прошу обьяснить, что здесь не так.]]></description>
        <author>dvb</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284927</guid>
        <pubDate>Sun, 07 Jun 2009 11:43:14 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284927</link>
        <description><![CDATA[dvb: Вот спасибо,заработало, я пробовал подключать оба lib-а, а надо оказывается только этот.]]></description>
        <author>dvb</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284926</guid>
        <pubDate>Sun, 07 Jun 2009 11:36:56 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284926</link>
        <description><![CDATA[trainer: Add to project -&gt; расширение &quot;.LIB&quot;, выбрать TrComPort_BCB.lib, нажать Ok<br><br>P.S. Интересно, я один такой устаревший - сначала читаю литературу, потом делаю.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284924</guid>
        <pubDate>Sun, 07 Jun 2009 11:33:35 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284924</link>
        <description><![CDATA[dvb: Подскажите, как подключить dll к проекту-я совсем начинающий, пробовал через add to proekt - такие же ошибки, пробовал добавлять lib файлы- тоже ошибка,но другая.]]></description>
        <author>dvb</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284901</guid>
        <pubDate>Sun, 07 Jun 2009 09:17:09 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284901</link>
        <description><![CDATA[trainer: Библиотеку надо к проекту подключить]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284861</guid>
        <pubDate>Sun, 07 Jun 2009 05:36:25 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284861</link>
        <description><![CDATA[dvb: Еще была ошибка здесь-  result = TrComPortSetControl(PortId, pcpscfSetDtr|pcpscfClearRts);   , нужно- tcpscfSetDtr|tcpscfClearRts...<br>
<br>
Но все равно ошибки выдает-такие:<br>
<br>
[Linker Error] Unresolved external &#39;TrComPortOpen&#39; referenced from D:&#092;COMPORT&#092;COMPORT.OBJ<br>
[Linker Error] Unresolved external &#39;TrComPortSetConfig&#39; referenced from D:&#092;COMPORT&#092;COMPORT.OBJ<br>
[Linker Error] Unresolved external &#39;TrComPortSetControl&#39; referenced from D:&#092;COMPORT&#092;COMPORT.OBJ<br>
[Linker Error] Unresolved external &#39;TrComPortWriteAndRead&#39; referenced from D:&#092;COMPORT&#092;COMPORT.OBJ<br>
[Linker Error] Unresolved external &#39;TrComPortClose&#39; referenced from D:&#092;COMPORT&#092;COMPORT.OBJ<br>
<br>
Не подскажете, в чем дело ?]]></description>
        <author>dvb</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284427</guid>
        <pubDate>Sat, 06 Jun 2009 07:33:47 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284427</link>
        <description><![CDATA[trainer: Должно быть не PTrComPortParameters, а TrComPortParameters]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284248</guid>
        <pubDate>Fri, 05 Jun 2009 17:44:53 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2284248</link>
        <description><![CDATA[dvb: Не пойму,где в примере ошибки, поменял здесь  TPpbComPortParameters params =... на PTrComPortParameters, при компиляции выдает первую ошибку здесь- <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">CBR_9600, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // 9600 бод</div></ol></div></div></div></div><br>
Вот код полностью:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &quot;TrComPort.h&quot;</div><div class="code_line">INT PortId;</div><div class="code_line">INT result;</div><div class="code_line">BYTE wr_data[] = {1,2,3,4,5,6};</div><div class="code_line">BYTE rd_buffer[16];</div><div class="code_line">&nbsp;</div><div class="code_line">PortId = TrComPortOpen(0);// COM1</div><div class="code_line">if( TRCOM_SUCCEEDED(PortId) ) {</div><div class="code_line">&nbsp;&nbsp; // порт открыт - устанавливаем параметры соединения</div><div class="code_line">&nbsp;&nbsp; PTrComPortParameters params = {tcpmpBaudRate|tcpmpDefaultTimeout|tcpmpByteSize|tcpmpStopBits|tcpmpCheckParity|tcpmpParity|tcpmpEnableRtsControl|tcpmpEnableDtrControl,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CBR_9600, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // 9600 бод</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5000, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // по умолчанию тайм-аут 5 с.</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 8, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// 8 бит</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ONESTOPBIT, &nbsp; &nbsp; &nbsp; &nbsp; // 1 стоп-бит</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// без проверки четности</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NOPARITY, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // без бита четности</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; RTS_CONTROL_DISABLE,// изначально RTS-off</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DTR_CONTROL_ENABLE};// изначально DTR-on</div><div class="code_line">&nbsp;&nbsp; result = TrComPortSetConfig(PortId,&amp;params);</div><div class="code_line">&nbsp;&nbsp; if( TRCOM_SUCCEEDED(result) ) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;// параметры заданы - устанавливаем управляющие сигналы(DTR-on, RTS-off)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;result = TrComPortSetControl(PortId, pcpscfSetDtr|pcpscfClearRts);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if( TRCOM_SUCCEEDED(result) ) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; // управляющие согналы установлены - передаем и принимаем данные</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; // передаем 6 байт, принимаем 1 байт, тайм-аут - 1 с.</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; result = TrComPortWriteAndRead(PortId, wr_data, 6, rd_buffer, 1, 1000);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; if( TRCOM_SUCCEEDED(result) ) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// что-нибудь делаем далее</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; }</div><div class="code_line">&nbsp;&nbsp; // т.к. порт больше не нужен, закрываем его</div><div class="code_line">&nbsp;&nbsp; result = TrComPortClose(PortId);</div><div class="code_line">}</div></ol></div></div></div></div>]]></description>
        <author>dvb</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174982</guid>
        <pubDate>Thu, 22 Jan 2009 05:32:50 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174982</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=2174369'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pauly &#064; <time class="tag-quote__quoted-time" datetime="2009-01-21T15:26:03+00:00">21.01.09, 15:26</time></span><div class='quote '>А чему должен быть равен второй параметр TrComPortPurge?</div></div>Комбинация значений TrComPortFlushFlags<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=2174369'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pauly &#064; <time class="tag-quote__quoted-time" datetime="2009-01-21T15:26:03+00:00">21.01.09, 15:26</time></span><div class='quote '>Не могли бы вы сказать, что дают такие паузы?</div></div>Они дают системе дополнительное время на выполнение необходимых действий по закрытию порта. Напрмер на то, чтобы выплюнуть остатки в буфере передачи.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174369</guid>
        <pubDate>Wed, 21 Jan 2009 15:26:03 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174369</link>
        <description><![CDATA[Pauly: А чему должен быть равен второй параметр TrComPortPurge?<br><br>Перед закрытием порта я делаю Sleep(1000); - вроде бы COM-порт стал открываться, но это теперь тяжело оттестить. Не могли бы вы сказать, что дают такие паузы? (вроде бы поток должен закрываться без пауз) А то теперь увеличилось время выполнения программы, и уверенность в правильности ее работы поубавилась.]]></description>
        <author>Pauly</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174231</guid>
        <pubDate>Wed, 21 Jan 2009 13:10:00 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174231</link>
        <description><![CDATA[trainer: ну попробуй после TrComPortBreak добавить TrComPortPurge<br>Можно еще попробовать добавить небольшие паузы.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174209</guid>
        <pubDate>Wed, 21 Jan 2009 12:54:03 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174209</link>
        <description><![CDATA[Pauly: При закрытии формы выполняется следующий код:<br><br>result = TrComPortBreak(PortId);<br>FirstProcess-&gt;Terminate();  //поток, где выполняется чтение/запись по ModBus<br>result = TrComPortClose(PortId);<br>PortId = TrComPortOpen(5); <br><br>При закрытии порта ошибки действительно нет, а вот при открытии возникает -2, причем не всегда. Если я запускаю программу еще раз, то порт открывается нормально. Может быть порт не открывается из-за того, что дочерний поток закрывается, а TrComPortWriteAndRead еще до конца не сработал?<br><br>В чем ошибка в моих действиях? <br><br>Заранее благодарен, Павел.]]></description>
        <author>Pauly</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174133</guid>
        <pubDate>Wed, 21 Jan 2009 11:26:57 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2174133</link>
        <description><![CDATA[trainer: Terminate вообще-то не останавливает поток, а просит его завершиться.<br>
TrComPortBreak надо вызывать из основного потока.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=2173919'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pauly &#064; <time class="tag-quote__quoted-time" datetime="2009-01-21T07:46:41+00:00">21.01.09, 07:46</time></span><div class='quote '>Как я понимаю, в процесс остановки потока у меня может происходить обращение к COM-порту и он закрывается некорректно.</div></div>Это сильно вряд ли. Порт либо закроется, либо нет.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2173919</guid>
        <pubDate>Wed, 21 Jan 2009 07:46:41 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2173919</link>
        <description><![CDATA[Pauly: Здравствуйте <strong class='tag-b'>trainer</strong>. Помогите пожалуйста в следующем вопросе: Я считываю параметры прибора в потоке(Thread). В главной программе я останавливаю поток(Terminate), закрываю COM-порт и потом заново пытаюсь открыть COM-порт, а у меня выдается ошибка -2. Как я понимаю, в процесс остановки потока у меня может происходить обращение к COM-порту и он закрывается некорректно. Для решения этого я использую функцию TrComPortBreak, однако она ничего не дает. Не могли бы вы подсказать, что нужно сделать для корректного закрытия порта?]]></description>
        <author>Pauly</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165809</guid>
        <pubDate>Mon, 12 Jan 2009 17:29:17 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165809</link>
        <description><![CDATA[Pauly: Я не уверен, что он этот прибор должен слать ответ, по крайней мере у меня нет формата приема данных. Я выставлял всякие размеры ответа, ошибка остается. Связь с прибором устанавливается и по другому протоколу обмен удается. <br><br>У другого прибора есть и посылка, и прием, для него я использую TrComPortWriteAndRead, но у меня нет его на руках, поэтому я решил проверить работоспособность на МВУ.]]></description>
        <author>Pauly</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165793</guid>
        <pubDate>Mon, 12 Jan 2009 16:51:32 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165793</link>
        <description><![CDATA[trainer: -10 - это значит прочитать запрошенное количество байт не удалось, истек тайм-аут. Либо размер ответа меньше, чем затребовано к прочтению, либо прибор вовсе не ответил.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=2165781'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pauly &#064; <time class="tag-quote__quoted-time" datetime="2009-01-12T16:38:20+00:00">12.01.09, 16:38</time></span><div class='quote '>Для чтения у меня есть сообщение в котором задается команда 0x03 вместо 0x10. Это сообщение нужно подавать параметром rd_buffer в TrComPortReadArray?</div></div>Надо передать команду функцией TrComPortWriteArray и прочитать ответ функцией TrComPortReadArray. Или воспользоваться функцией 2-в-1 TrComPortWriteAndRead]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165781</guid>
        <pubDate>Mon, 12 Jan 2009 16:38:20 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165781</link>
        <description><![CDATA[Pauly: Для чтения у меня есть сообщение в котором задается команда 0x03 вместо 0x10. Это сообщение нужно подавать параметром rd_buffer в TrComPortReadArray?<br><br>Когда я читаю ответ прибора функцией TrComPortWriteAndRead, то result=-10, а rd_buffer пустой.]]></description>
        <author>Pauly</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165732</guid>
        <pubDate>Mon, 12 Jan 2009 15:36:51 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165732</link>
        <description><![CDATA[trainer: там вообще-то в комментариях написано, что делает каждая функция. Чтение массива байт выполняет TrComPortReadArray<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=2165665'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pauly &#064; <time class="tag-quote__quoted-time" datetime="2009-01-12T14:39:59+00:00">12.01.09, 14:39</time></span><div class='quote '>У меня оно отрабатывает, т.е. result=0, но состояние выхода прибора не изменяет. В чем может быть проблема?</div></div>А прибор не должен квитировать команду? Если должен - надо прочитать его ответ, наверняка он должен возвращать код ошибки в случае отказа выполнять команду.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165665</guid>
        <pubDate>Mon, 12 Jan 2009 14:39:59 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=2165665</link>
        <description><![CDATA[Pauly: Здравствуйте coach. :) <br>У меня возникли вопросы по вашей программе TrComPort. У меня в распоряжении прибор МВУ-8, который работает по протоколу ModBus RTU, адрес 16. Я передаю в функцию TrComPortWriteArray следующее сообщение: 0x10 - адрес, 0x10 - команда, 0x00, 0x00 - нач. адрес регистра, 0x00, 0x01 - количество регистров, 0x02 - количество байт, 0x10, 0x00 - значение, CRC_Low, CRC_High. У меня оно отрабатывает, т.е. result=0, но состояние выхода прибора не изменяет. В чем может быть проблема?<br><br>И мне интересен следующий вопрос: Чтение с прибора, как я понял, тоже выполняется функцией TrComPortWriteArray. Но куда записываются прочитанные значения?<br><br>Буду очень признателен, С уважением, Павел. ;)]]></description>
        <author>Pauly</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1933734</guid>
        <pubDate>Sat, 19 Apr 2008 14:33:02 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1933734</link>
        <description><![CDATA[oksman: To  <strong class='tag-b'>trainer</strong><br>
Спасибо за библиотеку TrComPort :) <br>
Работает существенно быстрее, чем  ComPortLib.<br>
Вы писали, что можете выложить более свежую версию.(Я скачал от 2003г)<br>
Если не затруднит, буду весьма признателен.<br>
<br>
Вопрос для общего развития.<br>
Если я просто подключаю Вашу библиотеку к проекту, все замечательно.<br>
Решил сам сделать библиотеку из Вашей DLL.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; impdef.exe -h TrComPort.def TrComPort.dll </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; implib.exe -c -f TrComPort_BCB.lib TrComPort.def</div></ol></div></div></div></div><br>
Библиотека получается меньше, почти вся заполнена нулями <br>
и ,естественно, ничего не работает.<br>
В чем я неправ?<br>
Поиск обшарил почти весь, включая FAQ]]></description>
        <author>oksman</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1931327</guid>
        <pubDate>Thu, 17 Apr 2008 05:05:24 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1931327</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=1930959'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Cergiy &#064; <time class="tag-quote__quoted-time" datetime="2008-04-16T15:32:24+00:00">16.04.08, 15:32</time></span><div class='quote '>Или я уже слишком вечером туплю?</div></div>Очень похоже, что да.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=1930959'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Cergiy &#064; <time class="tag-quote__quoted-time" datetime="2008-04-16T15:32:24+00:00">16.04.08, 15:32</time></span><div class='quote '>а я должен переводить эту строчку в какой-то иной формат(из строкового) чтобы передавать?</div></div>По этому поводу ничего сказать не могу. Спецификации Modbus под рукой нет.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=1930959'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Cergiy &#064; <time class="tag-quote__quoted-time" datetime="2008-04-16T15:32:24+00:00">16.04.08, 15:32</time></span><div class='quote '>то есть как осуществить передачу символов, а не чисел?</div></div>Так или иначе, а передается набор байтов.]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1930959</guid>
        <pubDate>Wed, 16 Apr 2008 15:32:24 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1930959</link>
        <description><![CDATA[Cergiy: <strong class='tag-b'>trainer</strong> я сейчас спрошу нечто глупое, а я должен переводить эту строчку в какой-то иной формат(из строкового)  чтобы передавать? то есть как осуществить передачу символов, а не чисел? Или я уже слишком вечером туплю?]]></description>
        <author>Cergiy</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1930572</guid>
        <pubDate>Wed, 16 Apr 2008 10:10:45 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1930572</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=1930305'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Cergiy &#064; <time class="tag-quote__quoted-time" datetime="2008-04-16T05:55:00+00:00">16.04.08, 05:55</time></span><div class='quote '>а мне-то нужно передать именно что строчку из шестнадцатиричных чисел. Как быть?</div></div>А у этой строчки посчитать количество потребных для передачи байтов нельзя?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=40007&view=findpost&p=1930305'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Cergiy &#064; <time class="tag-quote__quoted-time" datetime="2008-04-16T05:55:00+00:00">16.04.08, 05:55</time></span><div class='quote '>Да и к тому же, 16-ти ричные числа двух-символьные... или это никак не влияет?</div></div>см. выше]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1930305</guid>
        <pubDate>Wed, 16 Apr 2008 05:55:00 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=1930305</link>
        <description><![CDATA[Cergiy: Как быть если требуется пользовать MODBUS-ASCII. Я вот смотрю обучно строчку побайтово передают и радуются :-) а мне-то нужно передать именно что строчку из шестнадцатиричных чисел. Как быть? Да и к тому же, 16-ти ричные числа двух-символьные... или это никак не влияет?<br>Благодарю.]]></description>
        <author>Cergiy</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=264501</guid>
        <pubDate>Tue, 16 Dec 2003 13:59:52 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=264501</link>
        <description><![CDATA[Budda:  Могу подкинуть сорс класса реализующего работу с СОМ-портом. Класс правда для Visual С, но думаю идею он раскрыть сможет.<br><br>Я его юзаю постоянно.<br><br>Буду вопросы - пиши. ]]></description>
        <author>Budda</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=263458</guid>
        <pubDate>Sun, 14 Dec 2003 19:00:58 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=263458</link>
        <description><![CDATA[trainer:  <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--><b>VorteKC</b>, 14.12.03, 21:04<br>Поделись пожалуйста исходниками своей библиотеки.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->Вот этого я сделать не могу. <!--emo&:)--><img src='http://forum.sources.ru/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--><br>Коммерческая разработка. <!--emo&:)--><img src='http://forum.sources.ru/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--><br> ]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=263427</guid>
        <pubDate>Sun, 14 Dec 2003 18:04:27 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=263427</link>
        <description><![CDATA[VorteKC:  Спасибо, но я тут сам немножко подумал и решил зделать с помошью асма  <!--emo&:D--><img src='http://forum.sources.ru/html/emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif' /><!--endemo--> <br>mov ah,rd_buffer[3];<br>mov al,rd_buffer[4;<br>mov Chislo,ax;<br><br>Ну вот теперь у меня вроде всё работает, но есть проблемка я же всёравно не понимаю как оно доконца работает. Поделись пожалуйста исходниками своей библиотеки. Уж очень разобраться охота. <br>Зарание благодарен Саша&#33; ]]></description>
        <author>VorteKC</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=262566</guid>
        <pubDate>Sat, 13 Dec 2003 09:05:29 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=262566</link>
        <description><![CDATA[trainer:  <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--><b>VorteKC</b>, 13.12.03, 01:01<br>почему в результате ниже следующей операции компилятор мне выдаёт значение value = 58369 вместо нужных 484?<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->Потому, что порядок не тот. Не:<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--><b>VorteKC</b>, 12.12.03, 21:10<br>Тоесть 3 это младший байт слова а 4 соответственно старший<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->А наоборот: 3 - старший, 4-младший <!--emo&:)--><img src='http://forum.sources.ru/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--> .<br>Тогда:WORD value = ((byte[2]&lt;&lt;8)|byte[3])&0xffff;<br> ]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=262446</guid>
        <pubDate>Fri, 12 Dec 2003 22:01:24 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=262446</link>
        <description><![CDATA[VorteKC:  Может это и ламерский вопрос но всё же: почему в результате ниже следующей операции компилятор мне выдаёт значение value = 58369 вместо нужных 484?<br>buff[0]=0x1;<br>buff[1]=0xE4;<br>WORD value =*((WORD *) (buff)); ]]></description>
        <author>VorteKC</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=262406</guid>
        <pubDate>Fri, 12 Dec 2003 20:21:00 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=262406</link>
        <description><![CDATA[trainer:  Ну это вариантов много, например:<br>BYTE buffer[n];<br>WORD value = *((WORD *)(buffer+2));// это если считать как все нормальные люди(3-ий - это смещение 2) <br><br><span style='color:gray'><b>Добавлено в</b> <time class="tag-mergetime" datetime="2003-12-12T20:26:13+00:00">12.12.03, 20:26</time></span><br> <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--><b>VorteKC</b>, 12.12.03, 21:10<br>кроме нескольких опечаток в ReadMe.txt в примерах на С++ там пару констант немножко не так обозвал<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->Я его на скорую руку писАл. <!--emo&:)--><img src='http://forum.sources.ru/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--><br> ]]></description>
        <author>trainer</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=262329</guid>
        <pubDate>Fri, 12 Dec 2003 18:10:00 +0000</pubDate>
        <title>ModBus</title>
        <link>https://forum.sources.ru/index.php?showtopic=40007&amp;view=findpost&amp;p=262329</link>
        <description><![CDATA[VorteKC:  Спасибо всё работает. Замечаний оссобых нет кроме нескольких опечаток в ReadMe.txt в примерах на С++ там пару констант немножко не так обозвал <!--emo&:)--><img src='http://forum.sources.ru/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--> Но это не очень важно <!--emo&:)--><img src='http://forum.sources.ru/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--> А так всё работает&#33;&#33;&#33; Может что поже вылезет тогда сообщу <!--emo&;)--><img src='http://forum.sources.ru/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif' /><!--endemo--><br><br>Да, ты случайно не знаешь как мне быть с такой проблемкой: я вот получаю массив с ответом от прибора, но нужнные данные только два элемента скажем 3 и 4. Тоесть 3 это младший байт слова а 4 соответственно старший. Вот как мне их склеить и получить число записанное этими двумя байтами?<br>Зарание спасибо&#33;&#33;&#33;&#33; ]]></description>
        <author>VorteKC</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      </channel>
      </rss>
	