Вверх ↑
Этот топик читают: Гость
Ответов: 2433
Рейтинг: 693
#16: 2016-07-18 15:39:09 ЛС | профиль | цитата
nesco,Tad, RAWY_EX, а вы точно уверены что ibegen на данном этапе нужно разбираться с менеджерами и МТ-потоками.
ibegen, вот пример с обычной таблицей:
code_37470.txt
карма: 11

0
файлы: 1code_37470.txt [2.7KB] [596]
Разработчик
Ответов: 26303
Рейтинг: 2146
#17: 2016-07-18 16:32:41 ЛС | профиль | цитата
sla8a писал(а):
вот пример с обычной таблицей

Не выполняется условие задачи
ibegen писал(а):
То есть запись начинается заново для 1 и 3го столбцов, потом для 1 и 4го... т.д.

Довесь к своей таблице модуль очистки 0-го столбца и посмотрим, насколько простой код получится для понимания.
------------ Дoбавленo в 16.32:
Вот полное решение задачи на обычной таблице (заставили все же меня подумать )

Add(MainForm,10870265,98,175)
{
Width=768
Height=263
link(onCreate,8427954:doFor,[])
}
Add(StringTable,5817601,483,189)
{
Left=5
Top=5
Width=745
Height=175
Columns=#1:1|1:2|0:|
StrDelimiter=" "
Point(doAddColumn)
Point(Matrix)
Point(EndIdx)
}
Add(Button,5315267,245,399)
{
Left=295
Top=190
Width=160
Height=30
Caption="add data"
link(onClick,13542597:doNext,[(291,405)(291,440)])
}
Add(Random,2850665,413,497)
{
link(onRandom,3055079:doWork2,[])
}
Add(MatrixRW,4405371,497,490)
{
link(Matrix,1447518:Var2,[])
link(X,8598072:Value,[])
link(Y,13542597:Count,[(524,481)(307,481)])
}
Add(For,8427954,154,189)
{
@Hint=#59:В End прописывается максимальное количество строк -1 строка|
End=5
link(onEvent,10727438:doText,[])
link(onStop,15232204:doData,[(207,202)(207,447)])
AddHint(51,-68,184,39,@Hint)
}
Add(CounterEx,13542597,301,434)
{
@Hint=#58:Счетчик строк с выдачей события по переходу через максимум|
Max=0
Default=-1
Point(onThroughMax)
Point(doMax)
link(onNext,7770103:doEvent1,[])
link(onThroughMax,2671254:doFor,[(340,447)(340,328)])
AddHint(-209,59,191,26,@Hint)
}
Add(DoData,15232204,224,441)
{
link(onEventData,13542597:doMax,[])
link(Data,7089765:Var1,[(230,250)])
}
Add(VisualStrings,10727438,224,189)
{
Point(doText)
Point(onText)
link(onText,5817601:doAdd,[])
}
Add(Memory,8598072,511,427)
{
@Hint=#41:Переключатель с 0-го на последний столбец|
Default=Integer(0)
Point(doClear)
Point(Data)
link(Data,3344079:Count,[])
AddHint(57,31,199,26,@Hint)
}
Add(Hub,7770103,364,434)
{
OutCount=4
link(onEvent1,8598072:doClear,[])
link(onEvent2,3055079:doWork1,[(466,447)])
link(onEvent3,8598072:doValue,[(389,454)(389,433)])
link(onEvent4,2850665:doRandom,[(389,461)(389,503)])
}
Add(CounterEx,3344079,511,378)
{
@Hint=#32:Хранит индекс последнего столбца|
Min=1
Default=1
Point(onThroughMax)
link(onNext,9203882:doOperation,[])
AddHint(59,-57,196,13,@Hint)
}
Add(HubEx,3055079,462,497)
{
link(onEvent,4405371:doWrite,[])
}
Add(Math,9203882,560,378)
{
Op2=1
ResultType=0
link(onResult,5817601:doAddColumn,[(599,384)(599,181)(473,181)(473,230)])
}
Add(For,2671254,378,322)
{
link(onEvent,9115859:doWrite,[])
link(onStop,3344079:doNext,[(417,335)(417,384)])
link(End,7089765:Var2,[])
}
Add(MatrixRW,9115859,434,315)
{
@Hint=#20:Очистка 0-го столбца|
link(Matrix,1447518:Var1,[(440,292)])
link(Value,4634198:Text,[(447,306)(405,306)])
link(X,3636380:Text,[])
AddHint(-194,-33,124,13,@Hint)
}
Add(GetDataEx,1447518,497,287)
{
link(Data,5817601:Matrix,[])
}
Add(VisualStrings,3636380,448,259)
{
Lines=#1:0|
}
Add(VisualStrings,4634198,399,259)
{
}
Add(GetDataEx,7089765,385,245)
{
Angle=1
link(Data,5817601:EndIdx,[(510,250)])
}

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#18: 2016-07-18 17:00:10 ЛС | профиль | цитата
sla8a писал(а):
nesco,Tad, RAWY_EX, а вы точно уверены
sla8a, в чем я точно уверен, то только в том, что ibegen-у это вообще ни на не нужно.
Обычное акаканье начинающего. ИМХО.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26303
Рейтинг: 2146
#19: 2016-07-18 17:05:08 ЛС | профиль | цитата
Tad писал(а):
sla8a, в чем я точно уверен, то только в том, что ibegen-у это вообще ни на не нужно.
Обычное акаканье начинающего. ИМХО.

Зато мозги потренировали, и то хорошо.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#20: 2016-07-18 18:07:19 ЛС | профиль | цитата

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 2433
Рейтинг: 693
#21: 2016-07-18 18:23:50 ЛС | профиль | цитата
sla8a писал(а):
Не выполняется условие задачи
Поди пойми эти условия задачи.
Как вариант: code_37471.txt
карма: 11

0
файлы: 1code_37471.txt [3.2KB] [618]
Ответов: 5227
Рейтинг: 587
#22: 2016-07-18 19:06:04 ЛС | профиль | цитата
[flood]присказка: знать бы прикуп жил бы Сочи. nesco, блин оглянись женщины со всего мира едут, летят твои схемы тренированные посмотреть [/flood]
------------ Дoбавленo в 19.05:
nesco, это шутка и не более
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 91
Рейтинг: 6
#23: 2016-07-18 19:59:47 ЛС | профиль | цитата
Мужики.
Не надо тупить!!!
Ну что вы??? Нормально я все объяснил. Просто вы - не догоняете!
Вы не обратили внимания на ключевое слово - "левый"(первый или нулевой)столбец заполняется идентификаторами!

Короче - цифра в первом столбце - идентификатор - это напряжение показанное с определенным шагом.
Шаг может быть и 2 и 5 и 50. Максимальное значение - 500.

Другие столбцы - ток.

Мне надо писать значения в ячейки при определенном напряжении. Как только первый цикл измерений закончен - перехожу к следующему столбцу и заполняю ячейки при другом токе, но при тех же напряжениях как и в предыдущем цикле.

Стирание и заполнение заново первого столбца - необязательное но желательное условие для наглядности.

А вообще то - спасибо! Всем всем всем. Вы показали столько примеров...




карма: 0

0
Ответов: 16884
Рейтинг: 1239
#24: 2016-07-18 20:16:10 ЛС | профиль | цитата
ibegen писал(а):
Просто вы - не догоняете!
Класс!
ibegen писал(а):
Стирание и заполнение заново первого столбца - необязательное но желательное условие для наглядности.


О какой наглядности речь?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1ibegen_2.gif [3.6KB] [540]
Ответов: 91
Рейтинг: 6
#25: 2016-07-18 20:27:20 ЛС | профиль | цитата
Класс!

Tad - Это все шутливая реакция. Не подумайте о хамстве и неблагодарности.
Просто вы так круто все наехали на мою неопытность...
Особенно вот это:
я точно уверен, то только в том, что ibegen-у это вообще ни на не нужно.
Обычное акаканье начинающего. ИМХО.

Было бы не нужно - не написал бы.

Я очень всем благодарен за примеры. Теперь понять бы их...

карма: 0

0
файлы: 1code_37475.txt [120B] [288]
Разработчик
Ответов: 26303
Рейтинг: 2146
#26: 2016-07-18 23:31:24 ЛС | профиль | цитата
ibegen писал(а):
Мне надо писать значения в ячейки при определенном напряжении

Дальнейшее продолжение решения с учетом полученных новых вводных

Add(MainForm,10870265,105,161)
{
Width=768
Height=263
link(onCreate,14468335:doEvent1,[])
}
Add(StringTable,5817601,756,231)
{
Left=5
Top=5
Width=745
Height=175
Columns=#1:U|2:I1|0:|
StrDelimiter=" "
ClearAll=0
Point(doAddColumn)
Point(Matrix)
Point(EndIdx)
Point(doEnsureVisible)
}
Add(MatrixRW,4405371,770,532)
{
link(Matrix,1447518:Var2,[])
link(X,8598072:Value,[])
link(Y,13542597:Count,[(797,523)(475,523)])
}
Add(For,8427954,287,231)
{
IncludeEnd=1
link(onEvent,10727438:doText,[])
link(onStop,7592030:doEvent1,[])
link(End,10337658:Result,[(300,222)(279,222)(279,271)(230,271)])
}
Add(CounterEx,13542597,469,455)
{
@Hint=#58:Счетчик строк с выдачей события по переходу через максимум|
Max=0
Default=-1
Point(onThroughMax)
Point(doMax)
Point(doValue)
link(onNext,7770103:doEvent1,[])
link(onThroughMax,2671254:doFor,[(508,468)(508,398)])
AddHint(-233,78,191,26,@Hint)
}
Add(DoData,15232204,392,462)
{
link(onEventData,13542597:doMax,[])
link(Data,7089765:Var1,[(398,320)])
}
Add(VisualStrings,10727438,525,231)
{
Point(doText)
Point(onText)
link(onText,5817601:doAdd,[])
}
Add(Memory,8598072,784,469)
{
@Hint=#41:Переключатель с 0-го на последний столбец|
Default=Integer(0)
Point(Data)
link(Data,3344079:Count,[])
AddHint(57,31,199,26,@Hint)
}
Add(Hub,7770103,525,455)
{
link(onEvent1,8598072:doClear,[(711,461)(711,482)])
link(onEvent2,15638095:doOperation,[(550,468)(550,489)])
}
Add(CounterEx,3344079,784,420)
{
@Hint=#32:Хранит индекс последнего столбца|
Min=1
Default=1
Point(onThroughMax)
Point(doReset)
link(onNext,10821313:doStrCat,[])
AddHint(59,-57,196,13,@Hint)
}
Add(HubEx,3055079,735,539)
{
link(onEvent,4405371:doWrite,[])
}
Add(For,2671254,658,392)
{
link(onEvent,9115859:doWrite,[])
link(onStop,3344079:doNext,[(704,405)(704,426)])
link(End,7089765:Var2,[])
}
Add(MatrixRW,9115859,707,385)
{
@Hint=#20:Очистка 0-го столбца|
link(Matrix,1447518:Var1,[(713,362)])
link(Value,4634198:Text,[(720,376)(685,376)])
link(X,3636380:Text,[])
AddHint(-194,-33,124,13,@Hint)
}
Add(GetDataEx,1447518,770,357)
{
link(Data,5817601:Matrix,[])
}
Add(VisualStrings,3636380,721,329)
{
Lines=#1:0|
}
Add(VisualStrings,4634198,679,329)
{
}
Add(GetDataEx,7089765,665,315)
{
Angle=1
link(Data,5817601:EndIdx,[(783,320)])
}
Add(ComboBox,7662120,224,133)
{
Left=40
Top=190
Height=21
Strings=#1:2|1:5|2:50|
Text="Step"
ReadOnly=0
Point(doSelect)
link(onClick,8751441:doEvent1,[])
}
Add(Label,8842474,105,105)
{
Left=10
Top=193
Width=29
Height=17
Caption="Step:"
}
Add(GetDataEx,14404025,231,210)
{
link(Data,7662120:String,[])
}
Add(Hub,8751441,280,140)
{
OutCount=5
link(onEvent1,5817601:doClear,[(312,146)(312,139)(655,139)(655,244)])
link(onEvent2,3625978:doText,[])
link(onEvent3,10389338:doText,[(494,160)(494,174)])
link(onEvent4,8263223:doWork1,[(305,167)(305,125)(207,125)])
link(onEvent5,13060298:doWork1,[(340,174)])
}
Add(VisualStrings,3625978,525,147)
{
Lines=#1:U|
Point(doText)
Point(onText)
link(onText,12131168:doWork2,[])
}
Add(VisualStrings,10389338,525,168)
{
Lines=#2:I1|
Point(doText)
Point(onText)
link(onText,4907764:doWork2,[])
}
Add(HubEx,4907764,644,168)
{
Angle=1
link(onEvent,5817601:doAddColumn,[(648,272)])
}
Add(Hub,14468335,168,175)
{
OutCount=3
link(onEvent1,7662120:doSelect,[])
link(onEvent2,8263223:doWork2,[])
link(onEvent3,13060298:doWork2,[])
}
Add(HubEx,8263223,203,182)
{
Angle=1
link(onEvent,10337658:doOperation,[(207,237)])
}
Add(Math,10337658,224,231)
{
OpType=3
Op1=500
ResultType=0
link(onResult,8427954:doFor,[])
link(Op2,14404025:Var2,[])
}
Add(Math,15638095,560,483)
{
OpType=2
ResultType=0
link(onResult,8681134:doOperation,[])
link(Op2,15894431:Var2,[])
}
Add(Math,8681134,609,483)
{
ResultType=0
link(onResult,15765254:doEvent1,[])
link(Op2,15894431:Var3,[(622,467)])
}
Add(GetDataEx,15894431,567,462)
{
link(Data,14404025:Var3,[(573,215)])
}
Add(StrCat,10821313,833,420)
{
Str1="I"
link(onStrCat,12131168:doWork3,[(872,426)(872,153)])
}
Add(VisualStrings,11378629,392,504)
{
Lines=#2:-1|
Point(doText)
Point(onText)
link(onText,13542597:doValue,[(431,510)(431,475)])
}
Add(Hub,7592030,350,238)
{
OutCount=4
link(onEvent1,3344079:doReset,[(515,244)(515,433)])
link(onEvent2,15232204:doData,[(382,251)(382,468)])
link(onEvent3,11378629:doText,[(375,258)(375,510)])
link(onEvent4,1154750:doWork1,[(448,265)])
}
Add(Label,4950369,112,112)
{
Left=120
Top=193
Width=15
Height=17
Caption="U:"
}
Add(Edit,15204847,770,574)
{
Left=140
Top=190
TabOrder=-1
Text=""
}
Add(Label,14147929,119,119)
{
Left=205
Top=193
Width=10
Height=17
Caption="I:"
}
Add(Edit,7562656,469,588)
{
Left=220
Top=190
Text=""
Point(doSetFocus)
link(onChange,12580628:doWork2,[(508,594)(508,657)])
link(onEnter,966621:doCase,[])
}
Add(Hub,15765254,672,483)
{
link(onEvent1,3055079:doWork1,[(739,489)])
link(onEvent2,15204847:doText,[(697,496)(697,580)])
}
Add(Hub,13710818,581,595)
{
OutCount=5
link(onEvent1,8598072:doValue,[(648,601)(648,475)])
link(onEvent2,3055079:doWork3,[(739,608)])
link(onEvent3,5817601:doEnsureVisible,[(823,615)(823,314)(746,314)(746,279)])
link(onEvent4,12580628:doWork1,[(634,622)(634,650)])
link(onEvent5,1154750:doWork3,[(606,629)(606,664)(448,664)])
}
Add(HubEx,1154750,444,455)
{
link(onEvent,13542597:doNext,[])
}
Add(HubEx,13060298,336,189)
{
Angle=1
link(onEvent,7562656:doSetFocus,[(340,608)])
}
Add(Case,966621,532,595)
{
link(onNextCase,13710818:doEvent1,[])
}
Add(HubEx,12131168,644,147)
{
Angle=1
link(onEvent,4907764:doWork1,[])
}
Add(AlphaImage,15570024,700,630)
{
Left=285
Top=191
Width=16
Height=16
Visible=1
Picture=[ZIP3604000078DA73F235636100033320D600620128666450804840E5470176F01F88FE8329F2F592A31F592FB1989AFA49713F3E3594EAA7751C0D06FD830D000020D65D11]
Point(doVisible)
}
Add(ChanelToIndex,12580628,644,644)
{
link(onIndex,15570024:doVisible,[])
}


Специально не стал ставить ни одного брейка для наглядности, чтобы можно было проследить каждую связь
карма: 22

0
Ответов: 8953
Рейтинг: 824
#27: 2016-07-18 23:54:14 ЛС | профиль | цитата
ibegen писал(а):
..Стирание и заполнение заново первого столбца - необязательное но желательное условие для наглядности..

А если "напряжение", которое пишите в первом "столбце" для второго и третьего.. будет чуть различаться, например, для второго "столбца" было 100 В, а для третьего -- 99 В и для четвёртого аж 102 В, что делать, какое напряжение записывать в первый "столбец"?
карма: 19

0
Ответов: 497
Рейтинг: 16
#28: 2016-07-19 00:01:49 ЛС | профиль | цитата
ibegen, понятно только то что ничего не понятно
Tad писал(а):
RAWY_EX, завидую тебе - ты сразу понял что ТС нужно
ну вот сглазил
карма: 1
        ]  
0
Разработчик
Ответов: 26303
Рейтинг: 2146
#29: 2016-07-19 00:20:58 ЛС | профиль | цитата
Леонид писал(а):
А если "напряжение", которое пишите в первом "столбце" для второго и третьего.. будет чуть различаться, например, для второго "столбца" было 100 В, а для третьего -- 99 В и для четвёртого аж 102 В, что делать, какое напряжение записывать в первый "столбец"?

Сказано же
ibegen писал(а):
Шаг может быть и 2 и 5 и 50. Максимальное значение - 500

и никаких 99 и 102. Что-то может измеряется по циклу на фиксированных значениях -- установил, измерил, записал.
------------ Дoбавленo в 00.20:
RAWY_EX писал(а):
понятно только то что ничего не понятно

Оно вам надо, а то советами замучаете Примерами мы показали, что поставленная задача вполне решаема даже на простых компонентах.
карма: 22

0
Ответов: 91
Рейтинг: 6
#30: 2016-07-19 09:09:26 ЛС | профиль | цитата
Мужики!!!!!!!!
Я ОЧЕНЬ благодарен вам за участие и помощь!
Извините, если что то коряво объясняю. Просто в данной области не спец и с формулировками могут быть проблемы.

По поводу напряжений - точность установки обеспечивается через прецизионные ЦАП и обратную связь.
В диапазоне 400 вольт удалось добиться точности установки напряжения 0,38% - это всего 1,5 вольта при 400 вольтах. На 100 - менее 0,4 вольта.
Так что погрешность для разных циклов измерения будет совсем мизерная.
и никаких 99 и 102. Что-то может измеряется по циклу на фиксированных значениях -- установил, измерил, записал.

Совершенно верно! Именно фиксированные значения и по циклам.
Естественно потом графики рисуются.
ibegen, понятно только то что ничего не понятно

Да я сам ничего не понимаю.....
Вы показали классные примеры - а я осознаю что не догоняю многих вещей.
Хайасм великая вещь! Но чертовски непривычная.
Примерами мы показали, что поставленная задача вполне решаема даже на простых компонентах.

Именно! Спасибо!!!! Теперь буду изучать. Главный для меня момент - вы мне показали применение разных компонентов для решения одной и той же задачи.

карма: 0

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