SimPRIME is a network simulator targeted to Narrowband Power Line Communications (NB-PLC) networks compliant with the PoweRline Intelligent Metering Evolution (PRIME) standard.
The main objective of this tool is to simulate the behavior of the communication overlay in Advanced Metering Infrastructure (AMI) applications using PRIME technology over DLMS/COSEM. Simulation results will help utilities in estimating the total amount of time required to communicate with all their meter devices. This latency is a key parameter in order to design new strategies intended to a more efficient energy use. For instance, if communications are too slow in a specific network sector, applications requiring quick interactions with meters may not be viable.
In addition to this analysis purpose, the authors of the tool also believe that this could become useful for researching on polling strategies and other MAC optimizations that may lead to a higher network performance. As it is explained later on, PRIME networks have a tree-wise logical structure. This tree is created dynamically depending on the signal coverage. However, the standard does not provide a specific criterion for its creation, leaving some gap for optimization. Once again, a more efficient network will allow for faster responsive applications.
A more technical description
PRIME is a second-generation NB-PLC technology whose development was initially led by the PRIME Alliance, although the specifications of the PHY, MAC, and Convergence layers have been also accepted as standard by the ITU-T recently (ITU-T G.9904).
At PHY level, PRIME operates in the CENELEC-A band (specifically in the 41-89 KHz band) and uses Orthogonal Frequency-Division Multiplexing (OFDM) modulation where carriers use Differential Phase Shift Keying (DPSK), allowing raw data rates up to 130 Kbps. However, in practice, manufacturers are currently implementing the most robust option, namely DBPSK with Forwarded Error Correction (FEC) ON, which allows raw data rate up to 21.4 Kbps.
At MAC level, two different kinds of nodes are defined: Base Node (BN) and Service Node (SN). The Base Node has the role of coordinating the PRIME network. Only one single Base Node is allowed in the same PRIME network. In common AMI terminology, the Base Node is known as Concentrator. Service Nodes are generally smart meters.
Service Nodes act as leaves or branch points of the logical tree-structured network, as shown in the figure below. The initial state of the SN is Disconnected. They may change to Terminal by registering to the network BN and, only when they are in Terminal state, they can be promoted to Switch. Switches are communications repeaters whose main goal is to increase signal range in the cable via relying, thus mitigating the effects of attenuation and noise. The position of these switches may influence the behavior of the whole network, as it was argued in . The figure on the right-hand side below illustrates the possible evolution of a SN in PRIME networks.
With respect to the LLC sublayer, it provides mechanisms to perform fragmentation and reassembling of the packets, flow control, automatic repeat request (ARQ) functions and manages the connection phase prior data transmission, since PRIME is a connection-oriented protocol. The LLC sits on top of the MAC sublayer and below the convergence or application layer.
Although PRIME standard only specifies the PHY, MAC and Convergence layers, an application layer is needed in order to have end-to-end communication for AMI. DLMS/COSEM is widely adopted at the application layer in this context. As a matter of fact, it is used not only for electricity meters but also for gas and water meters on top of not only PRIME but also all the other NB-PLC solutions available in the market (e.g., G3, Meters&More, OSGP, CX1). Even with wireless solutions such as Zigbee. DLMS/COSEM is standardized at the IEC 62056. DLMS is actually the application protocol, whereas COSEM defines the data model.
Download the trial version: simPRIME trial
After installing OMNeT++, the trial can be executed running the following command at the "simulation" folder of the uncompressed file:../src/iPLC_DLMSCOSEM -r 0 -c DLMSCOSEMSeq1 -n ../src:. iPLC_OpenADR_DLMSCOSEM.ini