亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产在线精品免费av| 日韩视频在线永久播放| 亚洲国产精品精华液ab| 男男gaygay亚洲| 欧美在线你懂得| 亚洲激情av在线| 91色乱码一区二区三区| 欧美高清性hdvideosex| 日日夜夜精品视频天天综合网| 在线观看日韩电影| 一区二区三区在线视频播放| 日本道色综合久久| 一区二区久久久| 91成人在线精品| 午夜av电影一区| 在线亚洲欧美专区二区| 亚洲高清免费观看高清完整版在线观看| 91网站最新地址| 亚洲精品乱码久久久久久黑人 | 另类成人小视频在线| 欧美一区二区三区影视| 日本vs亚洲vs韩国一区三区| 日韩一本二本av| 久久精品99久久久| 26uuu精品一区二区 | 亚洲午夜精品在线| 欧美视频在线一区二区三区| 午夜精品久久久久影视| 制服丝袜亚洲色图| 精品亚洲国产成人av制服丝袜| 日韩欧美国产一二三区| 婷婷中文字幕一区三区| 欧美va亚洲va香蕉在线| 成人免费电影视频| 亚洲超碰97人人做人人爱| 日韩一区二区三区视频在线| 国产乱子伦视频一区二区三区| 国产精品久久99| 在线亚洲欧美专区二区| 黑人精品欧美一区二区蜜桃| 国产精品国产三级国产有无不卡| 日本道免费精品一区二区三区| 亚洲国产精品久久久久秋霞影院| 欧美一区二区三区在线电影| 成人妖精视频yjsp地址| 亚洲国产精品影院| 精品国产免费久久| 色一情一伦一子一伦一区| 舔着乳尖日韩一区| 欧美国产1区2区| 欧美日免费三级在线| 国产精品一品二品| 一区二区三区欧美| 久久久久久久国产精品影院| 91在线看国产| 欧美三级电影网| 国产在线国偷精品免费看| 艳妇臀荡乳欲伦亚洲一区| ww亚洲ww在线观看国产| 欧美日韩视频专区在线播放| 国产91丝袜在线播放九色| 天天综合色天天| 欧美精品一区二区三区在线| 色就色 综合激情| 韩国av一区二区三区四区| 夜夜嗨av一区二区三区网页| 久久久影院官网| 欧洲人成人精品| 国产69精品久久久久777| 日本欧美久久久久免费播放网| 亚洲视频免费观看| 国产日韩欧美精品综合| 91精品久久久久久久久99蜜臂| 色综合天天综合给合国产| 国产乱码精品一区二区三区忘忧草 | www.亚洲色图| 国产一区二区三区国产| 日韩—二三区免费观看av| 亚洲精品免费在线观看| 国产清纯白嫩初高生在线观看91 | 中文字幕一区二区视频| 久久―日本道色综合久久| 911国产精品| 欧美日韩免费一区二区三区| 色香蕉久久蜜桃| 99这里都是精品| 成人午夜精品在线| 国模娜娜一区二区三区| 亚洲18女电影在线观看| 一区二区在线观看免费 | 中文久久乱码一区二区| 久久久精品日韩欧美| 精品国产a毛片| 欧美成人在线直播| 欧美大片一区二区| 欧美不卡激情三级在线观看| 欧美一区二区大片| 日韩丝袜美女视频| 久久久久久久久久看片| 日韩 欧美一区二区三区| 亚洲综合色噜噜狠狠| 国产日韩精品一区二区三区| 欧美大片拔萝卜| 久久久91精品国产一区二区精品| 久久久综合网站| 欧美国产视频在线| 亚洲欧洲美洲综合色网| 亚洲人一二三区| 一区二区高清视频在线观看| 亚洲国产日韩综合久久精品| 亚洲高清在线精品| 日本亚洲最大的色成网站www| 久久国产欧美日韩精品| 国产精品影音先锋| 不卡的av在线播放| 91久久线看在观草草青青| 欧美日韩日日骚| 精品国免费一区二区三区| 日韩一区二区在线观看| 欧美mv日韩mv| 欧美tickling网站挠脚心| 国产精品三级在线观看| 一区二区三区精品在线| 日韩国产欧美在线播放| 国产呦精品一区二区三区网站| 成人免费毛片app| 一本大道av伊人久久综合| 欧美日韩国产综合视频在线观看 | 一区二区激情视频| 蜜桃一区二区三区在线观看| 国产aⅴ综合色| 99久久久精品| 宅男噜噜噜66一区二区66| 久久久久综合网| 一区二区三区加勒比av| 麻豆精品国产91久久久久久| www.欧美日韩| 欧美日韩午夜在线视频| 精品电影一区二区三区| 亚洲欧美日韩电影| 久久精品国产成人一区二区三区| 免费高清在线一区| 国产精品亚洲成人| 欧美人妇做爰xxxⅹ性高电影| 久久精品欧美一区二区三区麻豆 | 午夜一区二区三区视频| 国产精品一区二区果冻传媒| 欧美日韩在线电影| 国产午夜精品久久久久久久| 亚洲成人av在线电影| 国产河南妇女毛片精品久久久 | 亚洲欧美国产高清| 国产一区二区三区综合| 欧美日韩免费观看一区三区| 国产精品视频第一区| 免费成人在线影院| 色综合久久天天| 久久精品亚洲一区二区三区浴池 | 日韩福利视频网| 欧美日韩www| 午夜精品免费在线| 欧美日韩精品欧美日韩精品| 亚洲综合999| 色www精品视频在线观看| 亚洲免费在线看| 日本丰满少妇一区二区三区| 一区二区高清视频在线观看| 在线一区二区视频| 亚洲一区二区三区免费视频| 欧美性色黄大片| 亚洲黄一区二区三区| 欧美影视一区二区三区| 亚洲国产综合视频在线观看| 在线观看日韩电影| 天天影视网天天综合色在线播放| 在线不卡欧美精品一区二区三区| 日韩在线一二三区| 日韩欧美一级在线播放| 久久黄色级2电影| 久久青草国产手机看片福利盒子| 国产米奇在线777精品观看| 久久久久久久性| 97se狠狠狠综合亚洲狠狠| 中文字幕综合网| 欧洲亚洲精品在线| 日本伊人色综合网| 国产清纯白嫩初高生在线观看91| 波多野结衣亚洲一区| 一个色综合av| 日韩亚洲欧美高清| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 91在线精品一区二区| 亚洲在线成人精品| 日韩一区二区三区视频在线观看| 国内成+人亚洲+欧美+综合在线| 国产精品美女一区二区三区 | 岛国精品一区二区| 亚洲欧美另类久久久精品| 欧美精品视频www在线观看| 精品中文字幕一区二区小辣椒|