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

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

?? econv230p.pas

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

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

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


unit econv230p; //單元名

interface

uses

//-----------------------------------------------------------
//* 外部單元說明:
// VaClasses, VaComm 串口通訊控件 版本 Version 2.01 (Info@varian-software.com)
// func 為外部函數庫
// aboutp 為關于窗口
// tempp 為設置數據臨時窗口
// 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;             // 開關量輸入頁面
    COILSTATE: TTabSheet;              // 開關量輸出頁面
    HOLDREGISTER: TTabSheet;           // 保持寄存器頁面
    INPUTREGISTER: TTabSheet;          // 輸入寄存器頁面
    PROTECT: TTabSheet;                // 保護頁面
    COMMUNICATION: TTabSheet;          // 通訊頁面
    HELP: TTabSheet;                   // 幫助頁面
    DATADEF: TTabSheet;                // 數據定義頁面
    POWER: TTabSheet;                  // 電度頁面
    XIANGLIANG: TTabSheet;             // 相量圖頁面
    TESTRPT: TTabSheet;                // 測試報告頁面

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

    inputregistergrid: TStringGrid;    // 輸入寄存器表
    protectgrid: TStringGrid;          // 保護數據表
    holdregistergrid: TStringGrid;     // 保持寄存器表
    coilstategrid: TStringGrid;        // 開關量輸出表
    inputstategrid: TStringGrid;       // 開關量輸入表
    PowerGrid: TStringGrid;            // 電度數據表
    xianglianggrid: TStringGrid;       // 相量數據表

    MainMenu: TMainMenu;

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

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

    m_comset: TMenuItem;               // 通訊設置子菜單

    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;           // 通訊協議菜單
          MODBUSRTU1: TMenuItem;       // MODBUS RTU
          MODBUSASCII1: TMenuItem;     // MODBUS ASCII
          cdt1: TMenuItem;             // 其它協議 空

      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;              // 關于菜單

    StatusBar1: TStatusBar;            // 通訊狀態指示欄

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

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

    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); // 打開數據定義文件
    procedure b110Click(Sender: TObject);  // 修改波特率
    procedure MODBUSRTU1Click(Sender: TObject); // 修改協議
    procedure COM11Click(Sender: TObject); // 修改端口
    procedure paritynoneClick(Sender: TObject); // 修改奇偶校驗
    procedure address1Click(Sender: TObject); // 修改地址
    procedure m_comcontrolClick(Sender: TObject); // 開停通訊
    procedure m_aboutClick(Sender: TObject);  // 顯示關于窗口

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

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

    // 終端數據處理
    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); // 修改輸入寄存器對應系數

    // 測試報告相關處理
    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;      // 通訊狀態,TRUE為運行狀態,FALSE為停止狀態
  poll_count: integer;
  read_index: integer;
  sendflag1: boolean;//特殊幀標志
  
procedure system_init;    // 系統初始化
procedure drawxiangliang; // 畫相量圖
procedure start_comm;     // 啟動通訊
procedure stop_comm;      // 停止通訊

implementation


{$R *.DFM}



//----------------------系統初始化---------------------------
procedure system_init;
var
  temp: string;
begin
  with mainform do
  begin

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

    datainit;  // 初始化變量
    comm_status := false;   // 通訊狀態初始為停止
    smindex := 0;
    poll_count := 0;
    read_index := 0;
    sendflag1 :=  false;
    econfile := Teconfile.init; // 構造ECONFILE對象
    getdatafromfile(datamemo, getfilename, econfile);// 調入數據定義中的系統設置


    // 根據數據定義文件初始化界面
    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;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色大片在线观看| 欧美精品亚洲二区| 69久久99精品久久久久婷婷| 337p日本欧洲亚洲大胆色噜噜| 中文字幕中文在线不卡住| 日韩高清一区在线| 色哟哟亚洲精品| 国产精品理伦片| 久久99这里只有精品| 91福利在线播放| 亚洲欧洲三级电影| 国产精品白丝jk白祙喷水网站| 欧美日韩国产综合久久| 国产精品不卡视频| 国产精品亚洲专一区二区三区| 91麻豆精品国产91久久久久久久久 | 日韩黄色免费网站| 免费成人你懂的| 韩国在线一区二区| 欧美一区二区三区精品| 日韩一区在线免费观看| 国产尤物一区二区| 91精品国产免费| 亚洲精品videosex极品| 国产精品一卡二卡| 日韩欧美亚洲另类制服综合在线 | 欧美一区在线视频| 国产精品人成在线观看免费| 亚洲国产日韩a在线播放性色| 久久91精品久久久久久秒播| 在线精品国精品国产尤物884a| 精品久久久影院| 亚洲国产综合视频在线观看| 国产福利电影一区二区三区| 久久蜜桃av一区精品变态类天堂| 青青草国产成人99久久| 欧美视频一区二区| 亚洲男人的天堂在线aⅴ视频| 国产激情视频一区二区三区欧美| 日韩一级完整毛片| 久久99国内精品| 精品欧美乱码久久久久久 | 亚洲线精品一区二区三区八戒| 丁香婷婷综合激情五月色| 久久蜜桃av一区二区天堂| 美女任你摸久久| 欧美本精品男人aⅴ天堂| 青青草成人在线观看| 欧美顶级少妇做爰| 男女男精品视频网| 欧美电影精品一区二区| 图片区日韩欧美亚洲| 欧美午夜一区二区| 无码av中文一区二区三区桃花岛| 日韩西西人体444www| 免费欧美在线视频| 欧美成va人片在线观看| 国内精品嫩模私拍在线| 久久久久久电影| 91亚洲午夜精品久久久久久| 亚洲精品欧美在线| 欧美日韩高清一区| 国内精品不卡在线| 国产精品久久网站| 91精品福利视频| 久久精品二区亚洲w码| 久久久精品蜜桃| 91麻豆6部合集magnet| 亚洲成人激情av| 欧美一三区三区四区免费在线看 | 亚洲美女在线一区| 欧美影院一区二区三区| 日日夜夜免费精品| 精品久久人人做人人爱| 不卡的电视剧免费网站有什么| 久久久久久久综合| 91黄色免费看| 婷婷综合久久一区二区三区| 欧美亚一区二区| 国产一区二区精品在线观看| 亚洲免费在线观看视频| 欧美一区二区免费视频| 成人福利电影精品一区二区在线观看 | 日韩经典中文字幕一区| 久久品道一品道久久精品| 欧洲精品在线观看| 成人激情午夜影院| 亚洲综合无码一区二区| xfplay精品久久| 欧美性感一类影片在线播放| 国内精品在线播放| 亚洲第一av色| 国产精品麻豆视频| 欧美一区三区四区| 色综合天天综合网天天狠天天| 亚洲第一综合色| 国产精品电影一区二区| 欧美一区二区三区男人的天堂| 99精品视频一区二区| 日产精品久久久久久久性色| 中文字幕在线视频一区| 精品国产一区二区三区不卡| 99热这里都是精品| 国产精品白丝jk白祙喷水网站| 亚洲成人一区在线| 中文字幕一区二区三区在线播放 | 久久电影网电视剧免费观看| 亚洲美女偷拍久久| 国产精品电影一区二区| 久久综合色综合88| 91精品久久久久久久久99蜜臂| 91亚洲永久精品| 成人激情av网| 国产久卡久卡久卡久卡视频精品| 三级欧美在线一区| 亚洲国产成人91porn| 亚洲麻豆国产自偷在线| 国产精品久久久久桃色tv| 久久精品夜色噜噜亚洲a∨| 日韩三级在线免费观看| 91精品国产综合久久香蕉麻豆| 日本乱人伦aⅴ精品| 成人高清在线视频| av一区二区三区| 福利电影一区二区| 国产.精品.日韩.另类.中文.在线.播放| 久久国产人妖系列| 在线观看日韩av先锋影音电影院| 成人黄色av电影| 国产老妇另类xxxxx| 久久99精品一区二区三区| 午夜精品福利在线| 麻豆成人久久精品二区三区红| 天天操天天综合网| 蜜臀va亚洲va欧美va天堂| 麻豆国产欧美一区二区三区| 久久er99精品| 国产一区二区三区日韩| 国产大陆亚洲精品国产| 国产成人精品午夜视频免费| 精品一区二区久久久| 国产一区二区三区在线观看精品 | 激情深爱一区二区| 国产精品一区二区三区乱码| 高清视频一区二区| 色婷婷av久久久久久久| 欧美日韩电影一区| 日韩欧美在线123| 国产三级欧美三级| 国产精品久久久久久久久久久免费看| 国产精品人成在线观看免费| 夜夜嗨av一区二区三区中文字幕| 亚洲国产精品久久久久婷婷884 | 国内欧美视频一区二区| 三级一区在线视频先锋 | 国产精品一二三区| 91在线视频官网| 67194成人在线观看| 久久女同性恋中文字幕| 一区二区三区国产豹纹内裤在线 | 国产三级精品视频| 亚洲理论在线观看| 开心九九激情九九欧美日韩精美视频电影 | 国产精品一级片在线观看| 成人a级免费电影| 欧美肥妇free| 国产精品传媒在线| 婷婷夜色潮精品综合在线| 国产精品1区2区3区在线观看| 99久久综合国产精品| 欧美精品一卡两卡| 中文字幕不卡的av| 秋霞午夜鲁丝一区二区老狼| av色综合久久天堂av综合| 午夜在线成人av| 欧美一区午夜精品| 精品免费日韩av| 日韩午夜av一区| 亚洲精品一区二区三区香蕉| 亚洲色图视频网| 看国产成人h片视频| 97久久精品人人澡人人爽| 日韩视频一区二区三区| 亚洲色图视频网| 国产成人精品一区二| 91麻豆精品国产91| 国产精品福利一区二区| 美日韩一区二区三区| 欧美日韩亚洲综合在线| 中文字幕av免费专区久久| 亚洲v日本v欧美v久久精品| 国产精品91一区二区| 精品88久久久久88久久久| 舔着乳尖日韩一区| 91看片淫黄大片一级| 中文字幕精品一区| 国产suv精品一区二区883| 欧美精品亚洲一区二区在线播放| 国产欧美日韩在线| 久99久精品视频免费观看|