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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? econv230p.pas

?? Delphi編寫的ModBus協(xié)議上位機軟件
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
//-----------------------------------------------------------
//* Copyright (c) 2001,北京易控微網(wǎng)科技有限公司
//* All rights reserved.
//*
//* 文件名稱:econv230p.pas
//* 摘    要:主程序文件
//* 當前版本:2.30
//
//* 作    者:夏紅健
//* 完成日期:2004年5月26日

//* 取代版本:2.21
//* 原作者  :夏紅健
//* 完成日期:2005年6月2日

//* 修改說明:
//  1.增加用戶訂制波特率功能
//  2.終端錯誤幀數(shù)據(jù)采取丟棄處理
//  3.將STRTOINT函數(shù)改為STRTOINTDEF函數(shù),防出錯
//  4.將編程風(fēng)格規(guī)范化
//-----------------------------------------------------------


unit econv230p; //單元名

interface

uses

//-----------------------------------------------------------
//* 外部單元說明:
// VaClasses, VaComm 串口通訊控件 版本 Version 2.01 (Info@varian-software.com)
// func 為外部函數(shù)庫
// aboutp 為關(guān)于窗口
// tempp 為設(shè)置數(shù)據(jù)臨時窗口
// filedefine 為teconfile類的定義
//-----------------------------------------------------------
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, StdCtrls, ComCtrls, Menus,  ExtCtrls, Buttons,
  VaClasses,VaComm, func, aboutp, tempp, filedefine;

type
  TMainForm = class(TForm)
    PAGECON: TPageControl;          
    INPUTSTATE: TTabSheet;             // 開關(guān)量輸入頁面
    COILSTATE: TTabSheet;              // 開關(guān)量輸出頁面
    HOLDREGISTER: TTabSheet;           // 保持寄存器頁面
    INPUTREGISTER: TTabSheet;          // 輸入寄存器頁面
    PROTECT: TTabSheet;                // 保護頁面
    COMMUNICATION: TTabSheet;          // 通訊頁面
    HELP: TTabSheet;                   // 幫助頁面
    DATADEF: TTabSheet;                // 數(shù)據(jù)定義頁面
    POWER: TTabSheet;                  // 電度頁面
    XIANGLIANG: TTabSheet;             // 相量圖頁面
    TESTRPT: TTabSheet;                // 測試報告頁面

    helpMemo: TMemo;                   // 幫助MEMO
    datamemo: TMemo;                   // 數(shù)據(jù)定義MEMO
    sendmemo: TMemo;                   // 計算機發(fā)送數(shù)據(jù)MEMO
    revmemo: TMemo;                    // 計算機接收數(shù)據(jù)MEMO
    eventmemo: TMemo;                  // 事件MEMO
    testrptmemo: TMemo;                // 測試報告MEMO

    inputregistergrid: TStringGrid;    // 輸入寄存器表
    protectgrid: TStringGrid;          // 保護數(shù)據(jù)表
    holdregistergrid: TStringGrid;     // 保持寄存器表
    coilstategrid: TStringGrid;        // 開關(guān)量輸出表
    inputstategrid: TStringGrid;       // 開關(guān)量輸入表
    PowerGrid: TStringGrid;            // 電度數(shù)據(jù)表
    xianglianggrid: TStringGrid;       // 相量數(shù)據(jù)表

    MainMenu: TMainMenu;

    m_rtutpye: TMenuItem;              // 終端類型子菜單

    fileopen: TMenuItem;             // 打開終端類型描述文件

    m_comset: TMenuItem;               // 通訊設(shè)置子菜單

    m_baudrate: TMenuItem;           // 波特率菜單
          b110: TMenuItem;             // 110
          b300: TMenuItem;             // 300
          b600: TMenuItem;             // 600
          b1200: TMenuItem;            // 1200
          b2400: TMenuItem;            // 2400
          b4800: TMenuItem;            // 4800
          b9600: TMenuItem;            // 9600
          b14400: TMenuItem;           // 14400
          b19200: TMenuItem;           // 19200
          b38400: TMenuItem;           // 38400
          b56000: TMenuItem;           // 56000
          b57600: TMenuItem;           // 57600
          b115200: TMenuItem;          // 115200
          b128000: TMenuItem;          // 128000
          b256000: TMenuItem;          // 256000
          buser: TMenuItem;            // 用戶定義波特率

      m_protocol: TMenuItem;           // 通訊協(xié)議菜單
          MODBUSRTU1: TMenuItem;       // MODBUS RTU
          MODBUSASCII1: TMenuItem;     // MODBUS ASCII
          cdt1: TMenuItem;             // 其它協(xié)議 空

      m_port: TMenuItem;               // 通訊端口菜單
          COM11: TMenuItem;            // com0
          COM21: TMenuItem;            // com1
          COM31: TMenuItem;            // com2
          COM41: TMenuItem;            // com3
          COM51: TMenuItem;            // com4
          COM61: TMenuItem;            // com5
          COM71: TMenuItem;            // com6
          COM81: TMenuItem;            // com7
          COM91: TMenuItem;            // com8
          COM101: TMenuItem;           // com9

      m_verify: TMenuItem;             // 通訊奇偶校驗菜單
          paritynone: TMenuItem;       // 無
          parityodd: TMenuItem;        // 奇校驗
          parityeven: TMenuItem;       // 偶校驗

      m_address: TMenuItem;            // 通訊終端地址菜單
          address1: TMenuItem;         // 1
          address2: TMenuItem;         // 2
          address3: TMenuItem;         // 3
          address4: TMenuItem;         // 4
          address5: TMenuItem;         // 5
          address6: TMenuItem;         // 6
          address7: TMenuItem;         // 7
          address8: TMenuItem;         // 8
          address9: TMenuItem;         // 9
          address10: TMenuItem;        // 10
          address11: TMenuItem;        // 11
          address12: TMenuItem;        // 12
          address13: TMenuItem;        // 13
          address14: TMenuItem;        // 14
          address15: TMenuItem;        // 15
          address16: TMenuItem;        // 16
          address17: TMenuItem;        // 17
          address18: TMenuItem;        // 18
          address19: TMenuItem;        // 19
          address20: TMenuItem;        // 20
          address21: TMenuItem;        // 21
          address22: TMenuItem;        // 22
          address23: TMenuItem;        // 23
          address24: TMenuItem;        // 24
          address25: TMenuItem;        // 25
          address26: TMenuItem;        // 26
          address27: TMenuItem;        // 27
          address28: TMenuItem;        // 28
          address29: TMenuItem;        // 29
          address30: TMenuItem;        // 30
          address31: TMenuItem;        // 31
          address32: TMenuItem;         // 接收等待時間菜單
    m_comcontrol: TMenuItem;         // 通訊啟停控制菜單

    m_help: TMenuItem;                 // 幫助菜單
    m_about: TMenuItem;              // 關(guān)于菜單

    StatusBar1: TStatusBar;            // 通訊狀態(tài)指示欄

    sendtimer: TTimer;                 // 發(fā)送時間定時器
    revtimer: TTimer;                  // 接收時間定時器
    readholdtimer: TTimer;             // 讀保持寄存器定時器  自動讀取
    readfifotimer: TTimer;             // 讀FIFO定時器  自動讀取

    PopupMenu1: TPopupMenu;            // 右鍵彈出菜單1 用在數(shù)據(jù)定義頁面
    save: TMenuItem;                   // 保存數(shù)據(jù)定義文件
    saveas: TMenuItem;                 // 另存數(shù)據(jù)定義

    Save1: TSaveDialog;                // 保存對話框
    open1: TOpenDialog;                  // 串口通訊控件
    PopupMenu2: TPopupMenu;            // 右鍵彈出菜單2 用在保存幫助文件
    save2: TMenuItem;                  // 保存幫助文件

    rptbtn: TBitBtn;                   // 生成報告按鈕
    saverptbtn: TBitBtn;               // 保存報告按鈕
    ClrRptBtn: TBitBtn;                // 清除報告按鈕

    Splitter1: TSplitter;
    Splitter2: TSplitter;

    Panel1: TPanel;
    Image1: TImage;
    XIEBO: TTabSheet;
    XieBoGrid: TStringGrid;
    N1: TMenuItem;
    TimerOut1: TTimer;
    N2: TMenuItem;
    VaComm1: TVaComm;                    // 相量圖形顯示

    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    // 菜單處理
    procedure fileopenClick(Sender: TObject); // 打開數(shù)據(jù)定義文件
    procedure b110Click(Sender: TObject);  // 修改波特率
    procedure MODBUSRTU1Click(Sender: TObject); // 修改協(xié)議
    procedure COM11Click(Sender: TObject); // 修改端口
    procedure paritynoneClick(Sender: TObject); // 修改奇偶校驗
    procedure address1Click(Sender: TObject); // 修改地址
    procedure m_comcontrolClick(Sender: TObject); // 開停通訊
    procedure m_aboutClick(Sender: TObject);  // 顯示關(guān)于窗口

    // 通訊定時器處理
    procedure VaComm1RxFlag(Sender: TObject); // 產(chǎn)生數(shù)據(jù)接收標志處理
    procedure revtimerTimer(Sender: TObject); // 接收定時器處理
    procedure sendtimerTimer(Sender: TObject); // 發(fā)送定時器處理
    procedure readholdtimerTimer(Sender: TObject); // 讀保持寄存器間隔
    procedure readfifotimerTimer(Sender: TObject); // 讀FIFO間隔

    // 文件保存
    procedure saveClick(Sender: TObject); // 保存數(shù)據(jù)定義
    procedure saveasClick(Sender: TObject); // 另存數(shù)據(jù)定義
    procedure save2Click(Sender: TObject); // 保存幫助

    // 終端數(shù)據(jù)處理
    procedure coilstategridSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean); // 遙控繼電器
    procedure holdregistergridSelectCell(Sender: TObject; ACol,
      ARow: Integer; var CanSelect: Boolean); // 修改保持寄存器
    procedure PowerGridSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);  // 修改電度初值
    procedure protectgridSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);  // 修改保護定值
    procedure inputregistergridSelectCell(Sender: TObject; ACol,
      ARow: Integer; var CanSelect: Boolean); // 修改輸入寄存器對應(yīng)系數(shù)

    // 測試報告相關(guān)處理
    procedure saverptbtnClick(Sender: TObject);
    procedure rptbtnClick(Sender: TObject);
    procedure ClrRptBtnClick(Sender: TObject);
    procedure XieBoGridSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure N1Click(Sender: TObject);
    procedure TimerOut1Timer(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure VaComm1RxChar(Sender: TObject; Count: Integer);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;
  econfile: Teconfile;
  getfilename: string;
  smindex: integer;       // 存貯表格操作的列值
  comm_status: bool;      // 通訊狀態(tài),TRUE為運行狀態(tài),F(xiàn)ALSE為停止狀態(tài)
  poll_count: integer;
  read_index: integer;
  sendflag1: boolean;//特殊幀標志
  
procedure system_init;    // 系統(tǒng)初始化
procedure drawxiangliang; // 畫相量圖
procedure start_comm;     // 啟動通訊
procedure stop_comm;      // 停止通訊

implementation


{$R *.DFM}



//----------------------系統(tǒng)初始化---------------------------
procedure system_init;
var
  temp: string;
begin
  with mainform do
  begin

    helpmemo.lines.loadfromfile('help.txt'); // 調(diào)入幫助文件

    datainit;  // 初始化變量
    comm_status := false;   // 通訊狀態(tài)初始為停止
    smindex := 0;
    poll_count := 0;
    read_index := 0;
    sendflag1 :=  false;
    econfile := Teconfile.init; // 構(gòu)造ECONFILE對象
    getdatafromfile(datamemo, getfilename, econfile);// 調(diào)入數(shù)據(jù)定義中的系統(tǒng)設(shè)置


    // 根據(jù)數(shù)據(jù)定義文件初始化界面
    if econfile.coilstatetotal>0 then displaycoilstate(econfile,coilstategrid);
    coilstate.TabVisible := econfile.coilstatetotal>0;

    if econfile.inputstatetotal>0 then displayinputstate(econfile,inputstategrid);
    inputstate.TabVisible := econfile.inputstatetotal>0;

    if econfile.holdregistertotal>0 then displayholdregister(econfile,holdregistergrid);
    holdregister.TabVisible := econfile.holdregistertotal>0;

    if econfile.inputregistertotal>0 then displayinputregister(econfile,inputregistergrid);
    inputregister.TabVisible := econfile.inputregistertotal>0;

    if econfile.setprotecttotal>0 then  displayprotect(econfile,protectgrid);
    protect.TabVisible := econfile.setprotecttotal>0;

    if econfile.setpowertotal>0 then displaypower(econfile,powergrid);
    power.TabVisible := econfile.setpowertotal>0;

    if econfile.setxiangliangtotal>0 then displayxiangliang(econfile,xianglianggrid);
    xiangliang.TabVisible := econfile.setxiangliangtotal>0;

    if econfile.setxiebototal>0 then displayxiebo(econfile,xiebogrid);
    xiebo.TabVisible := econfile.setxiebototal>0;

    mainform.pagecon.Visible := true;


    statusbar1.Panels[0].Text := '通訊未開始';
    temp := econfile.comm.mode;
    if (uppercase(temp)='RTU') then modbusrtu1.Checked:=true;
    if (uppercase(temp)='ASCII') then modbusascii1.Checked:=true;

    case econfile.comm.portnum of
      1: com11.Checked := true;
      2: com21.Checked := true;
      3: com31.checked := true;
      4: com41.checked := true;
      else com11.checked := true;
    end;

    case econfile.comm.parity of
      0: paritynone.Checked := true;
      1: parityodd.Checked := true;
      2: parityeven.checked := true;
    end;

    case econfile.comm.baudrate of
      110: b110.Checked := true;
      300: b300.Checked := true;
      600: b600.Checked := true;
      1200: b1200.Checked := true;
      2400: b2400.Checked := true;
      4800: b4800.Checked := true;
      9600: b9600.Checked := true;
      14400: b14400.Checked := true;
      19200: b19200.Checked := true;
      38400: b38400.Checked := true;
      56000: b56000.Checked := true;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频图片小说| 日韩精品资源二区在线| 亚洲欧洲99久久| 99久久伊人网影院| 有坂深雪av一区二区精品| 欧美午夜一区二区三区| 日韩成人精品在线观看| 精品少妇一区二区三区免费观看 | 亚洲日本一区二区| 在线一区二区三区四区五区 | 国产精品久久久久一区二区三区 | 国产一区二区三区高清播放| 久久亚洲精精品中文字幕早川悠里| 国产精品一二三在| 最新热久久免费视频| 欧美性极品少妇| 国内外成人在线视频| 中文字幕一区视频| 欧美日韩mp4| 国产高清亚洲一区| 亚洲男人电影天堂| 精品久久久影院| 99精品国产视频| 秋霞电影网一区二区| 国产欧美日本一区视频| 欧美日韩精品欧美日韩精品| 国内精品伊人久久久久影院对白| 中文字幕一区二区三区蜜月| 欧美人与z0zoxxxx视频| 成人开心网精品视频| 日韩经典中文字幕一区| 亚洲欧美在线观看| 欧美成人精品3d动漫h| 99久久伊人网影院| 精品无码三级在线观看视频| 一区二区三区高清在线| 国产视频一区不卡| 91精品国产综合久久久久久漫画| 成人教育av在线| 奇米色777欧美一区二区| 亚洲精品视频一区| 国产日韩高清在线| 日韩三级电影网址| 在线免费观看日本欧美| 国产成人在线免费| 麻豆精品在线看| 亚洲高清免费在线| 中文字幕在线播放不卡一区| 日韩视频一区二区在线观看| 色婷婷av一区二区三区软件| 国产成都精品91一区二区三| 日韩av中文字幕一区二区三区| 亚洲人成网站影音先锋播放| 国产亚洲欧美在线| 欧美videofree性高清杂交| 欧美另类高清zo欧美| 色综合一区二区| 波多野洁衣一区| 国产高清无密码一区二区三区| 老色鬼精品视频在线观看播放| 亚洲国产综合在线| 亚洲一二三区在线观看| 亚洲精品国产一区二区三区四区在线| 久久久久久97三级| 久久久精品中文字幕麻豆发布| 日韩欧美视频一区| 精品久久久影院| 精品卡一卡二卡三卡四在线| 日韩精品一区二区在线观看| 日韩一区和二区| 日韩美女视频一区二区在线观看| 欧美福利一区二区| 欧美巨大另类极品videosbest| 欧美午夜电影在线播放| 在线中文字幕一区| 欧美日韩一区二区三区四区五区 | av在线播放一区二区三区| 国产福利一区在线观看| 国产成人免费在线观看不卡| 国产精品911| 成人白浆超碰人人人人| 91香蕉视频mp4| 日本韩国欧美一区| 欧美日韩一区小说| 日韩精品一区二区三区中文不卡| 日韩欧美一级特黄在线播放| 欧美精品一区二区高清在线观看| 精品国产乱码久久| 亚洲欧洲另类国产综合| 亚洲天堂2014| 一区二区三区日韩欧美| 亚洲午夜久久久| 久久不见久久见中文字幕免费| 韩国精品久久久| av欧美精品.com| 欧美视频一区二区| 日韩欧美精品在线| 国产精品毛片a∨一区二区三区| 自拍偷拍亚洲综合| 日韩精品色哟哟| 国产精品99精品久久免费| 成人午夜精品在线| 欧美三区在线观看| 久久先锋影音av鲁色资源网| 亚洲同性gay激情无套| 亚洲一区二区三区视频在线播放 | 精品国产伦一区二区三区免费 | 日韩伦理电影网| 五月婷婷综合在线| 国产二区国产一区在线观看| 91麻豆精品视频| 日韩欧美亚洲一区二区| 国产精品免费看片| 日韩精品1区2区3区| 国产91对白在线观看九色| 欧美中文字幕一区二区三区 | 暴力调教一区二区三区| 欧美日韩另类国产亚洲欧美一级| 精品欧美一区二区久久| 国产精品久久久久婷婷| 视频在线观看91| 成人久久18免费网站麻豆| 欧美高清视频www夜色资源网| 久久久高清一区二区三区| 亚洲18色成人| 91年精品国产| 欧美精品一区二区蜜臀亚洲| 亚洲一区二区欧美日韩| 韩日欧美一区二区三区| 欧美性大战久久久| 国产精品色婷婷| 精品在线播放午夜| 欧美三级欧美一级| 国产精品青草久久| 国产精品一二三四| 欧美mv和日韩mv国产网站| 性久久久久久久久久久久| 99久久免费精品| 中日韩免费视频中文字幕| 毛片一区二区三区| 精品视频一区 二区 三区| 日韩一区中文字幕| 成人免费av在线| 国产午夜亚洲精品理论片色戒 | 亚洲宅男天堂在线观看无病毒| 粉嫩av一区二区三区在线播放| 欧美一区午夜精品| 亚洲成av人片在线观看无码| 成人av电影免费观看| 久久美女艺术照精彩视频福利播放 | 欧美色涩在线第一页| 国产精品大尺度| 成人avav在线| 国产精品久久久久aaaa| 国产精品99久久不卡二区| 精品国产乱码91久久久久久网站| 日韩高清一区在线| 欧美一级二级在线观看| 亚洲.国产.中文慕字在线| 色综合 综合色| 亚洲美女屁股眼交| 日本韩国欧美在线| 亚洲国产视频在线| 欧美日韩免费不卡视频一区二区三区| 亚洲美女视频在线| 欧美性生交片4| 五月天网站亚洲| 在线播放日韩导航| 蜜臀av性久久久久蜜臀aⅴ流畅| 777亚洲妇女| 狠狠色狠狠色综合系列| 亚洲精品一区二区三区99| 麻豆91在线播放免费| 精品剧情v国产在线观看在线| 国产美女视频91| 国产精品欧美一级免费| 99久久免费视频.com| 亚洲一区二区三区激情| 欧美一级二级在线观看| 国产一区999| 中文字幕在线不卡| 欧美亚洲图片小说| 免费成人av资源网| 久久久久国产精品厨房| 99久久99久久精品免费观看| 一区二区三区久久| 日韩欧美精品在线视频| 国产99久久久国产精品| 亚洲人成影院在线观看| 欧美美女网站色| 国产乱国产乱300精品| 亚洲欧洲无码一区二区三区| 欧洲精品在线观看| 日韩高清一区二区| 国产精品丝袜久久久久久app| 成人午夜av在线| 亚洲国产成人va在线观看天堂| 精品久久久久久久人人人人传媒| 高清在线不卡av| 亚洲一区在线播放|