Различия
Здесь показаны различия между двумя версиями данной страницы.
|
doc:visscada:visscada_sidebar_zdvatm_pas [2021/11/05 18:17] denis создано |
doc:visscada:visscada_sidebar_zdvatm_pas [2021/11/05 18:20] (текущий) denis |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== _prjprocs.pas ====== | + | ====== SidebarZdvaTm.pas ====== |
| + | |||
| + | <file pascal 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. | ||
| - | <file pascal _prjprocs.pas> | ||
| </file> | </file> | ||