íÏÖÎÏ ÎÅÍÎÏÇÏ ÐÏÄÒÏÂÎÅÅ Ï ÜÔÉÈ ÐÒÏÂÌÅÍÁÈ É Ï ÔÏÍ ËÁË ÔÙ ÉÈ ÒÅÛÁÌ? á ÔÏ ÐÒÅÄÓÔÏÉÔ ÐÏÈÏÖÁÑ ÚÁÄÁÞËÁ ÐÏ ÏÂÍÅÎÕ PC Ó ËÏÎÔÒÏÌÌÅÒÁÍÉ ÐÏ Modbus. ó Õ×ÁÖÅÎÉÅÍ, Vadim Isaev -
FT232
May 03, 2006
Last reply: 19 years ago
912 Replies
ðÒÉ×ÅÔÓÔ×ÕÀ Dmitry!
"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