Jump to content

Programming a CR1000 Datalogger/zh

From Appropedia
项目数据
类型绿色信息技术
作者罗布·安德鲁斯
地点加拿大金斯顿
地位
OKH宣言下载

CRBasic 是一种编程语言,用于控制Campbell Scientific数据记录仪的功能。该程序控制记录仪中与数据采集相关的所有过程,包括变量名称、数据表布局、传感器定义和量程以及控制端口操作。

要开始使用 CRBasic 编写程序,建议先在 Loggernet 提供的 Shortcut 中创建一个程序。Shortcut 包含一个向导,可以创建程序的基本结构,包括表格和传感器声明。程序在 Shortcut 中创建完成后,即可在 CRBasic 中对其进行编辑,添加所需的任何高级功能。本指南涵盖了 CRBasic 的基本功能,以及在圣劳伦斯学院测试站点进行编程的一些具体细节。更详细的编码文档可在Campbell Scientific 网站上的 CR1000 手册中找到。

任何 CRBasic 代码都包含三个主要部分:i) 变量声明 ii) 表定义 iii) 集合

变量声明

代码的第一部分使用`Public`命令定义了数据记录器将要收集的所有变量。单个变量通过输入变量名来定义,而数组变量(可用于存储多个值,并使用索引作为变量名)则通过在变量名后用方括号添加数组长度来定义。例如:

声明一个名为 Temp_C_2 的变量,它有 25 个可索引的值。这在使用多路复用器时非常有用,因为每个索引都可以代表一个多路复用器端口。然而,这些索引变量也可能带来问题,因为很难区分它们连接到哪个物理传感器。因此,使用Alias命令将数组中的每个值重命名以表示它所代表的传感器会很有帮助。例如:

将 Temp_C_2 中的第五个值重命名,以表明这是在测量数组第一行第五个位置的热电偶。

表声明

定义好变量后,可以选择将它们拆分成多个数据表,以便更轻松地进行数据操作。在本例中,所有变量都输出到一个名为 Table1 的表中。此外,还可以对表中的数据进行时间平均。例如,可以以 1 分钟的间隔采集数据,但表中仅存储该数据的 5 分钟平均值。这样做的好处是,在保证数据采集精度的同时,还能减小采集的数据文件大小,使其更易于存储、传输和后处理。

本程序采用5分钟间隔进行数据采样和采集。这是因为系统中使用了多路复用器,而多路复用器的循环寿命有限。因此,选择5分钟间隔采样以减少多路复用器的循环次数,从而在循环时间和数据分辨率之间取得良好的平衡。

数据表使用以下两行代码声明:

这定义了数据表的内存使用量和记录间隔。Campbell Scientific 系统中数据表的一个重要特性是循环内存的使用。设备的基本内存相对较小,只有 4MB,用于存储程序和所有数据。如果采集的数据超过了系统可用内存空间,数据将循环到数据表的顶部,首先擦除最早的数据。可以通过设备配置实用程序或连接屏幕查看工作站的内存状态。

数据收集

数据采集​​在一个重复循环中进行,该循环会一直运行,直到控制器通过日志记录器手动停止程序为止。循环的开始由以下两行代码标记:

该命令启动循环,并根据数据记录器时钟设置每 5 分钟进行一次扫描。此后的每个命令都会在扫描开始时按顺序执行。

程序中每项测量都由单独的一行代码启动,该行代码声明要进行的测量类型、读取数据的输入通道以及测量所需的任何特殊后处理。例如:

从通道 1 读取差分电压测量值,并将其存储在变量 SlrW 中,电压范围为 25 mV。此声明中的其余参数与值的采集方式有关,完整的说明可在 CRBasic 帮助中找到。此外,右键单击测量声明将打开一个窗口,其中描述了每个输入参数以及每个值的标准。

要测量多路复用器,需要更复杂的代码。测量多路复用器的基本步骤如下:

i) 通过将res端口设置为高来初始化单元

ii) 进入扫描循环,并向CLK端口发送脉冲,将继电器设置为第一个输入。

iii) 将测量值读入数组的正确槽位。请注意,由于每个差分通道都要进行两次单端测量,因此每次声明 VoltSe 都会将两个连续的值记录到测量数组的两个连续槽位中。这是通过将“repetitions”字段(此声明中的第二个字段)设置为 2 来实现的,这样会从声明的通道(本例中为 13)读取一个测量值并将其放入数组的第一个槽位,然后从下一个通道(本例中为 14)读取一个测量值并将其放入数组的下一个槽位。

iv) 返回开头,继续重复扫描,直到读取多路复用器上的所有端口。

v) 将 RES 端口设置为低电平以停用数据记录器

程序结束时,必须调用表函数,将所有收集到的变量永久存储在预定义的表中。

SEARC OTF 的最新代码

以下是SEARC OTF目前使用的最新代码。请注意,任何以单引号 (') 开头的行都表示代码注释。

“该程序自2011年1月起在圣劳伦斯CR1000数据记录仪中运行”

由 Short Cut (2.8) 创建

声明变量

公共 BattV

公共 slrW

公共 SlrkJ_2

公共 SlrW_2

公共 SlrkJ

公共 SlrW_3

公共 SlrkJ_3

公共 SR50A(2)

公共TCDT

公共 DBTCDT

公共 RTempC

公共温度_C(25)

公共 RTempC_2

公共温度_C_2(25)

公共航空运输公司

公共RH

公共 WS_ms

公共风向

公共 SEvolt(64)

公共 SEvolt_2(64)

公共传感器高度

公共积雪深度

公共 LCount

为变量设置别名,以便更轻松地识别数据。这些名称将被记录在数据表中。

别名 SR50A(1)=DT

别名 SR50A(2)=Q

别名 SEvolt(1)=V1.1V

别名 SEvolt(2)=V1.2V

别名 SEvolt(3)=V1.3V

别名 SEvolt(4)=V1.4V

别名 SEvolt(5)=V1.5V

别名 SEvolt(6)=V1.6V

别名 SEvolt(7)=V1.7V

别名 SEvolt(8)=V1.8V

别名 SEvolt(9)=V2.1V

别名 SEvolt(10)=V2.2V

别名 SEvolt(11)=V2.3V

别名 SEvolt(12)=V2.4V

别名 SEvolt(13)=V2.5V

别名 SEvolt(14)=V2.6V

别名 SEvolt(15)=V2.7V

别名 SEvolt(16)=V2.8V

别名 SEvolt(17)=V3.1V

别名 SEvolt(18)=V3.2V

别名 SEvolt(19)=V3.3V

别名 SEvolt(20)=V3.4V

别名 SEvolt(21)=V3.5V

别名 SEvolt(22)=V3.6V

别名 SEvolt(23)=V3.7V

别名 SEvolt(24)=V3.8V

别名 SEvolt(25)=V4.1V

别名 SEvolt(26)=V4.2V

别名 SEvolt(27)=V4.3V

别名 SEvolt(28)=V4.4V

别名 SEvolt(29)=V4.5V

别名 SEvolt(30)=V4.6V

别名 SEvolt(31)=V4.7V

别名 SEvolt(32)=V4.8V

别名 SEvolt(33)=C1.1C

别名 SEvolt(34)=C1.2C

别名 SEvolt(35)=C1.3C

别名 SEvolt(36)=C1.4C

别名 SEvolt(37)=C1.5C

别名 SEvolt(38)=C1.6C

别名 SEvolt(39)=C1.7C

别名 SEvolt(40)=C1.8C

别名 SEvolt(41)=C2.1C

别名 SEvolt(42)=C2.2C

别名 SEvolt(43)=C2.3C

别名 SEvolt(44)=C2.4C

别名 SEvolt(45)=C2.5C

别名 SEvolt(46)=C2.6C

别名 SEvolt(47)=C2.7C

别名 SEvolt(48)=C2.8C

别名 SEvolt(49)=C3.1C

别名 SEvolt(50)=C3.2C

别名 SEvolt(51)=C3.3C

别名 SEvolt(52)=C3.4C

别名 SEvolt(53)=C3.5C

别名 SEvolt(54)=C3.6C

别名 SEvolt(55)=C3.7C

别名 SEvolt(56)=C3.8C

别名 SEvolt(57)=C4.1C

别名 SEvolt(58)=C4.2C

别名 SEvolt(59)=C4.3C

别名 SEvolt(60)=C4.4C

别名 SEvolt(61)=C4.5C

别名 SEvolt(62)=C4.6C

别名 SEvolt(63)=C4.7C

别名 SEvolt(64)=C4.8C

别名 SEvolt_2(1)=V1.9V

别名 SEvolt_2(2)=V1.10V

别名 SEvolt_2(3)=V1.11V

别名 SEvolt_2(4)=V1.12V

别名 SEvolt_2(5)=V1.13V

别名 SEvolt_2(6)=V1.14V

别名 SEvolt_2(7)=V1.15V

别名 SEvolt_2(8)=V1.16V

别名 SEvolt_2(9)=V2.9V

别名 SEvolt_2(10)=V2.10V

别名 SEvolt_2(11)=V2.11V

别名 SEvolt_2(12)=V2.12V

别名 SEvolt_2(13)=V2.13V

别名 SEvolt_2(14)=V2.14V

别名 SEvolt_2(15)=V2.15V

别名 SEvolt_2(16)=V2.16V

别名 SEvolt_2(17)=V3.9V

别名 SEvolt_2(18)=V3.10V

别名 SEvolt_2(19)=V3.11V

别名 SEvolt_2(20)=V3.12V

别名 SEvolt_2(21)=V3.13V

别名 SEvolt_2(22)=V3.14V

别名 SEvolt_2(23)=V3.15V

别名 SEvolt_2(24)=V3.16V

别名 SEvolt_2(25)=V4.9V

别名 SEvolt_2(26)=V4.10V

别名 SEvolt_2(27)=V4.11V

别名 SEvolt_2(28)=V4.12V

别名 SEvolt_2(29)=V4.13V

别名 SEvolt_2(30)=V4.14V

别名 SEvolt_2(31)=V4.15V

别名 SEvolt_2(32)=V4.16V

别名 SEvolt_2(33)=C1.9C

别名 SEvolt_2(34)=C1.10C

别名 SEvolt_2(35)=C1.11C

别名 SEvolt_2(36)=C1.12C

别名 SEvolt_2(37)=C1.13C

别名 SEvolt_2(38)=C1.14C

别名 SEvolt_2(39)=C1.15C

别名 SEvolt_2(40)=C4.13C

别名 SEvolt_2(41)=C2.9C

别名 SEvolt_2(42)=C2.10C

别名 SEvolt_2(43)=C2.11C

别名 SEvolt_2(44)=C2.12C

别名 SEvolt_2(45)=C2.13C

别名 SEvolt_2(46)=C2.14C

别名 SEvolt_2(47)=C2.15C

别名 SEvolt_2(48)=C4.14C

别名 SEvolt_2(49)=C3.9C

别名 SEvolt_2(50)=C3.10C

别名 SEvolt_2(51)=C3.11C

别名 SEvolt_2(52)=C3.12C

别名 SEvolt_2(53)=C3.13C

别名 SEvolt_2(54)=C3.14C

别名 SEvolt_2(55)=C3.15C

别名 SEvolt_2(56)=C4.15C

别名 SEvolt_2(57)=C4.9C

别名 SEvolt_2(58)=C4.10C

别名 SEvolt_2(59)=C4.11C

别名 SEvolt_2(60)=C4.12C

别名 Temp_C(1)=T3.4

别名 Temp_C(2)=T3.5

别名 Temp_C(3)=T3.6

别名 Temp_C(4)=T3.7

别名 Temp_C(5)=T4.1

别名 Temp_C(6)=T4.2

别名 Temp_C(7)=T4.3

别名 Temp_C(8)=T4.4

别名 Temp_C(9)=T4.5

别名 Temp_C(10)=T4.6

别名 Temp_C(11)=T4.7

别名 Temp_C(12)=T2.10

别名 Temp_C(13)=T2.11

别名 Temp_C(14)=T2.12

别名 Temp_C(15)=T2.13

别名 Temp_C(16)=T2.15

别名 Temp_C(17)=T3.11

别名 Temp_C(18)=T3.12

别名 Temp_C(19)=T3.13

别名 Temp_C(20)=T3.15

别名 Temp_C(21)=T4.15

别名 Temp_C(22)=Tempty1

别名 Temp_C(23)=Tempty2

别名 Temp_C(24)=Tempty3

别名 Temp_C(25)=Tempty4

别名 Temp_C_2(1)=T1.1

别名 Temp_C_2(2)=T1.2

别名 Temp_C_2(3)=T1.3

别名 Temp_C_2(4)=T1.4

别名 Temp_C_2(5)=T1.5

别名 Temp_C_2(6)=T1.6

别名 Temp_C_2(7)=T1.7

别名 Temp_C_2(8)=T1.8

别名 Temp_C_2(9)=T1.9

别名 Temp_C_2(10)=T1.10

别名 Temp_C_2(11)=T1.11

别名 Temp_C_2(12)=T1.12

别名 Temp_C_2(13)=T1.13

别名 Temp_C_2(14)=T1.14

别名 Temp_C_2(15)=T1.15

别名 Temp_C_2(16)=T2.1

别名 Temp_C_2(17)=T2.2

别名 Temp_C_2(18)=T2.3

别名 Temp_C_2(19)=T2.4

别名 Temp_C_2(20)=T2.5

别名 Temp_C_2(21)=T2.6

别名 Temp_C_2(22)=T2.7

别名 Temp_C_2(23)=T3.1

别名 Temp_C_2(24)=T3.2

别名 Temp_C_2(25)=T3.3

声明每项测量的单位

电池电压单位=伏特

单位 SlrW=W/m^2

单位 SlrkJ_2=kJ/m^2

单位 SlrW_2=W/m^2

单位 SlrkJ=kJ/m^2

单位 SlrW_3=W/m^2

单位 SlrkJ_3=kJ/m^2

单位:RTempC=摄氏度

单位 Temp_C=摄氏度

单位 RTempC_2=摄氏度

单位 Temp_C_2=摄氏度

单位 AirTC=摄氏度

单位:RH=%

单位 WS_ms=米/秒

单位:风向=度

定义数据表,表 1 是本程序中使用的唯一表。

表格中的平均值是按5分钟的时间间隔计算的,数据采集也是以相同的时间间隔进行的,因此平均值实际上是该时间点的测量值。

数据表(Table1,True,-1)

DataInterval(0,5,分钟,10)

平均值(1,SlrW,FP2,False)

总计(1,SlrkJ_2,IEEE4,False)

平均值(1,SlrW_2,FP2,False)

Totalize(1,SlrkJ,IEEE4,False)

平均值(1,SlrW_3,FP2,False)

总计(1,SlrkJ_3,IEEE4,False)

平均值(1,DT,FP2,False)

平均值(1,Q,FP2,False)

平均值(1,TCDT,FP2,False)

平均值(1,DBTCDT,FP2,False)

平均值(1,RTempC_2,FP2,False)

平均值(1,雪深,FP2,False)

平均值(1,Temp_C_2(1),FP2,False)

平均值(1,Temp_C_2(2),FP2,False)

平均值(1,Temp_C_2(3),FP2,False)

平均值(1,Temp_C_2(4),FP2,False)

平均值(1,Temp_C_2(5),FP2,False)

平均值(1,Temp_C_2(6),FP2,False)

平均值(1,Temp_C_2(7),FP2,False)

平均值(1,Temp_C_2(8),FP2,False)

平均值(1,Temp_C_2(9),FP2,False)

平均值(1,Temp_C_2(10),FP2,False)

平均值(1,Temp_C_2(11),FP2,False)

平均值(1,Temp_C_2(12),FP2,False)

平均值(1,Temp_C_2(13),FP2,False)

平均值(1,Temp_C_2(14),FP2,False)

平均值(1,Temp_C_2(15),FP2,False)

平均值(1,Temp_C_2(16),FP2,False)

平均值(1,Temp_C_2(17),FP2,False)

平均值(1,Temp_C_2(18),FP2,False)

平均值(1,Temp_C_2(19),FP2,False)

平均值(1,Temp_C_2(20),FP2,False)

平均值(1,Temp_C_2(21),FP2,False)

平均值(1,Temp_C_2(22),FP2,False)

平均值(1,Temp_C_2(23),FP2,False)

平均值(1,Temp_C_2(24),FP2,False)

平均值(1,Temp_C_2(25),FP2,False)

平均值(1,RTempC,FP2,False)

平均值(1,Temp_C(1),FP2,False)

平均值(1,Temp_C(2),FP2,False)

平均值(1,Temp_C(3),FP2,False)

平均值(1,Temp_C(4),FP2,False)

平均值(1,Temp_C(5),FP2,False)

平均值(1,Temp_C(6),FP2,False)

平均值(1,Temp_C(7),FP2,False)

平均值(1,Temp_C(8),FP2,False)

平均值(1,Temp_C(9),FP2,False)

平均值(1,Temp_C(10),FP2,False)

平均值(1,Temp_C(11),FP2,False)

平均值(1,Temp_C(12),FP2,False)

平均值(1,Temp_C(13),FP2,False)

平均值(1,Temp_C(14),FP2,False)

平均值(1,Temp_C(15),FP2,False)

平均值(1,Temp_C(16),FP2,False)

平均值(1,Temp_C(17),FP2,False)

平均值(1,Temp_C(18),FP2,False)

平均值(1,Temp_C(19),FP2,False)

平均值(1,Temp_C(20),FP2,False)

平均值(1,Temp_C(21),FP2,False)

平均值(1,Temp_C(22),FP2,False)

平均值(1,Temp_C(23),FP2,False)

平均值(1,Temp_C(24),FP2,False)

平均值(1,Temp_C(25),FP2,False)

平均值(1,SEvolt(1),FP2,False)

平均值(1,SEvolt(2),FP2,False)

平均值(1,SEvolt(3),FP2,False)

平均值(1,SEvolt(4),FP2,False)

平均值(1,SEvolt(5),FP2,False)

平均值(1,SEvolt(6),FP2,False)

平均值(1,SEvolt(7),FP2,False)

平均值(1,SEvolt(8),FP2,False)

平均值(1,SEvolt(9),FP2,False)

平均值(1,SEvolt(10),FP2,False)

平均值(1,SEvolt(11),FP2,False)

平均值(1,SEvolt(12),FP2,False)

平均值(1,SEvolt(13),FP2,False)

平均值(1,SEvolt(14),FP2,False)

平均值(1,SEvolt(15),FP2,False)

平均值(1,SEvolt(16),FP2,False)

平均值(1,SEvolt(17),FP2,False)

平均值(1,SEvolt(18),FP2,False)

平均值(1,SEvolt(19),FP2,False)

平均值(1,SEvolt(20),FP2,False)

平均值(1,SEvolt(21),FP2,False)

平均值(1,SEvolt(22),FP2,False)

平均值(1,SEvolt(23),FP2,False)

平均值(1,SEvolt(24),FP2,False)

平均值(1,SEvolt(25),FP2,False)

平均值(1,SEvolt(26),FP2,False)

平均值(1,SEvolt(27),FP2,False)

平均值(1,SEvolt(28),FP2,False)

平均值(1,SEvolt(29),FP2,False)

平均值(1,SEvolt(30),FP2,False)

平均值(1,SEvolt(31),FP2,False)

平均值(1,SEvolt(32),FP2,False)

平均值(1,SEvolt(33),FP2,False)

平均值(1,SEvolt(34),FP2,False)

平均值(1,SEvolt(35),FP2,False)

平均值(1,SEvolt(36),FP2,False)

平均值(1,SEvolt(37),FP2,False)

平均值(1,SEvolt(38),FP2,False)

平均值(1,SEvolt(39),FP2,False)

平均值(1,SEvolt(40),FP2,False)

平均值(1,SEvolt(41),FP2,False)

平均值(1,SEvolt(42),FP2,False)

平均值(1,SEvolt(43),FP2,False)

平均值(1,SEvolt(44),FP2,False)

平均值(1,SEvolt(45),FP2,False)

平均值(1,SEvolt(46),FP2,False)

平均值(1,SEvolt(47),FP2,False)

平均值(1,SEvolt(48),FP2,False)

平均值(1,SEvolt(49),FP2,False)

平均值(1,SEvolt(50),FP2,False)

平均值(1,SEvolt(51),FP2,False)

平均值(1,SEvolt(52),FP2,False)

平均值(1,SEvolt(53),FP2,False)

平均值(1,SEvolt(54),FP2,False)

平均值(1,SEvolt(55),FP2,False)

平均值(1,SEvolt(56),FP2,False)

平均值(1,SEvolt(57),FP2,False)

平均值(1,SEvolt(58),FP2,False)

平均值(1,SEvolt(59),FP2,False)

平均值(1,SEvolt(60),FP2,False)

平均值(1,SEvolt(61),FP2,False)

平均值(1,SEvolt(62),FP2,False)

平均值(1,SEvolt(63),FP2,False)

平均值(1,SEvolt(64),FP2,False)

平均值(1,SEvolt_2(1),FP2,False)

平均值(1,SEvolt_2(2),FP2,False)

平均值(1,SEvolt_2(3),FP2,False)

平均值(1,SEvolt_2(4),FP2,False)

平均值(1,SEvolt_2(5),FP2,False)

平均值(1,SEvolt_2(6),FP2,False)

平均值(1,SEvolt_2(7),FP2,False)

平均值(1,SEvolt_2(8),FP2,False)

平均值(1,SEvolt_2(9),FP2,False)

平均值(1,SEvolt_2(10),FP2,False)

平均值(1,SEvolt_2(11),FP2,False)

平均值(1,SEvolt_2(12),FP2,False)

平均值(1,SEvolt_2(13),FP2,False)

平均值(1,SEvolt_2(14),FP2,False)

平均值(1,SEvolt_2(15),FP2,False)

平均值(1,SEvolt_2(16),FP2,False)

平均值(1,SEvolt_2(17),FP2,False)

平均值(1,SEvolt_2(18),FP2,False)

平均值(1,SEvolt_2(19),FP2,False)

平均值(1,SEvolt_2(20),FP2,False)

平均值(1,SEvolt_2(21),FP2,False)

平均值(1,SEvolt_2(22),FP2,False)

平均值(1,SEvolt_2(23),FP2,False)

平均值(1,SEvolt_2(24),FP2,False)

平均值(1,SEvolt_2(25),FP2,False)

平均值(1,SEvolt_2(26),FP2,False)

平均值(1,SEvolt_2(27),FP2,False)

平均值(1,SEvolt_2(28),FP2,False)

平均值(1,SEvolt_2(29),FP2,False)

平均值(1,SEvolt_2(30),FP2,False)

平均值(1,SEvolt_2(31),FP2,False)

平均值(1,SEvolt_2(32),FP2,False)

平均值(1,SEvolt_2(33),FP2,False)

平均值(1,SEvolt_2(34),FP2,False)

平均值(1,SEvolt_2(35),FP2,False)

平均值(1,SEvolt_2(36),FP2,False)

平均值(1,SEvolt_2(37),FP2,False)

平均值(1,SEvolt_2(38),FP2,False)

平均值(1,SEvolt_2(39),FP2,False)

平均值(1,SEvolt_2(40),FP2,False)

平均值(1,SEvolt_2(41),FP2,False)

平均值(1,SEvolt_2(42),FP2,False)

平均值(1,SEvolt_2(43),FP2,False)

平均值(1,SEvolt_2(44),FP2,False)

平均值(1,SEvolt_2(45),FP2,False)

平均值(1,SEvolt_2(46),FP2,False)

平均值(1,SEvolt_2(47),FP2,False)

平均值(1,SEvolt_2(48),FP2,False)

平均值(1,SEvolt_2(49),FP2,False)

平均值(1,SEvolt_2(50),FP2,False)

平均值(1,SEvolt_2(51),FP2,False)

平均值(1,SEvolt_2(52),FP2,False)

平均值(1,SEvolt_2(53),FP2,False)

平均值(1,SEvolt_2(54),FP2,False)

平均值(1,SEvolt_2(55),FP2,False)

平均值(1,SEvolt_2(56),FP2,False)

平均值(1,SEvolt_2(57),FP2,False)

平均值(1,SEvolt_2(58),FP2,False)

平均值(1,SEvolt_2(59),FP2,False)

平均值(1,SEvolt_2(60),FP2,False)

平均值(1,SEvolt_2(61),FP2,False)

平均值(1,SEvolt_2(62),FP2,False)

平均值(1,SEvolt_2(63),FP2,False)

平均值(1,SEvolt_2(64),FP2,False)

平均值(1,AirTC,FP2,False)

样本(1,RH,FP2)

平均值(1,WS_ms,FP2,False)

示例(1,风向,FP2)

桌尾

数据表(Table2,True,-1)

DataInterval(0,1440,分钟,10)

Minimum(1,BattV,FP2,False,False)

桌尾

主程序,所有测量都在这里进行。

开始程序

设置每 5 分钟扫描一次

扫描(5,分钟,1,0)

默认数据记录器电池电压测量 BattV

电池(BattV)

CMP22 直接辐射计测量 SlrkJ 和 SlrW

VoltDiff(SlrW,1,mV25,1,True,0,_60Hz,1,0)

如果 SlrW<0,则 SlrW=0

SlrkJ=SlrW*33.25942

SlrW=SlrW*105.9322

'CMP11 日射强度计测量 SlrkJ_2 和 SlrW_2

该传感器已暂时替换为测试用辐射表,其校准系数不同。

VoltDiff(SlrW_2,1,mV25,2,True,0,_60Hz,1,0)

如果 SlrW_2<0,则 SlrW_2=0

SlrkJ_2=SlrW_2*33.25942

'SlrW_2=SlrW_2*105.5966 *****CMP 11 因子****

SlrW_2=SlrW_2*142.857

'CMP22 漫射辐射计测量 SlrkJ_3 和 SlrW_3

VoltDiff(SlrW_3,1,mV25,3,True,0,_60Hz,1,0)

如果 SlrW_3<0,则 SlrW_3=0

SlrkJ_3=SlrW_3*33.25942

SlrW_3=SlrW_3*110.8647

SR50A 超声波测距传感器(SDI-12 输出)测量

“传感器高度在开始时被设置为任意测量值”。

传感器高度=2

SDI12Recorder(SR50A(),7,"0","M1!",1,0)

TCDT=DT*SQR((AirTC+273.15)/273.15)

雪深=传感器高度-TCDT

“T型(铜-康铜)热电偶测量” AM25T多路复用器上的Temp_C_2()

AM25T(Temp_C_2(),25,mV2_5C,1,4,TypeT,RTempC_2,5,3,3,True,0,_60Hz,1,0)

“T型(铜-康铜)热电偶测量” AM25T多路复用器上的Temp_C()

AM25T(Temp_C(),25,mV2_5C,1,5,TypeT,RTempC,5,4,3,True,0,_60Hz,1,0)

'05103 风速和风向传感器测量

测量风速

PulseCount(WS_ms,1,1,1,1,0.098,0)

测量风向,此测量使用激励端口 1

BrHalf(WindDir,1,mV2500,11,1,1,2500,True,0,_60Hz,355,0)

如果风向>=360,则风向=0

打开两个 AM16/32 多路复用器

PortSet(2,1)

延迟(0,150,毫秒)

初始化数据计数器

Lcount=1

开始扫描第一个多路复用器

SubScan(0,uSec,32)

切换到下一个 AM16/32 多路复用器频道

PulsePort(1,10000)

延迟(0、100、微秒)

在 AM16/32 多路复用器上使用 SEVolt() 函数进行通用单端电压测量:修改此代码以读取 0-2.5V 的电流和 0-5V 的电压。

VoltSe(SEvolt(LCount),2,mV5000,13,True,0,_60Hz,1,0)

LCount=LCount+2

NextSubScan

扫描西部 AYA 多路复用器

LCount=1

SubScan(0,uSec,32)

切换到下一个 AM16/32 多路复用器频道

PulsePort(1,10000)

延迟(0、100、微秒)

该多路复用器的最后两个差分通道也测量温度和相对湿度,这些 IF 语句确保正确测量这些参数。

如果 Lcount=61

测量气温

VoltDiff (AirTC,1,mV2500,8,True,0,_60Hz,0.1,-40)

否则如果 LCount=63

通用差分电压测量 RH:

VoltDiff (RH,1,mV2500,8,True,0,_60Hz,0.1,0)

别的

在 AM16/32 多路复用器上使用 SEVolt() 函数进行通用单端电压测量:修改此代码以读取 0-2.5V 的电流和 0-5V 的电压。

VoltSe(SEvolt_2(LCount),2,mV5000,15,True,0,_60Hz,1,0)

结束如果

LCount=LCount+2

NextSubScan

关闭 AM16/32 多路复用器

PortSet(2,0)

延迟(0,150,毫秒)

调用数据表并存储数据

调用表(表1)

调用表(表2)

NextScan

结束程序

页面数据
一部分皇后大学应用可持续发展小组实验室规程罗伯·安德鲁斯论文
关键词光伏发电
可持续发展目标
作者
执照CC-BY-SA-3.0
组织女王大学
语言英语(en)
有关的子页面页面链接至此处
浏览量5,471 次页面浏览量(分析
创建2011年4月7日,罗布·安德鲁斯
最后编辑2026年1月9日,描述机器人
Cookies help us deliver our services. By using our services, you agree to our use of cookies.