在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例常规C/C++编程 → modbusVC源码(含文档)

modbusVC源码(含文档)

常规C/C++编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:18.80M
  • 下载次数:14
  • 浏览次数:77
  • 发布时间:2021-04-28
  • 实例类别:常规C/C++编程
  • 发 布 人:njl2006
  • 文件格式:.rar
  • 所需积分:3
 相关标签: Modbus sv OD VC 源码

实例介绍

【实例简介】

【实例截图】

【doc文档目录】

目录
第一章 Modbus协议 5
Modbus协议介绍 6
Modbus信息帧 9
Modbus信息帧(Continued) 10
第二章 数据和控制功能 12
功能代码格式 14
控制器支持的功能代码 15
(1)功能代码仅由984-785控制器支持 16
01 读线圈状态 16
02读输入位状态 17
附录B列出了由各种型号控制器所支持的最大的参数量 查询 18
附录B中列出了由各种型号控制器所支持的最大的参数量。 查询 20
M84,184/384,584,984 1-8   用户定义 21
11 (0B Hex) 取通讯事件计数器 22
15 (0F H) 强制多个线圈 25
说明 25
附录 B 中列出了各种型号控制器所支持的最大参数量。 25
1 484 27
2 184/384 27
3 584 27
8 884 27
9 984  17(11 Hex)报告从机 ID 27
J347 正确建立,PIB 表正常时返回附加的 70 个字节: 28
11,12  最大的输出线圈量 28
13,14  输出线圈允许表 28
15,16  输入线圈/运行表的地址 28
17,18  输入线圈量 28
19,20  输入线圈允许表 28
21,22  第一个获取数 (16 倍数) 28
23,24  最后一个获取数 (16 的倍数) 28
25,26  输入寄存器的地址 28
27,28  输入寄存器数量 28
29,30  输出和保持寄存器数量 28
31,32  用户逻辑地址 28
33,34  输出线圈 RAM 表地址 28
35,36  功能禁止屏蔽 28
37,38  扩展功能路由地址 28
39,40  数据传输路由 28
41,42 28
43,44  未用 28
45,46  功能禁止屏蔽 28
47,48  A模式历史表格地址 28
49,50  DX 打印机请求表 28
8,9  机器停止码 (配置表格字 105,69H) 30
17 (11 Hex) 报告从机 ID 30
20(14Hex)读通用类型寄存器 31
32K  32K  0  0  0 33
48K  32K  24K  3  4575 34
32K  64K  96K  10  8303 34
16K  2  6383 34
32K  4  2767 34
64K  7  5535 34
功能代码08-诊断 43
控制器支持的诊断功能代码 44
10  请除Ctrs和诊断标志  Y  Y  (1)  Y  Y  (1) 44
11  返回总线信息数  Y  Y  Y  N  N  Y 44
12  返回总线通讯错误数  Y  Y  Y  N  N  Y 44
13  返回总线不正常错误数  Y  Y  Y  N  N  Y 44
14  返回从机信息数  Y  Y  Y  N  N  N 44
15  返回从机不响应数  Y  Y  Y  N  N  N 44
16  返回从机NAK数  Y  Y  Y  N  N  Y 44
17  返回从机忙数  Y  Y  Y  N  N  Y 44
18  返回总线字符超限数  Y  Y  Y  N  N  Y 44
19  返回超限错误数  N  N N  Y  N  N 44
20  清除超限计数器和标志  N  N  N  Y  N  N 45
21  获取/清除Modbus 统计值 N  N  N  N  N  Y 45
(1)只清除记数器 诊断子功能 45
08诊断 49
1 CPU试验和Run Light 失败 50
2 Parallel Port Failed 50
3 异步总线测试失败 50
4 定时器0测试失败 50
5 定时器1测试失败 50
6 定时器2测试失败 50
7 ROM芯片0000-07FF 测试失败 50
8 连续执行ROM 测试 50
9    ROM芯片0800-0FFF 测试失败 50
10   ROM芯片1800-17FF 测试失败 50
11   ROM芯片0000-1FFF 测试失败 50
12   RAM芯片4000-40FF 测试失败 50
13   RAM芯片4100-41FF 测试失败 50
14   RAM芯片4200-42FF 测试失败 50
15   RAM芯片4300-43FF 测试失败 50
08诊断 56
1      PLC节点 57
2      Modbus桥路节点 57
3      主机节点 57
4      桥路加节点 57
5 对等1/0节点 57
12...14 备用 57
15 定义字15个错误计数器 57
1 监视脱机状态 57
2 双工脱机状态 57
3 空间位 57
4 令牌状态 57
5 工作响应状态 57
6 传送牌 57
7 请求响应 57
8 检查通过状态 57
9 要求令牌状态 57
10 要求响应状态 57
32 正常连接操作 64 不取令牌 96 单工站 128 双工站 57
08诊断 58
15 若15字的1位未设定,含义如下: 58
16 LO 接收器CRC错误寄存器 58
17 LO 连接地址错误计数器 58
18 LO 内部捆包长度错误计数器 58
19 LO 通讯再试计数器 58
08诊断 58
10 HI 数据从站/得到从机命令传送位图请求 58
11 LO 程序主机/得到主机请求发送位图 58
12 LO 程序主站连接状态状位图 59
13 LO 提前发送延期错误计数器 59
14 LO 重复命令接收记数器 59
15 若15字的1位未设定,含义如下: 59
16 LO 接收器CRC错误寄存器 59
17 LO 连接地址错误计数器 59
20 LO 捆包成功计数器 59
21  LO 不正常响应计数器 59
22  LO 不正常响应计数器 59
23  LO 有效站位图表,节点1...8 59
24  LO 有效站位图表,节点17...24 60
25  LO 有效站位图表,节点33...40 60
26  LO 有效站位图表,节点49...56 60
27  LO 令牌站位图表,节点1...8 60
28  LO 令牌站位图表,节点17...24 60
29  LO 令牌站位图表,节点33...40 60
31  LO 全局数据位图表1...8 60
32  LO 全局数据位图表17...24 60
33  LO 全局数据位图表33...40 60
34  LO 全局数据表49...56 60
36  LO 位图中由接收缓冲器,缓冲器17...24 61
37  LO 位图中由接收缓冲器,缓冲器33...40 61
38  LO 主机数据输出通道1命令开始计数器、 61
39  LO 主机数据输出通道3命令开始计数器 61
40  LO 主机数据输出通道5命令开始计数器 61
41  LO 主机数据输出通道7命令开始计数器 61
42  LO 从机数据输入通道41命令处理计数器 61
43  LO 从机数据输入通道43命令处理计数器 61
45  LO 从机数据输入通道47命令处理计数器 61
46  LO 主机数据输出通道81命令开始计数器 61
47 LO 主机数据输出通道83命令开始计数器 61
48  LO 主机程序命令开始计数器 61
49  LO 主机程序输出通道87命令开始计数器 61
50  LO 从机程序输入通道C1命令处理计数器 61
不正常代码 66
附录B 应用须知 67
1 读线圈状态   2000线圈   2000线圈 68
2 读输入状态   2000输入   2000输入 68
3 读线圈状态   125寄存器   125寄存器 68
4 读输入状态   125寄存器   125寄存器 68
5 强置单线圈   1线圈   1线圈 68
6 预置单寄存器   1寄存器   1寄存器 68
7 读不正常状态   N/A   8线圈 68
8 诊断   N/A   N/A 68
9 程序484  不支持  不支持 68
10 查询484  不支持  不支持 68
11 获取通讯事件控制 N/A   N/A 68
12 获取通讯事件记录 N/A   70数据字节 68
13 编程控制器   33数据字节   33数据字节 68
14 查询控制器   N/A   33数据字节 68
15 强置多线圈   800线圈   800线圈 68
16 预置多寄存器   100寄存器   100寄存器 68
17 报告从机    N/A   N/A 68
18 编程884/M84   不支持  不支持 68
19 复位通讯连接Limk 不支持  不支持 68
20 读通用类型寄存器  (1)   (1) 68
21 写通用类型寄存器  (1)   (1) 68
最大查询/响应参数 69
1 读线圈状态   2000线圈   2000线圈 69
2 读输入状态   2000输入   2000输入 69
3 读线圈状态   125寄存器   125寄存器 69
4 读输入状态   125寄存器   125寄存器 69
5 强置单线圈   1线圈   1线圈 69
6 预置单寄存器   1寄存器   1寄存器 69
7 读不正常状态   N/A   8线圈 69
8 诊断   N/A   N/A 69
9 程序484  不支持  不支持 69
10 查询484  不支持  不支持 69
11 获取通讯事件控制   N/A   N/A 69
12 获取通讯事件记录   N/A   70数据字节 69
13 编程控制器   33数据字节   33数据字节 69
14 查询控制器   N/A   33数据字节 69
15 强置多线圈   800线圈   800线圈 69
16 预置多寄存器   100寄存器   100寄存器 69
17 报告从机    N/A   N/A 69
18 编程884/M84   不支持  不支持 69
19 复位通讯连接Limk   不支持  不支持 69
20 读通用类型寄存器   (1)   (1) 69
21 写通用类型寄存器   (1)   (1) 69
估算串行处理时序 70
1.Modbus主机组织信息。 70
2.检查主机设备Modbus RTS和CTS的状态。(A) 70
3.向从机发送查询信息。(B) 70
4.从机处理查询数据。(C) (D) 70
5.从机计算一个错误校验区。(E) 70
6.检查从机设备RTS和CTS,modem的状态。(A) 70
7.向主机返回响应信息。(B) 70
8.主机按从机响应的数据处理。 70
(A) 若RTS和CTS跳接在一起,可忽略该时间。 70
附录C LRC/CRC生成 73
LRC纵向冗余校验 74



【核心代码】

modbusVC源码

├── ModbusRTU_win32
│   ├── ModbusRTU
│   │   ├── Debug
│   │   │   ├── BuildLog.htm
│   │   │   ├── Modbus.obj
│   │   │   ├── ModbusRTU.dll.embed.manifest
│   │   │   ├── ModbusRTU.dll.embed.manifest.res
│   │   │   ├── ModbusRTU.dll.intermediate.manifest
│   │   │   ├── ModbusRTU.obj
│   │   │   ├── ModbusRTU.pch
│   │   │   ├── SerialPort.obj
│   │   │   ├── mt.dep
│   │   │   ├── stdafx.obj
│   │   │   ├── vc80.idb
│   │   │   ├── vc80.pdb
│   │   │   ├── vc90.idb
│   │   │   └── vc90.pdb
│   │   ├── Modbus.cpp
│   │   ├── Modbus.h
│   │   ├── ModbusRTU.cpp
│   │   ├── ModbusRTU.h
│   │   ├── ModbusRTU.vcproj
│   │   ├── ModbusRTU.vcproj.900X3D.Jianhua.user
│   │   ├── ModbusRTU.vcproj.BF3BA69929D54AB.Administrator.user
│   │   ├── ModbusRTU.vcproj.WIN-5UIA5OOAE6D.Administrator.user
│   │   ├── ReadMe.txt
│   │   ├── Release
│   │   │   ├── BuildLog.htm
│   │   │   ├── Modbus.obj
│   │   │   ├── ModbusRTU.dll.intermediate.manifest
│   │   │   ├── ModbusRTU.obj
│   │   │   ├── ModbusRTU.pch
│   │   │   ├── SerialPort.obj
│   │   │   ├── mt.dep
│   │   │   ├── stdafx.obj
│   │   │   ├── vc80.idb
│   │   │   ├── vc80.pdb
│   │   │   ├── vc90.idb
│   │   │   └── vc90.pdb
│   │   ├── SerialPort.cpp
│   │   ├── SerialPort.h
│   │   ├── stdafx.cpp
│   │   └── stdafx.h
│   ├── ModbusRTU.ncb
│   ├── ModbusRTU.sln
│   ├── ModbusRTU.suo
│   ├── UpgradeLog.XML
│   ├── _UpgradeReport_Files
│   │   ├── UpgradeReport.css
│   │   ├── UpgradeReport.xslt
│   │   ├── UpgradeReport_Minus.gif
│   │   └── UpgradeReport_Plus.gif
│   ├── debug
│   │   ├── ModbusRTU.dll
│   │   ├── ModbusRTU.exp
│   │   ├── ModbusRTU.ilk
│   │   ├── ModbusRTU.lib
│   │   ├── ModbusRTU.pdb
│   │   ├── test.exe
│   │   ├── test.ilk
│   │   ├── test.pdb
│   │   └── 使用说明.doc
│   ├── release
│   │   ├── ModbusRTU.dll
│   │   ├── ModbusRTU.exp
│   │   ├── ModbusRTU.lib
│   │   ├── ModbusRTU.pdb
│   │   ├── test.exe
│   │   └── test.pdb
│   ├── test
│   │   ├── Debug
│   │   │   ├── BuildLog.htm
│   │   │   ├── mt.dep
│   │   │   ├── stdafx.obj
│   │   │   ├── test.exe.embed.manifest
│   │   │   ├── test.exe.embed.manifest.res
│   │   │   ├── test.exe.intermediate.manifest
│   │   │   ├── test.obj
│   │   │   ├── test.pch
│   │   │   ├── test.res
│   │   │   ├── testDlg.obj
│   │   │   ├── vc80.idb
│   │   │   └── vc80.pdb
│   │   ├── ModbusRTU.dll
│   │   ├── ModbusRTU.lib
│   │   ├── ReadMe.txt
│   │   ├── Release
│   │   │   ├── BuildLog.htm
│   │   │   ├── mt.dep
│   │   │   ├── stdafx.obj
│   │   │   ├── test.exe.intermediate.manifest
│   │   │   ├── test.obj
│   │   │   ├── test.pch
│   │   │   ├── test.res
│   │   │   ├── testDlg.obj
│   │   │   ├── vc80.idb
│   │   │   ├── vc80.pdb
│   │   │   ├── vc90.idb
│   │   │   └── vc90.pdb
│   │   ├── Resource.h
│   │   ├── res
│   │   │   ├── test.ico
│   │   │   └── test.rc2
│   │   ├── stdafx.cpp
│   │   ├── stdafx.h
│   │   ├── test.aps
│   │   ├── test.cpp
│   │   ├── test.h
│   │   ├── test.rc
│   │   ├── test.vcproj
│   │   ├── test.vcproj.900X3D.Jianhua.user
│   │   ├── test.vcproj.BF3BA69929D54AB.Administrator.user
│   │   ├── test.vcproj.WIN-5UIA5OOAE6D.Administrator.user
│   │   ├── testDlg.cpp
│   │   └── testDlg.h
│   ├── 捕获.JPG
│   └── 使用说明.doc
├── modbus.doc
└── modbus_仿真.rar

11 directories, 108 files



标签: Modbus sv OD VC 源码

实例下载地址

modbusVC源码(含文档)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警