Public IArray(4) As Long
Public BArray(2) As Boolean
Public WindSpd
Public WindDir
Public Batt_Volt
Public PTemp_C
Units WindSpd=meter/Sec
Units WindDir=Degrees
Units Batt_Volt=Volts
Units PTemp_C=Deg C
'Main Program
BeginProg
'DNP communication over IP at 115.2kbps. CR1000 DNP address is 1.
DNP(20000,115200,1)
'DNPVariable(Source,Swath,DNPObject,DNPVariation,DNPClass,DNPFlag,DNPEvent,DNPNumEvents)
DNPVariable(IArray,4,30,2,0,&B00000000,0,0)
'Object group 30, variation 2 is used to return analog data when the CR1000
'is polled. Flag is set to an empty 8 bit number(all zeros), DNPEvent is a
'reserved parameter and is currently always set to zero. Number of events is
'only used for event data.
DNPVariable(IArray,4,32,2,3,&B00000000,0,10)
DNPVariable(BArray,2,1,1,0,&B00000000,0,0)
DNPVariable(BArray,2,2,1,1,&B00000000,0,1)
Scan(1,Sec,1,0)
'Wind Speed & Direction Sensor measurements WS_ms and WindDir:
PulseCount(WindSpd,1,1,1,3000,2,0)
IArray(1) = WindSpd * 100
BrHalf(WindDir,1,mV2500,1,Vx1,1,2500,True,0,_60Hz,355,0)
If WindDir>=360 Then WindDir=0
IArray(2) = WindDir * 100
'Default Datalogger Battery Voltage measurement Batt_Volt:
Battery(Batt_Volt)
IArray(3) = Batt_Volt * 100
'Wiring Panel Temperature measurement PTemp_C:
PanelTemp(PTemp_C,_60Hz)
IArray(1) =PTemp_C
PortGet(Barray(1),5)
'Update DNP arrays and send unsolicited requests to DNP Master address 3
DNPUpdate(2,3)
NextScan
8.6.2 Modbus — Details
Related Topics:
• Modbus — Overview (p. 91)
• Modbus — Details
(p. 411)
411