⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 先运行力控应用程序(如演示工程——反应釜)
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Btn_Read: TButton;
    Btn_Write: TButton;
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Btn_WriteClick(Sender: TObject);
    procedure Btn_ReadClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
Function DTL_INIT(id:LongInt):SmallInt;
stdcall;external'dtl32.dll';
Function DTL_C_CONNECT(Id:LongInt;Name:PChar;NullP:
Pointer):SmallInt;stdcall;external'dtl32.dll';
Function DTL_DISCONNECT(id:LongInt):SmallInt;
stdcall;external'dtl32.dll';
Function DTL_C_DEFINE(var id:LongInt; DefStr:PChar):
SmallInt;stdcall;external'dtl32.dll';
Function DTL_UNDEF(id:LongInt):SmallInt;
stdcall;external'dtl32.dll';
Function DTL_READ_W(id:LongInt;Buf:Pointer;
var stat:LongInt; DelayTime:LongInt):SmallInt;
stdcall;external'dtl32.dll';
Function DTL_WRITE_W(id:LongInt; Buf:Pointer; 
var stat:LongInt; DelayTime:LongInt):SmallInt;
stdcall;external'dtl32.dll';
{$R *.dfm}
   var
Rst,i: Integer;
Data:array [0..20] of SmallInt;
Str:string;
DefStr :PChar
Handle,IOStat:LongInt;
procedure TForm1.FormCreate(Sender: TObject);
begin
Str:=''; rst:=1; rst:=DTL_INIT(1);
if rst=0 then
rst := DTL_C_CONNECT(0,PChar(Str),nil);
if rst=0 then Label1.Caption:='RSLinx连接成功'
else Label1.Caption:='RSLinx连接失败';
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DTL_DISCONNECT(0);
end;
procedure TForm1.Btn_ReadClick(Sender: TObject); 
begin
DefStr:='$N7:0,20,WORD,READ,1KT:0,001,PLC5,0';
if DTL_C_DEFINE(Handle, PChar(DefStr))=0 then
begin
rst:=DTL_READ_W(handle, @Data, IOStat, 1000 );
DTL_UNDEF(Handle);
end;
ListBox1.Clear;
if rst=0 then for I:=0 to 19 do
begin
FmtStr(Str,'N7:%d=%d', [I,Data[I]]);
ListBox1.Items.Add(Str);
end;
end;
procedure TForm1.Btn_WriteClick(Sender: TObject);
begin
DefStr:='$N7:0,20,WORD,MODIFY,1KT:0,001,PLC5,0';
if DTL_C_DEFINE(Handle, PChar(DefStr))=0 then
begin
rst:=DTL_WRITE_W(handle, @Data, IOStat, 1000 );
DTL_UNDEF(Handle);
end;
end;







end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -