ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° DDE-сСрвСра. 
Автоматизированная концСпция SCАDA

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Incr/Decr Buttons Up/Down). НаТатиС Π½Π° Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΈΠ»ΠΈ ниТнюю стрСлку ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ соотвСтствСнно ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ максимального ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ связан со ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ zoom1 — zoom4 (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² 1 — 4 соотвСтствСнно) ΠΈ sh1 — sh4 (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ смСщСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² 1 — 4). ВсС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° DDE-сСрвСра. Автоматизированная концСпция SCАDA (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π΅Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния ΠΏΠΎ DDE ΠΈ/ΠΈΠ»ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‡Π΅Ρ€Π΅Π· DDE являСтся DDE-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. Π’ ΡΡ‚ΠΎΠΌ случаС Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся DDE-сСрвСром. Рассмотрим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ DDE-сСрвСра, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Borland Delphi 6.

Для построСнии DDE-сСрвСра Π² Delphi ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, располоТСнныС Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅ System ΠŸΠ°Π»ΠΈΡ‚Ρ€Ρ‹ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ — TDdeServerConv ΠΈ TDdeServerItem. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ TDdeServerConv ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ TDdeServerItem. Для получСния доступа ΠΊ ΡΠ΅Ρ€Π²ΠΈΡΡƒ DDE-сСрвСра, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ потрСбуСтся Π·Π½Π°Ρ‚ΡŒ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: имя сСрвиса (Service Name) — это имя прилоТСния (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ — имя выполняСмого Ρ„Π°ΠΉΠ»Π° Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ EXE, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ); Topic Name — Π² Delphi это имя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ TDdeServerConv; Item Name — Π² Delphi это имя Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ TDdeServerItem. НазначСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° TDdeServerConv — ΠΎΠ±Ρ‰Π΅Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ DDE ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запросов ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ макроса.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ TDdeServerItem связываСтся с TDdeServerConv ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ, собствСнно, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΏΠΎ DDE. Для этого Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ свойства Text ΠΈ Lines. (Text ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Lines[0].) ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния этих свойств автоматичСски происходит пСрСсылка ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²ΡΠ΅ прилоТСния-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΠ΅ связь с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ.

ΠŸΡ€ΠΈ запускС прилоТСния происходит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ TDDEServe. FormActivate:

procedure TDDEServe. FormActivate (Sender: TObject);

var nidata: TNotifyIconData;

begin.

Application.ShowMainForm := False;

ShowWindow (Application.Handle, SW_HIDE);

ShowWindow (Application.MainForm.Handle, SW_HIDE);

with nidata do.

begin.

cbSize := SizeOf (TNotifyIconData);

Wnd := Self. Handle;

uID := 1;

uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;

uCallBackMessage := WM_MYICONNOTIFY;

hIcon := Application.Icon.Handle;

StrPCopy (szTip, Application. Title);

end;

Shell_NotifyIcon (NIM_ADD, @nidata);

ru:=10;

end;

Π’ ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сворачиваСтся Π² ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹ΠΉ Tray, Π° Ρ„ΠΎΡ€ΠΌΠ° становится Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ. ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ DDE-сСрвСра вызываСтся ΠΏΡƒΡ‚Ρ‘ΠΌ наТатия Π»Π΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ прилоТСния Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ систСмного Tray. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° этого события выполняСтся Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ TDDEServe. WMICON:

procedure TDDEServe. WMICON (var msg: TMessage);

begin.

case msg. LParam of.

WM_RBUTTONDOWN, WM_LBUTTONDOWN: close;

end;

end;

ΠŸΡ€ΠΈ этом, ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΎΠΊΠ½Π° прилоТСния вызываСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° TDDEServe. FormDestroy, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ происходит ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ· ΡΠΈΡΡ‚Π΅ΠΌΠ½ΠΎΠ³ΠΎ Tray:

procedure TDDEServe. FormDestroy (Sender: TObject);

var nidata: TNotifyIconData;

begin.

with nidata do.

begin.

cbSize := SizeOf (TNotifyIconData);

Wnd := Self. Handle;

uID := 1;

end;

Shell_NotifyIcon (NIM_DELETE, @nidata);

end;

Π Π°Π±ΠΎΡ‚Π° прилоТСния Π² Ρ†Π΅Π»ΠΎΠΌ строится посрСдством Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ TDDEServe. Timer1Timer ΠΏΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.

implementation.

{$R *.DFM}.

uses ComObj, activex, ShellApi, shlobj, registry;

var.

xsin: integer;

ru:real;

boolka:boolean;

procedure TDDEServe. Timer1Timer (Sender: TObject);

var LPTbyte: byte;

begin.

xsin:=xsin+1;

if xsin>1000 then xsin:=xsin-1000;

DDEItem100.Text:=inttostr (5*(xsin-20*trunc (xsin/20))); //ΠΏΠΈΠ»ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΉ сигнал.

asm.

mov dx, 379h.

in al, dx.

and al, 80h.

mov LPTbyte, al.

end;

DDEItem200.Text:=inttostr (LPTbyte*100); //состояниС Π»ΠΈΠ½ΠΈΠΈ LPT-ΠΏΠΎΡ€Ρ‚Π°.

DDEItem300.Text:=inttostr (round (50+50*sin (xsin/20)));

if (xsin/5)=trunc (xsin/5) then.

if (ru.

begin.

boolka:=true;

ru:=ru+20.

end else.

begin.

boolka:=false;

ru:=ru-20.

end;

if boolka then DDEItem400. Text:='100' else DDEItem400. Text:='0';

end;

Для обСспСчСния DDE-ΠΎΠ±ΠΌΠ΅Π½Π° Π·Π°Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ константы:

`DDEServer' - имя сСрвиса (Service Name);

`DDETopic' - Topic Name;

`DDEItem100' - пСрСмСнная ΠΎΠ±ΠΌΠ΅Π½Π°;

`DDEItem200' - пСрСмСнная ΠΎΠ±ΠΌΠ΅Π½Π°;

`DDEItem300' - пСрСмСнная ΠΎΠ±ΠΌΠ΅Π½Π°;

`DDEItem400' - пСрСмСнная ΠΎΠ±ΠΌΠ΅Π½Π°.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° DDE — ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Основа Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-машинного интСрфСйса Π² Ρ€Π°ΠΌΠΊΠ°Ρ… InTouch — это иСрархичСски взаимосвязанныС Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сСнсорныС ΠΎΠΊΠ½Π°. Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ File/New Window… (Π€Π°ΠΉΠ»/НовоС Окно). На ΡΠΊΡ€Π°Π½Π΅ появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Window Properties (Бвойства Окна), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

Π—Π΄Π΅ΡΡŒ слСдуСт ввСсти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя ΠΎΠΊΠ½Π° (ΠΏΠΎΠ»Π΅ Name) Scope. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ поля ΠΈ ΠΎΠΏΡ†ΠΈΠΈ оставлСны Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Окно с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ появится Π½Π° ΡΠΊΡ€Π°Π½Π΅. Π’Π°ΠΌ ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° ΠΈ ΠŸΠ°Π½Π΅Π»ΡŒ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² InTouch — Tools, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдстоит интСнсивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°Π»Π΅Π΅.

Π“Ρ€Π°Ρ„ΠΈΠΊ прСдставляСт собой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ с Π½Π°Π½Π΅ΡΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹ΠΌΠΈ прямыми, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ графичСски прСдставляСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ значСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ InTouch ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для динамичСского отобраТСния значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ — Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (инструмСнт (Real-time Trend)), ΠΈ, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅, аналитичСскиС ΠΊΡ€ΠΈΠ²Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ строятся Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (инструмСнт (Historical Trend)). Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ Π½Π°ΠΌΠΈ ΠΎΠΊΠ½Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° ΠŸΠ°Π½Π΅Π»ΠΈ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² InTouch — Tools Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Real — Time Trend ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π² ΠΎΠΊΠ½Π΅ прилоТСния, удСрТивая Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ Π»Π΅Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΊΠΈ, ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹.

Incr/Decr Buttons Up/Down). НаТатиС Π½Π° Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΈΠ»ΠΈ ниТнюю стрСлку ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ соотвСтствСнно ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ максимального ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ связан со ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ zoom1 — zoom4 (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² 1 — 4 соотвСтствСнно) ΠΈ sh1 — sh4 (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ смСщСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² 1 — 4). ВсС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ Memory Integer. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Special/Tagname Dictionary/New. ΠŸΡ€ΠΈ этом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π΅ ΠΈΠΌΡ Π² ΠΏΠΎΠ»Π΅ «Tagname:» ΠΈ Ρ‚ΠΈΠΏ — Π² ΠΏΠΎΠ»Π΅ «Type:». Buttons Analog Tagname Display). Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… осущСствляСтся Π½Π΅ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ Π² WindowViewer, Π° ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Incr/Decr Buttons Up/Down (Wizard Selection Value Displays ПанСль настройки Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² вызываСтся Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΊΠΈ ΠΏΠΎ ΠΎΠΊΠ½Ρƒ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ ΡΠΎΡΡ‚ΠΎΠΈΡ‚ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… тСкстовых строк ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌ (Graph 1, Graph 2, Graph 3, Graph 4). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ нСзависимыС настройки ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ сдвига ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Π½Π° ΡΠΊΡ€Π°Π½Π΅. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Analog Tagname Display (Wizard Selection.

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· DDE интСрфСйс Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ (ΠΏΠΎ Ρ‡ΠΈΡΠ»Ρƒ ΠΊΠ°Π½Π°Π»ΠΎΠ²) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° DDE Integer (Item1, Item2, Item3, Item4). Для этого сначала Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Special/DDE Access Names… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Add ΠΈ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя прилоТСния (DDE Application/Server Name), ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ запрос Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΈΠΌΡ Π³Ρ€ΡƒΠΏΠΏΡ‹/ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (DDE Topic Name), содСрТащСго Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’ Π½Π°ΡˆΠ΅ΠΌ случаС качСствС ΠΈΠΌΠ΅Π½ΠΈ прилоТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ имя DDEServer, имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° — DDETopic. Π”Π°Π»Π΅Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Special/Tagname Dictionary/New вводятся ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° DDE Integer. НазваниС элСмСнта (Item) для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°: DDEItem100 — для Item1, DDEItem200 — для Item2, DDEItem300 — для Item3 ΠΈ DDEItem400 — для Item4. Данная информация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния DDE-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π‘Π»ΠΎΠ²Π°Ρ€Π΅ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… InTouch.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ графопостроитСля ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ DDE — ΠΎΠ±ΠΌΠ΅Π½, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ DDE сСрвСр (Ρ‚. Π΅. Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Ddeserver. exe) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠΊΠ½ΠΎ InTouch — WindowViewer (Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Runtime! Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΎΠΊΠ½Π° InTouch — WindowMaker). Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ InTouch WindowViewer автоматичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ всС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ дСйствия ΠΏΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ ΠΊΠ°Π½Π°Π»Π° ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнта.

НиТС прСдставлСн внСшний Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ графопостроитСля Π² ΠΎΠΊΠ½Π΅ InTouch — WindowViewer ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅ΠΉ Π² Π²ΠΈΠ΄Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ DDE сСрвСра ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ коэффициСнты.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ