亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲国产日韩a在线播放性色| 国产成人a级片| 免费看欧美女人艹b| 从欧美一区二区三区| 欧美日韩久久一区| 中文字幕不卡一区| 久久99国产精品久久| 色婷婷一区二区| 久久久欧美精品sm网站| 亚洲最新在线观看| 欧美性三三影院| 久久色在线视频| 日韩黄色片在线观看| 日本电影亚洲天堂一区| 国产欧美日韩视频一区二区| 三级不卡在线观看| 91成人在线免费观看| 亚洲欧洲精品一区二区三区| 国产主播一区二区三区| 日韩一区二区三| 丝袜美腿亚洲综合| 欧美中文字幕亚洲一区二区va在线| 国产亚洲欧美日韩在线一区| 伦理电影国产精品| 欧美一区二区三区喷汁尤物| 天天射综合影视| 欧美视频一区二区在线观看| 亚洲欧美日韩国产综合在线| 岛国av在线一区| 国产精品欧美经典| 高清不卡在线观看| 日本一区二区成人| 粉嫩av亚洲一区二区图片| 精品国产乱码久久久久久浪潮| 蜜桃一区二区三区四区| 91精品国产美女浴室洗澡无遮挡| 亚洲一本大道在线| 欧美日韩国产美| 性做久久久久久| 5858s免费视频成人| 亚洲1区2区3区视频| 这里只有精品视频在线观看| 婷婷国产在线综合| 日韩视频免费观看高清完整版| 裸体一区二区三区| 国产丝袜美腿一区二区三区| 国产xxx精品视频大全| 亚洲欧美另类在线| 欧美撒尿777hd撒尿| 日本中文在线一区| 久久一区二区三区四区| 91麻豆精品国产91久久久久久久久| 五月天欧美精品| 日韩一区二区在线看片| 国产精品亚洲一区二区三区妖精| 国产女主播在线一区二区| 91视视频在线观看入口直接观看www | 成人亚洲一区二区一| 中文乱码免费一区二区| 91免费版在线| 日韩av一区二区在线影视| 欧美成人aa大片| 成人av在线资源| 亚洲成a人在线观看| 精品欧美久久久| 99精品热视频| 日本亚洲一区二区| 欧美极品美女视频| 欧美图区在线视频| 国产乱码精品1区2区3区| 亚洲精品视频免费观看| 欧美刺激午夜性久久久久久久| 国产成人精品www牛牛影视| 亚洲与欧洲av电影| 久久美女高清视频| 欧美婷婷六月丁香综合色| 久久99九九99精品| 日韩av午夜在线观看| 中文一区在线播放| 日韩女优电影在线观看| 色综合天天天天做夜夜夜夜做| 久久精工是国产品牌吗| 一区二区不卡在线视频 午夜欧美不卡在| 7777精品伊人久久久大香线蕉 | 成人深夜视频在线观看| 午夜精品爽啪视频| 亚洲人吸女人奶水| 久久久蜜桃精品| 欧美一区二区在线免费观看| 99国内精品久久| 国产乱子伦一区二区三区国色天香| 亚洲综合色在线| 国产精品乱码人人做人人爱| 欧美哺乳videos| 欧美日韩精品一区二区三区| 99精品久久久久久| 国产精品亚洲综合一区在线观看| 丝瓜av网站精品一区二区| 亚洲女子a中天字幕| 中文字幕不卡的av| 久久久综合网站| 日韩精品一区二区三区蜜臀| 欧美日韩aaa| 欧美视频一二三区| 99精品视频在线免费观看| 国产69精品久久99不卡| 加勒比av一区二区| 黄网站免费久久| 久久精品免费看| 蜜臀91精品一区二区三区| 天堂久久久久va久久久久| 亚洲自拍另类综合| 亚洲欧美另类小说| 一区二区高清在线| 亚洲永久精品国产| 一区二区三区在线播| 亚洲乱码国产乱码精品精小说| 国产精品久久久久婷婷| 国产精品欧美一区二区三区| 国产视频一区在线播放| 日本一区二区高清| 国产欧美一区二区精品性色| 国产亚洲一二三区| 国产精品三级在线观看| 中文字幕亚洲不卡| 亚洲一区二区三区国产| 亚洲高清免费视频| 免费在线观看成人| 国产一区久久久| 在线免费观看日韩欧美| 欧美喷水一区二区| 日韩一级完整毛片| 久久久久国产精品麻豆ai换脸| 国产丝袜欧美中文另类| 亚洲日本韩国一区| 日韩成人伦理电影在线观看| 黄色精品一二区| 色综合一区二区| 日韩一区二区在线观看视频| 欧美精品一区二区在线播放| 国产精品三级av| 午夜精品在线看| 国产一区二区三区观看| 99久久久无码国产精品| 欧美精品九九99久久| 久久久影视传媒| 亚洲一本大道在线| 国产一区二区三区精品视频| 91首页免费视频| 精品免费视频.| 亚洲视频在线观看一区| 美洲天堂一区二卡三卡四卡视频| 国产美女av一区二区三区| 不卡的av中国片| 91精品午夜视频| 中文字幕在线观看一区| 日日嗨av一区二区三区四区| 成人一区在线观看| 911国产精品| 亚洲欧洲av一区二区三区久久| 亚洲成人自拍网| 不卡的av在线播放| 日韩欧美一级精品久久| 亚洲精品水蜜桃| 国产精品91xxx| 欧美日韩一二区| 中文字幕一区二区三区在线不卡| 亚洲成av人片| 91小视频免费看| 久久久久久久久久美女| 日韩电影免费在线观看网站| 91在线精品一区二区三区| 精品乱码亚洲一区二区不卡| 亚洲一级在线观看| 成人精品一区二区三区四区| 日韩免费看的电影| 亚洲大片一区二区三区| 99在线精品一区二区三区| 久久影院视频免费| 日本不卡视频一二三区| 欧美日韩一区中文字幕| 亚洲天堂中文字幕| 福利电影一区二区| 久久亚洲综合色一区二区三区| 视频一区国产视频| 欧美日韩在线亚洲一区蜜芽| 中文字幕一区二区三区视频| 国产精品一区二区免费不卡 | 亚洲成人免费影院| 色网站国产精品| 最近中文字幕一区二区三区| 国产99久久久国产精品潘金| 久久久亚洲精品石原莉奈 | 亚洲www啪成人一区二区麻豆| caoporn国产精品| 国产精品久久久久久久午夜片 | aaa亚洲精品一二三区| 久久久久久电影| 国产黄色91视频| 欧美激情一区在线观看|