Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с СОМ-портовым устройством / 9 сообщений из 9, страница 1 из 1
02.06.2010, 18:46
    #36664964
Victoriacom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
У меня проблема с устройством Терминал учёта рабочего времени. Если размер накопившихся в нём данных превышает 9000 байт, не отдаёт ВСЕХ данных!!! Делаю несколько попыток - результат не стабильный: то 50%, то 80% ... Бред какой-то. Читаю данные через MSCOMM6. Инициализирую объект так:
oCom.RThreshold = 1
oCom.SThreshold = 1
oCom.DTREnable = .T.
oCom.RTSEnable = .T.
oCom.CommPort = nPort
oCom.Settings = "57600,N,8,1"
oCom.InBufferSize=8192
oCom.OutBufferSize=512
oCom.Handshaking=0
oCom.InputLen=0

Читаю так:
lYield=_VFP.AutoYield
_VFP.AutoYield=.F.
oCom.OUTPUT=cCommand &&передаю команду
DOEVENTS
cCode=oCom.INPUT && в режиме отладчика, почти всегда отрабатывает правильно!!!
DO WHILE oCom.InBufferCount>0
cCode=cCode+oCom.INPUT
ENDDO
_VFP.AutoYield=lYield

Что не правильно?
Может что-то с самим железом?
...
Рейтинг: 0 / 0
03.06.2010, 10:24
    #36665835
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
> Автор: Victoriacom

На прием данных у MSCOMM6 есть событие OnComm, в котором и отрабатывать принимаемые данные.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
15.06.2010, 16:44
    #36688174
Victoriacom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
Игорь Горбонос,
это всё уже опробовано...
...
Рейтинг: 0 / 0
15.06.2010, 18:29
    #36688403
50копеек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
Как согласуется это:
Код: plaintext
Если размер накопившихся в нём данных превышает  9000  байт...

И это ?
Код: plaintext
oCom.InBufferSize= 8192 
...
Рейтинг: 0 / 0
16.06.2010, 14:02
    #36690005
Victoriacom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
50копеек,
Нормально согласуется.
InBufferSize имеет ограничения. Я пробовал увеличивать - результат тот же. К тому же алгоритм, предполагает вычищать буфер до нуля. А размер данных по максимуму может достигать 80000 байт.
...
Рейтинг: 0 / 0
16.06.2010, 14:30
    #36690080
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
Victoriacom К тому же алгоритм, предполагает вычищать буфер до нуля. А размер данных по максимуму может достигать 80000 байт.

Из Вашего алгоритма видно, что Вы опустошаете буффер и.. все. В нем новые данные не успели образоваться, скорее всего.

У устройства можно спросить объем данных, которые оно планирует отдать?
...
Рейтинг: 0 / 0
16.06.2010, 14:39
    #36690107
Victoriacom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
x1ca4064,

Понятно. Но в переменную "cCode" по-моему должно попадать всё, пока InBufferCount будет больше нуля.

...
DO WHILE oCom.InBufferCount>0
cCode=cCode+oCom.INPUT
ENDDO

К тому же, в момент выгрузки данные в устройстве не будут пополняться.
...
Рейтинг: 0 / 0
16.06.2010, 14:49
    #36690139
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
Victoriacom,

Да, но данные попадают в буффер очень медленно, а читаются быстро.
...
Рейтинг: 0 / 0
17.06.2010, 10:25
    #36691673
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с СОМ-портовым устройством
> Автор: Victoriacom

В обработчике события OnComm стоит следующий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Local m_ppp
m_ppp=""
If This.CommEvent== 2  Then
 Wait "" Timeout  0 . 1 
 This.inputlen=This.inbuffercount
 m_ppp = This.Input
 Thisform.TransformRecive(m_ppp)
 This.inbuffercount= 0 
EndIf
При запуске из среды, не всегда происходит полная передача данных. В скомпилированном exe никаких проблем не возникало.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблемы с СОМ-портовым устройством / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]