FT232

May 03, 2006 Last reply: 19 years ago 912 Replies
ðÒÉ×ÅÔÓÔ×ÕÀ Dmitry!

íÏÖÎÏ ÎÅÍÎÏÇÏ ÐÏÄÒÏÂÎÅÅ Ï ÜÔÉÈ ÐÒÏÂÌÅÍÁÈ É Ï ÔÏÍ ËÁË ÔÙ ÉÈ ÒÅÛÁÌ? á ÔÏ ÐÒÅÄÓÔÏÉÔ ÐÏÈÏÖÁÑ ÚÁÄÁÞËÁ ÐÏ ÏÂÍÅÎÕ PC Ó ËÏÎÔÒÏÌÌÅÒÁÍÉ ÐÏ Modbus. ó Õ×ÁÖÅÎÉÅÍ, Vadim Isaev -

"Ruslan Mohniuc" snipped-for-privacy@f473.n.z2.fidonet.org> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news: snipped-for-privacy@f473.n.z2.ftn...

ðÏÄÓËÁÖÉ, ËÁËÉÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁÄÅÖÎÙÅ ÒÅÛÅÎÉÑ. õ ÍÅÎÑ ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ WinXP/2000 É MODBUS-RTU. ÷ÏÚÍÏÖÎÏ ÄÌÑ ÏÂÌÅÇÞÅÎÉÑ ÚÁÄÁÞÉ ÐÒÉÄÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ MODBUS-ASCII, ÎÏ ÎÅ ÏÞÅÎØ ÈÏÔÅÌÏÓØ ÂÙ, Ô.Ë. ÏÄÉÎ ËÏÎÔÒÏÌÌÅÒ ÕÖÅ ÇÏÔÏ×ÙÊ É ÔÁÍ RTU. ó Õ×ÁÖÅÎÉÅÍ, Vadim Isaev -

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Vadim Isaev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 17 May 2006 07:16:41

+0000 (UTC):

DO>>>> Вообще, подобные проблемы я встречал и в нативной win32 DO>>>> программе, начиная с ее родного гипертерминала...

ON>>> Решение проблемы виндовского COM-порта такое. Отказаться ON>>> навсегда от таймаута в качестве признака окончания пакета.

VI> Можно немного подробнее об этих проблемах и о том как ты их VI> решал?

О проблемах можно, а решал их не я, я под винду не пишу почти (только по-мелочи всякие консольные утилитки). А проблема такая. Есть протокол простой пакетный. Передается в uart пакет, ждется в течение таймаута ответ, если он есть, через некоторый делей посылается следующий пакет, если нет, следующий посылается после таймаута. Проблемы были с выдержкой этих времен с одной стороны и с загрузкой этим процессом окон - с другой. Для более точной выдержки времен пользовался вызовом timeBeginPeriod(1), а вот что там с ожиданием события сделано, чтобы оно винду колом не ставило я в точности не знаю.

dima

formatting link

Hello Dimmy Timchenko!

AK>> þÉÓÔÏ Ô×ÏÒÞÅÓËÉ : × BIOS ÓÅÊÞÁÓ ÅÓÔØ ÐÕÎËÔÙ ÐÏ ÐÏÄÄÅÒÖËÅ USB mouse/kbd AK>> - ÚÎÁÞÉÔ, ÎÁÐÉÓÁÔØ ÞÔÏ-ÔÏ ÔÉÐÁ "DOS USB driver" ÎÅ ÔÁË ÕÖ É ÓÌÏÖÎÏ ... AK>> ;-)

DT> HÅ ÚÎÁÀ, ÎÅ ÚÎÁÀ. ðÙÔÁÌÓÑ ÞÉÔÁÔØ 900-ÓÔÒÁÎÉÞÎÙÊ ÄÁÔÁÛÉÔ - "ÎÉÁÓÉÌÉÌ". ;) DT> á ÜÔÏ Åݣ ÂÅÚ ÏÐÉÓÁÎÉÑ ÈÁÂÏ×, ËÏÔÏÒÙÈ ÓÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÓÔÁÎÄÁÒÔÏ×... DT> þÔÏ-ÔÏ ÎÁÒÏÄ ÐÉÛÅÔ, ÎÏ ÔÏÌØËÏ ÄÌÑ ËÏÎËÒÅÔÎÙÈ ÕÓÔÒÏÊÓÔ×, ÔÉÐÁ mass storage. DT> õÎÉ×ÅÒÓÁÌØÎÙÈ ÄÒÁÊ×ÅÒÏ×/ÂÉÂÌÉÏÔÅË, ÎÁ ÂÁÚÅ ËÏÔÏÒÙÈ ÍÏÖÎÏ ÂÙÌÏ ÂÙ DT> ÒÅÁÌÉÚÏ×ÁÔØ UART-like ÄÏÓÔÕÐ, Ñ ÎÅ ÎÁۣÌ.

ëÓÔÁÔÉ, Ñ ËÁË-ÔÏ ÓÏ×ÓÅÍ ÚÁÂÙÌ, ÞÔÏ × ÎÏ×ÙÈ BIOS ÂÙÌÏ ÞÔÏ-ÔÏ ÔÉÐÁ "boot from USB device" - Ô.Å. ÄÏÓÔÕÐ ËÁË úõ ÒÅÁÌÉÚÕÅÔÓÑ ÐÒÏÓÔÏ ...

Hello Aleksandr.

Wed May 17 2006 13:50, Aleksandr Konosevich wrote to me:

DT>> ÔÉÐÁ mass storage. õÎÉ×ÅÒÓÁÌØÎÙÈ ÄÒÁÊ×ÅÒÏ×/ÂÉÂÌÉÏÔÅË, ÎÁ ÂÁÚÅ ËÏÔÏÒÙÈ DT>> ÍÏÖÎÏ ÂÙÌÏ ÂÙ ÒÅÁÌÉÚÏ×ÁÔØ UART-like ÄÏÓÔÕÐ, Ñ ÎÅ ÎÁۣÌ.

AK> ëÓÔÁÔÉ, Ñ ËÁË-ÔÏ ÓÏ×ÓÅÍ ÚÁÂÙÌ, ÞÔÏ × ÎÏ×ÙÈ BIOS ÂÙÌÏ ÞÔÏ-ÔÏ ÔÉÐÁ "boot AK> from USB device" - Ô.Å. ÄÏÓÔÕÐ ËÁË úõ ÒÅÁÌÉÚÕÅÔÓÑ ÐÒÏÓÔÏ ...

éÚ ÔÏÇÏ, ÞÔÏ ÏÎÏ ÅÓÔØ × ÂÉÏÓÅ, Åݣ ÎÅ ÓÌÅÄÕÅÔ, ÞÔÏ ÜÔÏ ÐÒÏÓÔÏ. âÉÏÓ ×ÅÄØ ÐÉÛÅÔÓÑ/ÁÄÁÐÔÉÒÕÅÔÓÑ ÐÏÄ ËÏÎËÒÅÔÎÏÅ ÖÅÌÅÚÏ/USB-hub, Á ÍÎÅ ÎÁÄÏ, ÞÔÏÂÙ ÒÁÂÏÔÁÌÏ ÓÏ ×ÓÑËÉÍ. ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ, ÎÁÄÏ ÓÏÏÒÕÄÉÔØ ÎÅËÕÀ "ÏÔ×ÅÔÎÕÀ ÞÁÓÔØ" ÎÁ íë. íÎÏÇÏ×ÁÔÏ ÍÏÒÏËÉ. á Ë ÔÏÍÕ ×ÒÅÍÅÎÉ, ËÁË COM ÏËÏÎÞÁÔÅÌØÎÏ ÐÏÍңÔ, ×ÏÚÍÏÖÎÏ, É ÏÔ ÄÏÓÁ ÂÕÄÅÔ ÓÍÙÓÌ ÏÔËÁÚÁÔØÓÑ...

Dimmy.

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 17 May 2006 09:30:30

+0400:

DT>>> Hо только COM1 и COM2, да и не очень хорошо, на самом деле,

DO>> Сейчас прямо проверил USB3COM (PL2302), COM4, досовский DO>> терминал, WinXP - DO>> работает.

DT> Помню, что что-то меня сильно не устроило, и пришлось DT> портировать собственную отладочную терминалку под Win32 - DT> благо VirtualPascal хорошо совместим с BP и менять пришлось DT> немного.

Ага, я тоже в основном его использую для всяких мелких подоконных целей.

DT>>> через VDM получается очень экономично. :)

DO>> Hаверняка это лучше (хотя конечно еще лучше все под win32 DO>> переписать),

DT> Hе хочется, потому что основная среда для этой софтины пока DT> что - дос.

Это сегодня уже экзотика...

DO>> но это ж не самое тривиальное знание... Я когда свое похожее DO>> делал нашел весьма скудную информацию о том как это делать.

DT> В принципе, в MSDN оно есть, плюс DDK. Hо действительно есть DT> не всё: сделать это на том же VP не вышло, пришлось таки DT> ставить этот DDK и писать на C.

В общем я когда делал, нашел информацию с трудом, и как я говорил, остался ряд вопросов. А это действительно проще всего на С, я BC5 использовал, он у Борланда даром раздается.

DO>> Кстати, а посмотреть на твое решение можно?

DT> Да пожалуйста:

Спасибо.

dima

formatting link

Здравствуйте, Уважаемый Vadim!

Wed May 17 2006 11:16, Vadim Isaev wrote to Dmitry Orlov:

VI> Можно немного подробнее об этих проблемах и о том как ты их решал? VI> А то предстоит похожая задачка по обмену PC с контроллерами по Modbus.

Поскольку Орлов с СOM-портами под виндами не работал, то расскажу о проблеме Вам я. Проблема в многозадачности виндов и в их тайной жизни внутри себя. Так, например, если Вы средствами SDK Win32 открыли файл с именем "СОМ1" и потом дали команду write в этот файл некоего массива байтов, то нет никакой гарантии, что эти байты начнут вываливаться из COM-потрта сплошным потоком, без промежутков между символами, как того требует стандарт MODBUS. Винды, особенно 98-е, запросто могут разорвать поток и вставить в него очень солидную паузу, которая вызовет ложный таймаут на приемной стороне. Управлять виндами, типа задания критической секции на исполняемый код,- я не нашла как. Вероятнее всего нельзя вообще. Однако, как ни странно, помогает использование адаптеров USB в RS-232! Эти адаптеры видимо буферизуют пакеты и выдают их в RS-232 уже сплошным потоком символов. MODBUS с такими адапторами работает нормально.

Всего Вам Хорошего Ольга



Hello, Olga Nonova! You wrote in conference fido7.ru.embedded to Vadim Isaev on Wed, 17 May 2006 13:27:35

+0000 (UTC):

ON>>>> òÅÛÅÎÉÅ ÐÒÏÂÌÅÍÙ ×ÉÎÄÏ×ÓËÏÇÏ COM-ÐÏÒÔÁ ÔÁËÏÅ. ïÔËÁÚÁÔØÓÑ ÎÁ×ÓÅÇÄÁ ON>>>> ÏÔ ÔÁÊÍÁÕÔÁ × ËÁÞÅÓÔ×Å ÐÒÉÚÎÁËÁ ÏËÏÎÞÁÎÉÑ ÐÁËÅÔÁ.

VI>> íÏÖÎÏ ÎÅÍÎÏÇÏ ÐÏÄÒÏÂÎÅÅ Ï ÜÔÉÈ ÐÒÏÂÌÅÍÁÈ É Ï ÔÏÍ ËÁË ÔÙ ÉÈ ÒÅÛÁÌ? VI>> á ÔÏ ÐÒÅÄÓÔÏÉÔ ÐÏÈÏÖÁÑ ÚÁÄÁÞËÁ ÐÏ ÏÂÍÅÎÕ PC Ó ËÏÎÔÒÏÌÌÅÒÁÍÉ ÐÏ VI>> Modbus.

ON> ðÏÓËÏÌØËÕ ïÒÌÏ× Ó óOM-ÐÏÒÔÁÍÉ ÐÏÄ ×ÉÎÄÁÍÉ ÎÅ ÒÁÂÏÔÁÌ, ÔÏ ÒÁÓÓËÁÖÕ Ï

îÅ ÐÉÓÁÌ, Á ÒÁÂÏÔÁÌ ËÁË ÒÁÚ ÍÎÏÇÏ. é ÒÁÂÏÔÁÀ.

ON> ÐÒÏÂÌÅÍÅ ON> ÷ÁÍ Ñ. ðÒÏÂÌÅÍÁ × ÍÎÏÇÏÚÁÄÁÞÎÏÓÔÉ ×ÉÎÄÏ× É × ÉÈ ÔÁÊÎÏÊ ÖÉÚÎÉ ×ÎÕÔÒÉ ON> ÓÅÂÑ. ôÁË, ÎÁÐÒÉÍÅÒ, ÅÓÌÉ ÷Ù ÓÒÅÄÓÔ×ÁÍÉ SDK Win32 ÏÔËÒÙÌÉ ÆÁÊÌ Ó ON> ÉÍÅÎÅÍ "óïí1" É ÐÏÔÏÍ ÄÁÌÉ ËÏÍÁÎÄÕ write × ÜÔÏÔ ÆÁÊÌ ÎÅËÏÅÇÏ ÍÁÓÓÉ×Á ON> ÂÁÊÔÏ×, ÔÏ ÎÅÔ ÎÉËÁËÏÊ ÇÁÒÁÎÔÉÉ, ÞÔÏ ÜÔÉ ÂÁÊÔÙ ÎÁÞÎÕÔ ×Ù×ÁÌÉ×ÁÔØÓÑ ON> ÉÚ COM-ÐÏÔÒÔÁ ÓÐÌÏÛÎÙÍ ÐÏÔÏËÏÍ, ÂÅÚ ÐÒÏÍÅÖÕÔËÏ× ÍÅÖÄÕ ÓÉÍ×ÏÌÁÍÉ, ËÁË ON> ÔÏÇÏ ÔÒÅÂÕÅÔ ÓÔÁÎÄÁÒÔ MODBUS.

÷ÏÔ ÔÁËÏÇÏ ÎÅ ×ÉÄÅÌ. ïÔËÒÙ×ÁÀ ÔÅÒÍÉÎÁÌ, ÂÅÒÕ × ËÌÉÐÂÏÒÄ ÔÅËÓÔ ËÉÌÏÂÁÊÔ 10, ÄÅÌÁÀ paste É ÎÉËÁËÉÈ ÒÁÚÒÙ×Ï× ÎÁ ÓËÏÐÅ ÎÅ ×ÉÖÕ. îÕ É ÐÒÏÇÒÁÍÍÙ, ËÏÔÏÒÙÅ ÄÌÑ ÍÅÎÑ ÐÉÓÁÌÉÓØ ÒÁÂÏÔÁÀÔ ÂÅÚ ÐÏÄÏÂÎÙÈ ÐÒÏÂÌÅÍ. ëÁË Ó USB ÔÁË É Ó ÎÏÒÍÁÌØÎÙÍÉ ÐÏÒÔÁÍÉ.

ON> ÷ÉÎÄÙ, ÏÓÏÂÅÎÎÏ 98-Å, ÚÁÐÒÏÓÔÏ ÍÏÇÕÔ ÒÁÚÏÒ×ÁÔØ ÐÏÔÏË É ×ÓÔÁ×ÉÔØ × ÎÅÇÏ

ðÒÏ 98 ÔÏÖÅ ÎÉÞÅÇÏ ÎÅ ÓËÁÖÕ, ÏÞÅÎØ ÄÁ×ÎÏ Ó ÎÉÍÉ ÎÅ ÒÁÂÏÔÁÌ, ÎÏ ÎÅ ÄÕÍÁÀ, ÞÔÏ É ÔÁÍ ÔÁËÏÅ ÂÙ×ÁÅÔ.

ON> ÏÞÅÎØ ÓÏÌÉÄÎÕÀ ÐÁÕÚÕ, ËÏÔÏÒÁÑ ×ÙÚÏ×ÅÔ ÌÏÖÎÙÊ ÔÁÊÍÁÕÔ ÎÁ ÐÒÉÅÍÎÏÊ ON> ÓÔÏÒÏÎÅ. õÐÒÁ×ÌÑÔØ ×ÉÎÄÁÍÉ, ÔÉÐÁ ÚÁÄÁÎÉÑ ËÒÉÔÉÞÅÓËÏÊ ÓÅËÃÉÉ ÎÁ ON> ÉÓÐÏÌÎÑÅÍÙÊ ËÏÄ,- Ñ ÎÅ ÎÁÛÌÁ ËÁË. ÷ÅÒÏÑÔÎÅÅ ×ÓÅÇÏ ÎÅÌØÚÑ ×ÏÏÂÝÅ.

÷ÏÔ ÔÁË ÎÅ ÐÒÏÂÏ×ÁÌÉ?

InitializeCriticalSection(&CriticalSection); Critical = TryEnterCriticalSection(&CriticalSection); if (Critical) {

//....... LeaveCriticalSection(&CriticalSection);

} DeleteCriticalSection(&CriticalSection);

ON> ïÄÎÁËÏ, ËÁË ÎÉ ÓÔÒÁÎÎÏ, ÐÏÍÏÇÁÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÁÄÁÐÔÅÒÏ×

äÕÍÁÀ, ÅÝÅ ÂÏÌØÛÅ ÐÏÍÏÖÅÔ ÏÂÒÁÝÅÎÉÅ Ë ÐÒÏÆÅÓÓÉÏÎÁÌØÎÙÍ win32 ÐÒÏÇÒÁÍÍÉÓÔÁÍ.

dima

formatting link

17 ÍÁÑ 06, Vadim Isaev wrote to Ruslan Mohniuc

VI> ðÏÄÓËÁÖÉ, ËÁËÉÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁÄÅÖÎÙÅ pÅÛÅÎÉÑ. õ ÍÅÎÑ VI> ÐpÅÄÐÏÌÁÇÁÅÔÓÑ WinXP/2000 É MODBUS-RTU. ÷ÏÚÍÏÖÎÏ ÄÌÑ ÏÂÌÅÇÞÅÎÉÑ ÚÁÄÁÞÉ VI> ÐpÉÄÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ MODBUS-ASCII, ÎÏ ÎÅ ÏÞÅÎØ ÈÏÔÅÌÏÓØ ÂÙ, Ô.Ë. ÏÄÉÎ VI> ËÏÎÔpÏÌÌÅp ÕÖÅ ÇÏÔÏ×ÙÊ É ÔÁÍ RTU.

óËÁÚËÉ ÜÔÏ ×ÓÅ, Modbus-RTU ÏÔÌÉÞÎÏ pÁÂÏÔÁÅÔ ÐÏÄ WinXP, ÔÏÞÎÅÅ ËÁË ÎÁÐÉÛÅÛØ, ÔÁË É ÂÕÄÅÔ pÁÂÏÔÁÔØ. óËÏÌØËÏ ÎÅ ÇÏÎÑÌ ÐpÏÇpÁÍÍÙ ÏÐpÏÓÁ É ÜÍÕÌÑÔÏpÙ ÓÌÅÊ×Ï× - ÐpÏÂÌÅÍÙ ÂÙ×ÁÌÉ ÔÏÌØËÏ ÐÏ ×ÉÎÅ ÐÏ ×ÉÎÅ ÍÏÉÈ ÐpÏÇpÁÍÍ × ÐÏÄËÌÀÞÅÎÎÏÍ Ë ËÏÍÐÕ ÕÓÔpÏÊÓÔ×Å, ÎÏ ÐÏÓÌÅ ÏÔÌÁÄËÉ ÉÓÞÅÚÁÌÉ É ÏÎÉ. äÌÑ ÏÂÌÅÇÞÅÎÉÑ ÚÁÄÁÞÉ ÍÏÖÎÏ ÎÁÊÔÉ ÞÔÏ-ÎÉÂÕÔØ ÇÏÔÏ×ÅÎØËÏÅ, × ÉÎÅÔÅ ÐÏÐÁÄÁÌÏÓØ: × ×ÉÄÅ dll:
formatting link
(ÎÅ ÐpÏÂÏ×ÁÌ) × ×ÉÄÅ ÓÅp×ÅpÎÏÊ ÞÁÓÔÉ, pÁÚÄÁÀÝÅÊ pÅÚÕÌØÔÁÔÙ ÏÐpÏÓÁ ÐÏ TCP/IP (ÐpÏÂÏ×ÁÌ ÏÄÉÎ ÉÚ ÐpÉÍÅpÏ×, ÇÌÀÞÉÌÏ ÐpÉ ÏÐpÏÓÅ ÂÏÌÅÅ 9 pÅÇÉÓÔpÏ×) ÜÔÏ ÉÚ ÂÅÓÐÌÁÔÎÏÇÏ, ÐÏÐÁÄÁÌÏÓØ ÅÝÅ ËÏÅ-ÞÔÏ (OPC ÓÅp×ÅpÙ × ÞÁÓÔÎÏÓÔÉ), ÎÏ ÚÁ ÄÅÎØÇÉ.

Bye

HÁ ×ÁÛÅ ÉÍÑ ×ËÌÀÞÅÎ TWIT. ÷ÁÛÅ ÐÉÓØÍÏ ÎÅ ÐpÏÞÉÔÁÎÏ. ðÏÞÔÏ×ÙÊ pÏÂÏÔ TWIT_OK.

ðpÉ×ÅÔ, Andrey!

*** 16 May 06 19:36, Andrey Khristov wrote to Dimmy Timchenko:

DT>> ÎÅÓËÏÌØËÏ ÓÔÁÎÄÁÒÔÏ×... þÔÏ-ÔÏ ÎÁÒÏÄ ÐÉÛÅÔ, ÎÏ ÔÏÌØËÏ ÄÌÑ DT>> ËÏÎËÒÅÔÎÙÈ ÕÓÔÒÏÊÓÔ×, ÔÉÐÁ mass storage. õÎÉ×ÅÒÓÁÌØÎÙÈ DT>> ÄÒÁÊ×ÅÒÏ×/ÂÉÂÌÉÏÔÅË, ÎÁ ÂÁÚÅ ËÏÔÏÒÙÈ ÍÏÖÎÏ ÂÙÌÏ ÂÙ ÒÅÁÌÉÚÏ×ÁÔØ DT>> UART-like ÄÏÓÔÕÐ, Ñ ÎÅ ÎÁۣÌ.

AK> ÏÄÉÎ ÄÅÑÔÅÌØ ÎÁÐÉÓÁÌ ÒÕËÁÍÉ ×ÅÓØ USB Stack ÎÁ ÓÌÅÇËÁ ÒÁÚÏÇÎÁÎÙÊ AVR AK> ÎÁ PIC ÏÎ ÔÏÖÅ ÐÒÏÂÏ×ÁÌ, ÎÏ ÐÏ ÓËÏÒÏÓÔÉ ÎÅ ÐÏËÁÔÉÌÏ. AK> ÒÅÚÕÌØÔÁÔ ÅÇÏ ÄÅÊÓÔ×ÉÊ ÉÍÅÎÕÅÔÓÑ IgorPlug, ÓÏÒÓÙ ÄÏÓÔÕÐÎÙ. AK> ÇÒÏÚÉÔÓÑ ÚÁÓÌÁÔØ ÜÔÏ ÄÅÌÏ Atmel'Õ × ÁÐÐÎÏÔÙ.

ïÎÏ ÕÖÅ ÄÁ×ÎÙÍ ÄÁ×ÎÏ × ÁÐÐÎÏÔÁÈ ÐÒÅÄÓÔÁ×ÌÅÎÏ (AVR309). Ó Õ×ÁÖÅÎÉÅÍ ÷ÌÁÄÉÓÌÁ×
ðÒÉ×ÅÔ, Alexej! ÷Ù ÐÉÓÁÌÉ to Vadim Isaev on Wed, 17 May 2006 18:24:16 +0400:

VI>> ðÏÄÓËÁÖÉ, ËÁËÉÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁÄÅÖÎÙÅ pÅÛÅÎÉÑ. õ ÍÅÎÑ VI>> ÐpÅÄÐÏÌÁÇÁÅÔÓÑ WinXP/2000 É MODBUS-RTU. ÷ÏÚÍÏÖÎÏ ÄÌÑ ÏÂÌÅÇÞÅÎÉÑ VI>> ÚÁÄÁÞÉ ÐpÉÄÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ MODBUS-ASCII, ÎÏ ÎÅ ÏÞÅÎØ ÈÏÔÅÌÏÓØ VI>> ÂÙ, Ô.Ë. ÏÄÉÎ ËÏÎÔpÏÌÌÅp ÕÖÅ ÇÏÔÏ×ÙÊ É ÔÁÍ RTU. AG> óËÁÚËÉ ÜÔÏ ×ÓÅ, Modbus-RTU ÏÔÌÉÞÎÏ pÁÂÏÔÁÅÔ ÐÏÄ WinXP, ÔÏÞÎÅÅ ËÁË AG> ÎÁÐÉÛÅÛØ, ÔÁË É ÂÕÄÅÔ pÁÂÏÔÁÔØ.

á ÅÝÅ ËÁË Win ÚÁÇÒÕÚÉÛØ ÐÏÓÔÏÒÏÎÎÉÍÉ ÚÁÄÁÞÁÍÉ, ÔÁË É ÎÁÞÉÎÁÀÔÓÑ ÐÒÏÂÌÅÍÙ.

With best regards, Leha Bishletov. E-mail: snipped-for-privacy@rol.ru

Hi Vadim !

óÏ×ÓÅÍ ÎÅÄÁ×ÎÏ 17 May 06 11:25, Vadim Isaev ÐÉÓÁÌ Ë Ruslan Mohniuc:

VI> ðÏÄÓËÁÖÉ, ËÁËÉÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁÄÅÖÎÙÅ ÒÅÛÅÎÉÑ. õ ÍÅÎÑ VI> ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ WinXP/2000 É MODBUS-RTU. õ ÍÅÎÑ ÉÍÅÎÎÏ ÜÔÁ Ó×ÑÚËÁ ÒÁÂÏÔÁÅÔ ÂÅÚ ÐÒÏÂÌÅÍ. C++Builder ÓÏ ×ÓÔÒÏÅÎÎÙÍÉ ÔÁÊÍÅÒÁÍÉ É ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ËÏÍÐÏÎÅÎÔÁÍÉ ÐÏÒÔÏ×. é ÎÁ 98-Í ÏÎÏ ÒÁÂÏÔÁÌÏ. é Ó ÁÐÐÁÒÁÔÎÙÍ ÕÐÒÁ×ÌÅÎÉÅÍ RTS ÏÔ ×ÉÎÄÙ ÏÎÏ ÒÁÂÏÔÁÌÏ.

åÓÔØ ÄÏÓÔÕÐÎÙÅ × ÉÎÅÔÅ ÐÒÏÇÒÁÍÍÙ, ËÏÔÏÒÙÅ ÒÅÁÌÉÚÕÀÔ RTU É ÒÁÂÏÔÁÀÔ ÐÏÄ XP, ÐÏÇÌÑÄÅ× ÎÁ ÒÅÚÕÌØÔÁÔ ÉÈ ÒÁÂÏÔÙ, ÍÏÖÎÏ ÓËÁÚÁÔØ, ÞÔÏ ×ÓÅ ÕÓÔÏÊÞÉ×Ï ÒÁÂÏÔÁÅÔ.

VI> ÷ÏÚÍÏÖÎÏ ÄÌÑ ÏÂÌÅÇÞÅÎÉÑ ÚÁÄÁÞÉ ÐÒÉÄÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ MODBUS-ASCII, VI> ÎÏ ÎÅ ÏÞÅÎØ ÈÏÔÅÌÏÓØ ÂÙ, Ô.Ë. ÏÄÉÎ ËÏÎÔÒÏÌÌÅÒ ÕÖÅ ÇÏÔÏ×ÙÊ É ÔÁÍ RTU. ôÕÔ ×ÓÅ ÄÅÌÏ × ÓËÏÒÏÓÔÉ. åÓÌÉ ÔÙ ÈÏÞÅÛØ ÏÐÔÉÍÁÌØÎÏÊ ÒÁÂÏÔÉÙ ÎÁ 115200 É RTU, ÔÏ ÔÕÔ ÔÅÂÅ ÎÉ ÏÄÎÁ ÏÐÅÒÁÃÉÏÎËÁ ÎÅ ÐÏÍÏÖÅÔ. ìÉÂÏ ÞÔÏ-ÔÏ ÐÒÏÇÌÁÔÙ×ÁÔØÓÑ ÂÕÄÅÔ, ÌÉÂÏ ÔÁÊÍÁÕÔÙ ÚÁ×ÙÛÅÎÙ. íÅÎÑ ÓËÏÒÏÓÔÉ ×ÙÛÅ 19200 ÐÒÏÓÔÏ ÎÅ ÉÎÔÅÒÅÓÕÀÔ.

WBRgrds Ruslan

Hi Dimmy !

óÏ×ÓÅÍ ÎÅÄÁ×ÎÏ 17 May 06 13:33, Dimmy Timchenko ÐÉÓÁÌ Ë Ruslan Mohniuc:

DT>>> èÏÒÏÛÏ, ÔÏÇÄÁ ÐÏÄÓËÁÖÉ, ÇÄÅ Õ ÎÁÓ × ëÉÛÉΣ×Å ÍÏÖÎÏ ÚÁËÁÚÁÔØ DT>>> ÉÚÇÏÔÏ×ÌÅÎÉÅ ÍÎÏÇÏÓÌÏÊÎÏÊ ÐÌÁÔÙ ÄÌÑ PCI. :)

RM>> á ÔÙ ÂÕÄÔÏ ÎÅ ÚÎÁÅÛØ?

DT> HÕ ÐÒÏÇÒÁÍÍÉÓÔ Ñ, ÐÒÏÇÒÁÍÍÉÓÔ. :) þÔÏ ÓËÁÖÕÔ ÖÅÌÅÚÑÞÎÉËÉ, ÔÏÍÕ É DT> ×ÅÒÀ. á PCI-ÐÌÁÔÕ ÐÏÞÅÍÕ-ÔÏ ÎÉËÔÏ ÄÅÌÁÔØ ÎÅ ÈÏÞÅÔ, ÇÏ×ÏÒÑÔ - ÇÅÍÏÒÒÏÑ DT> ÍÎÏÇÏ... ïÊ, ×Ù ÍÎÅ ÜÔÏ ÎÅ ÒÁÓÓËÁÚÙ×ÁÊÔÅ, ÄÁ? :) ðÒÏÓÔÏ ÌÅÎÑÔÓÑ. :)

DT>>> èÏÔÑ ÉÎÔÅÒÅÓÎÏ, ÄÅÌÁÀÔÓÑ ÌÉ ÓÅÊÞÁÓ ÐÏÌÕÐÒÏÍÙÛÌÅÎÎÙÅ PC Ó ISA. RM>> äÅÌÁÀÔ ÍÎÏÇÉÅ. ðÏÓÌÅÄÎÅÅ ÍÎÏÊ ×ÉÄÅÎÎÏÅ- ÜÔÏ ÍÅÌÅÎØËÉÊ ÔÁËÏÊ RM>> ÏÄÎÏÐÌÁÔÎÙÊ ËÏÍÐ, Õ ËÏÔÏÒÏÇÏ ÎÁ ÎÅÓÔÁÎÄÁÒÔÎÙÊ ÒÁÚßÅÍ ×Ù×ÅÄÅÎÙ ×ÓÅ RM>> ISA-ÛÎÙÅ ÓÉÇÎÁÌÙ.

DT> HÕ ×ÏÔ, ÎÅÓÔÁÎÄÁÒÔÎÙÊ. :) üÔÏ ÐÏÔÏÍÕ ÞÔÏ ÐÌÏÝÁÄØ, ÚÁÎÉÍÁÅÍÁÑ ÓÔÁÎÄÁÒÔÎÙÍ ISA, ÐÒÉÍÅÒÎÏ ÒÁ×ÎÁ ÐÌÏÝÁÄÉ ×ÓÅÇÏ ÜÔÏÇÏ ËÏÍÐØÀÔÅÒÁ. :)

DT>>> HÕÖÎÁ ÐÒÏÓÔÏ Ó×ÑÚØ PC Ó ÎÅÓËÏÌØËÉÍÉ ×ÎÅÛÎÉÍÉ ÕÓÔÒÏÊÓÔ×ÁÍÉ. HÁ DT>>> ËÁÖÄÏÍ ÔÁËÏÍ ÕÓÔÒÏÊÓÔ×Å - ÔÏËÏ×ÁÑ ÐÅÔÌÑ, ÓËÏÒÏÓÔØ - 4800. [skip]

RM>> íÎÅ ËÁÖÅÔÓÑ, ÞÔÏ ÔÅÂÅ ÓÏ×ÓÅÍ ÎÅ ÎÕÖÅÎ USB, ÄÏÓÔÁÔÏÞÎÏ ËÏÍÏ×ÓËÏÊ RM>> ÍÎÏÇÏÐÏÒÔÏ×ËÉ ÐÌÀÓ ÐÅÒÅÈÏÄ × ÔÏËÏ×ÕÀ ÐÅÔÌÀ.

DT> PCI-ÎÙÅ ÍÎÏÇÏÐÏÒÔÏ×ËÉ ÓÌÉÛËÏÍ ÄÏÒÏÇÉ, ÄÁ É ËÁËÏÊ ÓÍÙÓÌ ÓÎÁÞÁÌÁ DT> ÐÒÅÏÂÒÁÚÏ×Ù×ÁÔØ ÓÉÇÎÁÌ × RS, Á ÐÏÔÏÍ × ÔÏËÏ×ÕÀ ÐÅÔÌÀ? äÅÛÅ×ÌÅ É ÐÒÏÝÅ DT> ÓÄÅÌÁÔØ Ó×ÏÀ ÔÁËÕÀ ×ÏÔ ÖÅÌÅÚÑËÕ. ñ ÔÁËÕÀ ÄÅÌÁÌ. 4 ÐÏÒÔÁ ÄÌÑ ÏÐÒÏÓÁ ÓÌÅÊ×Ï× ÐÌÀÓ Ä×Á ÐÏÒÔÁ ÄÌÑ ÏÔ×ÅÔÁ ÎÁ ×ÎÅÛÎÉÅ ÚÁÐÒÏÓÙ Ó ×ÅÒÈÎÅÇÏ ÕÒÏ×ÎÑ. ÷ÓÅ ÐÏÒÔÙ ÎÅÚÁ×ÉÓÉÍÙ É ËÏÎÆÉÇÕÒÉÒÕÅÍÙ. MODBUS-RTU, RS485. HÁ PIC18F452. HÅ ÔÁË ÕÖ ×ÓÅ ÐÒÏÓÔÏ, ÎÏ ×ÐÏÌÎÅ ÒÅÛÁÂÅÌØÎÏ. HÏ Õ ÍÅÎÑ ÎÅ ÉÚ-ÚÁ ÎÅÄÏÓÔÁÔËÁ ÐÏÒÔÏ×, ÓËÏÒÅÅ ÄÌÑ ÕÍÅÎØÛÅÎÉÑ ÔÒÁÆÆÉËÁ ÎÁ ×ÅÒÈÎÉÊ ÕÒÏ×ÅÎØ, ÎÕ É ×ÏÚÍÏÖÎÏÓÔØ ÎÅÚÁ×ÉÓÉÍÏÊ ÒÁÚÄÁÞÉ ÓÏÂÒÁÎÎÙÈ ÄÁÎÎÙÈ × Ä×Å ÒÁÚÎÙÅ ÓÅÔÉ.

WBRgrds Ruslan

Здравствуйте, Уважаемый Dmitry!

Wed May 17 2006 17:51, Dmitry Orlov wrote to Olga Nonova:

ON>> .. Так, например, если Вы средствами SDK Win32 открыли файл с ON>> именем "СОМ1" и потом дали команду write в этот файл некоего массива ON>> байтов, то нет никакой гарантии, что эти байты начнут вываливаться ON>> из COM-потрта сплошным потоком, без промежутков между символами, как ON>> того требует стандарт MODBUS.

DO> Вот такого не видел. Открываю терминал, беру в клипборд текст килобайт DO> 10, делаю paste и никаких разрывов на скопе не вижу. Hу и программы, DO> которые для меня писались работают без подобных проблем. Как с USB так и DO> с нормальными портами.

Повторяю. Если разработчик попытается изобразить на ПК мастера MODBUS средствами SDK win32, то он неминуемо столкнется с непредсказуемым формированием пакетов по временным характеристикам. Я не знаю, как работают Ваши программы, по-видимому это совсем не MODBUS, а обычный поток данных без жестких требований по временным задержкам и таймаутам.

ON>> очень солидную паузу, которая вызовет ложный таймаут на приемной ON>> стороне. Управлять виндами, типа задания критической секции на ON>> исполняемый код,- я не нашла как. Вероятнее всего нельзя вообще.

DO> Вот так не пробовали?

DO> InitializeCriticalSection(&CriticalSection); DO> Critical = TryEnterCriticalSection(&CriticalSection); DO> if (Critical) DO> {

DO> //....... DO> LeaveCriticalSection(&CriticalSection);

DO> } DO> DeleteCriticalSection(&CriticalSection);

Hет, не пробовала, т.к. берегу свое время и тратить его на разбирательства виндовских тайн не желаю. Я уж не говорю, что представленный Вами фрагмент блокирует только треды соседних юзерских приложений, но никак не треды самоей ОС. А вот они-то...

ON>> Однако, как ни странно, помогает использование адаптеров

DO> Думаю, еще больше поможет обращение к профессиональным win32 DO> программистам.

"Специалист подобен флюсу" (с) -Кузьма Прутков

Всего Вам Хорошего Ольга



Hello, Pavel Grishin! You wrote in conference fido7.ru.embedded to Alexandr Torres on Wed, 17 May

2006 18:52:01 +0400:

PG> HÁ ×ÁÛÅ ÉÍÑ ×ËÌÀÞÅÎ TWIT. ÷ÁÛÅ ÐÉÓØÍÏ ÎÅ ÐpÏÞÉÔÁÎÏ. PG> ðÏÞÔÏ×ÙÊ pÏÂÏÔ TWIT_OK.

dima

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required