欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、最新欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL(以下简称DLL),是为满足工业

通信需要,针对工业领域要求上位机对PLC实时采集与控制的组态编程而设计。本DLL 是采用

Delphi语言开发的标准串口通讯库,具有以下特点:

1)、实时性、可靠性好,可根据通信数据量自行调整通信时间;

2)、适用于多PLC联网和上位机通信,满足多方面的需要;

3)、函数接口功能全,操作简单;

4)、附加实用转换与读取函数,易于快速开发(VC等非RAD开发环境的开发);

5)、支持USB、PC扩展卡等扩展串口号;

6)、支持多种操作系统win9x/win2000/winXP;

7)、可在多种编程环境下使用,例如VB、VC、Delphi等开发环境。

二、DLL函数说明

1、打开串口

Function ComOpen

(nport,BaudRate,DataBits,Parity,StopBits:longint;User:Pchar):longint;stdcall;

参数:nport: 打开串口号,取值为1~8,代表COM1~COM8;

BaudRate:波特率,取值为1200、2400、4800、9600、19200、38400 (推荐使用9600或

19200);

DataBits:数据位,取值为5、6、7、8(推荐使用7或8);

Parity:校验位,取值为1(E)、2(O)、3(M)、4(S)、5(N),注括号里是校验位的英文缩

写;

StopBits:停止位,取值为1(1)、2(2)、3(1.5),注括号里是实际的停止位位数

User:DLL授权用户名;

返回值:长整型,操作成功返回1,否则返回0;打开串口不成功即返回0时的原因:1)、串口不存

在或被占用; 2)、DLL试用过期; 3)、DLL授权注册不正确。

使用举例:

ComOpen(1,9600,7,1,1,'wjun') , 打开COM1口,并设定波特率=9600、数据位=7、校验位=E(偶

校验)、停止位=1,授权用户='wjun'。

2、关闭串口

Function ComClose(nport:longint):longint;stdcall;

参数:nport: 串口号,取值为1~8,代表COM1~COM8;

返回值:长整型,操作成功返回1,否则返回0;

使用举例:

ComClose(1) ,关闭打开的COM1口。

3、读取PLC的操作状态----{这很重要因为Host Link只有在监视或编程状态才可以进行写操

作与强制操作,工控应用中应使用监视状态}

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

Function ComMS(nport,node:Longint):Longint;stdcall;

参数:

nport: 串口号,取值为1~8,代表COM1~COM8;

node: PLC站号或节点号(单元号),取值为0~31;

返回值:长整型,返回值:0:编程、1:运行、2:监视、3:读取错误;

使用举例:

ComMS(1,0),由串口1读取0号PLC的操作状态;

4、改变PLC的操作状态

Function ComSC(nport,node,State:longint):Longint;stdcall;

参数:

nport: 串口号,取值为1~8,代表COM1~COM8;

node: PLC站号或节点号(单元号),取值为0~31;

State:PLC状态参数,取值为0:编程、1:运行、2:监视;

返回值:长整型,操作成功返回1,否则返回0;

5、读取PLC的型号代码

Function ComMM(nport,node:Longint):Pchar;stdcall;

参数:

nport: 串口号,取值为1~8,代表COM1~COM8;

node: PLC站号或节点号(单元号),取值为0~31;

返回值:Pchar(字符串),返回值:"Error":表示读取错误

其他见下表:

型号代码PLC型号

"01" C250

"02" C500

"03" C120

"0E" C2000

"10" C1000H

"11" C2000H/CQM1/CPM2A/CPM2C/CPM1/CPM1A/SRM1(-V2)

"12" C20H/C28H/C40H/C200H/C200HS

"20" CV500

"21" CV1000

"22" CV2000

"30" CP1H

"40" CVM1-CPU01-E

"41" CVM1-CPU11-E

"42" CVM1-CPU21-E

所有字符串返回值都以"@"为字符串数据终止符,有效字符串为"@"之前的所有字符串组;

6、测试PC与PLC的通信是否可以有效执行

Function ComTS(nport,node:longint):Longint;stdcall

参数:

nport: 串口号,取值为1~8,代表COM1~COM8;

node: PLC站号或节点号(单元号),取值为0~31;

返回值:长整型,测试成功返回1,否则返回0;

7、PLC存储器数据的读取(IR/SR、LR、HR、AR、DM、T-PV值、T-状态值)

Function ComWR(nport,node,address,Count:longint;Order:pchar):Pchar;stdcall;

参数:

nport: 串口号,取值为1~8,代表COM1~COM8;

node: PLC站号或节点号(单元号),取值为0~31;

address: 寄存器地址,取值请参欧姆龙PLC手册;

Count: 读取寄存器个数,T-状态值的读取最大可读一次都120个,其它一次可读30个字的数据;

Order:读取各区命令字符见下表:

命令代码读取区域

"RR" IR/SR

"RL" LR

"RH" HR

"RJ" AR

"RD" DM

"RC" T-PV值

"RG" T-状态值

返回值:字符串数据,字符串数据的终止符为"@";

相关文档
最新文档