SidebarZdvaTm.pas

SidebarZdvaTm.pas
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.
doc/visscada/visscada_sidebar_zdvatm_pas.txt · Последние изменения: 2021/11/05 18:20 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0