工程示例

SDI-12土壤温湿度传感器

通过基站式智能数据采集仪连接SDI-12土壤温湿度传感器,采集传感器数据并解析,通过上位机执行测试脚本显示出具体温度等信息。

传感器参考

连接参考

将SDI-12土壤温湿度传感器红色端连接基站式智能数据采集仪PWR端子、白色端连接GND端子、蓝色端连接SDI12-1或者SDI12-2端子。

../../_images/sdi12_sc_ref.png

参考连接

脚本参考

 1function on_config()
 2end
 3
 4function on_sdi12_1_callback2(status,data)
 5        print('on_sdi12_1_callback2')
 6        print(timestamp())
 7        print(status)
 8        print(#data)
 9        if status == 1 then
10                print("response timeout")
11        end
12        if status == 2 then
13                print("receive data error")
14        end
15        if status < 0 then
16                return
17        end
18        if #data == 0 then
19                return
20        end
21
22        ds = ""
23        for k,v in pairs(data) do
24                ds = ds..string.char(v)
25        end
26
27        print(ds)
28        f,l,address,ec,vwc,t = string.find(ds,"(%d+)+(%d+.%d+)+(%d+.%d+)(.%d+.%d+).*")    --数据解析
29        vwc1 = tonumber(vwc)
30        print('温度:'..vwc1)                                                  --输出采集温度大小
31        add_data_item(8,1,'FLOAT',vwc1)
32end
33
34function on_timeout1()
35        sdi12_1_send({48,68,48,33},3,on_sdi12_1_callback2)                    --发送0D0!
36end
37
38function on_sdi12_1_callback(status,data)
39        print('on_sdi12_1_callback')
40        delay_call(3,on_timeout1)                                              --延时3s
41end
42
43function on_start()
44        print('---on start-----')
45        print(datetime())
46        print(timestamp())
47        add_data_item(0,1,'UCHAR',12)
48        add_data_item(0,2,'UCHAR',23)
49        add_data_item(0,3,'BCD_YYMMDDHHMM',bcdtime())
50        sdi12_1_send({48,67,33},3,on_sdi12_1_callback)                        --发送0C!,延时3s
51end

执行log

../../_images/sdi12_log.png

Pt100三线铂电阻

测量3线铂电阻的真实阻值。

传感器参考

连接参考

Pt100铂电阻引出三线,Pt100接线时电流回路的参考和电压测量回路的参考为一条线(即检测设备的I-端子和V-端子短接)。

备注

蓝色线连接通道对应脚本函数 pt100_3wire_get 第一个参数。红色线之一必须连接于 AD2AD3 端子,并且 pt100_3wire_get 第三个参数必须为 AD2AD3

../../_images/pt100_3wire_sc_ref.png

参考连接

脚本参考

 1function on_config()
 2end
 3
 4function on_start()
 5        print('---on start-----')
 6        print(datetime())
 7        print(timestamp())
 8        print('pt100_3wire_get')
 9
10        resistance = pt100_3wire_get('AD0','AD5','AD2')
11        print('铂电阻值:'..resistance)
12
13        temp = pt100_temperature('PT100',resistance)
14        print('温度值:'..temp)
15
16        print('---end----')
17end

执行log

../../_images/pt100_3wire_log.png

备注

四线PT100热电阻传感器,蓝色端子对应 pt100_4wire_get 的第1和第2参数,红色端子对应与第3和第4参数。 并且,第4参数通道必须为 AD2AD3 之一。

Modbus温湿度变送器

通过基站式智能数据采集仪连接485温湿度变送器,采集传感器数据并解析,通过上位机执行测试脚本显示出空气中温度值和湿度值

传感器参考

连接参考

485温湿度变送器红色线接PWR端子、黑色线接GND端子,将基站式智能数据采集仪AY、BZ端子短接后,将485温湿度变送器黄色线接到基站式智能数据采集仪A端子处、白色线接在B端子处。

../../_images/rs422_sc_ref.png

参考连接

脚本参考

 1function on_config()
 2end
 3
 4function on_modbus_callback(status,data)
 5        print('on_modbus_callback')
 6        print(timestamp())
 7        print(status)
 8        print(#data)
 9
10        if status == 1 then
11                print("response timeout")
12        end
13        if status == 2 then
14                print("receive data error")
15        end
16        if status < 0 then
17                return
18        end
19
20        if #data == 0 then
21                return
22        end
23
24        val= ""
25        humidity = (data[3]*256 + data[4])/10
26        temperature = (data[5]*256 + data[6])/10
27        val = string.format("%g,%g",temperature,humidity)
28        add_data_item(1,1,'UCHAR',temperature)
29        add_data_item(2,1,'UCHAR',humidity)
30
31        print(val)
32        print('温度:'..temperature)
33        print('湿度:'..humidity)
34end
35
36function on_start()
37        print('---on start-----')
38        print(datetime())
39        print(timestamp())
40        modbus_send({0x01,0x03,0x00,0x00,0x00,0x02,0xC4,0x0B},'4800_8N1',3,on_modbus_callback)
41end

执行log

../../_images/rs422_log.png

PWM雨量传感器

通过基站式智能数据采集仪连接485温湿度变送器,采集传感器数据并解析,通过上位机执行测试脚本显示出空气中温度值和湿度值

传感器参考

连接参考

雨量传感器NO端接基站式智能数据采集仪PWM_1端子处、 NC端接GND端子、 负端接GND端子、正端接PWR端子。拨码开关如下

b1

b2

b3

b4

/

x

x

1

1

脉冲输出模式

../../_images/pwm_sc_ref.png

参考连接

脚本参考

 1function on_config()
 2        for i = 0,61 do
 3                set_global_number(i,0)
 4        end
 5        pwm_start("PWM_1",0)                                          --PWM测量
 6end
 7
 8function on_start()
 9        print('---on start-----')
10        print(datetime())
11        print(timestamp())
12
13        add_data_item(0,1,'UCHAR',12)
14        add_data_item(0,2,'UCHAR',23)
15        add_data_item(0,3,'BCD_YYMMDDHHMM',bcdtime())
16
17        bcd_time = bcdtime()                                           --每日00:00数据清除
18        if bcd_time[4] ==0 and bcd_time[5] == 0 then --00:00
19                set_global_number(61,0)
20                print("clear today")
21        end
22
23        today_val = get_global_number(61)
24        for i=2,60 do
25                val = get_global_number(i)
26                set_global_number(i-1,val)
27        end
28
29        cnt = pwm_get("PWM_1")                                       --分钟降雨量
30        pwm_set("PWM_1",0)
31        print("minute")
32        print(cnt)
33        set_global_number(60,cnt)
34
35        hour_total = 0                                               --小时降雨量
36        for i=1,60 do
37                hour_total = hour_total + get_global_number(i)
38        end
39        print("hour")
40        print(hour_total)
41
42        today_val = today_val + cnt                                   --当日降雨量
43        set_global_number(61,today_val)
44
45        print("today")
46        print(today_val)
47        --Actual rainfall upload
48        add_data_item(6,3,'SINT',cnt)
49        add_data_item(6,2,'SINT',hour_total)
50        add_data_item(6,1,'SINT',today_val)
51end

执行log

../../_images/pwm_get_log.png

4-20mA光照度变送器

变送器是一款光精度感光变送器,输出数值计量单位为 Lux,设备采用壁挂防水外壳, 壁挂式安装,防护等级高。4-20mA/0-10V/0-5V 多种模拟量输出信号可选,产品供电为 10-30V 宽电压供电

传感器参考

仁科光照度

备注

电流测量必须使用 AD2AD3 端子

连接参考

../../_images/current_sensor.png
../../_images/current_sc_ref.png

参考连接

脚本参考

 1function on_config()
 2end
 3
 4function on_start()
 5        print('---on start-----')
 6        print(datetime())
 7        print(timestamp())
 8        print('current_get')
 9        print(current_get('AD2'))
10        print('---end----')
11end

执行log

../../_images/current_get_log.png

电压测量 干电池

输出干电池电压值

传感器参考

连接参考

将南孚电池正端与基站式智能采集仪AD5通道号相连,负端接GND端子。

../../_images/vol_sc_ref.png

参考连接

脚本参考

 1function on_config()
 2end
 3
 4function on_start()
 5        print('---on start-----')
 6        print(datetime())
 7        print(timestamp())
 8        print('vol_single_get')
 9        print(vol_single_get('AD5'))
10        print('---on start end-----')
11end

执行log

../../_images/vol_log.png