亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rsu.pas

?? 使用Delphi 6.0開發用于控制空調的程序
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit RSU;

interface

uses
  Messages, SysUtils, Variants, Classes, Dialogs, Controls,StrUtils,
  IDF,IDInfo,Line ,LineInfo ;
type TRSU = class

protected
  strReBuffer:string;
  Len:Integer;
  strError:string;
  strInfo:string;
public
   LineR:TLine;
   IDFR:TIDF;
   LineInfoR:TLineInfo;
   IDInfoR:TIDInfo;

   constructor create(s:string);
   function  ChkData(strChk:string):Boolean ;
   function  BCC(strBCC:string):string;
   function GetErrorInfo():string;
   function GetSuccessInfo():string;
   //function  GetCOmmand():string;
   procedure CutCommu;   //000 回路切斷要求
   procedure ReadRAM;  //0E0 RAM讀出
   procedure WriteRAM; //0F0 RAM記入

   procedure IDId();       //100 接口ID確認
   procedure PassWordID; //110 PASSWORD確認

   procedure SetPassWord;   //210 pw設定
   procedure SetCenterTELNo;   //220 中心一tel.no
   procedure SetID;  //230 接口ID
   procedure SetNowTime; //240 現在時刻
   procedure SetTimingSendPaperTime; // 250定時發報時刻
   procedure SetDialingNum;   //280 連通為止的撥號次數
   procedure SetReDialingNum; //2A0 重撥次數
   procedure SetAutoMachine; //2B0 自動備機有無
   procedure SetAutoRunTime;  //2c0  自動交替運作時間
   procedure SetMinRunGuranteeNum; //2D0 最低運轉保證臺數
   procedure SetDiagling; //根據需要對接口發報的許可/禁止設定

   procedure StateConManagerNum; //300  從接口讀出各遙控器回路所連接的室內機臺數  300
   procedure StateConUNITNO;     //310 從接口讀出任意室內機的UNIT.NO    310
   procedure StateConLimitInte;//320 從接口讀出任意回路的限制情報

   procedure CollCumulativeInte;  //400  讀出任意室內機的積累信息
   procedure CollTransmittersResult;   //410  從接口讀出發報原因

   procedure ACDataInit;   //500  接口內部存儲數據的初始化。希望從室內機的最初存儲數據開始實行時發行

   procedure ACCTRun; //600 對接口的任意LINE運轉。停止指令
   procedure ACCTCleaning; //610  對接口的任意LINE發出過濾清洗重置指令
   procedure ACCTRunModel; //620 改變接口任意line的運轉模式
   procedure ACCTSetTemp;//630 改變接口任意line的設定溫度
   procedure ACCTVAV; // 640 改變接口任意Line的風量

   procedure IDReadCenterTELNO; //   720 讀出同接口相連的上位機的TEL.NO
   procedure IDReadID;    //730 讀出接口設定的ID
   procedure IDReadNowTime; //740 讀出接口累計的現在時刻
   procedure IDReadTimingSendPaperTime; //750 讀出接口設定的定時發表時刻
   procedure IDReadDialingNum;  //780 讀出接口設定的連通為止的響應次數
   procedure IDReadReDialingNum;  //7A0 讀出接口設定的連通為止的重撥為止
   procedure IDReadAutoMachine;  //7B0 讀出接口設定的自動備機功能有無
   procedure IDReadAutoRunTime;  //7C0 讀出接口設定的自動交替運轉時間
   procedure IDReadMinRunGurNum;  //7DO 讀出接口設定的最低運轉保證臺數
   procedure IDReadDiagling;    //7E0 讀出接口設定的各種情況下的發報有無

end;
implementation

{ TRSU }

function hex(c:char):Integer;
var
   x:integer;
begin
    if c='' then
       x:=0
    else if(Ord(c)>=ord('0'))and (Ord(c)<=ord('9')) then
        x:=Ord(c)-Ord('0')
    else if(Ord(c)>=ord('a'))and (Ord(c)<=ord('f')) then
        x:=Ord(c)-Ord('a')+10
    else if(Ord(c)>=ord('A'))and (Ord(c)<=ord('F')) then
        x:=Ord(c)-Ord('A')+10
    else
     x:=-1;
    Result:=x;
end;
//該函數結束1~2個字符,轉換成功,輸出對應十六進制的值,轉換失敗,輸出-1
function HexToInt(S:String):Integer;
var
  tmpInt1,tmpInt2:integer;
begin
    if Length(S)=1 then
    begin
       Result:=hex(S[1]);
    end
    else if Length(S)=2 then
    begin
      tmpInt1:=hex(S[1]);
      tmpInt2:=hex(S[2]);
      if(tmpInt1=-1) or (tmpInt2=-1) then
        Result:=-1
      else
        Result:=tmpInt1*16+tmpInt2;
    end
    else
    Result:=-1;
end;

function mod_num(n1,n2:integer):integer;//取余數
begin
   result:=n1-n1 div n2*n2
end;
function reverse(s:String):String;//取反串
Var
i,num:Integer;
st:String;
begin
   num:=Length(s);
   st:='';
   For i:=num DownTo 1 do
   Begin
     st:=st+s[i];
   End;
   Result:=st;
end;

Function DecTobin(Value :Integer) : string;//十進制轉化二進制
Var
  ST:String;
  N:Integer;
Begin
   ST:='';
   N:=value;
   While N >= 2 Do
   Begin
     st:=st+IntToStr(mod_num(n,2));
     N := N div 2;
   End;
   ST:=ST + IntToStr(n);
   ST:=reverse(ST);
   if Length(ST) <> 8 then
   begin
     case Length(ST) of
       7: ST :='0'+st;
       6: ST :='00' + st;
       5: ST :='000' + st;
       4: ST :='0000' + st;
       3: ST :='00000' + st;
       2: ST :='000000' + st;
       1: sT :='0000000' + st;
       0: ST :='00000000' + st; 
     end;
     Result := ST;
   end
   else
      Result :=ST;  
End;

function StrToBin(ss:string):string;
begin
  Result := DecTobin(HexToInt(ss));
end;

function TRSU.GetErrorInfo():string;
begin
   Result := strError;
end;

function TRSU.GetSuccessInfo():string;
begin
   Result := strInfo;
end;
constructor TRSU.create(s: string);
begin
   Len := Length(s);
   strReBuffer := s;
   strError :='通信正常';
   strInfo :='';
   IDFR := TIDF.Create;
   IDInfoR := TIDInfo.Create;
   LineInfoR := TLineInfo.Create;
   LineR := TLine.Create;
end;

function TRSU.BCC(strBCC: string): string;
var
  i,strSum:Integer;
  strResult:string;
begin
   strSum := 0;
   for i := 1 to Length(strBCC) do
   begin
     strSum := strSum + Ord(strBCC[i]);
   end;
   strResult := IntToHex((strSum and $0F),1);
   Result := strResult;
end;

function  BinToHave(ss:string):string ;
begin
  if ss[1] = '0' then
     Result :='無'
  else
  if ss[1] = '1' then
     Result :='有';
end;

function  TRSU.ChkData(strChk:string):Boolean ;
var
  strTemp:string;
  iLen:Integer;
begin
  iLen := Length(strChk);
  if (strChk[1] <> #02) or (strChk[iLen-1] <> #03) then
  begin
     strError := '結束符和起始符號不對,起始:'+strChk[1]+'結束:'+strChk[ iLen-1];
     Result := False;
     Exit;
  end;
  strTemp := BCC(Copy(strChk,1,iLen - 1  ) ) ;
  if strTemp <> strChk[iLen ]then
  begin
     StrError :='BCC錯誤!';
     Result := False;
     Exit;
  end;
  strError := '通信正常';
   Result := True ;

end;

procedure TRSU.CutCommu;
var
  bb:Boolean ;
begin
   if Length(strReBuffer) <> 6 then
   begin
     strError :='CutCommu數據長度6不對,為:'+ IntToStr(Length (strReBuffer));
     Exit;
   end;
   bb :=ChkData(strReBuffer);
   if bb then
      strInfo :='要求接口切斷回線通信成功!' ;
   //else strError := '要求接口切斷回線通信失敗';

end;

procedure TRSU.IDId;
var
  bb:Boolean ;
begin
   if Len <> 22 then
   begin
     strError := '數據長度不正確!收到的是:'+ IntToStr(Len)+'位, 應該是:22位!';
     Exit;
   end;
   bb := ChkData(strReBuffer);
   if  bb then
   begin
      IDFR.ID := Copy(strReBuffer,5,16);
      IDInfoR.ID := IDFR.ID;//Copy(strReBuffer,5,16);
      strInfo := '接口ID確認——成功!';
   end;
end;

procedure TRSU.PassWordID;
var
  bb:Boolean ;
begin
   if Len <> 22 then
   begin
     strError := '數據長度不正確!收到的是:'+ IntToStr(Len)+'位, 應該是:22!';
     Exit;
   end;
   bb := ChkData(strReBuffer);
   if bb then
   begin
      if strReBuffer[5] = '0' then
         strInfo := '必須項目未設定(登入成功)'
      else
      if  strReBuffer[5] = '1' then
         strInfo := '登入成功'
      else
      if strReBuffer[5] = '0' then
         strInfo := 'PW異常,登入失敗'
      else
        strInfo := '數據錯誤';
   end;
end;

procedure TRSU.SetPassWord;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='密碼設置——成功!';
end;

procedure TRSU.SetCenterTELNo;   //220
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置中心TEL NO——成功!';
end;

procedure TRSU.SetNowTime;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置接口現在時刻——成功!';
end;

procedure TRSU.SetID;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置接口ID——成功!';
end;

procedure TRSU.SetTimingSendPaperTime;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置定時發報時刻——成功!';
end;

procedure TRSU.SetDialingNum;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置接口連通為止的撥號次數——成功!';
end;

procedure TRSU.SetReDialingNum;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置接口連通為止的重撥次數——成功!';
end;

procedure TRSU.SetAutoMachine;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置接口自動備機有無——成功!';
end;

procedure TRSU.SetAutoRunTime;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置接口自動交替運轉時間——成功!';
end;

procedure TRSU.SetMinRunGuranteeNum;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置接口最低運轉保證臺數——成功!';
end;

procedure TRSU.SetDiagling;
var
  bb:Boolean ;
begin
   bb := ChkData(strReBuffer);
   if bb then
      strInfo :='設置接口發報的許可/禁止——成功!';
end;

procedure TRSU.StateConManagerNum;  //300
var
  bb:Boolean ;
begin
  if Len <> 12 then
   begin
     strError := '數據長度不正確!收到的是:'+ IntToStr(Len)+'位, 應該是:12 位!';
     Exit;
   end;
   bb := ChkData(strReBuffer);
   if  bb then
   begin
     IDFR.LINE0 := Copy(strReBuffer,5,2 );
     IDFR.LINE1 := Copy(strReBuffer,7,2 );
     IDFR.LINE2 := Copy(strReBuffer,9,2 );
     strInfo := '從接口讀出遙控器回路所連接的室內機臺數——成功!';
   end;   
end;

procedure TRSU.StateConUNITNO;
var
  bb:Boolean ;
begin
   if Len <> 8 then
   begin
     strError := '數據長度不正確!收到的是:'+ IntToStr(Len)+'位, 應該是:8位!';
     Exit;
   end;
   bb := ChkData(strReBuffer);
   if  bb then
   begin
     LineR.UNITNO := Copy (strReBuffer,5,2 );
     strInfo := '從接口讀出室內機的UNIT NO ——成功!';
   end;
end;

procedure TRSU.StateConLimitInte;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一区二区视频| 久久久99免费| 国产色产综合产在线视频| 亚洲精品国产高清久久伦理二区| 久久福利视频一区二区| 日本乱人伦aⅴ精品| 久久久久久久久久久黄色| 亚洲va韩国va欧美va| 成人免费视频网站在线观看| 日韩色视频在线观看| 亚洲国产精品久久久男人的天堂| 成人免费看片app下载| 精品国产乱码久久久久久牛牛| 亚洲一卡二卡三卡四卡| 91小视频在线免费看| 中文字幕第一区二区| 韩国一区二区三区| 欧美一区二区美女| 首页欧美精品中文字幕| 欧美婷婷六月丁香综合色| 亚洲人午夜精品天堂一二香蕉| 国产一区999| 久久精品一区二区三区不卡| 久热成人在线视频| 日韩亚洲欧美一区二区三区| 石原莉奈在线亚洲二区| 欧日韩精品视频| 亚洲精品一二三| 欧美在线制服丝袜| 亚洲国产一区二区在线播放| 在线观看网站黄不卡| 一区二区三区在线观看视频| 色国产综合视频| 亚洲成人免费观看| 欧美日韩高清一区二区三区| 午夜视频一区二区三区| 制服丝袜日韩国产| 美女诱惑一区二区| 久久久亚洲午夜电影| 岛国av在线一区| 亚洲日本电影在线| 欧美吻胸吃奶大尺度电影 | 91久久精品一区二区二区| 亚洲欧美综合在线精品| 一本大道综合伊人精品热热| 亚洲一区二区美女| 日韩欧美亚洲国产精品字幕久久久| 日韩成人av影视| 久久夜色精品国产欧美乱极品| 国内精品伊人久久久久av影院| 国产亚洲欧美激情| 91美女在线视频| 日本欧美一区二区在线观看| 久久一夜天堂av一区二区三区| 国产91露脸合集magnet| 亚洲美女精品一区| 91精品国产综合久久蜜臀| 国产精品一区免费视频| 亚洲日韩欧美一区二区在线| 在线播放91灌醉迷j高跟美女 | 精品在线观看免费| 国产精品欧美一级免费| 91成人看片片| 精品亚洲成av人在线观看| 国产精品私房写真福利视频| 欧美性高清videossexo| 精品一区二区三区不卡| 亚洲欧洲精品成人久久奇米网| 欧美日韩夫妻久久| 粗大黑人巨茎大战欧美成人| 香蕉乱码成人久久天堂爱免费| 亚洲精品在线观看网站| 色欧美88888久久久久久影院| 美女诱惑一区二区| 亚洲精品日产精品乱码不卡| 欧美成人aa大片| 色婷婷av一区二区三区大白胸 | 午夜精品影院在线观看| 久久精品在线观看| 91麻豆精品国产91久久久资源速度 | 欧美伦理视频网站| 波多野结衣中文一区| 丝瓜av网站精品一区二区| 亚洲视频1区2区| 久久久久国产精品麻豆ai换脸 | 日韩一卡二卡三卡国产欧美| 97精品久久久午夜一区二区三区| 五月激情六月综合| 中文字幕一区二区三区不卡在线| 日韩欧美一级精品久久| 欧美性受xxxx黑人xyx| 丁香天五香天堂综合| 免费看欧美女人艹b| 亚洲一区二区三区中文字幕 | 国产成人99久久亚洲综合精品| 亚洲mv在线观看| 亚洲欧美日韩综合aⅴ视频| 国产色产综合产在线视频| 欧美成人aa大片| 91精品国产色综合久久久蜜香臀| 色婷婷激情一区二区三区| 99在线热播精品免费| 国产成人精品影视| 国产精品自在在线| 国模娜娜一区二区三区| 精品午夜一区二区三区在线观看| 午夜a成v人精品| 亚洲sss视频在线视频| 亚洲综合在线观看视频| 亚洲女厕所小便bbb| 日韩毛片精品高清免费| 亚洲日本一区二区三区| 亚洲日本青草视频在线怡红院| 亚洲欧洲日韩av| 亚洲丝袜精品丝袜在线| 亚洲欧美激情一区二区| 亚洲欧美激情插| 亚洲男人的天堂在线观看| 亚洲美女区一区| 亚洲午夜久久久久久久久电影院| 一区二区三区在线播| 午夜久久电影网| 日本在线不卡视频| 久久 天天综合| 国产福利一区二区三区视频| 国v精品久久久网| thepron国产精品| 91国偷自产一区二区三区成为亚洲经典| 色婷婷av一区二区三区之一色屋| 色94色欧美sute亚洲线路一ni | 99re视频精品| 在线观看免费一区| 欧美久久婷婷综合色| 欧美一级高清片| 国产丝袜美腿一区二区三区| 国产精品传媒在线| 亚洲大片一区二区三区| 蜜桃精品视频在线| 成人免费av在线| 欧美午夜免费电影| 日韩免费性生活视频播放| 国产夜色精品一区二区av| 17c精品麻豆一区二区免费| 香港成人在线视频| 国产又黄又大久久| 日本韩国一区二区| 欧美tickling网站挠脚心| 欧美国产综合色视频| 亚洲成人精品一区二区| 美腿丝袜亚洲色图| 99久久伊人网影院| 欧美高清视频不卡网| 国产欧美一区二区精品性色超碰| 一区二区三区高清不卡| 久久99蜜桃精品| 在线亚洲高清视频| 久久久青草青青国产亚洲免观| 蜜桃av噜噜一区二区三区小说| 国产精品亚洲一区二区三区妖精| 一本色道久久综合亚洲精品按摩| 日韩一二三四区| 一区二区视频在线| 国产精品538一区二区在线| 欧日韩精品视频| 国产精品美女久久久久久| 日本不卡一二三| 色狠狠色噜噜噜综合网| 国产婷婷精品av在线| 蜜臀久久久久久久| 在线视频中文字幕一区二区| 国产色一区二区| 美女视频网站久久| 欧美日韩在线不卡| 亚洲私人黄色宅男| 国产精品99精品久久免费| 欧美一区二区三区色| 一区二区三区中文字幕电影| 国产成人av一区二区三区在线观看| 欧美年轻男男videosbes| 成人欧美一区二区三区1314| 韩国成人精品a∨在线观看| 欧美疯狂性受xxxxx喷水图片| 亚洲色图欧洲色图| 99久久精品国产导航| 国产精品私人自拍| 国产91丝袜在线播放0| 欧美成人精精品一区二区频| 日韩国产精品久久| 欧美精品777| 婷婷久久综合九色综合伊人色| 色呦呦日韩精品| 亚洲免费观看高清完整版在线观看熊| 国产成人av电影在线观看| 久久免费视频色| 国产盗摄一区二区| 中文字幕av不卡| 不卡av在线免费观看| 国产精品免费视频一区| av电影天堂一区二区在线| 国产精品久久久久一区二区三区共|