PC(上位机)与PLC串行通讯协议与串口DLL之 modbus rtu 协议(2)
Delphi:ComOpen(1,9600,8,1,1,Pchar('wangjun')) , 打开COM1口。
VB:ComOpen(1,9600,8,1,1,\打开COM1口。(注:下面的示例都以VB调用形式给出)
2、关闭串口
Function ComClose(nport:longint):longint;stdcall;
参数:nport: 串口号,取值为1~8,代表COM1~COM8;
返回值:长整型,操作成功返回“1”,否则返回“0”;
使用举例:
ComClose(1) ,关闭打开的COM1口。
3、modbus相应功能码所对应的读取功能函数。
1)、01功能码位元件的读取(读取一组线圈)
Function FCN01(nport,node,address,Count:longint):Pchar;stdcall;
参数:
nport: 串口号,取值为1~8,代表COM1~COM8;
node: modbus从站号,取值1~255;
address: 元件地址,取值范围从00001~0XXXX地址区(逻辑线圈)值(你要读标准modbus的00001地址这个值为0000,依次类推)
Count: 读取的位元件个数,一次最多读取1000个但不能超出寻址范围;
返回值: 16进制字符串数据,字符串数据的终止符为\
使用举例:
FCN01(1,1,19,37),由COM1读取modbus 1号从站00020~00056(标准modbus地址)的位状态值,返回值为“CD6BB20E1B@”
则表示27~20:CD, 35~28:6B, 43~36:B2, 51~44:0E, 56~52:1B;
字节值与实际的位状态值对应参考(其他位功能函数的说明不再重复本内容):
位地址: | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 35 | 34 | 33 | 32 | 31 | 30 | 29 | 28 |
-----------------------------------------
各位赋值: | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 |
-----------------------------------------
16进制串: | C | D | 6 | B |
-----------------------------------------
不足8位的位组的状态值参考:
位地址: | 56 | 55 | 54 | 53 | 52 | ------------- 各位赋值: | 0 | 1 | 0 | 1 | 1 |
------------- 16进制串: | 1 | B |
-------------
在读取错误或不能读取的情况下返回“Error@”
注:没有注册的用户只能读取00001~00006范围的状态值;
2)、02功能码位元件的读取(取得一组开关输入状态数据)
Function FCN02(nport,node,address,Count:longint):Pchar;stdcall;
参数:
nport: 串口号,取值为1~8,代表COM1~COM8;
node: modbus从站号,取值1~255;
address: 元件地址,取值范围从10001~1XXXX地址区(开关输入状态)值(你要读标准modbus的10001地址这个值为0000,依次类推)
Count: 读取的位元件个数,一次最多读取1000个但不能超出寻址范围;
返回值: 16进制字符串数据,字符串数据的终止符为\
使用举例:
FCN02(1,1,196,22),由COM1读取modbus 1号从站10197~10218(标准modbus地址)的
位状态值,返回值为“ACDB35@”
则表示10204~10197:AC, 10212~10205:DB, 10218~10213:35;
在读取错误或不能读取的情况下返回“Error@”
注:没有注册的用户只能读取10001~10006范围的状态值;
3)、03功能码字元件的读取(读多个保持寄存器数据)
Function FCN03(nport,node,address,Count:longint):Pchar;stdcall;
参数:
nport: 串口号,取值为1~8,代表COM1~COM8;
node: modbus从站号,取值1~255;
address: 元件地址,取值范围从40001~4XXXX地址区(保持寄存器数据)值(你要读标准modbus的40001地址这个值为0000,依次类推)
Count: 读取的位元件个数,一次最多读取60个但不能超出寻址范围;
返回值: 16进制字符串数据,字符串数据的终止符为\
使用举例:
FCN03(1,1,107,3),由COM1读取modbus 1号从站40108~40110(标准modbus地址)的字状态值,返回值为“022B00000064@”
则表示40108:022B, 40109:0000, 40110:0064;
在读取错误或不能读取的情况下返回“Error@”
注:没有注册的用户只能读取40001~40003范围的状态值;
4)、04功能码字元件的读取(读多个输入寄存器数据)
Function FCN04(nport,node,address,Count:longint):Pchar;stdcall;
参数:
nport: 串口号,取值为1~8,代表COM1~COM8;
node: modbus从站号,取值1~255;
address: 元件地址,取值范围从30001~3XXXX地址区(输入寄存器数据)值(你要读标准modbus的30001地址这个值为0000,依次类推)
Count: 读取的位元件个数,一次最多读取60个但不能超出寻址范围;
返回值: 16进制字符串数据,字符串数据的终止符为\
使用举例:
FCN04(1,17,8,1),由COM1读取modbus 17号从站30009(标准modbus地址)的字状态值,返回值为“000A@”
则表示30009:000A;
在读取错误或不能读取的情况下返回“Error@”
注:没有注册的用户只能读取30001~30003范围的状态值;
4、modbus相应功能码所对应的写入功能函数
1)、05功能码线圈的置复位功能函数
1、线圈置位
Function FCN05S(nport,node,address:longint):longint;stdcall;
参数:
nport: 串口号,取值为1~8,代表COM1~COM8;
node: modbus从站号,取值1~255;
address: 元件地址,取值范围从00001~0XXXX地址区(逻辑线圈)值(你要写标准modbus的00001地址这个值为0000,依次类推)
返回值: 长整数,操作成功返回1,不能写入或操作错误返回0;
使用举例:
FCN05S(1,12,15),由COM1将modbus 12号从站00013(标准modbus地址)的位状态值置1,返回值为1表示成功
注:没有注册的用户只能写入00001~00006范围的状态值;
2、线圈复位
Function FCN05R(nport,node,address:longint):longint;stdcall;
参数:
nport: 串口号,取值为1~8,代表COM1~COM8;
node: modbus从站号,取值1~255;
address: 元件地址,取值范围从00001~0XXXX地址区(逻辑线圈)值(你要写标准modbus的00001地址这个值为0000,依次类推)
返回值: 长整数,操作成功返回1,不能写入或操作错误返回0;
使用举例:
FCN05R(1,12,15),由COM1将modbus 12号从站00013(标准modbus地址)的位状态值置0,返回值为1表示成功
注:没有注册的用户只能写入00001~00006范围的状态值;
2)、06功能码预置单保持寄存器数据功能函 …… 此处隐藏:1787字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




