没有合适的资源?快使用搜索试试~ 我知道了~
首页c# MODBUS 协议 通用代码
c# MODBUS 协议 通用代码
1星 需积分: 50 118 下载量 88 浏览量
更新于2023-03-16
评论 1
收藏 30KB DOCX 举报
此modbus上位机 协议类 具有较强的通用性 7 * 本协议类最主要的思想是 把所有向下位机发送的指令 先存放在缓冲区中(命名为管道) 8 * 再将管道中的指令逐个发送出去。 9 * 管道遵守FIFO的模式。管道中所存放指令的个数 在全局变量中定义。 10 * 管道内主要分为两部分:1,定时循环发送指令。2,一次性发送指令。 11 * 定时循环发送指令:周期性间隔时间发送指令,一般针对“输入寄存器”或“输入线圈”等实时更新的变量。 12 * 这两部分的长度由用户所添加指令个数决定(所以自由性强)。 13 * 指令的最大发送次数,及管道中最大存放指令的个数在常量定义中 可进行设定
资源详情
资源评论
资源推荐
协议
介绍:
此 上位机 协议类 具有较强的通用性
本协议类最主要的思想是 把所有向下位机发送的指令 先存放在缓冲区中(命名为管道)
再将管道中的指令逐个发送出去。
管道遵守 的模式。管道中所存放指令的个数 在全局变量中定义。
管道内主要分为两部分:,定时循环发送指令。,一次性发送指令。
定时循环发送指令周期性间隔时间发送指令,一般针对“输入寄存器”或“输入线圈”等实时更新的变量。
这两部分的长度由用户所添加指令个数决定(所以自由性强)。
指令的最大发送次数,及管道中最大存放指令的个数在常量定义中 可进行设定。
使用说明:
,首先对所定义的寄存器或线圈进行分组定义,并定义首地址。
,在 数组中添加寄存器或线圈所对应的地址。 注意 寄存器:。线圈:
。
!,对所定义的地址 用属性进行定义 以方便在类外进行访问及了解所对应地址的含义。
",#$%&'() 函数中 对使用说明的*第一步*分组 的元素个数进行指定。
+,在主程序中调用 ,-( 进行协议初始化(初始化内容参考函数)。
,在串口中断函数中调用 ./01。
2,定时器调用 .3%)。(4 以下)
指令发送间隔时间等于实时器乘以 4。 例:定时器 + 调用一次 指令发送间隔为 +4。
5,在主程序初始化中添加固定实时发送的指令操作 用 $.6, 函数。
7,在主程序运行过程中 根据需要添加 单个的指令操作非固定重复发送的指令用 $, 函数。
作者:王宏强
时间:4828
0( 9
0( 8,/:8#%0/9
0( 8,69
0( 89
0( 8%0(9
0( 8;9
0( 8<08%9
0( 88=%9
6/<0$660/:
>
60//
>
?%(0所用结构体
@% A
地址对应表元素单元
@% A
60/%/=>
60/1:0%9
60/1: 69
60/1:B/9
C9
@% A
当前的指令
@% A
60/%/,
>
60/1:0%9指令首地址
60/1:09功能码
60/1:09所操作的寄存器或线圈的个数
60/1:0%9返回码的状态, 4:无返回,:正确返回
C9
@% A
当前操作的指令管道
@% A
60/%//0
>
60/1:,DE/9指令结构体
60/1:00;9当前索引
60/1:0/9当前功能码执行的次数
60/1:0;.6,9最大发送次数
60/1:0%,9实时读取的指令各数无限间隔时间读取
C9
?%(0
?%(0常量定义
60// F.G$F,'4;49读线圈寄存器
60// F.G$F,.GG4;49读离散输入寄存器
60// F.G$FH'F.G#4;4!9读保持寄存器
60// F.G$FI=F.G#4;4"9读输入寄存器
60// F<.GFI#'GF,'4;4+9写单个线圈
60// F<.GFI#'GF.G#4;49写单寄存器
60// F<.GF'='GF,'4;439写多线圈
60// F<.GF'='GF.G#4;49写多寄存器
6%01/0F$JF'GI#H49最大数据长度
6%01/0F,F$JF,I+9指令管道最大存放的指令各数
6%01/0F$JF.G=G$F,I!9指令最多发送次数
?%(0
?%(0全局变量
6%01:/1:/0'/K39调度器锁 %加锁 3解锁
6%01:/1: DEL DF$JF'GI#HE9接收缓冲器
6%01:/1:0L'49
6%01:/1: DE%L9正确接收缓冲器
6%01:/1: DEL9正确发送缓冲器
60/://0(/0/0>/,DF,F$JF,IEM0;4M;.6,
F$JF.G=G$F,IM%,4M/4C9
6%01:/%0=%/9
6%01:/0.3%)049
?%(0
?%(0地址对应表
寄存器和线圈分组 首地址定义
60//0F4;44449
60//0F$G4;44"9
60//0F.$I#G4;4459
60//0F=<4;44$9
60//0F=4;44G9
@% A
变量所对应的地址 在此位置
@% A
60/:/1:=DE
>
=>%FM 6F.G$FI=F.G#MCM4
=>%FNM 6F.G$FI=F.G#MCM
=>%FNM 6F.G$FI=F.G#MCM
=>%FN!M 6F.G$FI=F.G#MCM
=>%FN"M 6F.G$FI=F.G#MCM
=>%FN+M 6F.G$FI=F.G#MCM
=>%F$GM 6F.G$FH'F.G#MCM
=>%F$GNM 6F.G$FH'F.G#MCM
=>%F$GNM 6F.G$FH'F.G#MCM
=>%F$GN!M 6F.G$FH'F.G#MCM
=>%F.$I#GM 6F.G$FH'F.G#MCM4
=>%F.$I#GNM 6F.G$FH'F.G#MCM
=>%F=<M 6F.G$FH'F.G#MCM
=>%F=<NM 6F.G$FH'F.G#MCM
=>%F=<NM 6F.G$FH'F.G#MCM
=>%F=<N!M 6F.G$FH'F.G#MCM
=>%F=M 6F.G$FH'F.G#MCM
=>%F=NM 6F.G$FH'F.G#MCM
=>%F=NM 6F.G$FH'F.G#MCM
=>%F=N!M 6F.G$FH'F.G#MCM
=>%F=N"M 6F.G$FH'F.G#MCM
=>%F=N+M 6F.G$FH'F.G#MCM
C9
60/:/(0J>(>%%,1%8D4E89C>D4E819CC
60/:/(0O>(>%%,1%8DE89C>DE819CC
60/:/(0P>(>%%,1%8DE89C>DE819CC
60/:/(0>(>%%,1%8D!E89C>D!E819CC
60/:/(0J;>(>%%,1%8!D"E89C>D"E8
19CC
60/:/(0J >(>%%,1%8!D+E89C>D+E8
19CC
60/:/(>(>%%,1%8!DE89C>DE8
19CC
60/:/(>(>%%,1%8!D2E89C>D2E8
19CC
60/:/(!>(>%%,1%8!D5E89C>D5E8
19CC
60/:/(">(>%%,1%8!D7E89C>D7E8
19CC
60/:/(.(;>(>%%,1%8!D4E89C>D4E8
19CC
60/:/(.(0>(>%%,1%8!DE89C>DE8
19CC
60/:/(=>(>%%,1%8!DE89C>DE8
19CC
60/:/(=>(>%%,1%8!D!E89C>D!E8
19CC
60/:/(=!>(>%%,1%8!D"E89C>D"E8
19CC
60/:/(=">(>%%,1%8!D+E89C>D+E8
19CC
60/:/Q(=
>
(
>
06,1%8!DE8R4;S,1%8!D2E8R4;@@
9
DE%%0,1%%8# 69
%%0,1%%80(%%M49
C
剩余18页未读,继续阅读
knightyq
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2023年中国辣条食品行业创新及消费需求洞察报告.pptx
- 2023年半导体行业20强品牌.pptx
- 2023年全球电力行业评论.pptx
- 2023年全球网络安全现状-劳动力资源和网络运营的全球发展新态势.pptx
- 毕业设计-基于单片机的液体密度检测系统设计.doc
- 家用清扫机器人设计.doc
- 基于VB+数据库SQL的教师信息管理系统设计与实现 计算机专业设计范文模板参考资料.pdf
- 官塘驿林场林防火(资源监管)“空天地人”四位一体监测系统方案.doc
- 基于专利语义表征的技术预见方法及其应用.docx
- 浅谈电子商务的现状及发展趋势学习总结.doc
- 基于单片机的智能仓库温湿度控制系统 (2).pdf
- 基于SSM框架知识产权管理系统 (2).pdf
- 9年终工作总结新年计划PPT模板.pptx
- Hytera海能达CH04L01 说明书.pdf
- 数据中心运维操作标准及流程.pdf
- 报告模板 -成本分析与报告培训之三.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1