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

上传人:re****.1 文档编号:460435849 上传时间:2024-01-19 格式:DOCX 页数:20 大小:34.06KB
返回 下载 相关 举报
欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL_第1页
第1页 / 共20页
欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL_第2页
第2页 / 共20页
欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL_第3页
第3页 / 共20页
欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL_第4页
第4页 / 共20页
欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL》由会员分享,可在线阅读,更多相关《欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL(20页珍藏版)》请在金锄头文库上搜索。

1、一、最新欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL(以下简称DLL),是 为满足工业通信需要,针对工业领域要求上位机对PLC实时采集与控制的组态编程而设计。本DLL 是采用Delphi语言开发的标准串口通讯库,具有以下特点:1) 、实时性、可靠性好,可根据通信数据量自行调整通信时间;2) 、适用于多PLC联网和上位机通信,满足多方面的需要;3) 、函数接口功能全,操作简单;4) 、附加实用转换与读取函数,易于快速开发(VC等非RAD开发环境的开发);5) 、支持USB、PC扩展卡等扩展串口号;6) 、支持多种操作系统 win9x/win2000/winXP;7) 、可在多

2、种编程环境下使用,例如VB、VC、Delphi等开发环境。二、DLL函数说明1、打开串口Function ComOpen(nport,BaudRate,DataBits,Parity,StopBits:longint;User:Pchar):longint;stdcall;参数:nport:打开串口号,取值为18,代表COM 1COM8;BaudRate:波特率,取值为 1200、2400、4800、9600、19200、38400 (推荐使用 9600 或19200);DataBits:数据位,取值为5、6、7、8(推荐使用7或8);Parity:校验位,取值为1(E)、2(0)、3(M)、

3、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;st

4、dcall;参数:nport:串口号,取值为18,代表COM 1C0M8;返回值:长整型,操作成功返回1,否则返回 0;使用举例:ComClose(l),关闭打开的 COM1 口。3、读取 PLC 的操作状态这很重要因为 Host Link 只有在监视或编程状态才可 以进行写操作与强制操作,工控应用中应使用监视状态Function ComMS(nport,node:Longint):Longint;stdcall;参数:nport:串口号,取值为18,代表COM 1COM8;node: PLC 站号或节点号(单元号),取值为 031;返回值:长整型,返回值: 0:编程、1:运行、2:监视、3:

5、读取错误;使用举例:ComMS(1,0),由串口 1读取0号PLC的操作状态;4、改变PLC的操作状态Function ComSC(nport,node,State:longint):Longint;stdcall;参数:nport:串口号,取值为18,代表COM 1COM8;node: PLC 站号或节点号(单元号),取值为 031;State:PLC状态参数,取值为0:编程、1:运行、2:监视;返回值:长整型,操作成功返回1,否则返回 0;5、读取 PLC 的型号代码Function ComMM(nport,node:Longint):Pchar;stdcall;参数:nport:串口号,

6、取值为18,代表COM 1COM8;node: PLC 站号或节点号(单元号),取值为 031;返回值:Pchar(字符串),返回值:Error:表示读取错误其他见下表:型号代码 PLC 型号01 C25002 C50003 C1200E C200010 C1000H11 C2000H/CQM1/CPM2A/CPM2C/CPM1/CPM1A/SRM1(-V2)12 C20H/C28H/C40H/C200H/C200HS20 CV50021 CV100022 CV200030 CP1H40 CVM1-CPU01-E41 CVM1-CPU11-E42 CVM1-CPU21-E所有字符串返回值都以为

7、字符串数据终止符,有效字符串为之前的所有字符串组;6、测试PC与PLC的通信是否可以有效执行Function ComTS(nport,node:longint):Longint;stdcall参数:nport:串口号,取值为18,代表COM 1C0M8;node: PLC站号或节点号(单元号),取值为031; 返回值:长整型,测试成功返回1,否则返回 0;7、PLC存储器数据的读取(IR/SR、LR、HR、AR、DM、T-PV值、T状态值)Function ComWR(nport,node,address,Count:longint;Order:pchar):Pchar;stdcall;参数:

8、nport:串口号,取值为18,代表COM 1COM8;node: PLC 站号或节点号(单元号),取值为 031;address: 寄存器地址,取值请参欧姆龙 PLC 手册;Count:读取寄存器个数,T-I犬态值的读取最大可读一次都120个,其它一次可读30个字 的数据;Order:读取各区命令字符见下表:命令代码 读取区域RR IR/SRRL LRRH HRRJ ARRD DMRC T-PV 值RG T犬态值返回值:字符串数据,字符串数据的终止符为;使用举例:ComWR(l,0,0,4,RR),由COMI读取00000003四个寄存器的值,如返回值为“0001006403E809F0”,

9、则表示 0000=0001, 0001=0064,0002=03E8,0003=09F0;1)、非T区的读取返回值为16进制字符串组,可以将返回值如上四位一组再转换成“0000 FFFF”的整数值;读字符串序列如: | 0001 | 0064 | 03E8 | 009F | | |IR 区 0000 0001 0002 0003 终止符对 T/C 区:2)、如读T-PV值,例ComWR(1,0,0,4,RC)则返回BCD码组合数据,表示T的PV值(当 前值)读字符串序列如: | 0001 | 01000 | 1000 | 0159 | | |T 区 0000 0001 0002 0003 终止

10、符3)、如读取T/C-状态值,例ComWR(1,0,0,4,RG)则返回0、1字符串组,表示T/C的完成 状态读字符串序列如: | 1 | 0 | 0 | 1 | | |T 区 0000 0001 0002 0003 终止符8、PLC存储器数据的写入(IR/SR、LR、HR、AR、DM)Function ComWW(nport,node,address:longint;Sendstr,Order:pchar):Longint;stdcall;参数:nport:串口号,取值为18,代表COM 1COM8;node: PLC 站号或节点号(单元号),取值为 031;address: 寄存器地址,取

11、值请参欧姆龙 PLC 手册;Sendstr:给PLC写入的字符串数据组;IR/SR区一次最多写30个字、LR区、HR区、AR 区注意不要超出地址范围、DM 值区一次最多写29 个字。Order:写入各区命令字符见下表:命令代码 写入区域WR IR/SRWL LRWH HRWJ ARWD DM返回值:长整型,操作成功返回1,否则返回 0;使用举例:ComWW(l,0,0,0001006403E8009F,WR),由串口 1 预置值 0 号 PLC 的 IR 区 的 0000=1,0001=100, 0002=1000, 0003=159。写入值为16进制字符串组写字符串序列如: | 0001 |

12、 0064 | 03E8 | 009F |IR 区 0000 0001 0002 00039、PLC 的线圈强制置位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、CNTR)Function ComFBitset(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;参数:nport:串口号,取值为18,代表COM 1COM8;node: PLC站号或节点号(单元号),取值为031;address: 寄存器地址,取值请参欧姆龙 PLC 手册,Bit: 强制置位字地址的位地址,取值015, TIM、 TIM

13、H、 TIML、 TMHH、 CNT、 CNTR 强制置位时的取值总是0。Order :强制置位各区命令字符见下表:命令代码 强制置位区域CIO IR/SRLR LRHR HRAR ARTIM 定时器完成标志TIMH 高速定时器完成标志TIML 长定时器完成标志TMHH 特高速定时器完成标志CNT 计数器完成标志CNTR 可逆定时器完成标志返回值:长整型,操作成功返回1,否则返回 0;使用举例:ComFBitset(l,0,0,0,CIO),强制置位(IR)O.OO;ComFBitset(l,0,0,0,TIM),强制置位(T)OOOO。10、PLC 的线圈强制复位(IR、LR、HR、AR、T

14、IM、TIMH、TIML、TMHH、CNT、CNTR) Function ComFBitreset(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;参数:nport:串口号,取值为18,代表COM 1COM8;node: PLC站号或节点号(单元号),取值为031;address: 寄存器地址,取值请参欧姆龙 PLC 手册;Bit:强制复位字地址的位地址,取值015; TIM、TIMH、TIML、TMHH、CNT、CNTR 强制复位时的取值总是0。Order :强制复位各区命令字符见下表:命令代码 强制复位区域CIO IR/SRLR LRHR HRAR ARTIM 定时器完成标志TIMH 高速定时器完成标志TIML 长定时器完成标志 TMHH 特高速定时器完成标志 CNT 计数器完成标志 CNTR 可逆定时器完成标志返回值:长整型,操作成功返回1,否则返回 0;使用举例:ComFBitreset(l,0,0,0,CIO),强制复位(IR)O.OO;ComFBitreset(l,0,0,0,TIM),强制复位(T)OOOO。11、PLC 的多线圈强制置位复位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、 CNTR)Function

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号