Search found 31 matches

by VitZ
Tue Jun 18, 2013 1:25 pm
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

Art_zh, спасибо, буду строить график красным 252-ым символом: $FF0000. 10 В - это (в высоту) будет 300 пикселей, а U В -- 300*U/10=30*U пикселей. Chislo_voltov_2:=round(30*chislo_voltov_1/100). procedure Alg1; procedure Alg1; var s1,s2,s:string; x,y:dword; begin x:=x+10; s1:='#020'; sc(s1); rc(s2); ...
by VitZ
Sun Jun 16, 2013 5:32 pm
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

... http://www.icpdas.com/download/7000/manual.htm - страница с документацией по i7, некоторые файлы перепутаны местами ... (В случае управления мотором ПК лишь посылает <<число_угловых_градусов_в_секунду>>, а одно из устройств серии i7000 (контроллер) выполняет <<шимовую>> функцию - для пущей реаль...
by VitZ
Sun Jun 16, 2013 10:25 am
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

function sch_vr:dword;
var t:dword;
begin
asm
mov eax,26
mov ebx,9
int $40
mov [t],eax
end;
sch_vr:=t;
end;

...
sch_vr_2:=sch_vr;
if (sch_vr_2 > (sch_vr_1+299)) then {прошло 3 секунды} begin sch_vr_1:=sch_vr_2; Alg1; end;
...
by VitZ
Fri Jun 14, 2013 2:50 pm
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

График будем рисовать прямоугольничками (DrawBar(x,y,width,height,color)): каждые 3 секунды надо посылать строковый запрос устройству i7017: <<каково напряжение на твоём нулевом входе?>>, принимать ответ (в строку s2), вышифровывать из s2 пришедшее число вольтов (0 .. 10В) в переменную chislo_voltov...
by VitZ
Tue Jun 11, 2013 9:19 am
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

PPro - это минидельфи в RTOS (KOS). Следующим шагом подключим устройство i7017 и построим график (напряжения на [Vin0+ __ Vin0-] его входе). program hello96; uses kolibri; var k:TKolibri; const header:string='HelloWorld test'#0; procedure zapis_v_port(pdw:dword; b:byte); begin asm mov eax,43 mov bl,...
by VitZ
Mon Jun 10, 2013 5:09 pm
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

Всё; работает;
посылаю из компа запрос '$01M' с конечным байтом 13,
а приходит ответ '!017042' с конечным байтом 13
(<<i7042>> - это и есть имя устройства, висящего на адресе 1 ПЛ).
by VitZ
Mon Jun 10, 2013 1:14 pm
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

function In1021:byte; var by:byte; begin asm mov dx,1021 in al,dx mov [by],al end; In1021:=by; end; procedure open_com; begin {} zapis_v_port(1019,$80); zapis_v_port(1016, (1 and $FF) ); zapis_v_port(1017, ((1 and $FF00) shr 8 ) ); zapis_v_port(1019,3); zapis_v_port(1017,0); zapis_v_port(1018,7); {}...
by VitZ
Sun Jun 09, 2013 8:15 am
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

function In1016:byte; var by:byte; begin asm mov dx,1016 in al,dx mov [by],al end; In1016:=by; end; k.writeNumber(5,125,$33F1F1F1,0,5,In1016) в 3-ем пункте k.waitForEvent'a - даёт устойчивый приём последовательности одинаковых байтов, приходящих из второго компа (DOS'a): DOScom -> comKOS 4, 4, 4, 4,...
by VitZ
Sat Jun 08, 2013 8:07 am
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

... А гадкий LPT при включении компьютера посылает включающий сигнал на все свои выходы ...

ТБ - вот с чего должна была начаться эта тема !!!
(как, кстати, суметь потушить огнетушителем с электропроводящим
содержимым неотключённую от электросети производственную
электроустановку?)
by VitZ
Fri Jun 07, 2013 11:07 am
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

procedure rc(var s:string); procedure rc(var s:string); var c:char; i,t:dword; begin s:=''; i:=1; t:=0; repeat while (In1021 and 1)<>1 do begin t:=t+1; if (t>2000) then exit; end; c:=chr(In1016); if c=chr(13) then break; s[0]:=chr(i); s[i]:=c; i:=i+1; if (i>30) then break; t:=0; until false; end;
by VitZ
Thu Jun 06, 2013 5:14 pm
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

... thanks.
by VitZ
Thu Jun 06, 2013 4:42 pm
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

А как проверить ...

function chtenie_iz_porta(pdw:dword):byte;
var by:byte;
begin
pdw:=$80000000+pdw;
asm
mov eax,43
mov ecx,pdw
int $40
mov by,bl
end;
chtenie_iz_porta:=by;
end;

... наиболее простыми средствами, или
тут на 100% всё в порядке?
by VitZ
Tue Jun 04, 2013 3:44 pm
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

...более чёткая картина рисуется в журнале
"Современные технологии автоматизации" - 4'97,
стр. 52-54;
http://www.cta.ru/issues/239826.html

могу ещё фотку устройства
i7042 - как он внутри устроен - прислать ...
by VitZ
Tue Jun 04, 2013 10:59 am
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

Почти фото ( :) ):
by VitZ
Tue Jun 04, 2013 10:13 am
Forum: Embedded solutions
Topic: KolibriOS на производстве
Replies: 197
Views: 144735

Re: KolibriOS на производстве

Фото: