Plancia configurabile su Modbus RTU
Due programmi che condividono uModbusRTU e uGauge: - Console/PlanciaConsole: plancia nautica descritta da file XML, con modalita' plancia e modalita' configurazione. Comandi, spie, selettori, strumenti e allarmi sonori; il bus gira in un thread suo perche' la finestra non si fermi mai. - ProjectPlancia: il programma di prova piu' vecchio, usato per collaudare i canali. Le plance sono in Console/*.xml, la documentazione in Console/LEGGIMI.md. Esclusi dal versionamento i compilati (.exe, .dcu), i file dell'IDE e un audio da 17 MB. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
commit
4a01a2ec88
69 files changed
+11658
No files matched your search
@@ -0,0 +1,224 @@
|
||||
object MainForm: TMainForm
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = 'Plancia ZEBRA - Controllo RS485'
|
||||
ClientHeight = 620
|
||||
ClientWidth = 820
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Segoe UI'
|
||||
Font.Style = []
|
||||
Position = poScreenCenter
|
||||
OnCreate = FormCreate
|
||||
OnDestroy = FormDestroy
|
||||
TextHeight = 15
|
||||
object pnlTop: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 820
|
||||
Height = 110
|
||||
Align = alTop
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 814
|
||||
object lblPort: TLabel
|
||||
Left = 16
|
||||
Top = 16
|
||||
Width = 62
|
||||
Height = 15
|
||||
Caption = 'Porta COM:'
|
||||
end
|
||||
object lblBaud: TLabel
|
||||
Left = 160
|
||||
Top = 16
|
||||
Width = 30
|
||||
Height = 15
|
||||
Caption = 'Baud:'
|
||||
end
|
||||
object lblStatus: TLabel
|
||||
Left = 448
|
||||
Top = 15
|
||||
Width = 104
|
||||
Height = 15
|
||||
Caption = 'Stato: Disconnesso'
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Segoe UI'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object lblSlaveRele: TLabel
|
||||
Left = 16
|
||||
Top = 60
|
||||
Width = 52
|
||||
Height = 15
|
||||
Caption = 'Slave rel'#232':'
|
||||
end
|
||||
object lblSlaveIO: TLabel
|
||||
Left = 160
|
||||
Top = 60
|
||||
Width = 50
|
||||
Height = 15
|
||||
Caption = 'Slave I/O:'
|
||||
end
|
||||
object lblSlaveAnalog: TLabel
|
||||
Left = 300
|
||||
Top = 60
|
||||
Width = 72
|
||||
Height = 15
|
||||
Caption = 'Slave analog.:'
|
||||
end
|
||||
object cboPort: TComboBox
|
||||
Left = 16
|
||||
Top = 34
|
||||
Width = 121
|
||||
Height = 23
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
end
|
||||
object cboBaud: TComboBox
|
||||
Left = 160
|
||||
Top = 34
|
||||
Width = 121
|
||||
Height = 23
|
||||
Style = csDropDownList
|
||||
TabOrder = 1
|
||||
end
|
||||
object btnConnect: TButton
|
||||
Left = 448
|
||||
Top = 41
|
||||
Width = 100
|
||||
Height = 30
|
||||
Caption = 'Connetti'
|
||||
TabOrder = 2
|
||||
OnClick = btnConnectClick
|
||||
end
|
||||
object edtSlaveRele: TEdit
|
||||
Left = 92
|
||||
Top = 57
|
||||
Width = 40
|
||||
Height = 23
|
||||
TabOrder = 3
|
||||
Text = '1'
|
||||
end
|
||||
object edtSlaveIO: TEdit
|
||||
Left = 226
|
||||
Top = 57
|
||||
Width = 40
|
||||
Height = 23
|
||||
TabOrder = 4
|
||||
Text = '2'
|
||||
end
|
||||
object edtSlaveAnalog: TEdit
|
||||
Left = 386
|
||||
Top = 57
|
||||
Width = 40
|
||||
Height = 23
|
||||
TabOrder = 5
|
||||
Text = '5'
|
||||
end
|
||||
object CBReadInput: TCheckBox
|
||||
Left = 451
|
||||
Top = 77
|
||||
Width = 97
|
||||
Height = 17
|
||||
Caption = 'Leggi Ingressi'
|
||||
Checked = True
|
||||
State = cbChecked
|
||||
TabOrder = 6
|
||||
end
|
||||
object CBReadAnalog: TCheckBox
|
||||
Left = 560
|
||||
Top = 77
|
||||
Width = 113
|
||||
Height = 17
|
||||
Caption = 'Leggi Analogici'
|
||||
TabOrder = 7
|
||||
end
|
||||
end
|
||||
object pgcMain: TPageControl
|
||||
Left = 0
|
||||
Top = 110
|
||||
Width = 820
|
||||
Height = 380
|
||||
ActivePage = tsInterruttori
|
||||
Align = alClient
|
||||
TabOrder = 1
|
||||
ExplicitWidth = 814
|
||||
ExplicitHeight = 363
|
||||
object tsInterruttori: TTabSheet
|
||||
Caption = 'Interruttori'
|
||||
object pnlInterruttori: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 812
|
||||
Height = 350
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 806
|
||||
ExplicitHeight = 333
|
||||
end
|
||||
end
|
||||
object tsPulsanti: TTabSheet
|
||||
Caption = 'Pulsanti'
|
||||
ImageIndex = 3
|
||||
object pnlPulsanti: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 812
|
||||
Height = 350
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object tsInputs: TTabSheet
|
||||
Caption = 'Ingressi Binari'
|
||||
ImageIndex = 1
|
||||
object pnlInputs: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 812
|
||||
Height = 350
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object tsAnalog: TTabSheet
|
||||
Caption = 'Analogici'
|
||||
ImageIndex = 2
|
||||
object pnlAnalog: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 812
|
||||
Height = 350
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
object mmoLog: TMemo
|
||||
Left = 0
|
||||
Top = 490
|
||||
Width = 820
|
||||
Height = 130
|
||||
Align = alBottom
|
||||
ReadOnly = True
|
||||
ScrollBars = ssVertical
|
||||
TabOrder = 2
|
||||
ExplicitTop = 473
|
||||
ExplicitWidth = 814
|
||||
end
|
||||
object tmrPoll: TTimer
|
||||
Enabled = False
|
||||
Interval = 500
|
||||
OnTimer = tmrPollTimer
|
||||
Left = 760
|
||||
Top = 16
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user