⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.txt

📁 国有大中型煤矿在技术装备水平上都有了较大的提高
💻 TXT
📖 第 1 页 / 共 2 页
字号:
//DataSend := DataBegin +TypeofServer +Resstr + DateTime +Mk_bm +Qua_code+Sys_code+rev_str+Mk_mc;
//数据组包
DataSend :=DataSend+DEVdata_Package(DTdata);
//数据组包
DataSend :=DataSend +  DataEnd;
//DateTime:= FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
//Form1.Infor.Lines.add('DEV时间:'+DateTime+'    '+DataSend);
try
Form1.UDPCl.Send(DataSend);
except
  on E: Exception do
      begin
        DateTime:= FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
        Form1.Infor.Lines.add('时间:'+DateTime+'网络错误!');
      end;
end;

Form1.Infor.Lines.Add('时间:'+DateTime +'  '+Mk_mc+Sys_name+' 发送设备更新数据');
end;

procedure TRdata_dataPackage(DTdata:string);
var
DateTime :string;
DataSend :string;
begin
//协议号
InitiPackage('0004');
DateTime := FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
//组包协议
//数据段1
DataSend := DataBegin +TypeofServer +Resstr + DateTime +Mk_bm +Qua_code+Sys_code+rev_str+Mk_mc;
//数据段2
DataSend := DataSend+TRdata_Package(DTdata);
//数据结束
DataSend := DataSend+ DataEnd;
//DateTime:= FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
//Form1.Infor.Lines.add('RTDATA时间:'+DateTime+'    '+DataSend);
try
Form1.UDPCl.Send(DataSend);
except
  on E: Exception do
      begin
        DateTime:= FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
        Form1.Infor.Lines.add('时间:'+DateTime+'网络错误!');
      end;
end;

Form1.Infor.Lines.Add('时间:'+DateTime +'  '+Mk_mc+Sys_name+' 发送实时数据');
end;


procedure DataStop_dataPackage();
var
DateTime :string;
DataSend :string;
begin
//协议号
InitiPackage('0005');
DateTime := FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);

//组包协议
DataSend := DataBegin +TypeofServer +Resstr + DateTime +Mk_bm +Mk_mc+DataEnd;
try
Form1.UDPCl.Send(DataSend);
except
  on E: Exception do
      begin
        DateTime:= FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
        Form1.Infor.Lines.add('时间:'+DateTime+'网络错误!');
      end;
end;


Form1.Infor.Lines.Add('时间:'+DateTime +'  '+Mk_mc+Sys_name+' 发送数据停止更新报文');
end;


procedure Qualify_dataPackage();
var
DateTime :string;
DataSend :string;
begin
//协议号
InitiPackage('0002');
DateTime := FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
Qua_code := GetQualify();
//组包协议
DataSend := DataBegin +TypeofServer +Resstr + DateTime +Mk_bm +Qua_code+DataEnd;
try
Form1.UDPCl.Send(DataSend);
except
  on E: Exception do
      begin
        DateTime:= FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
        Form1.Infor.Lines.add('时间:'+DateTime+'网络错误!');
      end;
end;
 if  Form1.Infor.Lines.Count > 1000  then
     Form1.Infor.Lines.Clear;

//Form1.Infor.Lines.Add('时间:'+DateTime +'  '+Mk_mc+Sys_name+' 发送通信认证报文');
end;


procedure Comm_dataPackage();
var
DateTime :string;
DataSend :string;
begin
//初始化发送包
InitiPackage('0001');
DateTime := FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
//组包协议
DataSend := DataBegin +TypeofServer +Resstr + DateTime +Mk_bm +Mk_mc+DataEnd;
try

Form1.UDPCl.Send(DataSend);
except
  on E: Exception do
      begin
        DateTime:= FormatDateTime('yyyy-mm-dd hh:nn:ss', Now);
        Form1.Infor.Lines.add('时间:'+DateTime+'网络错误!');
      end;
end;

Form1.Infor.Lines.Add('时间:'+DateTime +'  '+Mk_mc+Sys_name+' 发送通信检链路测报文')
end;



function TRdata_Package(Deel_data:string):string;
begin
Result:=Deel_data;
//fg+'1407,0,118'+fg+902,2.91,2+fg;
end;

function DEVdata_Package(Deel_data:string):string;
begin
Result:= fg+Deel_data;
//fg+Deel_data+fg;
//fg+'1402,101工作面一氧化碳,1,ppm,1000,0,0,24,0,0'+fg+'1003,总回风巷一氧化碳,1,ppm,1000,0,0,24,0,0'+fg;;
end;


function GetQualify():string;
var
i :integer;
l :integer;
begin
l:= random (1000000);
i:=length(inttostr(l));
case i of
1:GetQualify:='13570'+inttostr(l);
2:GetQualify:='0000'+inttostr(l);
3:GetQualify:='000'+inttostr(l);
4:GetQualify:='00'+inttostr(l);
5:GetQualify:='0'+inttostr(l);
6:GetQualify:=inttostr(l);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
DataStop_dataPackage();
end;

procedure TForm1.Timer_comTimer(Sender: TObject);
begin
Comm_dataPackage();
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Qualify_dataPackage();
end;

procedure TForm1.Button3Click(Sender: TObject);
var
DTdata : string;
begin
DEVdata_dataPackage(DTdata,'0','0');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//系统初始化
//数据组包初始化
DataBegin :=Chr($FF)+Chr($FF)+Chr($FF)+Chr($FF);
DataEnd := Chr($FE)+Chr($FE)+Chr($FE)+Chr($FE);
Resstr := '0000000000000000';
rev_str:= '0000000000000000';
fg := '$';
Gdir            := Extractfilepath(Application.ExeName);

//读取配置文件
ConfigINI();

//通信和采集参数初始化

UDPCl.Host :=ServerIp;
UDPCl.Port :=strtoint(ServerPort);
Timer_com.Enabled :=true;
Timer_com.Interval :=strtoint(Com_Interval);
Timer_data.Enabled :=true;
Timer_data.Interval:= strtoint(Data_Interval) ;
Timer_com.OnTimer(Timer_com);
Qua_code := GetQualify();

//初始化设备信HashTable
DevHt         :=THashTable.Create(512);//设备信HashTable
CDHt          :=THashTable.Create(512);//设备信HashTable
Data_type_ht  :=THashTable.Create(64);//传感器类型HashTable

//清零处理
  DevHt.Clear;//设备信HashTable
  CDHt.Clear;//设备信HashTable
  lenDEV :=0;//相应大小
  lenCD:=0;//相应大小
  RTPackageStr :='';//实时数据包
  //fillChar(ArrDEV,512,' ');
  //fillChar(ArrCD,512,' ');
  //ArrDEV
  //
//清零处理

if True=copyfile(pchar(RemoteFilePath+'Dev.txt'), pchar(LocalDataPath + 'Dev.txt'), false) then
begin
   openfile(LocalDataPath + 'Dev.txt');
   openfile(Gdir + 'CD.txt');
   compareSetup();
end;
//先不发送实时数据
if True=copyfile(pchar(RemoteFilePath+'rtdata.txt'), pchar(LocalDataPath + 'rtdata.txt'), false) then
begin
   //openfile(LocalDataPath + 'rtdata.txt');
    //认证码
    //Qualify_dataPackage();
   //TRdata_dataPackage(RTPackageStr);
end;

//传感器类型初始化过程
//传感器类型初始化过程
Data_type_ht.Put('瓦斯' ,'001');
Data_type_ht.Put('风速' ,'002');
Data_type_ht.Put('负压' ,'003');
Data_type_ht.Put('风压' ,'004');
Data_type_ht.Put('温度' ,'005');
Data_type_ht.Put('二氧化碳' ,'006');
Data_type_ht.Put('氧气' ,'007');
Data_type_ht.Put('一氧化碳' ,'008');
Data_type_ht.Put('风筒','009') ;
Data_type_ht.Put('风机开停' ,'010');
Data_type_ht.Put('风门' ,'011');
Data_type_ht.Put('馈电' ,'012');
Data_type_ht.Put('绞车','013') ;
Data_type_ht.Put('皮带' ,'014');
Data_type_ht.Put('控制' ,'015');
Data_type_ht.Put('水压' ,'016');
Data_type_ht.Put('流量' ,'017');
Data_type_ht.Put('电流' ,'018');
Data_type_ht.Put('电压' ,'019');
Data_type_ht.Put('频率' ,'020');
Data_type_ht.Put('水位' ,'021');
Data_type_ht.Put('煤位' ,'022');
Data_type_ht.Put('压差' ,'023');
Data_type_ht.Put('高低浓度','024');
Data_type_ht.Put('低浓度' ,'025');
Data_type_ht.Put('高浓度' ,'026');
Data_type_ht.Put('功率' ,'027');
Data_type_ht.Put('振动' ,'028');
Data_type_ht.Put('油压' ,'029');
Data_type_ht.Put('电流' ,'030');
Data_type_ht.Put('电压' ,'031');
Data_type_ht.Put('效率' ,'032');
Data_type_ht.Put('电量' ,'033');
Data_type_ht.Put('钩数' ,'034');
Data_type_ht.Put('产量' ,'035');
Data_type_ht.Put('棚数' ,'036');
Data_type_ht.Put('扩展器' ,'037');


//

end;

procedure TForm1.Button4Click(Sender: TObject);
var
DTdata:string;
begin
TRdata_dataPackage(DTdata);
end;

procedure TForm1.Button5Click(Sender: TObject);
var
ht :THashTable;
i:Integer;
begin
ht := THashTable.Create();
for i :=1 to 10000 do
begin
 ht.Put(inttostr(i),'611,皮带运输大巷反打1#风开停,22,停,开');
end;

//ShowMessage(ht.Get('1'));

//SetupHt('106,1#水泵开停,22,停,开','0');
ShowMessage(ht.Get('9999'));


end;

procedure TForm1.Timer_dataTimer(Sender: TObject);
begin
//清零处理
  DevHt.Clear;//设备信HashTable
  CDHt.Clear;//设备信HashTable
  lenDEV :=0;//相应大小
  lenCD:=0;//相应大小
  RTPackageStr :='';//实时数据包
  //fillChar(ArrDEV,512,' ');
  //fillChar(ArrCD,512,' ');
  //ArrDEV
  //
//清零处理

if True=copyfile(pchar(RemoteFilePath+'Dev.txt'), pchar(LocalDataPath + 'Dev.txt'), false) then
begin
   openfile(LocalDataPath + 'Dev.txt');
   openfile(Gdir + 'CD.txt');
   compareSetup();
end;

if True=copyfile(pchar(RemoteFilePath+'rtdata.txt'), pchar(LocalDataPath + 'rtdata.txt'), false) then
begin
   openfile(LocalDataPath + 'rtdata.txt');
   //认证码
    Qualify_dataPackage();
   TRdata_dataPackage(RTPackageStr);
end;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -