📄 modbus.h
字号:
//This macro file is not the last version
//MODBUS 有关命令宏定义
#ifndef _MODBUS_h
#define _MODBUS_h
#include "Macro.h"
#define POWER_VALUE 100 //掉电检测门限值
#define DEVICE_NUM 1 //本机设备号
#define MODBUS_OP3 3 //modbus功能命令3,读设备数据4区
#define MODBUS_OP4 4 //modbus功能命令4,读设备数据3区
#define MODBUS_OP16 16 //modbus功能命令16,写设备数据4区
#define MODBUS_OP23 23 //modbus功能命令23,设备数据4区屏蔽写操作
#define MODBUS_OP128 128 //modbus功能命令128,采集数据同步
#define MODBUS_INIT 5 //预置参数命令,12通道参数结构体初始化设置
//
//通道工作命令字
#define word01 81 //低应变:ch1
#define word02 82 //低应变:ch2
#define word03 83 //低应变:ch1+ch2
#define word04 84 //高应变RS模式: ch3,4,7,8
#define word05 85 //高应变PDA模式:ch5,6,7,8
#define word06 86 //剪切波: ch9,10,11
#define word07 87 //地脉动: ch9,10,11
#define word08 88 //地震测试:ch12
//12 通道数据在外部SRAM中的首地址,注意数据类型确定.32bit
#define ADDR1 (volatile long *)0x080000 //1K for 1 channel
#define ADDR2 (volatile long *)0x080800 //1K for 2 channel
#define ADDR3 (volatile long *)0x081000
#define ADDR4 (volatile long *)0x081800
#define ADDR5 (volatile long *)0x082000
#define ADDR6 (volatile long *)0x082800
#define ADDR7 (volatile long *)0x083000
#define ADDR8 (volatile long *)0x083800
#define ADDR9 (volatile long *)0x084000
#define ADDR10 (volatile long *)0x084800
#define ADDR11 (volatile long *)0x085000
#define ADDR12 (volatile long *)0x085800 //8K for 12 channel
//前19K数据被通道数据占用,从0x084c00地址开始,其他数据可占用
#define ADDR_REV (volatile long *)0x08a000
//数据结构定义
typedef struct //对应于每个通道的参数结构体
{
Uint16 start; //通道采集是否启动:0:禁止,1:启动
float sense; //传感器灵敏度。考虑是否尽量用Uint16
Uint16 SampGain; //前置放大系数,1,10,100,1000可选
float rate; //采样间隔
float YanSi; //采样延时
Uint16 DelayPoint; //延时点数
Uint16 TrigerMode; //触发方式,上位机应明确给定定义码
Uint16 TrigerVol; //触发电平
Uint16 SampLength; //采样长度,12通道地震测试1,2,4,8K可选,其余通道为1K
Uint16 SampMode; //采样方式(适用于通道触发方式下),连续采样,单次采样·
//其他通道参数定义,如模拟滤波器上下限、终端选择、波形初至时间、测试时间
//DAC的驱动输出值==
}CHAN_CONFIG;
//四种DAC输出电压所对应的8位数值,高8位恒为0
#define DAC_DATA1 0X0001
#define DAC_DATA2 0X0002
#define DAC_DATA3 0X0003
#define DAC_DATA4 0X0004
#define DAC_RANGE 0x0000 //DAC 输出增益 range位0,1可选 0x0100
#define DAC_ADDR 0x0600 //DAC 输出通道选择0~7,变量访问,宏访问
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -