The CR1000 communicates with datalogger support software (p. 95) and other
Campbell Scientific dataloggers
(p. 645) using the PakBus (p. 522) protocol. Modbus,
DNP3, TCP/IP, and several industry-specific protocols are also supported. CAN
bus is supported when using the Campbell Scientific SDM-CAN
(p. 651)
communication module.
8.6.1 DNP3 — Details
Related Topics:
• DNP3 — Overview (p. 91)
• DNP3 — Details (p. 408)
This section is slated for a major update early in 2015.
8.6.1.1 DNP3 Introduction
The CR1000 is DNP3 SCADA compatible. DNP3 is a SCADA protocol primarily
used by utilities, power-generation and distribution networks, and the water- and
wastewater-treatment industry.
Distributed Network Protocol (DNP) is an open protocol used in applications to
ensure data integrity using minimal bandwidth. DNP implementation in the
CR1000 is DNP3 Level-2 Slave Compliant with some of the operations found in a
Level-3 implementation. A standard CR1000 program with DNP instructions will
take arrays of real time or processed data and map them to DNP arrays in integer
or binary format. The CR1000 responds to any DNP master with the requested
data or sends unsolicited responses to a specific DNP master. DNP
communications are supported in the CR1000 through the RS-232 port, COM1,
COM2, COM3, or COM4, or over TCP, taking advantage of multiple
communication options compatible with the CR1000, e.g., RF, cellular phone,
satellite. DNP3 state and history are preserved through power and other resets in
non-volatile memory.
DNP SCADA software enables CR1000 data to move directly into a database or
display screens. Applications include monitoring weather near power transmission
lines to enhance operational decisions, monitoring and controlling irrigation from
a wastewater-treatment plant, controlling remote pumps, measuring river flow,
and monitoring air movement and quality at a power plant.
8.6.1.2 Programming for DNP3
CRBasic example Implementation of DNP3 (p. 410) lists CRBasic code to take
Iarray() analog data and Barray() binary data (status of control port 5) and map
them to DNP arrays. The CR1000 responds to a DNP master with the specified
data or sends unsolicited responses to DNP Master 3.
8.6.1.2.1 Declarations (DNP3 Programming)
Table DNP3 Implementation — Data Types Required to Store Data in Public
Tables for Object Groups
(p. 409) shows object groups supported by the CR1000
DNP implementation, and the required data types. A complete list of groups and
variations is available in CRBasic Editor Help for DNPVariable().
408