Широковещательные сообщения (broad cast)
This commit is contained in:
parent
8afa7b0ec6
commit
3ba8b59095
BIN
AsyncPro_D2007.bpl
Normal file
BIN
AsyncPro_D2007.bpl
Normal file
Binary file not shown.
BIN
CAN_Terminal.dcu
BIN
CAN_Terminal.dcu
Binary file not shown.
@ -1,8 +1,8 @@
|
||||
object CANTerminal: TCANTerminal
|
||||
Left = 992
|
||||
Left = 100
|
||||
Top = 100
|
||||
Width = 801
|
||||
Height = 538
|
||||
Height = 600
|
||||
Caption = 'CANTerminal "Hunderitter" v.07.04.2025'
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
@ -36,13 +36,14 @@ object CANTerminal: TCANTerminal
|
||||
000380800003C000000FC000000FF000001FF000001FF80000FFF80000FFF800
|
||||
00FFFC0001FFFC0001FFFF800FFFFF800FFFFF800FFFFF800FFFFFFFFFFF}
|
||||
OldCreateOrder = False
|
||||
Visible = True
|
||||
OnClose = FormClose
|
||||
OnCreate = FormCreate
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object RxLabel1: TRxLabel
|
||||
Left = 245
|
||||
Top = 440
|
||||
Left = 429
|
||||
Top = 464
|
||||
Width = 39
|
||||
Height = 13
|
||||
Caption = 'CAN on'
|
||||
@ -63,7 +64,7 @@ object CANTerminal: TCANTerminal
|
||||
Left = 10
|
||||
Top = 48
|
||||
Width = 765
|
||||
Height = 337
|
||||
Height = 355
|
||||
Caption = ' '#1055#1088#1086#1077#1082#1090' '
|
||||
TabOrder = 1
|
||||
object Label1: TLabel
|
||||
@ -139,16 +140,16 @@ object CANTerminal: TCANTerminal
|
||||
end
|
||||
object Memo1: TMemo
|
||||
Left = 10
|
||||
Top = 390
|
||||
Width = 225
|
||||
Height = 100
|
||||
Top = 410
|
||||
Width = 400
|
||||
Height = 140
|
||||
Lines.Strings = (
|
||||
'')
|
||||
TabOrder = 2
|
||||
end
|
||||
object CANswitch: TRxSwitch
|
||||
Left = 248
|
||||
Top = 390
|
||||
Left = 432
|
||||
Top = 410
|
||||
Width = 33
|
||||
Height = 49
|
||||
Caption = 'CANswitch'
|
||||
@ -156,8 +157,8 @@ object CANTerminal: TCANTerminal
|
||||
OnClick = CANswitchClick
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 472
|
||||
Top = 400
|
||||
Left = 672
|
||||
Top = 448
|
||||
Width = 273
|
||||
Height = 169
|
||||
Caption = 'UART'
|
||||
@ -288,24 +289,24 @@ object CANTerminal: TCANTerminal
|
||||
end
|
||||
end
|
||||
object RadioGroup1: TRadioGroup
|
||||
Left = 296
|
||||
Top = 390
|
||||
Left = 480
|
||||
Top = 410
|
||||
Width = 73
|
||||
Height = 65
|
||||
Caption = ' Can Speed '
|
||||
TabOrder = 5
|
||||
end
|
||||
object Button125: TRadioButton
|
||||
Left = 304
|
||||
Top = 408
|
||||
Left = 487
|
||||
Top = 427
|
||||
Width = 50
|
||||
Height = 17
|
||||
Caption = '125K'
|
||||
TabOrder = 6
|
||||
end
|
||||
object Button250: TRadioButton
|
||||
Left = 304
|
||||
Top = 432
|
||||
Left = 487
|
||||
Top = 451
|
||||
Width = 50
|
||||
Height = 17
|
||||
Caption = '250K'
|
||||
|
@ -95,7 +95,8 @@ type
|
||||
BaseAdr: longword;
|
||||
PlusAdr: integer;
|
||||
CommAdr: longword;
|
||||
UKSS: array[0..15] of TUKSS;
|
||||
UKSS: array[0..16] of TUKSS;
|
||||
|
||||
Name: string;
|
||||
DigiButNames: array[0..16] of string;
|
||||
DigiButNameChange: boolean;
|
||||
@ -122,7 +123,6 @@ type
|
||||
ProjectQua : integer = 0;
|
||||
ProjectNum : integer = 0;
|
||||
|
||||
|
||||
Boxx : Tboxx;
|
||||
|
||||
const
|
||||
@ -146,21 +146,21 @@ begin
|
||||
Project.Bars.Name := TPanel.Create(self);
|
||||
Project.Bars.Name.Parent := GroupBox;
|
||||
Project.Bars.Name.Left :=10;
|
||||
Project.Bars.Name.Top :=15;
|
||||
Project.Bars.Name.Width :=100;
|
||||
Project.Bars.Name.Top :=15;
|
||||
Project.Bars.Name.Width :=100;
|
||||
Project.Bars.Name.Height := 30;
|
||||
|
||||
Project.Bars.BaseAdr := TPanel.Create(self);
|
||||
Project.Bars.BaseAdr.Parent := GroupBox;
|
||||
Project.Bars.BaseAdr.Left :=10+100+10;
|
||||
Project.Bars.BaseAdr.Top :=15;
|
||||
Project.Bars.BaseAdr.Top :=15;
|
||||
Project.Bars.BaseAdr.Width :=100;
|
||||
Project.Bars.BaseAdr.Height := 30;
|
||||
|
||||
Project.Bars.CommAdr := TPanel.Create(self);
|
||||
Project.Bars.CommAdr.Parent := GroupBox;
|
||||
Project.Bars.CommAdr.Left :=10+100+10+100+10;
|
||||
Project.Bars.CommAdr.Top :=15;
|
||||
Project.Bars.CommAdr.Top :=15;
|
||||
Project.Bars.CommAdr.Width :=100;
|
||||
Project.Bars.CommAdr.Height := 30;
|
||||
|
||||
@ -169,14 +169,14 @@ begin
|
||||
Label1.Top := Project.Bars.Name.Top + Project.Bars.Name.Height + tab*3;
|
||||
Label2.Top := Label1.Top; Label3.Top := Label1.Top; Label4.Top := Label1.Top;
|
||||
Label5.Top := Label1.Top; Label6.Top := Label1.Top; Label7.Top := Label1.Top;
|
||||
Label8.Top := Label1.Top; Label9.Top := Label1.Top; Label10.Top := Label1.Top;
|
||||
Label8.Top := Label1.Top; Label9.Top := Label1.Top; Label10.Top := Label1.Top;
|
||||
|
||||
for i:= 0 to 15 do
|
||||
begin
|
||||
for i:= 0 to 16 do
|
||||
begin
|
||||
|
||||
hei := 25;
|
||||
top := Label1.Top + Label1.Height + tab + (hei+tab)*(i mod 8);
|
||||
lef := 10 + (i div 8)*(lev);
|
||||
top := Label1.Top + Label1.Height + tab + (hei+tab)*((i mod 8)+8*(i div 16));
|
||||
lef := 10 + ((i div 8) and 1)*(lev);
|
||||
|
||||
wid := hei;
|
||||
Project.UKSS[i].Bar.RSadr := TPanel.Create(self);
|
||||
@ -236,18 +236,18 @@ begin
|
||||
Project.UKSS[i].Bar.Go.Width :=wid;
|
||||
Project.UKSS[i].Bar.Go.Height := hei;
|
||||
Project.UKSS[i].Bar.Go.Left :=lef;
|
||||
Project.UKSS[i].Bar.Go.Top :=top;
|
||||
Project.UKSS[i].Bar.Go.Caption :='S';
|
||||
Project.UKSS[i].Bar.Go.Top :=top;
|
||||
Project.UKSS[i].Bar.Go.Caption :='S';
|
||||
Project.UKSS[i].Bar.Go.Font.Style:=[fsBold];
|
||||
Project.UKSS[i].Bar.Go.Tag := i;
|
||||
Project.UKSS[i].Bar.Go.OnClick := ShoWinClick;
|
||||
|
||||
if i=0 then Label5.Left := lef;
|
||||
if i=8 then Label10.Left := lef;
|
||||
if i=8 then Label10.Left := lef;
|
||||
|
||||
if i<8 then lev := lef + wid + tab*2;
|
||||
if i<8 then lev := lef + wid + tab*2;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
PathExe:=ExtractFileDir(ParamStr(0))+'\';
|
||||
|
||||
@ -281,7 +281,7 @@ begin
|
||||
then Project.Bars.CommAdr.Caption := ''
|
||||
else Project.Bars.CommAdr.Caption := '0x'+inttohex(Project.CommAdr,8);
|
||||
|
||||
for i:=0 to 15 do
|
||||
for i:=0 to 16 do
|
||||
begin
|
||||
Project.UKSS[i].Bar.RXadr.Tag:=0;
|
||||
Project.UKSS[i].Bar.TXadr.Tag:=0;
|
||||
@ -332,7 +332,7 @@ begin
|
||||
begin
|
||||
Project.BaseAdr := 0;
|
||||
Project.PlusAdr := 1 shl 28;
|
||||
left:=24;
|
||||
left:=20;
|
||||
end else begin
|
||||
Project.BaseAdr := Inifile.ReadInteger(ProjID,'BaseAdr',0);
|
||||
Project.PlusAdr := Inifile.ReadInteger(ProjID,'PlusAdr',16);
|
||||
@ -342,7 +342,7 @@ begin
|
||||
Project.CommAdr := Inifile.ReadInteger(ProjID,'CommAdr',0);
|
||||
|
||||
adr:=-1;
|
||||
for i:=0 to 15 do
|
||||
for i:=0 to 16 do
|
||||
begin
|
||||
|
||||
nom := 'Use_'+inttostr(i);
|
||||
@ -417,7 +417,7 @@ begin
|
||||
|
||||
if Project.Protokol=3
|
||||
|
||||
then adr := ArrCanMessage[pak].m_dwID and $1F000000
|
||||
then adr := ArrCanMessage[pak].m_dwID and $1FF00000
|
||||
else adr := ArrCanMessage[pak].m_dwID;
|
||||
|
||||
if boxx.qua = 0 then
|
||||
@ -469,7 +469,8 @@ begin
|
||||
end
|
||||
end;
|
||||
|
||||
for i:=0 to 15 do
|
||||
for i:=0 to 16 do
|
||||
begin
|
||||
if Project.UKSS[i].Use then
|
||||
begin
|
||||
if Project.UKSS[i].RXadr = adr then
|
||||
@ -523,10 +524,11 @@ begin
|
||||
if(Project.UKSS[i].RXadr = adr) then mess.Surs := 1;
|
||||
|
||||
if Project.UKSS[i].Exist then
|
||||
Project.UKSS[i].Wind.ReceiveCanData(mess);
|
||||
Project.UKSS[i].Wind.ReceiveCanData(mess,i);
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end;
|
||||
|
||||
newstring:='';
|
||||
@ -542,7 +544,7 @@ begin
|
||||
end;
|
||||
|
||||
if CANswitch.StateOn then
|
||||
for i:=0 to 15 do
|
||||
for i:=0 to 16 do
|
||||
if Project.UKSS[i].Use then
|
||||
begin
|
||||
if Project.UKSS[i].Bar.RXadr.Tag = 0
|
||||
@ -581,7 +583,7 @@ begin
|
||||
CloseSlavna();
|
||||
CanTimer.Enabled:=false;
|
||||
boxx.qua := 0;
|
||||
for i:=0 to 15 do
|
||||
for i:=0 to 16 do
|
||||
begin
|
||||
Project.UKSS[i].Bar.RXadr.Color := clBtnFace;
|
||||
Project.UKSS[i].Bar.TXadr.Color := clBtnFace;
|
||||
@ -643,7 +645,7 @@ var i : integer;
|
||||
nom, num: string;
|
||||
begin
|
||||
|
||||
for i:=0 to 15 do
|
||||
for i:=0 to 16 do
|
||||
if Project.UKSS[i].Exist then
|
||||
begin
|
||||
Project.UKSS[i].Wind.Close;
|
||||
|
@ -1,6 +1,6 @@
|
||||
[Projects]
|
||||
ProjectQua=9
|
||||
ProjectNum=6
|
||||
ProjectNum=7
|
||||
Project1=Áóêñèð
|
||||
Project2=ÑÝÄÁÌ
|
||||
Project3=Ëåäîêîë
|
||||
@ -340,8 +340,7 @@ DigiBut_15=Reset
|
||||
DigiBut_16=Nothing at all
|
||||
|
||||
[23550.2]
|
||||
BaseAdr=$00235500
|
||||
PlusAdr=$10
|
||||
Protokol=3
|
||||
Use_0=1
|
||||
Use_1=1
|
||||
Use_2=1
|
||||
@ -351,6 +350,7 @@ Use_5=1
|
||||
Use_11=1
|
||||
Use_12=1
|
||||
Use_13=1
|
||||
Use_16=1
|
||||
CANadr_0=0
|
||||
CANadr_1=1
|
||||
CANadr_2=2
|
||||
@ -360,6 +360,7 @@ CANadr_5=8
|
||||
CANadr_11=5
|
||||
CANadr_12=7
|
||||
CANadr_13=9
|
||||
CANadr_16=$1f
|
||||
RSadr_0=1
|
||||
RSadr_1=2
|
||||
RSadr_2=3
|
||||
@ -378,6 +379,7 @@ Name_5=
|
||||
Name_11=ÓÊÑÑ ÑÈ ÑÁ2
|
||||
Name_12=ÓÊÑÑ ÑÂÔ ÑÁ2
|
||||
Name_13=ÓÊÑÂÝÏ ÑÁ2
|
||||
Name_16=BroadCast
|
||||
DigiBut_0=Test
|
||||
DigiBut_1=Def
|
||||
DigiBut_2=Save
|
||||
|
@ -12,7 +12,7 @@
|
||||
-$L+
|
||||
-$M-
|
||||
-$N+
|
||||
-$O+
|
||||
-$O-
|
||||
-$P+
|
||||
-$Q-
|
||||
-$R-
|
||||
|
@ -15,7 +15,7 @@ K=0
|
||||
L=1
|
||||
M=0
|
||||
N=1
|
||||
O=1
|
||||
O=0
|
||||
P=1
|
||||
Q=0
|
||||
R=0
|
||||
|
Binary file not shown.
10
Terminal.ini
Normal file
10
Terminal.ini
Normal file
@ -0,0 +1,10 @@
|
||||
[Modbus]
|
||||
FormVersion=0
|
||||
Flags=0
|
||||
ShowCmd=1
|
||||
PixelsPerInch=96
|
||||
MinMaxPos(2560x1440)=-1,-1,-1,-1
|
||||
MinMaxPos=-1,-1,-1,-1
|
||||
NormPos(2560x1440)=-877,143,-15,782
|
||||
NormPos=-877,143,-15,782
|
||||
Visible=0
|
BIN
UNiiefa.dcu
BIN
UNiiefa.dcu
Binary file not shown.
BIN
UNiiefa.dfm
BIN
UNiiefa.dfm
Binary file not shown.
231
UNiiefa.pas
231
UNiiefa.pas
@ -125,22 +125,22 @@ type
|
||||
procedure Renamido(Sender: TObject; var Key: Char);
|
||||
procedure SaveProjectComms(ProjID: string);
|
||||
|
||||
procedure ReceiveCanData(Mess: TMessag);
|
||||
procedure DataLenEditChange(Sender: TObject);
|
||||
procedure DataGridKeyPress(Sender: TObject; var Key: Char);
|
||||
procedure DataGridSetEditText(Sender: TObject; ACol, ARow: Integer;
|
||||
const Value: String);
|
||||
procedure DataGridDrawCell(Sender: TObject; ACol, ARow: Integer;
|
||||
Rect: TRect; State: TGridDrawState);
|
||||
procedure DataGridSelectCell(Sender: TObject; ACol, ARow: Integer;
|
||||
var CanSelect: Boolean);
|
||||
procedure DataGridGetEditText(Sender: TObject; ACol, ARow: Integer;
|
||||
var Value: String);
|
||||
procedure AutoTimeEditChange(Sender: TObject);
|
||||
procedure DataLenEditChange(Sender: TObject);
|
||||
procedure DataGridKeyPress(Sender: TObject; var Key: Char);
|
||||
procedure DataGridSetEditText(Sender: TObject; ACol, ARow: Integer;
|
||||
const Value: String);
|
||||
procedure DataGridDrawCell(Sender: TObject; ACol, ARow: Integer;
|
||||
Rect: TRect; State: TGridDrawState);
|
||||
procedure DataGridSelectCell(Sender: TObject; ACol, ARow: Integer;
|
||||
var CanSelect: Boolean);
|
||||
procedure DataGridGetEditText(Sender: TObject; ACol, ARow: Integer;
|
||||
var Value: String);
|
||||
procedure AutoTimeEditChange(Sender: TObject);
|
||||
|
||||
private
|
||||
{ Private declarations }
|
||||
|
||||
Unites : Array[0..127] of TUnit;
|
||||
Anapan : Array[0..63] of TPanel;
|
||||
Digipan : Array[0..511] of Tpanel;
|
||||
Digibox : Array[0..15] of TCheckBox;
|
||||
@ -151,18 +151,54 @@ type
|
||||
DigiLab: Array[0..31] of TLabel;
|
||||
AnaLab: Array[0..7] of TLabel;
|
||||
|
||||
kownt: integer;
|
||||
waiste: integer;
|
||||
fade: cardinal;
|
||||
auto: cardinal;
|
||||
reColor: integer;
|
||||
doReColor: boolean;
|
||||
|
||||
AnalogStart : Integer;
|
||||
AnalogLength : Integer;
|
||||
DigitalStart : Integer;
|
||||
DigitalLength : Integer;
|
||||
|
||||
Unites : Array[0..127] of TUnit;
|
||||
rData2, rData3 : double;
|
||||
FIniFile : TRegIniFile;
|
||||
FRegFile : TIniFile;
|
||||
Temper1,Temper2 : Array [0..12] of Real;
|
||||
|
||||
kownt: integer;
|
||||
waiste: integer;
|
||||
fade: integer;
|
||||
reColor: integer;
|
||||
doReColor: boolean;
|
||||
{ InsideFUst : boolean = False;
|
||||
InsideSet : boolean = False;
|
||||
InsideComm : boolean = False;
|
||||
}
|
||||
LastSender : TObject;
|
||||
|
||||
KT1,KT2,KT3 : Array [0..12] of Real;
|
||||
|
||||
UNew : SmallInt;
|
||||
MomentNew : SmallInt;
|
||||
|
||||
UNewZ : Integer;
|
||||
|
||||
NameEdit: TEdit;
|
||||
|
||||
ArrNiiefaAnalog : Array [0..100] of Word;
|
||||
ArrNiiefaDigital : Array [0..100] of Word;
|
||||
|
||||
AutoMoment: cardinal;
|
||||
RecolorMoment: cardinal;
|
||||
|
||||
Wordt: word;
|
||||
|
||||
// ProjectQua : integer = 0;
|
||||
// ProjectNum : integer = 0;
|
||||
|
||||
clBlueGradient : array[0..20,0..1] of TColor;
|
||||
clRedGradient : array[0..20] of TColor;
|
||||
clGreenGradient : array[0..20,0..1] of TColor;
|
||||
|
||||
EmptyCell:TGridRect;
|
||||
|
||||
public
|
||||
|
||||
@ -172,51 +208,15 @@ type
|
||||
TXadr: longword;
|
||||
Protokol: integer;
|
||||
|
||||
procedure ReceiveCanData(Mess: TMessag; dev:integer);
|
||||
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
|
||||
ModbusForm : TModbusForm;
|
||||
rData2, rData3 : double;
|
||||
FIniFile : TRegIniFile;
|
||||
FRegFile : TIniFile;
|
||||
Temper1,Temper2 : Array [0..12] of Real;
|
||||
InsideFUst : boolean = False;
|
||||
|
||||
InsideSet : boolean = False;
|
||||
InsideComm : boolean = False;
|
||||
|
||||
LastSender : TObject;
|
||||
|
||||
ErrorCmd : boolean = False;
|
||||
|
||||
KT1,KT2,KT3 : Array [0..12] of Real;
|
||||
|
||||
UNew : SmallInt;
|
||||
MomentNew : SmallInt;
|
||||
|
||||
UNewZ : Integer;
|
||||
|
||||
Count1 : Integer = 0;
|
||||
Count2 : Integer = 0;
|
||||
|
||||
NameEdit: TEdit;
|
||||
|
||||
ArrNiiefaAnalog : Array [0..100] of Word;
|
||||
ArrNiiefaDigital : Array [0..100] of Word;
|
||||
flaganalogdigital : boolean = false;
|
||||
|
||||
Wordt: word;
|
||||
|
||||
ProjectQua : integer = 0;
|
||||
ProjectNum : integer = 0;
|
||||
|
||||
clBlueGradient : array[0..20,0..1] of TColor;
|
||||
clRedGradient : array[0..20] of TColor;
|
||||
clGreenGradient : array[0..20,0..1] of TColor;
|
||||
|
||||
EmptyCell:TGridRect;
|
||||
|
||||
const
|
||||
|
||||
@ -253,10 +253,10 @@ end;
|
||||
|
||||
procedure TModbusForm.Memo1Change(Sender: TObject);
|
||||
var
|
||||
i : Integer;
|
||||
i : Integer;
|
||||
begin
|
||||
i:=Memo1.Lines.Count;
|
||||
if i>100 then Memo1.Clear;
|
||||
i:=Memo1.Lines.Count;
|
||||
if i>100 then Memo1.Clear;
|
||||
end;
|
||||
{
|
||||
procedure TModbusForm.btnAnalogClick(Sender: TObject);
|
||||
@ -297,7 +297,7 @@ end;
|
||||
|
||||
procedure TModbusForm.FormCreate(Sender: TObject);
|
||||
var i: integer;
|
||||
inifile : TIniFile;
|
||||
inifile : TIniFile;
|
||||
nom,num: string;
|
||||
|
||||
begin
|
||||
@ -452,62 +452,34 @@ begin
|
||||
Bitbut[i].OnClick:=BitButClick;
|
||||
end;
|
||||
|
||||
inifile := TIniFile.Create(PathExe+'Terminal.ini');
|
||||
|
||||
{ inifile := TIniFile.Create(PathExe+'Terminal.ini');
|
||||
ProjectQua := strtoint(Inifile.ReadString('Projects','ProjectQua','0'));
|
||||
ProjectNum := strtoint(Inifile.ReadString('Projects','ProjectNum','0'));
|
||||
|
||||
inifile.Free;
|
||||
|
||||
}
|
||||
FadeSpinChange(Sender);
|
||||
end;
|
||||
|
||||
procedure TModbusForm.myTimerTimer(Sender: TObject);
|
||||
var
|
||||
i : integer;
|
||||
doIt: boolean;
|
||||
var i : integer;
|
||||
begin
|
||||
|
||||
if(AutoBox.Checked) then
|
||||
if(AutoTimeEdit.Value > 0) then
|
||||
begin
|
||||
if(AutoBox.Tag > 0) then AutoBox.Tag:= AutoBox.Tag-1;
|
||||
if(GetTickCount - RecolorMoment)>(Fade * 1000 / (clGrad-1))
|
||||
then begin doReColor := true; RecolorMoment:= GetTickCount end;
|
||||
|
||||
if(AutoBox.Tag = 0) then
|
||||
begin
|
||||
SetButtonDo(Sender);
|
||||
AutoBox.Tag:= trunc(AutoTimeEdit.Value);
|
||||
end;
|
||||
end;
|
||||
|
||||
if myTimer.Tag > 0 then myTimer.Tag:= myTimer.Tag-1
|
||||
else begin
|
||||
|
||||
myTimer.Tag:=10;
|
||||
|
||||
Fade:=trunc(FadeSpin.Value);
|
||||
|
||||
inc(waiste);
|
||||
if Waiste >= Fade then
|
||||
begin
|
||||
waiste :=1;
|
||||
doIt := true;
|
||||
end else doIt := false;
|
||||
|
||||
if doIt or doReColor then
|
||||
if doReColor then
|
||||
for i:= 0 to 127 do
|
||||
if Unites[i].Age > 0 then
|
||||
begin
|
||||
|
||||
dec(Unites[i].Age);
|
||||
if Fade = 0 then Unites[i].Age := 0;
|
||||
if Fade = 1 then dec(Unites[i].Age); // åùå ðàç
|
||||
if Fade = 10 then Unites[i].Age := reColor;
|
||||
if Unites[i].Age <0 then Unites[i].Age:=0; // áûâàåò
|
||||
|
||||
if (i>= AnalogStart)
|
||||
and(i< AnalogStart + AnalogLength)
|
||||
then Anapan[i-AnalogStart].Color := clBlueGradient[Unites[i].Age][Unites[i].Surs];
|
||||
then Anapan[i-AnalogStart].Color := clBlueGradient[Unites[i].Age][Unites[i].Surs];
|
||||
|
||||
if (i>= DigitalStart)
|
||||
and(i< DigitalStart + DigitalLength)
|
||||
@ -517,7 +489,12 @@ begin
|
||||
|
||||
doReColor:=false;
|
||||
|
||||
end;
|
||||
if(AutoBox.Checked) then
|
||||
if(GetTickCount - AutoMoment)>(myTimer.Interval*Auto)
|
||||
then begin
|
||||
SetButtonDo(Sender);
|
||||
AutoMoment:= GetTickCount;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
@ -528,8 +505,14 @@ var
|
||||
|
||||
begin
|
||||
|
||||
if Protokol=3 then DataLenEdit.MaxValue:=4
|
||||
else DataLenEdit.MaxValue :=3;
|
||||
|
||||
myTimer.Enabled:=True;
|
||||
|
||||
AutoMoment:= GetTickCount;
|
||||
RecolorMoment:= GetTickCount;
|
||||
|
||||
AnalogStart := trunc(AnaStart.Value);
|
||||
DigitalStart:= trunc(DigiStart.Value);
|
||||
AnalogLength:= trunc(AnaLen.Value);
|
||||
@ -543,9 +526,7 @@ begin
|
||||
AnaStartChange(Sender);
|
||||
DigiStartChange(Sender);
|
||||
FadeSpinChange(Sender);
|
||||
|
||||
if Protokol=3 then DataLenEdit.MaxValue:=4
|
||||
else DataLenEdit.MaxValue :=3;
|
||||
AutoTimeEditChange(Sender);
|
||||
DataLenEditChange(Sender);
|
||||
|
||||
BitBut[0].Checked:=true;
|
||||
@ -581,10 +562,6 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
if (what=0)
|
||||
then Memo1.Lines.Add('Ok!')
|
||||
else Memo1.Lines.Add('Well...');
|
||||
inc(Count2);
|
||||
|
||||
If what=0 then
|
||||
begin
|
||||
@ -761,7 +738,7 @@ begin
|
||||
|
||||
WriteMessageCanID(1, CanStr);
|
||||
|
||||
ReceiveCanData(mess);
|
||||
ReceiveCanData(mess,Numer);
|
||||
|
||||
end;
|
||||
|
||||
@ -792,24 +769,28 @@ begin
|
||||
mess.Data[2] := 0;
|
||||
mess.Surs := 1;
|
||||
|
||||
ArrCanMessageSend[0].m_dwID := RXadr;
|
||||
ArrCanMessageSend[0].m_bDLC := 8;
|
||||
if Protokol=3 then
|
||||
begin
|
||||
ArrCanMessageSend[0].m_dwID := RXadr + mess.Addr;
|
||||
ArrCanMessageSend[0].m_bDLC := 2;
|
||||
ArrCanMessageSend[0].m_bData[1] := HB(mess.Data[0]);
|
||||
ArrCanMessageSend[0].m_bData[2] := LB(mess.Data[0]);
|
||||
end else begin
|
||||
ArrCanMessageSend[0].m_dwID := RXadr;
|
||||
ArrCanMessageSend[0].m_bDLC := 8;
|
||||
ArrCanMessageSend[0].m_bData[5] := mess.Mask shl 5;
|
||||
ArrCanMessageSend[0].m_bData[6] := LB(mess.Addr);
|
||||
ArrCanMessageSend[0].m_bData[8] := LB(mess.Data[0]);
|
||||
ArrCanMessageSend[0].m_bData[7] := HB(mess.Data[0]);
|
||||
ArrCanMessageSend[0].m_bData[2] := LB(mess.Data[1]);
|
||||
ArrCanMessageSend[0].m_bData[1] := HB(mess.Data[1]);
|
||||
ArrCanMessageSend[0].m_bData[4] := LB(mess.Data[2]);
|
||||
ArrCanMessageSend[0].m_bData[3] := HB(mess.Data[2]);
|
||||
end;
|
||||
|
||||
ArrCanMessageSend[0].m_bData[5] := mess.Mask shl 5;
|
||||
ArrCanMessageSend[0].m_bData[6] := LB(mess.Addr);
|
||||
|
||||
ArrCanMessageSend[0].m_bData[8] := LB(mess.Data[0]);
|
||||
ArrCanMessageSend[0].m_bData[7] := HB(mess.Data[0]);
|
||||
|
||||
ArrCanMessageSend[0].m_bData[2] := LB(mess.Data[1]);
|
||||
ArrCanMessageSend[0].m_bData[1] := HB(mess.Data[1]);
|
||||
|
||||
ArrCanMessageSend[0].m_bData[4] := LB(mess.Data[2]);
|
||||
ArrCanMessageSend[0].m_bData[3] := HB(mess.Data[2]);
|
||||
|
||||
WriteMessageCanID(1, CanStr);
|
||||
WriteMessageCanID(1, CanStr);
|
||||
|
||||
ReceiveCanData(mess);
|
||||
ReceiveCanData(mess,Numer);
|
||||
|
||||
end;
|
||||
|
||||
@ -1018,7 +999,7 @@ begin
|
||||
NameEdit.setfocus;
|
||||
end;
|
||||
|
||||
procedure TModbusForm.ReceiveCanData(Mess: TMessag);
|
||||
procedure TModbusForm.ReceiveCanData(Mess: TMessag; dev:integer);
|
||||
var
|
||||
Ananum, Diginum, Boxnum: integer;
|
||||
i, j, byte: integer;
|
||||
@ -1239,15 +1220,11 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TModbusForm.AutoTimeEditChange(Sender: TObject);
|
||||
begin
|
||||
if trunc(AutoTimeEdit.Value) = 0
|
||||
Auto:=trunc(AutoTimeEdit.Value);
|
||||
if Auto = 0
|
||||
then AutoBox.Checked:= false;
|
||||
|
||||
AutoBox.Tag:= trunc(AutoTimeEdit.Value);
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
|
BIN
dbrtl70.bpl
Normal file
BIN
dbrtl70.bpl
Normal file
Binary file not shown.
87
proj copy.ini
Normal file
87
proj copy.ini
Normal file
@ -0,0 +1,87 @@
|
||||
[Projects]
|
||||
ProjectQua=3
|
||||
ProjectNum=1
|
||||
Project1=Áóęńčđ
|
||||
Project2=ŃÝÄÁĚ
|
||||
Project2=Ëĺäîęîë
|
||||
|
||||
|
||||
[Áóęńčđ]
|
||||
BaseAdr=$00318200
|
||||
Use_0=1
|
||||
Use_1=1
|
||||
Use_2=1
|
||||
Use_3=1
|
||||
RSadr_0=1
|
||||
RSadr_1=2
|
||||
RSadr_2=3
|
||||
RSadr_3=4
|
||||
Name_0=ÓĘŃŃ ŃÁ
|
||||
Name_1=ÁĘŃŃ ĂÄ
|
||||
Name_2=ÓĘŃÂÝĎ
|
||||
Name_3=Çŕäŕň÷čę
|
||||
|
||||
|
||||
[ŃÝÄÁĚ]
|
||||
BaseAdr=$1051020
|
||||
Use_0=1
|
||||
Use_1=1
|
||||
Use_2=1
|
||||
Use_3=1
|
||||
Use_4=1
|
||||
Use_5=1
|
||||
Use_6=1
|
||||
Use_8=1
|
||||
Use_9=1
|
||||
Use_10=1
|
||||
Use_11=1
|
||||
Use_12=1
|
||||
Use_13=1
|
||||
Use_14=1
|
||||
Use_15=1
|
||||
Name_0=ÓĘŃŃ ŃĘ1 ŃÁ1
|
||||
Name_1=ÓĘŃŃ ŃĘ2 ŃÁ1
|
||||
Name_2=ÓĘŃŃ ŃĘ3 ŃÁ1
|
||||
Name_3=ÓĘŃŃ ŃĘ4 ŃÁ1
|
||||
Name_4=ÓĘŃŃÂÝĎ ŃÁ1
|
||||
Name_5=Çŕäŕň÷čę ŃÁ1
|
||||
Name_6=ÁŇĐ ČŇÝŃ
|
||||
Name_8=ÓĘŃŃ ŃĘ1 ŃÁ2
|
||||
Name_9=ÓĘŃŃ ŃĘ2 ŃÁ2
|
||||
Name_10=ÓĘŃŃ ŃĘ3 ŃÁ2
|
||||
Name_11=ÓĘŃŃ ŃĘ4 ŃÁ2
|
||||
Name_12=ÓĘŃŃÂÝĎ ŃÁ2
|
||||
Name_13=Çŕäŕň÷čę ŃÁ2
|
||||
Name_14=ÓĘŃŃ ÁÎČÍ
|
||||
Name_15=ÓĘŃÂÝĎ ÁÎČÍ
|
||||
|
||||
[Ëĺäîęîë]
|
||||
BaseAdr=$01CE000
|
||||
Use_0=1
|
||||
Use_1=1
|
||||
Use_2=1
|
||||
Use_3=1
|
||||
Use_4=1
|
||||
Use_5=1
|
||||
Use_6=1
|
||||
Use_8=1
|
||||
Use_9=1
|
||||
Use_10=1
|
||||
Use_11=1
|
||||
Name_0=ÓĘŃŃ ÁÂ1 Ď×1
|
||||
Name_1=ÓĘŃŃ ÁÂ1 Ď×2
|
||||
Name_2=ÓĘŃŃ ÁÂ1 Ď×1
|
||||
Name_3=ÓĘŃŃ ÁÂ2 Ď×2
|
||||
Name_4=ÓĘŃŃ ÁČ1 Ď×1
|
||||
Name_5=ÓĘŃŃ ÁČ1 Ď×2
|
||||
Name_6=ÓĘŃŃ ÁČ2 Ď×1
|
||||
Name_8=ÓĘŃŃ ÁČ2 Ď×2
|
||||
Name_9=ÓĘŃŃÂÝĎ1 Ď×1
|
||||
Name_10=ÓĘŃŃÂÝĎ1 Ď×2
|
||||
Name_11=ÓĘŃŃÂÝĎ2 Ď×1
|
||||
Name_12=ÓĘŃŃÂÝĎ2 Ď×2
|
||||
|
||||
|
||||
|
||||
|
||||
|
BIN
vcldb70.bpl
Normal file
BIN
vcldb70.bpl
Normal file
Binary file not shown.
BIN
vcldbx70.bpl
Normal file
BIN
vcldbx70.bpl
Normal file
Binary file not shown.
BIN
vclsmp70.bpl
Normal file
BIN
vclsmp70.bpl
Normal file
Binary file not shown.
BIN
vclx70.bpl
Normal file
BIN
vclx70.bpl
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user