1 / 19
文档名称:

MODBUS协议.docx

格式:docx   大小:30KB   页数:19页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MODBUS协议.docx

上传人:w447750 2018/6/1 文件大小:30 KB

下载得到文件列表

MODBUS协议.docx

文档介绍

文档介绍:/*
* MODBUS协议
*
*
* 介绍:
* 此modbus上位机协议类具有较强的通用性
* 本协议类最主要的思想是把所有向下位机发送的指令先存放在缓冲区中(命名为管道)
* 再将管道中的指令逐个发送出去。
* 管道遵守FIFO的模式。管道中所存放指令的个数在全局变量中定义。
* 管道内主要分为两部分:1,定时循环发送指令。2,一次性发送指令。
* 定时循环发送指令:周期性间隔时间发送指令,一般针对“输入寄存器”或“输入线圈”等实时更新的变量。
* 这两部分的长度由用户所添加指令个数决定(所以自由性强)。
* 指令的最大发送次数,及管道中最大存放指令的个数在常量定义中可进行设定。
*
* 使用说明:
* 1,首先对所定义的寄存器或线圈进行分组定义,并定义首地址。
* 2,在MBDataTable数组中添加寄存器或线圈所对应的地址。注意寄存器:ob = new UInt16()。线圈:ob = new byte()。
* 3,对所定义的地址用属性进行定义以方便在类外进行访问及了解所对应地址的含义。
* 4,GetAddressValueLength函数中对使用说明的"第一步"分组的元素个数进行指定。
* 5,在主程序中调用MBConfig进行协议初始化(初始化内容参考函数)。
* 6,在串口中断函数中调用MBDataReceive()。
* 7,定时器调用MBRefresh()。(10ms以下)
* 指令发送间隔时间等于实时器乘以10。例:定时器5ms调用一次指令发送间隔为50ms。
* 8,在主程序初始化中添加固定实时发送的指令操作用MBAddRepeatCmd函数。
* 9,在主程序运行过程中根据需要添加单个的指令操作(非固定重复发送的指令)用MBAddCmd函数。
*
*
* 作者:王宏强
* 时间:
*
*
*
*
*
*
*/
using System;
using ;
using ponentModel;
using ;
using ;
using ;
using ;
using ;
namespace WindowsApplication1
{
public class Modbus
{
#region 所用结构体
/// <summary>
/// 地址对应表元素单元
/// </summary>
public struct OPTable{
public volatile int addr;
public volatile byte type;
public volatile object ob;
};
/// <summary>
/// 当前的指令
/// </summary>
public struct MBCmd
{
public volatile int addr; //指令首地址
public volatile int stat; //功能码
public volatile int len; //所操作的寄存器或线圈的个数
public volatile int res; //返回码的状态, 0:无返回,1:正确返回
};
/// <summary>
/// 当前操作的指令管道
/// </summary>
public struct MBSci
{
public volatile MBCmd[] cmd; //指令结构体
public volatile int index; //当前索引
public volatile int count; //当前功能码执行的次数
public volatile int maxRepeatCount; //最大发送次数
public volatile int rtCount; //实时读取的指令各数(无限间隔时间读取)
};
#endregion
#region 常量定义
public const byte MB_READ_COILS = 0x01; //读线圈寄存器
public const byte MB_READ_DISCRETE = 0x02; //读离散输入寄存器
public const byte MB_READ_HO

最近更新

二零二五版企业运输合同 9页

二零二五版仿瓷工程装修合同 7页

二零二五版仓储服务外包范例 8页

二零二五版人力资源专业的劳动法律知识 8页

二零二五版五保户入住敬老院协议合同 8页

二零二五版二手房抵押按揭买卖合同 8页

二零二五版二层门面房出租合同 7页

二零二五版个人租房合同汇总 7页

二零二五版个人店面出租合同范例 7页

二零二五版个人住房抵押贷款合同范例 7页

二零二五版ktv转让合同简易模板 8页

2025年职员2025个人工作总结精选篇 19页

二零二五演员演出合同书范例 9页

2025年职业培训学校年度工作总结 15页

2025年盐城日月路地块项目策划报告市场篇 45页

2025年考研调剂必须单科过国家线吗 2页

2025年考研政治复习技巧如何冲刺政治考研 4页

2025年考研复试形式 7页

2025年考研倒计时0天 4页

数据集和结果衡量 35页

2025年老师辞职申请书开头 8页

西师大版二年级上册数学第六单元-表内除法-测.. 6页

西师大版三年级上册数学期末测试卷含答案(考试.. 4页

西师大版一年级下册数学第四单元-100以内的加.. 6页

雷雨剧本全文雷雨剧本雷雨 191页

餐饮员工保密协议 3页

2024年广东省深圳中学自主招生数学试卷含答案.. 4页

土木工程毕业论文5000字左右范文 12页

营养膳食商业计划书 4页

2024创伤失血性休克诊治中国急诊专家共识(完整.. 19页