VC++高级会所自动监控系统的研制+PID算法(5)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

VC++高级会所自动监控系统的研制+PID算法(5)


2.3.2  Modbus数据模型
Modbus以一系列具有不同特征表格上的数据模型为基础,四个数据模型基本表格如表2.3.1:
表2.3.1 MODBUS数据模型基本表格
基本表格    对象类型    访问类型    内容
离散量输入    单个比特    只读    I/O系统提供这种类型数据
线圈    单个比特    读写    通过应用程序改变这种类型数据
输入寄存器    16比特    只读    I/O系统提供这种类型数据
保持寄存器    16比特    读写    通过应用程序改变这种类型数据
对于基本表格中任何一项,协议都允许单个地选择65536个数据项,而且设计那些项的读写操作可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。很显然,必须将通过Modbus处理的所有数据放置在设备应用存储器中。但是,存储器的物地址不应该与数据参考混淆,要求仅仅是数据参考与物理地址的链接。Modbus事务处理的一般过程为:一旦服务器处理请求,使用合适的Modbus服务器事务建立Modbus响应。根据处理结果,可以建立两种类型响应:
(1)Modbus正常响应:响应功能码 =请求功能码 ;
(2)Modbus异常响应:用来为客户机提供处理过程中与被发现的差错相关的信息, 响应功能码 =请求功能码 +0x80,提供一个异常码来指示差错原因。
2.3.3  Modbus功能码
Modbus协议有三类Modbus功能码。它们是:公共功能码、用户定义功能码和保留功能码。公共功能码是较好地被定义的,保证是唯一的,Modbus组织可改变的,公开证明的,具有可用的一致性测试,MB IETF RFC中证明的功能码。它包含已被定义的公共指配功能码和未来使用的未指配保留供功能码。公共功能码定义如表2.3.2,主要分为数据访问和封装接口功能码,其中数据访问分为比特访问、16比特访问和文件记录访问三类。
表2.3.2  公共功能码定义功能码    功能子码    十优尔进制
数据访问
比特访问    物理离散量输入    读输入离散量    02        02
        物理线圈或内部比特    读线圈    01        01
            写单个线圈    05        05
            写多个线圈    15        0F
16比特访问    输入存储器    读输入寄存器    04        04
        内部存储器或物理输出存储器    读多个寄存器    03        03
            写单个寄存器    06        06
            写多个寄存器    16        10
            读写多个寄存器    23        17
            屏蔽写寄存器    22        16
    文件访问    读文件记录    20    6    14 (责任编辑:qin)