V3.2
This commit is contained in:
Binary file not shown.
@@ -1780,7 +1780,7 @@ object FormConfig: TFormConfig
|
||||
Top = 8
|
||||
Width = 633
|
||||
Height = 457
|
||||
ActivePage = TabSheetAutonome
|
||||
ActivePage = TabSheetAig
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -11
|
||||
@@ -2474,7 +2474,7 @@ object FormConfig: TFormConfig
|
||||
Width = 137
|
||||
Height = 17
|
||||
Hint = 'Cocher si l'#39'aiguillage est invers'#233' dans CDM rail'
|
||||
Caption = 'Inversion de l'#39#233'tat CDM'
|
||||
Caption = 'Inversion du pilotage'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
@@ -2614,6 +2614,8 @@ object FormConfig: TFormConfig
|
||||
Top = 20
|
||||
Width = 41
|
||||
Height = 21
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 0
|
||||
OnKeyPress = Edit_HGKeyPress
|
||||
end
|
||||
@@ -2622,6 +2624,8 @@ object FormConfig: TFormConfig
|
||||
Top = 44
|
||||
Width = 41
|
||||
Height = 21
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
OnKeyPress = EditPointe_BGKeyPress
|
||||
end
|
||||
@@ -2662,6 +2666,8 @@ object FormConfig: TFormConfig
|
||||
Top = 20
|
||||
Width = 33
|
||||
Height = 21
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 6
|
||||
OnKeyPress = EditDevie_HDKeyPress
|
||||
end
|
||||
@@ -2670,6 +2676,8 @@ object FormConfig: TFormConfig
|
||||
Top = 44
|
||||
Width = 33
|
||||
Height = 21
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 7
|
||||
OnKeyPress = EditDroit_BDKeyPress
|
||||
end
|
||||
@@ -2723,45 +2731,33 @@ object FormConfig: TFormConfig
|
||||
TabOrder = 7
|
||||
object Label37: TLabel
|
||||
Left = 8
|
||||
Top = 18
|
||||
Top = 26
|
||||
Width = 66
|
||||
Height = 13
|
||||
Caption = 'D'#233'vi'#233' ou droit'
|
||||
end
|
||||
object Label38: TLabel
|
||||
Left = 8
|
||||
Top = 42
|
||||
Top = 50
|
||||
Width = 129
|
||||
Height = 13
|
||||
Caption = 'Temporisation (1/10'#232'me s)'
|
||||
end
|
||||
object EditTempo10: TEdit
|
||||
Left = 160
|
||||
Top = 40
|
||||
Top = 48
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 0
|
||||
OnKeyPress = EditTempo10KeyPress
|
||||
end
|
||||
object CheckInvInit: TCheckBox
|
||||
Left = 8
|
||||
Top = 64
|
||||
Width = 153
|
||||
Height = 17
|
||||
Hint = 'Inverse le pilotage de l'#39'aiguillage'
|
||||
Caption = 'Pilotage invers'#233
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
OnClick = CheckInvInitClick
|
||||
end
|
||||
object ComboBoxDD: TComboBox
|
||||
Left = 160
|
||||
Top = 16
|
||||
Top = 24
|
||||
Width = 97
|
||||
Height = 21
|
||||
ItemHeight = 13
|
||||
TabOrder = 2
|
||||
TabOrder = 1
|
||||
OnChange = ComboBoxDDChange
|
||||
Items.Strings = (
|
||||
'D'#233'vi'#233
|
||||
@@ -3050,7 +3046,7 @@ object FormConfig: TFormConfig
|
||||
Top = 48
|
||||
Width = 129
|
||||
Height = 21
|
||||
ItemHeight = 13
|
||||
ItemHeight = 0
|
||||
TabOrder = 1
|
||||
OnChange = ComboBoxDecChange
|
||||
end
|
||||
@@ -3067,6 +3063,8 @@ object FormConfig: TFormConfig
|
||||
Top = 120
|
||||
Width = 41
|
||||
Height = 21
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 4
|
||||
OnKeyPress = EditSuiv1KeyPress
|
||||
end
|
||||
@@ -3083,6 +3081,8 @@ object FormConfig: TFormConfig
|
||||
Top = 144
|
||||
Width = 41
|
||||
Height = 21
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 6
|
||||
OnKeyPress = EditSuiv2KeyPress
|
||||
end
|
||||
@@ -3099,6 +3099,8 @@ object FormConfig: TFormConfig
|
||||
Top = 168
|
||||
Width = 41
|
||||
Height = 21
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 8
|
||||
OnKeyPress = EditSuiv3KeyPress
|
||||
end
|
||||
@@ -3115,6 +3117,8 @@ object FormConfig: TFormConfig
|
||||
Top = 192
|
||||
Width = 41
|
||||
Height = 21
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 10
|
||||
OnKeyPress = EditSuiv4KeyPress
|
||||
end
|
||||
|
||||
@@ -219,7 +219,6 @@ type
|
||||
Label37: TLabel;
|
||||
Label38: TLabel;
|
||||
EditTempo10: TEdit;
|
||||
CheckInvInit: TCheckBox;
|
||||
Label39: TLabel;
|
||||
EditV4F: TEdit;
|
||||
EditV4O: TEdit;
|
||||
@@ -324,7 +323,6 @@ type
|
||||
|
||||
const
|
||||
// variables du fichier de configuration "config-gl.cfg"
|
||||
section_init='[section_init]';
|
||||
nb_det_dist_ch='nb_det_dist';
|
||||
IpV4_PC_ch='IpV4_PC';
|
||||
retro_ch='retro';
|
||||
@@ -570,8 +568,7 @@ begin
|
||||
if index=0 then exit;
|
||||
s:=IntToSTR(aiguillage[index].Adresse)+',';
|
||||
s:=s+IntToSTR(aiguillage[index].posInit)+',';
|
||||
s:=s+IntToSTR(aiguillage[index].temps)+',';
|
||||
s:=s+intToSTR(aiguillage[index].inversion);
|
||||
s:=s+IntToSTR(aiguillage[index].temps);
|
||||
encode_init_aig:=s;
|
||||
end;
|
||||
|
||||
@@ -644,8 +641,7 @@ begin
|
||||
// valeur d'initialisation
|
||||
s:=s+',INIT(';
|
||||
s:=s+IntToSTR(aiguillage[index].posInit)+',';
|
||||
s:=s+IntToSTR(aiguillage[index].temps)+',';
|
||||
s:=s+intToSTR(aiguillage[index].inversion)+')';
|
||||
s:=s+IntToSTR(aiguillage[index].temps)+')';
|
||||
|
||||
encode_aig:=s;
|
||||
end;
|
||||
@@ -756,6 +752,20 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
//
|
||||
function TypeElAIg_to_char(adr : integer;c : char) : string;
|
||||
var s: string;
|
||||
begin
|
||||
case c of
|
||||
'Z',#0 : s:='détecteur '+IntToSTR(adr);
|
||||
'P' : s:='pointe de l''aiguillage '+IntToSTR(adr);
|
||||
'S' : s:='position déviée de l''aiguillage '+IntToSTR(adr);
|
||||
'D' : s:='position droite de l''aiguillage '+IntToSTR(adr);
|
||||
else s:='Erreur';
|
||||
end;
|
||||
TypeElAIg_to_char:=s;
|
||||
end;
|
||||
|
||||
// transforme le signal du tableau feux[] en texte
|
||||
function encode_sig_feux(i : integer): string;
|
||||
var s : string;
|
||||
@@ -1746,11 +1756,13 @@ begin
|
||||
b:=aiguillage[Index_Aig(adresse)].ADroitB;
|
||||
if b='Z' then b:=#0;
|
||||
Edit_HG.Text:=intToSTR(aiguillage[index].ADroit)+b;
|
||||
Edit_HG.Hint:=TypeElAIg_to_char(aiguillage[index].Adroit,b);
|
||||
|
||||
// champ en bas à gauche
|
||||
b:=aiguillage[Index].ADevieB;
|
||||
if b='Z' then b:=#0;
|
||||
EditPointe_BG.Text:=intToSTR(aiguillage[index].ADevie)+b;
|
||||
EditPointe_BG.Hint:=TypeElAIg_to_char(aiguillage[index].ADevie,b);
|
||||
|
||||
// milieu haut gauche
|
||||
EditP1.Text:=intToSTR(adresse)+aiguillage[Index].DDroitB;
|
||||
@@ -1764,10 +1776,12 @@ begin
|
||||
|
||||
// droit haut
|
||||
EditDevie_HD.Text:=intToSTR(aiguillage[id2].Adevie)+aiguillage[id2].AdevieB;
|
||||
EditDevie_HD.Hint:=TypeElAIg_to_char(aiguillage[id2].Adevie,aiguillage[id2].AdevieB);
|
||||
LabelTJD1.Caption:=IntToSTR(adresse);
|
||||
|
||||
// droit bas
|
||||
EditDroit_BD.Text:=intToSTR(aiguillage[id2].Adroit)+aiguillage[Id2].AdroitB;
|
||||
EditDroit_BD.Hint:=TypeElAIg_to_char(aiguillage[id2].ADroit,aiguillage[Id2].AdroitB);
|
||||
LabelTJD2.Caption:=IntToSTR(adr2);
|
||||
|
||||
CheckInverse.checked:=aiguillage[Index_Aig(adresse)].inversionCDM=1;
|
||||
@@ -1807,8 +1821,13 @@ begin
|
||||
if aiguillage[Index].vitesse=60 then begin RadioButtonSans.checked:=false;RadioButton30kmh.checked:=false;RadioButton60kmh.checked:=true;end;
|
||||
|
||||
EditPointe_BG.Text:=intToSTR(aiguillage[index].Apointe)+aiguillage[index].ApointeB;
|
||||
EditPointe_BG.Hint:=TypeElAIg_to_char(aiguillage[index].Apointe,aiguillage[index].ApointeB);
|
||||
|
||||
EditDevie_HD.Text:=intToSTR(aiguillage[index].Adevie)+aiguillage[index].AdevieB;
|
||||
EditDevie_HD.Hint:=TypeElAIg_to_char(aiguillage[index].Adevie,aiguillage[index].AdevieB);
|
||||
|
||||
EditDroit_BD.Text:=intToSTR(aiguillage[index].Adroit)+aiguillage[index].AdroitB;
|
||||
EditDroit_BD.Hint:=TypeElAIg_to_char(aiguillage[index].Adroit,aiguillage[index].AdroitB);
|
||||
if tri then
|
||||
begin
|
||||
ComboBoxAig.ItemIndex:=3; // 0=n'existe pas 1=aiguillage 2=TJD 3=TJS 4=aiguillage triple
|
||||
@@ -1835,7 +1854,6 @@ begin
|
||||
if position=const_devie then formconfig.ComboBoxDD.ItemIndex:=0;
|
||||
formconfig.EditTempo10.text:=InttoSTr(aiguillage[index].temps);
|
||||
formconfig.EditTempo10.text:=InttoSTr(aiguillage[index].temps);
|
||||
formconfig.CheckInvInit.Checked:=aiguillage[index].inversion=1;
|
||||
|
||||
clicListe:=false;
|
||||
end;
|
||||
@@ -1895,6 +1913,22 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
// transforme une chaine "élément" en une chaine affichable pour le hint
|
||||
// ex chaine_element("A32")=aiguillage 32
|
||||
function chaine_element(Equip : Tequipement;adr : integer) : string;
|
||||
var s: string;
|
||||
begin
|
||||
case Equip of
|
||||
aig : s:='Aiguillage ';
|
||||
tjd : s:='Tjd ';
|
||||
tjs : s:='Tjs ';
|
||||
triple : s:='Aiguillage triple ';
|
||||
det : s:='Détecteur ';
|
||||
else s:='Inconnu ';
|
||||
end;
|
||||
result:=s+intToSTR(adr);
|
||||
end;
|
||||
|
||||
// mise à jour des champs du signal d'après le tableau feux
|
||||
Procedure aff_champs_sig_feux(index : integer);
|
||||
var i,j,l,d,k,nc,condCarre : integer;
|
||||
@@ -1946,29 +1980,35 @@ begin
|
||||
LabelDetAss.visible:=true;
|
||||
LabelElSuiv.visible:=true;
|
||||
|
||||
|
||||
EditDet1.Visible:=true;EditDet2.Visible:=true;EditDet3.Visible:=true;EditDet4.Visible:=true;
|
||||
EditSuiv1.Visible:=true;EditSuiv2.Visible:=true;EditSuiv3.Visible:=true;EditSuiv4.Visible:=true;
|
||||
Label24.Visible:=true; Label25.Visible:=true;Label26.Visible:=true;Label27.Visible:=true;
|
||||
CheckVerrouCarre.Visible:=true;
|
||||
EditDet1.Text:=IntToSTR(feux[i].Adr_det1);
|
||||
EditSuiv1.Text:=TypeEl_To_char(feux[i].Btype_suiv1)+IntToSTR(feux[i].Adr_el_suiv1);
|
||||
|
||||
EditSuiv1.Hint:=chaine_element(feux[i].Btype_suiv1,feux[i].Adr_el_suiv1);
|
||||
j:=feux[i].Adr_det2;
|
||||
if j<>0 then
|
||||
begin
|
||||
Editdet2.Text:=IntToSTR(j);EditSuiv2.Text:=TypeEl_To_char(feux[i].Btype_suiv2)+IntToSTR(feux[i].Adr_el_suiv2);
|
||||
end else begin EditDet2.Text:='';EditSuiv2.Text:='';end;
|
||||
EditSuiv2.Hint:=chaine_element(feux[i].Btype_suiv2,feux[i].Adr_el_suiv2);
|
||||
end else begin EditDet2.Text:='';EditSuiv2.Text:='';EditSuiv2.Hint:='';end;
|
||||
j:=feux[i].Adr_det3;
|
||||
if j<>0 then
|
||||
begin
|
||||
EditDet3.Text:=IntToSTR(j);EditSuiv3.Text:=TypeEl_To_char(feux[i].Btype_suiv3)+IntToSTR(feux[i].Adr_el_suiv3);
|
||||
EditSuiv3.Hint:=chaine_element(feux[i].Btype_suiv3,feux[i].Adr_el_suiv3);
|
||||
end
|
||||
else begin EditDet3.Text:='';EditSuiv3.Text:='';end;
|
||||
else begin EditDet3.Text:='';EditSuiv3.Text:='';EditSuiv3.Hint:='';end;
|
||||
j:=feux[i].Adr_det4;
|
||||
if j<>0 then
|
||||
begin
|
||||
EditDet4.Text:=IntToSTR(j);EditSuiv4.Text:=TypeEl_To_char(feux[i].Btype_suiv4)+IntToSTR(feux[i].Adr_el_suiv4);
|
||||
EditSuiv4.Hint:=chaine_element(feux[i].Btype_suiv4,feux[i].Adr_el_suiv4);
|
||||
end
|
||||
else begin EditDet4.Text:='';EditSuiv4.Text:='';end;
|
||||
else begin EditDet4.Text:='';EditSuiv4.Text:='';EditSuiv4.Hint:='';end;
|
||||
|
||||
checkVerrouCarre.Checked:=feux[i].VerrouCarre;
|
||||
checkBoxFB.Checked:=feux[i].FeuBlanc;
|
||||
@@ -2601,7 +2641,7 @@ begin
|
||||
EditAdrSig.Color:=clWindow;
|
||||
RE_ColorLine(Formconfig.RichSig,ligneClicSig,Clyellow);
|
||||
|
||||
aff_champs_sig_feux(lc+1);
|
||||
aff_champs_sig_feux(lc+1); // affiche les champs du feu
|
||||
clicliste:=false;
|
||||
end;
|
||||
|
||||
@@ -4048,6 +4088,14 @@ begin
|
||||
ok:=false;
|
||||
Affiche('Erreur : Détecteur '+intToSTR(i)+' non existant mais associé au signal '+IntToSTR(feux[j].adresse),clred);
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if feux[j].Aspect<10 then
|
||||
begin
|
||||
ok:=false;
|
||||
Affiche('Erreur : Adresse de détecteur nul sur signal '+IntToSTR(feux[j].adresse),clred);
|
||||
end;
|
||||
end;
|
||||
|
||||
i:=feux[j].Adr_det2;
|
||||
@@ -5037,7 +5085,6 @@ begin
|
||||
if affevt then affiche('Evt change InvInit',clyellow);
|
||||
s:=formconfig.RichAig.Lines[ligneclicAig];
|
||||
Val(s,adrAig,erreur);
|
||||
if checkInvInit.Checked then aiguillage[Index_Aig(adraig)].Inversion:=1 else aiguillage[Index_Aig(adraig)].Inversion:=0;
|
||||
// réencoder la ligne
|
||||
s:=encode_aig(Index_Aig(AdrAig));
|
||||
formconfig.RichAig.Lines[ligneclicAig]:=s;
|
||||
|
||||
BIN
UnitPrinc.dcu
BIN
UnitPrinc.dcu
Binary file not shown.
@@ -216,13 +216,12 @@ TBranche = record
|
||||
position, // position actuelle : 1=dévié 2=droit (centrale LENZ)
|
||||
posInit, // position d'initialisation 1=dévié 2=droit 9=non positionné
|
||||
Adrtriple, // 2eme adresse pour un aiguillage triple
|
||||
temps, // temps de pilotage (durée de l'impulsion en x 100 ms)
|
||||
inversion : integer; // positionné dans fichier config_gl section_init
|
||||
temps, // temps de pilotage (durée de l'impulsion en x 100 ms
|
||||
InversionCDM : integer ; // pour les aiguillages déclarés inversés dans CDM, utilisé en mode autonome (paramètre I1)
|
||||
vitesse : integer; // vitesse de franchissement de l'aiguillage en position déviée (60 ou 90)
|
||||
|
||||
ADroit : integer ; // (TJD:identifiant extérieur) connecté sur la position droite en talon
|
||||
ADroitB : char ; // id de branche pour TJD
|
||||
ADroitB : char ; // P D S Z
|
||||
|
||||
ADevie : integer ; // (TJD:identifiant extérieur) adresse de l'élément connecté en position déviée
|
||||
ADevieB : char; // caractère (D ou S)si aiguillage de l'élément connecté en position déviée
|
||||
@@ -2634,7 +2633,7 @@ var s,sa,chaine,SOrigine: string;
|
||||
pds,trouve_section_branche,trouve_section_sig,trouve_section_act,compile_init_cfg : boolean;
|
||||
bd,virgule,i_detect,i,erreur,aig2,detect,offset,index, adresse,j,position,temporisation,invers,indexPointe,indexDevie,indexDroit,
|
||||
ComptEl,Compt_IT,Num_Element,k,modele,adr,adr2,erreur2,l,t,Nligne,postriple,itl,
|
||||
postjd,postjs,nv,it,Num_Champ,asp,inversion,adraig : integer;
|
||||
postjd,postjs,nv,it,Num_Champ,asp,adraig : integer;
|
||||
label ici1,ici2,ici3,ici4 ;
|
||||
|
||||
function lit_ligne : string ;
|
||||
@@ -2654,41 +2653,6 @@ var s,sa,chaine,SOrigine: string;
|
||||
lit_ligne:=s;
|
||||
end;
|
||||
|
||||
procedure compile_section_init;
|
||||
var index : integer;
|
||||
begin
|
||||
//initialisation aiguillages
|
||||
repeat
|
||||
s:=lit_ligne;
|
||||
j:=pos(',',s);
|
||||
if j>1 then
|
||||
begin
|
||||
begin
|
||||
Val(s,adresse,erreur);
|
||||
Delete(s,1,j); // adresse aiguillage
|
||||
if (adresse>0) and (AvecInitAiguillages) then
|
||||
begin
|
||||
j:=pos(',',s);
|
||||
Val(s,position,erreur);
|
||||
Delete(S,1,j);// position aiguillage
|
||||
if (position<1) or (position>2) then position:=1;
|
||||
index:=Index_Aig(adresse);
|
||||
aiguillage[index].posInit:=position;
|
||||
|
||||
// temporisation aiguillage
|
||||
j:=pos(',',s);if j=0 then j:=length(s);
|
||||
val(s,temporisation,erreur);Delete(S,1,j);
|
||||
if (temporisation<0) or (temporisation>10) then temporisation:=5;
|
||||
aiguillage[index].temps:=temporisation;
|
||||
|
||||
val(s,invers,erreur);
|
||||
if (invers<0) or (invers>1) then invers:=0; // inversion commande
|
||||
aiguillage[index].inversion:=invers;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
until (adresse=0);
|
||||
end;
|
||||
|
||||
begin
|
||||
compile_init_cfg:=true;
|
||||
@@ -2723,7 +2687,6 @@ begin
|
||||
Aiguillage[i].position:=const_inconnu; // position inconnue
|
||||
Aiguillage[i].PosInit:=const_inconnu; // position inconnue
|
||||
Aiguillage[i].temps:=5 ;
|
||||
Aiguillage[i].inversion:=0;
|
||||
Aiguillage[i].inversionCDM:=0;
|
||||
end;
|
||||
for i:=1 to 1024 do
|
||||
@@ -3005,11 +2968,11 @@ begin
|
||||
i:=pos(',',enregistrement);
|
||||
if i<>0 then delete(enregistrement,1,i);
|
||||
Val(enregistrement,j,erreur);
|
||||
i:=pos(',',enregistrement);
|
||||
if i<>0 then delete(enregistrement,1,i);
|
||||
Val(enregistrement,inversion,erreur);
|
||||
//i:=pos(',',enregistrement);
|
||||
//if i<>0 then delete(enregistrement,1,i);
|
||||
//Val(enregistrement,inversion,erreur);
|
||||
aiguillage[maxaiguillage].temps:=j;
|
||||
aiguillage[maxaiguillage].inversion:=inversion;
|
||||
//aiguillage[maxaiguillage].inversion:=inversion;
|
||||
aiguillage[maxaiguillage].posinit:=position;
|
||||
i:=pos(')',enregistrement);
|
||||
delete(enregistrement,1,i);
|
||||
@@ -3427,21 +3390,6 @@ begin
|
||||
val(s,Tempo_Aig,erreur);
|
||||
end;
|
||||
|
||||
i:=pos(uppercase(section_init),s);
|
||||
if (i<>0) then
|
||||
begin
|
||||
if compile_init_cfg then
|
||||
begin
|
||||
trouve_sec_init:=true;
|
||||
compile_section_init;
|
||||
inc(nv);
|
||||
Affiche('compilation de la section [init aig]',cllime);
|
||||
end;
|
||||
Affiche('Attention la section [init_aig] n''est plus gérée, elle est déplacée dans la configuration des aiguillages',clWhite);
|
||||
Affiche('Veuillez regénérer les fichiers de configuration: ',clWhite);
|
||||
Affiche('Menu Divers/configuration bouton "Enregistrement de la configuration et fermer"',clWhite);
|
||||
end;
|
||||
|
||||
sa:=uppercase(verif_version_ch)+'=';
|
||||
i:=pos(sa,s);
|
||||
if i<>0 then
|
||||
@@ -3542,7 +3490,6 @@ begin
|
||||
if not(trouve_NbDetDist) then s:=nb_det_dist_ch;
|
||||
if not(trouve_ipv4_PC) then s:=IpV4_PC_ch;
|
||||
if not(trouve_retro) then s:=retro_ch;
|
||||
//if not(trouve_sec_init) and compile_init_cfg then s:=section_init;
|
||||
if not(trouve_init_aig) then s:=INIT_AIG_ch;
|
||||
if not(trouve_lay) then s:=LAY_ch;
|
||||
if not(trouve_INTER_CAR) then s:=INTER_CAR_ch;
|
||||
@@ -5908,6 +5855,14 @@ label mise0;
|
||||
begin
|
||||
//Affiche(IntToSTR(adresse)+' '+intToSTr(octet),clYellow);
|
||||
|
||||
index:=index_aig(adresse);
|
||||
|
||||
// test si pilotage aiguillage inversé
|
||||
if (acc=aigP) and (aiguillage[index].inversionCDM=1) then
|
||||
begin
|
||||
if octet=1 then octet:=2 else octet:=1;
|
||||
end;
|
||||
|
||||
// pilotage par CDM rail -----------------
|
||||
if CDM_connecte then
|
||||
begin
|
||||
@@ -5926,13 +5881,6 @@ begin
|
||||
// pilotage par USB ou par éthernet de la centrale ------------
|
||||
if (hors_tension2=false) and (portCommOuvert or parSocketLenz) then
|
||||
begin
|
||||
// test si pilotage aiguillage inversé
|
||||
index:=index_aig(adresse);
|
||||
if (acc=aigP) and (aiguillage[index].inversion=1) then
|
||||
begin
|
||||
if octet=1 then octet:=2 else octet:=1;
|
||||
end;
|
||||
|
||||
if (octet=0) or (octet>2) then exit;
|
||||
|
||||
groupe:=(adresse-1) div 4;
|
||||
|
||||
BIN
UnitTCO.dcu
BIN
UnitTCO.dcu
Binary file not shown.
Binary file not shown.
@@ -24,7 +24,7 @@ var
|
||||
verifVersion,notificationVersion : boolean;
|
||||
|
||||
Const Version='3.2'; // sert à la comparaison de la version publiée
|
||||
SousVersion=' '; // en cas d'absence de sous version mettre un espace
|
||||
SousVersion='C'; // en cas d'absence de sous version mettre un espace
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
@@ -62,6 +62,9 @@ version 3.1 : Renforcement de la v
|
||||
Correction d'un bug sur l'affichage des rappels de ralentissement non présentés.
|
||||
Correction d'un bug sur certains évènements aiguillages.
|
||||
Correction d'un bug sur présence train avant signal sur aiguille en talon mal positionnée.
|
||||
version 3.2 : Correction bug cohérence signal unisemaf.
|
||||
: Simplification des aiguillages pilotés inversés
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user