Вверх ↑
Этот топик читают: Гость
Ответов: 933
Рейтинг: 197
#31: 2025-07-25 18:45:01 ЛС | профиль | цитата
Запусти и покажи что в Memo (лучше выложить)

Add(MainForm,16112679,175,84)
{
Width=391
Height=460
Point(onClose)
link(onCreate,11516863:doOpen,[])
link(onClose,11516863:doClose,[])
}
Add(Button,9912329,175,133)
{
Width=375
Height=40
Align=2
Caption="Получить днные"
link(onClick,5865439:doData,[])
}
Add(StreamConvertor,5814995,273,133)
{
Mode=3
link(onResult,11516863:doWrite,[(312,139)(312,118)])
}
Add(StreamConvertor,6062037,392,112)
{
Mode=7
link(onResult,6720437:doEvent1,[])
}
Add(DoData,5865439,224,133)
{
Data=String(4552001E8480001E84800001)
link(onEventData,5814995:doConvert,[])
}
Add(COMEX,11516863,329,98)
{
Port=2
BaudRate=19
link(onSyncRead,6062037:doConvert,[])
}
Add(MemoryStream,10924119,560,112)
{
Point(doPosition)
}
Add(Hub,6720437,448,112)
{
OutCount=4
link(onEvent1,10924119:doCopy,[])
link(onEvent2,3822863:doData,[(487,125)(487,132)])
link(onEvent3,13981960:doClear,[(480,132)(480,167)(599,167)(599,195)])
link(onEvent4,16026104:doFor,[(473,139)(473,188)])
}
Add(DoData,3822863,497,126)
{
Data=Integer(0)
link(onEventData,10924119:doPosition,[])
}
Add(DataToFileEx,2610789,560,182)
{
DataSize=2
BigEndian=0
link(onGet,13981960:doAdd,[])
link(Stream,10924119:Stream,[])
}
Add(For,16026104,490,182)
{
Step=2
link(onEvent,2610789:doGet,[])
link(onStop,10359056:doData,[(550,195)(550,244)])
link(End,10924119:Size,[(503,173)(573,173)])
}
Add(Memo,490568,693,238)
{
Top=40
Width=375
Height=381
Align=5
Font=[Lucida Console,12,0,0,204]
Antialiased=1
ScrollBars=3
}
Add(StrList,13981960,630,182)
{
}
Add(DoData,10359056,630,238)
{
link(onEventData,490568:doAdd,[])
link(Data,13981960:Text,[])
}

карма: 19

0
Ответов: 8961
Рейтинг: 824
#32: 2025-07-25 18:48:51 ЛС | профиль | цитата
Gunta, клещами вытягиваете
Если строка не помещается в буфере, то данные в СОМех теряются, надо обычный СОМ применить и считывать через время короче буфера на установленной скорости (115000/10=11,5 кб/сек, считывать надо не реже 0,25 сек) и сшивать строки на выходе.
карма: 19

0
Ответов: 109
Рейтинг: 1
#33: 2025-07-25 19:39:43 ЛС | профиль | цитата
Леонид писал(а):
Если строка не помещается в буфере, то данные в СОМех теряются,

Ну первые 4096 не теряются.Графики сравнил же. Дело не в этом, а в том что неправильно отображается.

--- Добавлено в 2025-07-25 19:54:34

Gunta писал(а):
Запусти и покажи что в Memo

https://disk.yandex.ru/d/h3PGqWlnd7qc5A

Редактировалось 1 раз(а), последний 2025-07-25 19:54:34
карма: 1

0
Ответов: 933
Рейтинг: 197
#34: 2025-07-25 20:03:15 ЛС | профиль | цитата
Через COM

Add(MainForm,2953706,84,266)
{
Width=1263
Height=618
Point(onClose)
}
Add(Button,9912329,133,266)
{
Left=230
Top=5
Width=130
Caption="Получить днные"
link(onClick,6462497:doEvent1,[])
}
Add(StreamConvertor,5814995,294,287)
{
Mode=3
link(onResult,13283163:doWrite,[])
}
Add(COM,13283163,350,266)
{
Port=2
BaudRate=19
link(onRead,14799938:doConvert,[])
}
Add(DoData,5043859,294,329)
{
Data=Integer(3694)
link(onEventData,13283163:doRead,[(340,335)(340,300)])
}
Add(Timer,9432040,245,329)
{
Interval=250
Enable=1
AutoStop=2
link(onTimer,5043859:doData,[])
}
Add(Hub,6462497,182,266)
{
OutCount=5
link(onEvent1,13283163:doOpen,[])
link(onEvent2,13283163:doRXClear,[(340,279)(340,286)])
link(onEvent3,2011678:doEvent1,[(207,286)(207,426)])
link(onEvent4,5865439:doData,[])
link(onEvent5,9432040:doTimer,[(235,300)(235,335)])
}
Add(DoData,5865439,245,287)
{
Data=String(4552001E8480001E84800001)
link(onEventData,5814995:doConvert,[])
}
Add(ListBox,10161392,728,560)
{
Left=5
Top=95
Width=100
Height=345
}
Add(Edit,12377720,630,560)
{
Left=405
Top=5
Width=135
Text=""
link(onEnter,14304810:doPosition,[])
}
Add(Hub,2011678,581,420)
{
OutCount=3
link(onEvent1,13981960:doClear,[(606,426)(606,356)])
link(onEvent2,13672777:doClear,[(692,433)(692,405)])
}
Add(Plotter,4889914,721,329)
{
Left=140
Top=95
Width=1075
Height=455
Name="123"
MaxH=6600
}
Add(StrCatDelim,9299780,735,630)
{
Delimiter=">>"
}
Add(If_else,9492653,665,630)
{
Type=2
link(onTrue,9299780:doStrCatDlm,[])
link(Op2,14304810:Position,[])
}
Add(TrackBar,14304810,672,567)
{
Left=575
Top=5
Width=430
Max=6500
Position=1400
link(onPosition,12377720:doText,[(711,573)(711,552)(620,552)(620,566)])
}
Add(PlotLines,13672777,721,392)
{
Grapher="123"
Color=0
Step=1
}
Add(StreamConvertor,14799938,399,273)
{
Mode=7
link(onResult,6720437:doEvent1,[])
}
Add(MemoryStream,10924119,567,273)
{
Point(doPosition)
}
Add(Hub,6720437,455,273)
{
OutCount=4
link(onEvent1,10924119:doCopy,[])
link(onEvent2,3822863:doData,[(494,286)(494,293)])
link(onEvent3,16026104:doFor,[(487,293)(487,349)])
}
Add(DoData,3822863,504,287)
{
Data=Integer(0)
link(onEventData,10924119:doPosition,[])
}
Add(DataToFileEx,2610789,567,343)
{
DataSize=2
BigEndian=0
link(onGet,13981960:doAdd,[])
link(Stream,10924119:Stream,[])
}
Add(For,16026104,497,343)
{
Step=2
link(onEvent,2610789:doGet,[])
link(onStop,9602399:doEnum,[(557,356)(557,398)])
link(End,10924119:Size,[(510,334)(580,334)])
}
Add(StrList,13981960,630,343)
{
}
Add(ArrayEnum,9602399,644,392)
{
link(onItem,13672777:doAdd,[])
link(Array,13981960:Array,[])
}


Редактировалось 1 раз(а), последний 2025-07-25 20:04:32
карма: 19

0
Ответов: 109
Рейтинг: 1
#35: 2025-07-25 20:20:01 ЛС | профиль | цитата
Gunta писал(а):
Через COM

Нет, это не то



--- Добавлено в 2025-07-25 20:24:52

Я заметил что если линии большой интенсивности их видно отдельной короткой строкой в перехватчике сом порта.



Длинная строчка это линии маленькой интенсивности. Но размер байт в присланный в порт от Ардуино никогда не меняется и составляет 7388 байт. Я считываю по 2 захода по 3694 байта. 3694 пикселя в ПЗС.

Редактировалось 2 раз(а), последний 2025-07-25 20:27:14
карма: 1

0
Ответов: 933
Рейтинг: 197
#36: 2025-07-25 20:36:31 ЛС | профиль | цитата
Andrej77rv писал(а):
Нет, это не то

А так?

Add(MainForm,2953706,84,266)
{
Width=1263
Height=618
Point(onClose)
}
Add(Button,9912329,133,266)
{
Left=230
Top=5
Width=130
Caption="Получить днные"
link(onClick,6462497:doEvent1,[])
}
Add(StreamConvertor,5814995,294,287)
{
Mode=3
link(onResult,13283163:doWrite,[])
}
Add(COM,13283163,350,266)
{
Port=2
BaudRate=19
link(onRead,14799938:doConvert,[])
}
Add(DoData,5043859,294,329)
{
Data=Integer(3694)
link(onEventData,13283163:doRead,[(340,335)(340,300)])
}
Add(Timer,9432040,245,329)
{
Interval=250
Enable=1
AutoStop=2
link(onTimer,5043859:doData,[])
}
Add(Hub,6462497,182,266)
{
OutCount=6
link(onEvent1,13283163:doOpen,[])
link(onEvent2,13283163:doRXClear,[(340,279)(340,286)])
link(onEvent3,2011678:doEvent1,[(207,286)(207,426)])
link(onEvent4,5865439:doData,[])
link(onEvent5,9432040:doTimer,[(235,300)(235,335)])
link(onEvent6,15439859:doDeferredEvent,[(228,307)(228,398)])
}
Add(DoData,5865439,245,287)
{
Data=String(4552001E8480001E84800001)
link(onEventData,5814995:doConvert,[])
}
Add(ListBox,10161392,728,560)
{
Left=5
Top=95
Width=100
Height=345
}
Add(Edit,12377720,630,560)
{
Left=405
Top=5
Width=135
Text=""
link(onEnter,14304810:doPosition,[])
}
Add(Hub,2011678,581,420)
{
OutCount=3
link(onEvent1,13981960:doClear,[(606,426)(606,356)])
link(onEvent2,13672777:doClear,[])
}
Add(Plotter,4889914,721,329)
{
Left=140
Top=95
Width=1075
Height=455
Name="123"
MaxH=6600
}
Add(StrCatDelim,9299780,735,630)
{
Delimiter=">>"
}
Add(If_else,9492653,665,630)
{
Type=2
link(onTrue,9299780:doStrCatDlm,[])
link(Op2,14304810:Position,[])
}
Add(TrackBar,14304810,672,567)
{
Left=575
Top=5
Width=430
Max=6500
Position=1400
link(onPosition,12377720:doText,[(711,573)(711,552)(620,552)(620,566)])
}
Add(PlotLines,13672777,728,420)
{
Grapher="123"
Color=0
Step=1
}
Add(StreamConvertor,14799938,399,273)
{
Mode=7
link(onResult,6720437:doEvent1,[])
}
Add(MemoryStream,10924119,567,273)
{
Point(doPosition)
}
Add(Hub,6720437,455,273)
{
OutCount=4
link(onEvent1,10924119:doCopy,[])
link(onEvent2,3822863:doData,[(494,286)(494,293)])
link(onEvent3,16026104:doFor,[(487,293)(487,349)])
}
Add(DoData,3822863,504,287)
{
Data=Integer(0)
link(onEventData,10924119:doPosition,[])
}
Add(DataToFileEx,2610789,567,343)
{
DataSize=2
Signed=0
BigEndian=0
link(onGet,13981960:doAdd,[])
link(Stream,10924119:Stream,[])
}
Add(For,16026104,497,343)
{
Step=2
link(onEvent,2610789:doGet,[])
link(End,10924119:Size,[(510,334)(580,334)])
}
Add(StrList,13981960,630,343)
{
}
Add(ArrayEnum,9602399,644,392)
{
link(onItem,13672777:doAdd,[(718,398)(718,426)])
link(Array,13981960:Array,[])
}
Add(DeferredEvent,15439859,385,392)
{
Delay=3000
link(onDeferredEvent,9602399:doEnum,[])
}

карма: 19

0
Ответов: 109
Рейтинг: 1
#37: 2025-07-25 20:37:43 ЛС | профиль | цитата
Там наверно 4 байта на пиксель, а не 2. Это я решил что 2.

--- Добавлено в 2025-07-25 20:40:42

Хотя нет

--- Добавлено в 2025-07-25 20:45:45

Gunta писал(а):
А так?

Вообще ничего на графике не отобразилось.

--- Добавлено в 2025-07-25 21:03:27

Gunta спасибо за помощь. Буду экспериментально подбирать. Скорее всего там первый байт это интенсивность , а второй какая то информация. Потому что в линиях малой интенсивности второй байт всегда одинаковый, а в линиях большой интенсивности разный.

Редактировалось 4 раз(а), последний 2025-07-25 21:04:19
карма: 1

0
Ответов: 933
Рейтинг: 197
#38: 2025-07-25 21:28:32 ЛС | профиль | цитата
Andrej77rv писал(а):
Вообще ничего на графике не отобразилось.

Add(MainForm,15733532,266,91)
{
Width=1263
Height=618
Point(onClose)
link(onCreate,13283163:doOpen,[(326,111)(326,139)])
link(onClose,13283163:doClose,[(319,118)(319,146)])
}
Add(Button,9912329,119,140)
{
Left=230
Top=5
Width=130
Caption="Получить днные"
link(onClick,6462497:doEvent1,[])
}
Add(StreamConvertor,5814995,280,161)
{
Mode=3
link(onResult,13283163:doWrite,[(319,167)(319,160)])
}
Add(COM,13283163,336,133)
{
Port=2
BaudRate=19
link(onRead,14799938:doConvert,[])
}
Add(DoData,5043859,280,203)
{
Data=Integer(3694)
link(onEventData,13283163:doRead,[(326,209)(326,167)])
}
Add(Timer,9432040,231,203)
{
Interval=250
Enable=1
AutoStop=2
link(onTimer,5043859:doData,[])
}
Add(Hub,6462497,168,140)
{
OutCount=6
link(onEvent2,13283163:doRXClear,[])
link(onEvent3,2011678:doEvent1,[(193,160)(193,244)])
link(onEvent4,5865439:doData,[])
link(onEvent5,9432040:doTimer,[(221,174)(221,209)])
}
Add(DoData,5865439,231,161)
{
Data=String(4552001E8480001E84800001)
link(onEventData,5814995:doConvert,[])
}
Add(Hub,2011678,574,238)
{
OutCount=3
link(onEvent1,6067527:doWork3,[(599,244)])
link(onEvent2,13672777:doClear,[])
}
Add(Plotter,4889914,714,126)
{
Left=140
Top=95
Width=1075
Height=455
Name="123"
MaxH=6600
}
Add(PlotLines,13672777,721,238)
{
Grapher="123"
Color=0
Step=2
}
Add(StreamConvertor,14799938,385,140)
{
Mode=2
link(onResult,9107841:doEnum,[])
}
Add(DataToFileEx,2610789,539,140)
{
DataSize=2
BigEndian=0
link(onGet,13981960:doAdd,[])
}
Add(StrList,13981960,623,140)
{
}
Add(ArrayEnum,9602399,637,210)
{
link(onItem,13672777:doAdd,[(711,216)(711,244)])
link(onEndEnum,6067527:doWork1,[(676,223)(676,195)])
link(Array,13981960:Array,[])
}
Add(Str_Enum,9107841,434,140)
{
Delimiter=""
Step=4
link(onEnum,5886522:doConvert,[])
link(onEndEnum,9602399:doEnum,[(480,153)(480,216)])
}
Add(StreamConvertor,5886522,490,140)
{
Mode=1
link(onResult,2610789:doGet,[])
}
Add(HubEx,6067527,595,189)
{
Angle=3
link(onEvent,13981960:doClear,[(599,153)])
}


Редактировалось 4 раз(а), последний 2025-07-26 07:25:53
карма: 19

0
Ответов: 109
Рейтинг: 1
#39: 2025-07-25 23:19:38 ЛС | профиль | цитата
Gunta нет. Я решил эту задачу! Надо просто эти 2 байта поменять местами вот и всё))
карма: 1

0
39
Сообщение
...
Прикрепленные файлы
(файлы не залиты)