object fMain: TfMain Left = 0 Top = 0 BorderIcons = [biSystemMenu] Caption = '[ PLC <-> MQTT ] Interface Agent - Delphi 13 VCL' ClientHeight = 429 ClientWidth = 471 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'Segoe UI' Font.Style = [] Menu = MainMenu1 Position = poScreenCenter StyleName = 'Tablet Dark' OnClose = FormClose OnCloseQuery = FormCloseQuery OnCreate = FormCreate OnDestroy = FormDestroy DesignSize = ( 471 429) TextHeight = 15 object Label1: TLabel Left = 8 Top = 78 Width = 76 Height = 12 Alignment = taCenter AutoSize = False Caption = 'DI 01' end object Label2: TLabel Left = 88 Top = 78 Width = 76 Height = 12 Alignment = taCenter AutoSize = False Caption = 'DI 02' end object Label3: TLabel Left = 195 Top = 78 Width = 76 Height = 12 Alignment = taCenter AutoSize = False Caption = 'DO 01' end object Label4: TLabel Left = 275 Top = 78 Width = 76 Height = 12 Alignment = taCenter AutoSize = False Caption = 'DO 02' end object Label5: TLabel Left = 378 Top = 78 Width = 80 Height = 12 Alignment = taCenter AutoSize = False Caption = 'PULSE' end object Label6: TLabel Left = 8 Top = 7 Width = 96 Height = 12 Alignment = taCenter AutoSize = False Caption = 'PC -> PLC' end object Label7: TLabel Left = 318 Top = 7 Width = 118 Height = 12 Alignment = taCenter AutoSize = False Caption = 'LOCAL' end object Label8: TLabel Left = 8 Top = 286 Width = 22 Height = 15 Caption = 'PUB' end object Label9: TLabel Left = 8 Top = 309 Width = 21 Height = 15 Caption = 'SUB' end object Memo1: TMemo Left = 0 Top = 329 Width = 471 Height = 81 Align = alBottom Anchors = [akLeft, akTop, akRight, akBottom] Lines.Strings = ( 'Memo1') TabOrder = 0 end object grid_di01: TStringGrid Left = 8 Top = 93 Width = 76 Height = 180 ColCount = 2 DefaultColWidth = 30 DefaultRowHeight = 18 RowCount = 9 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected] TabOrder = 1 ColWidths = ( 30 41) RowHeights = ( 18 18 18 18 18 18 18 18 18) end object grid_di02: TStringGrid Left = 88 Top = 93 Width = 76 Height = 180 ColCount = 2 DefaultColWidth = 30 DefaultRowHeight = 18 RowCount = 9 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected] TabOrder = 2 ColWidths = ( 30 41) RowHeights = ( 18 18 18 18 18 18 18 18 18) end object grid_do01: TStringGrid Left = 195 Top = 93 Width = 76 Height = 180 ColCount = 2 DefaultColWidth = 30 DefaultRowHeight = 18 RowCount = 9 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected] TabOrder = 3 ColWidths = ( 30 41) RowHeights = ( 18 18 18 18 18 18 18 18 18) end object grid_do02: TStringGrid Left = 275 Top = 93 Width = 76 Height = 180 ColCount = 2 DefaultColWidth = 30 DefaultRowHeight = 18 RowCount = 9 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected] TabOrder = 4 ColWidths = ( 30 41) RowHeights = ( 18 18 18 18 18 18 18 18 18) end object grid_pulse: TStringGrid Left = 378 Top = 93 Width = 80 Height = 180 ColCount = 2 DefaultColWidth = 30 DefaultRowHeight = 18 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected] TabOrder = 5 ColWidths = ( 30 41) RowHeights = ( 18 18 18 18 18) end object grid_doCmd: TStringGrid Left = 8 Top = 22 Width = 450 Height = 50 ColCount = 17 DefaultColWidth = 25 DefaultRowHeight = 18 RowCount = 2 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected] TabOrder = 6 ColWidths = ( 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25) RowHeights = ( 18 18) end object StatusBar1: TStatusBar Left = 0 Top = 410 Width = 471 Height = 19 Panels = < item Width = 50 end item Width = 100 end item Width = 50 end item Width = 50 end item Width = 50 end> end object Edit1: TEdit Left = 40 Top = 283 Width = 431 Height = 23 Anchors = [akLeft, akTop, akRight] TabOrder = 8 end object Edit2: TEdit Left = 40 Top = 306 Width = 431 Height = 23 Anchors = [akLeft, akTop, akRight] TabOrder = 9 end object ReadTimer: TTimer Enabled = False Interval = 200 OnTimer = ReadTimerTimer Left = 56 Top = 352 end object initTimer: TTimer Interval = 100 OnTimer = initTimerTimer Left = 120 Top = 352 end object CtrlTimer: TTimer Interval = 500 OnTimer = CtrlTimerTimer Left = 184 Top = 352 end object MainMenu1: TMainMenu Left = 256 Top = 352 object File1: TMenuItem Caption = 'File' object Exit1: TMenuItem Caption = 'Exit' OnClick = Exit1Click end end object Comm1: TMenuItem Caption = 'Comm' object Open1: TMenuItem Caption = 'Open' OnClick = Open1Click end object Close1: TMenuItem Caption = 'Close' OnClick = Close1Click end object N1: TMenuItem Caption = '-' end object AutoRun1: TMenuItem Caption = 'Auto Run' OnClick = AutoRun1Click end object N3: TMenuItem Caption = '-' end object AutoHide: TMenuItem Caption = 'Auto Hide' OnClick = AutoHideClick end end end object PopupMenu1: TPopupMenu Left = 336 Top = 352 object SHOW1: TMenuItem Caption = 'SHOW' end object HIDE1: TMenuItem Caption = 'HIDE' end object N2: TMenuItem Caption = '-' end object EXIT2: TMenuItem Caption = 'EXIT' OnClick = EXIT2Click end end object ComPort1: TComPort BaudRate = br9600 Port = 'COM7' Parity.Bits = prNone StopBits = sbOneStopBit DataBits = dbEight Events = [evRxChar, evTxEmpty, evRxFlag, evRing, evBreak, evCTS, evDSR, evError, evRLSD, evRx80Full] FlowControl.OutCTSFlow = False FlowControl.OutDSRFlow = False FlowControl.ControlDTR = dtrDisable FlowControl.ControlRTS = rtsDisable FlowControl.XonXoffOut = False FlowControl.XonXoffIn = False StoredProps = [spBasic] TriggersOnRxChar = True OnAfterOpen = ComPort1AfterOpen OnAfterClose = ComPort1AfterClose OnRxChar = ComPort1RxChar Left = 408 Top = 352 end end