unit SidebarZdvaTm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ScadaBase, VisMachine, VisMchb, ExtCtrls,jpeg, SimpleLine, VisButton,
Buttons, VisNumericPanel, VisZdva, VisMcha, VisDataboard, VisLabel, VisControl;
type
TSidebarZdvaTmForm = class(TForm)
numTime: TVisNumericPanel;
VisButton1: TVisButton;
VisButton2: TVisButton;
VisButton3: TVisButton;
VisButton4: TVisButton;
VisButton5: TVisButton;
DatPanel: TPanel;
Panel1: TPanel;
btAuto: TVisButton;
btOff: TVisButton;
btDir1: TVisButton;
btDir2: TVisButton;
pnlName: TPanel;
btBlok: TVisButton;
SostPanel1: TPanel;
brdSost: TVisDataboard;
btParams: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
procedure FormActivate(Sender: TObject);
procedure brdSostProcess(Sender: TObject);
procedure btBlokClick(Sender: TObject);
procedure btControlClick(Sender: TObject);
procedure pnlNameClick(Sender: TObject);
procedure btParamsClick(Sender: TObject);
procedure TimeControlClick(Sender: TObject);
procedure numTimeClick(Sender: TObject);
procedure VisButton3Click(Sender: TObject);
private
public
zdva: TVisZdva;
end;
implementation
uses
TrendWindow,
MesLogging,
Numbers,
MesConst,
Sidebar,
TagStorage,
RpVisualGlobal,
RpVisualLegacyPanels,
RpVisualUtils,
RpVisualMain;
{$R *.dfm}
procedure TSidebarZdvaTmForm.FormActivate(Sender: TObject);
begin
zdva := TVisZDVA(getSidebarObject);
pnlName.Caption := zdva.DeviceName;
brdSost.Caption := zdva.DeviceName;
brdSost.Process;
end;
procedure TSidebarZdvaTmForm.brdSostProcess(Sender: TObject);
var
sost: Integer;
s: string;
begin
s := '';
case brdSost.Tags[0].value of
0: s := zdva.StateMid + ' (жду '+zdva.StateClose+')';
4: s := zdva.StateMid + ' (жду '+zdva.StateOpen+')';
1: s := zdva.StateClose;
6: s := zdva.StateOpen;
5: s := zdva.StateClose + ' (жду '+zdva.StateOpen+')';
2: s := zdva.StateOpen + ' (жду '+zdva.StateClose+')';
3,7: s := 'Ошибка';
8: s := 'Адрес';
end;
brdSost.objLabel.Caption := s
end;
procedure TSidebarZdvaTmForm.btBlokClick(Sender: TObject);
begin
with Sender as TVisButton do
SaveMessageText(mcBlok_text, zdva.DeviceName, Hint + ' = ' + iif(objButton.Down, 'Выкл', 'Вкл'), mcBlok_bc, mcBlok_fc);
end;
procedure TSidebarZdvaTmForm.btControlClick(Sender: TObject);
begin
with sender as TVisButton do
SaveMessageText('Изменение положения задвижки', zdva.DeviceName, Hint + ' = ' + CaptionDown, mcMode_bc, mcMode_fc);
end;
procedure TSidebarZdvaTmForm.TimeControlClick(Sender: TObject);
begin
with sender as TVisButton do
SaveMessageText('Изменение положения задвижки', zdva.DeviceName, Hint, mcMode_bc, mcMode_fc);
end;
procedure TSidebarZdvaTmForm.pnlNameClick(Sender: TObject);
begin
ShowTrendWindow(
zdva.DeviceName,
GetTagName( brdSost.tags[0].idx),
'',
'zdva_',
'',
'Состояние: '#13+
'0 - '+zdva.StateMid+' (жду '+zdva.StateClose+')'#13+
'1 - '+zdva.StateClose+' '#13+
'2 - '+zdva.StateOpen+' (жду '+zdva.StateClose+')'#13+
'3 - ошибка '#13+
'4 - '+zdva.StateMid+' (жду '+zdva.StateOpen+')'#13+
'5 - '+zdva.StateClose+' (жду '+zdva.StateOpen+')'#13+
'6 - '+zdva.StateOpen+' '#13+
'7 - ошибка '#13+
'8 - неправильный адрес'
);
end;
procedure TSidebarZdvaTmForm.btParamsClick(Sender: TObject);
begin
brdSost.OnControlClick(sender);
end;
procedure TSidebarZdvaTmForm.numTimeClick(Sender: TObject);
begin
with sender as TVisNumericPanel do
SaveMessageText(mcParam_text, zdva.DeviceName,
Hint + ' = ' + objPanel.Caption, mcParam_bc, mcParam_fc);
end;
procedure TSidebarZdvaTmForm.VisButton3Click(Sender: TObject);
begin
with Sender as TVisButton do
SaveMessageText(mcParam_text, zdva.DeviceName,
Hint + ' = ' + iif(objButton.Down, 'Выкл', 'Вкл'), mcParam_bc, mcParam_fc);
end;
end.