文档详情

欧姆龙PLC全系列Hos的t Link通信协议串口动态链接库DLL.doc

发布:2017-11-22约2.18万字共20页下载文档
文本预览下载声明
????一、最新欧姆龙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; ???
显示全部
相似文档