没有合适的资源?快使用搜索试试~ 我知道了~
欧姆龙PLC全系列HostLink通信协议串口动态链接库DLL.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 107 浏览量
2022-11-16
20:17:26
上传
评论
收藏 39KB DOCX 举报
温馨提示
试读
29页
。。。
资源推荐
资源详情
资源评论
一、最新欧姆龙 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,注括号里是实际的停止位位数
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-状态值
返回值:字符串数据,字符串数据的终止符为"@";
使用举例:
ComWR(1,0,0,4,'RR') ,由 COM1 读取 0000~0003 四个寄存器的值,如返回值为
“0001006403E809F0@”,则表示 0000=0001, 0001=0064,0002=03E8,0003=09F0;
1)、非 T 区的读取返回值为 16 进制字符串组 ,可以将返回值如上四位一组再转换成
“0000~FFFF”
的整数值;
---------- ---- ---
读字符串序列如: | 0001 | 0064 | 03E8 | 009F | | @ |
---------- ---- ---
IR 区 0000 0001 0002 0003 终止符
对 T/C 区:
剩余28页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6538
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功