The document specifies the SunSpec Device Information Model, which defines a standardized structure for specifying and exchanging device data. It defines elements like models, points, point groups, and symbols to structure device information. It also specifies encoding of model definitions and instances using JSON and CSV formats, and usage of models with Modbus and JSON interfaces.
The Scale-Out Storage Master Usage Model extends the “ODCA Compute Infrastructure as a Service (CIaaS) Master Usage Model” and specifies the common usage patterns and requirements for CIaaS storage, which have typically used a scale-out approach.
Essentially, a scale-out storage system is designed so that adding more capacity or increasing performance is relatively easy, efficient, and non-disruptive. Enterprises that contend with steadily increasing data demands can adopt a “just-in-time” supply-chain approach—useful in scenarios where it is difficult to predict upcoming storage needs. In addition, scale-out architecture helps to prevent scenarios in which large enterprise systems encounter growth barriers that cause expensive re-architecting and/or rebuilding when an existing system is outgrown.
The document provides instructions for using the Spectralink Installation & Configuration (SLIC) tool to configure Spectralink 87-Series wireless handsets. It describes connecting the SLIC unit and a laptop, running the wireless wizard on the SLIC to configure network settings, and using a USB connection to load the settings onto each handset. It recommends always using the latest versions of the SLIC software and phone code for compatibility. The document also provides troubleshooting tips and references for additional documentation.
This document presents security principles for cloud and service-oriented architecture (SOA) from The Open Group's Security for the Cloud & SOA Project. It provides general security principles that are widely applicable to securely designing enterprise architectures, as well as additional principles specifically relevant to securing cloud and SOA environments. The principles are intended to serve as a benchmark for assessing security concepts, designs, solutions, standards compliance, and system architectures.
This document defines an IEEE 2030.5 profile for implementing SAE J3072 to enable electric vehicles to discharge power to the electric grid via vehicle-to-grid (V2G) technology. It specifies requirements for communications between electric vehicle supply equipment (EVSE) and plug-in electric vehicles (PEVs) to enable authorization and control of discharging according to IEEE and SAE standards. The profile is intended to guide developers in achieving interoperable V2G communications using the IEEE 2030.5 protocol.
This document provides an overview of photovoltaic (PV) system installation requirements and guidelines for PV installers. It was created by experts in the field and outlines key topics like verifying system designs, managing projects, installing electrical and mechanical components, completing installations, and conducting maintenance. The document is intended to help installers prepare for the NABCEP PV Installation Professional certification.
NABCEP PV Installation Professional Resource Guide • 1 www.nabcep.org V.5.0 / 10.11 Prepared by: William Brooks, PE James Dunlop, PE Brooks Engineering Jim Dunlop Solar N A B C E P PV Installation Professional Resource Guide v.6/2013 www.nabcep.org
Pete Chadwick discusses the past, present, and future of OpenStack. Originally, operating systems abstracted hardware and virtualization abstracted operating systems. OpenStack now abstracts virtualization by providing an API for software-defined infrastructure that reduces risk, simplifies migrations, and allows for more adoption of new technologies. The future of OpenStack includes community roadmaps that provide direction for over 25 projects and gather requirements to create user stories and implement specifications over multiple releases. Examples of the Newton Design Series community roadmap aim to present information by themes and be updated twice per release cycle.
3.6.2015 järjestimme Konesali -ja tietoturvatapahtuma Best of Brainsharen asiakkaille ja kumppaneillemme.
Konesalin SUSE esityksistä vastasi SUSE Suomen asiantuntijat. Esittelyssä uutuus SUSE Enterprise Storage.
The Scale-Out Storage Master Usage Model extends the “ODCA Compute Infrastructure as a Service (CIaaS) Master Usage Model” and specifies the common usage patterns and requirements for CIaaS storage, which have typically used a scale-out approach.
Essentially, a scale-out storage system is designed so that adding more capacity or increasing performance is relatively easy, efficient, and non-disruptive. Enterprises that contend with steadily increasing data demands can adopt a “just-in-time” supply-chain approach—useful in scenarios where it is difficult to predict upcoming storage needs. In addition, scale-out architecture helps to prevent scenarios in which large enterprise systems encounter growth barriers that cause expensive re-architecting and/or rebuilding when an existing system is outgrown.
The document provides instructions for using the Spectralink Installation & Configuration (SLIC) tool to configure Spectralink 87-Series wireless handsets. It describes connecting the SLIC unit and a laptop, running the wireless wizard on the SLIC to configure network settings, and using a USB connection to load the settings onto each handset. It recommends always using the latest versions of the SLIC software and phone code for compatibility. The document also provides troubleshooting tips and references for additional documentation.
This document presents security principles for cloud and service-oriented architecture (SOA) from The Open Group's Security for the Cloud & SOA Project. It provides general security principles that are widely applicable to securely designing enterprise architectures, as well as additional principles specifically relevant to securing cloud and SOA environments. The principles are intended to serve as a benchmark for assessing security concepts, designs, solutions, standards compliance, and system architectures.
This document defines an IEEE 2030.5 profile for implementing SAE J3072 to enable electric vehicles to discharge power to the electric grid via vehicle-to-grid (V2G) technology. It specifies requirements for communications between electric vehicle supply equipment (EVSE) and plug-in electric vehicles (PEVs) to enable authorization and control of discharging according to IEEE and SAE standards. The profile is intended to guide developers in achieving interoperable V2G communications using the IEEE 2030.5 protocol.
This document provides an overview of photovoltaic (PV) system installation requirements and guidelines for PV installers. It was created by experts in the field and outlines key topics like verifying system designs, managing projects, installing electrical and mechanical components, completing installations, and conducting maintenance. The document is intended to help installers prepare for the NABCEP PV Installation Professional certification.
NABCEP PV Installation Professional Resource Guide • 1 www.nabcep.org V.5.0 / 10.11 Prepared by: William Brooks, PE James Dunlop, PE Brooks Engineering Jim Dunlop Solar N A B C E P PV Installation Professional Resource Guide v.6/2013 www.nabcep.org
Pete Chadwick discusses the past, present, and future of OpenStack. Originally, operating systems abstracted hardware and virtualization abstracted operating systems. OpenStack now abstracts virtualization by providing an API for software-defined infrastructure that reduces risk, simplifies migrations, and allows for more adoption of new technologies. The future of OpenStack includes community roadmaps that provide direction for over 25 projects and gather requirements to create user stories and implement specifications over multiple releases. Examples of the Newton Design Series community roadmap aim to present information by themes and be updated twice per release cycle.
3.6.2015 järjestimme Konesali -ja tietoturvatapahtuma Best of Brainsharen asiakkaille ja kumppaneillemme.
Konesalin SUSE esityksistä vastasi SUSE Suomen asiantuntijat. Esittelyssä uutuus SUSE Enterprise Storage.
The document summarizes a meetup event hosted by Pivotal about synergies between SUSE OpenStack Cloud and Pivotal Cloud Foundry. The meetup agenda included an introduction to SUSE OpenStack Cloud architecture, how SUSE partners with Cloud Foundry, and continuous delivery with Jenkins and Cloud Foundry. The event also provided a buffet offered by Pivotal.
The document is the P6 Analytics Installation and Configuration Guide, Release 2.0 from December 2011. It provides instructions on installing and configuring P6 Analytics, including setting up Star security, installing and configuring OBI, installing and configuring financial periods, and configuring SSL. The guide is intended for P6 Analytics administrators to help them complete the necessary administrative tasks for installation and configuration.
1) Ceph is an open source distributed storage system that provides scalable, fault-tolerant storage and manages petabytes of data across clusters of commodity hardware.
2) It uses Object Storage Daemons (OSDs) that serve storage objects and replicate data across peers for redundancy. Multiple OSDs can be grouped in monitor nodes that track cluster state.
3) Ceph offers self-healing capabilities through redundancy and allows data to be placed close to applications for performance. It provides APIs and integration with clouds for flexible, software-defined storage.
Power the SOC of the Future with scale, speed and choice - Splunk Public Sect...Splunk EMEA
Power the SOC of the Future with scale, speed and choice - Splunk Public Sector Summit 2024
Sprecher:
Matthias Maier (Security Market Advisor, EMEA CEH, CISSP, CISM)
The document provides best practices for implementing Splunk, including recommendations around topology, architecture, hardware, data routing, inputs, and other areas. It recommends a common topology with multiple forwarders and indexers for scalability and redundancy. It also provides guidance on topics like sourcetype configuration, search head placement, Active Directory integration, and hardware sizing. The document contains a detailed table of contents covering additional implementation areas.
The document provides guidance on installing and configuring the Workflow content package in ArcSight ESM. It describes installing the Workflow package, modeling the network and categorizing assets, enabling rules, configuring notifications and cases, scheduling reports, and configuring trends. Proper configuration of these elements ensures the Workflow content functions as intended to support incident response tracking.
SUSE aims to help companies become cloud service providers through their open source SUSE OpenStack Cloud product. SUSE OpenStack Cloud is an enterprise OpenStack distribution that can rapidly deploy and easily manage highly available, mixed hypervisor infrastructure-as-a-service clouds. It is based on the latest OpenStack release and integrates with SUSE solutions like SUSE Enterprise Storage and SUSE Manager to provide a full private, public, or hybrid cloud platform and management tools. SUSE is a platinum member of the OpenStack Foundation and is actively involved in the OpenStack community and technical contributions to help ensure the long-term viability of OpenStack.
The document provides release notes for Oracle Hyperion Planning version 11.1.2.2. Key features introduced in this release include an upgrade wizard to convert existing business rules to the new calculation manager, hosted online help, enhancements to administrative features like diagnostic tools and substitution variable management, and support for WebSphere. Functional enhancements include rolling forecasts, predictive planning, support for group approvals, an "All Years" member, multiple document and comment attachments per cell, and improved navigation, formatting, and usability features. A new project financial planning application is also introduced.
Hands-On with Heat: Service Orchestration in SUSE CloudRick Ashford
This document provides an overview of three ways to deploy services in the cloud: manually through the dashboard, via scripting with APIs, and using the OpenStack Heat project. Heat allows pre-defining compute, network, and storage requirements and automating deployment of whole applications. It uses AWS CloudFormation templates and provides both REST and CloudFormation query APIs. While Heat has an upfront complexity, it offers easier management of complex, composite cloud applications in the long run.
The document provides instructions for deploying and managing the SolarWinds Alert Central virtual machine. It describes how to deploy the virtual machine using either VMware vSphere or Microsoft Hyper-V. It then explains how to log in to the virtual machine, set the time zone and network settings, reboot the machine, and access the Alert Central application running on the virtual machine.
This document provides an early draft specification for Java Data Objects (JDO) 2.0. It includes information on the scope and target audience of JDO 2.0, as well as acknowledgements and a table of contents for the specification. The document is copyrighted by Sun Microsystems and outlines licensing terms for use and evaluation of the specification.
This document provides instructions on installing and launching MySQL Workbench on Windows, Linux, and Mac OS X. It discusses the software's hardware and software requirements, installation procedures for each operating system, and an overview of the main features and interface of MySQL Workbench.
Oracle Autonomous Analytics Cloud is a fully managed cloud service that provides analytics capabilities without requiring users to manage infrastructure. The steps to get started include signing up for a free trial or subscription, setting up services and user accounts as an administrator, and then exploring data visualization or enterprise data modeling as a user. Administrators can refer to documentation on setting up and managing services while users can find guidance on loading and analyzing data.
InnoDB 1.1 is the latest version of the InnoDB storage engine plugin for MySQL 5.5 that provides performance and scalability improvements over previous versions. It includes features from the InnoDB Plugin 1.0 for MySQL 5.1 as well as new features for MySQL 5.5. InnoDB 1.1 supports data compression, fast index creation, and provides additional INFORMATION_SCHEMA tables for monitoring transactions and compression statistics. However, it is not recommended for production use and the generally available version is InnoDB Plugin 1.0.7 and higher.
This document provides specifications for the OTFSchema configuration files used to retrieve and process data from the SAP server for integration with Nakisa applications. The OTFSchema comprises XML files that define keywords, functions, source tables, join conditions, and output tables. Functions are configured to retrieve specific tables from the SAP system and return processed data to the Nakisa application. The document outlines the XML structure and attributes used to configure functions for different types of data retrieval and processing.
Oracle database 12c 2 day developer's guide 123bupbechanhgmail
This document provides an introduction and overview of Oracle Database and development tools. It discusses connecting to Oracle Database using SQL*Plus and SQL Developer. It also covers exploring database objects, querying data, manipulating data using DML statements, managing schema objects using DDL statements, developing stored subprograms and packages using PL/SQL, using triggers, and working in a global environment.
The document provides an overview of the Splunk data platform. It discusses how Splunk helps organizations overcome challenges in turning real-time data into action. Splunk provides a single platform to investigate, monitor, and take action on any type of machine data from any source. It enables multiple use cases across IT, security, and business domains. The document highlights some of Splunk's products, capabilities, and customer benefits.
Splunk conf2014 - Getting Deeper Insights into your Virtualization and Storag...Splunk
Virtualization and storage technologies go hand-in-hand. If performing poorly, they can have a serious impact on your applications' performance and users' experience. This presentation shows how Splunk can help you get unified visibility into your VMware environment and NetApp storage systems. Learn how to utilize Splunk Enterprise to correlate storage machine data with virtualization, operating systems and data from technology tiers for quicker time to resolution, optimal performance planning and unified view of KPIs across your entire enterprise.
The document discusses how Staples uses Splunk for operational support, application insights, and business intelligence across their infrastructure. Staples relies on Splunk for real-time visibility into the health of their Advantage website and business/operational analytics. Splunk provides comprehensive insights into Staples' infrastructure and helps map application performance to user experience. It has saved Staples numerous times by quickly detecting issues. Adoption of Splunk at Staples has grown organically as more teams see its benefits.
This document summarizes a research paper on microgrid digital twins. It introduces the concept of a microgrid digital twin, which creates a virtual representation of a microgrid that mirrors the behavior of the physical system using real-time data exchange. The paper discusses how microgrid digital twins can be established through modeling physical components and processes, connecting real-time data sources, and continuously updating models. A variety of applications of microgrid digital twins are explored, including design, control, forecasting, fault diagnosis, and resilient operation management. Future trends around increasing data sources, analytics capabilities, and integration of artificial intelligence are also discussed.
Virtual power lines (VPLs) use energy storage systems, such as large batteries, to integrate renewable energy into electric grids and avoid or delay costly infrastructure upgrades. VPLs connect storage at two points - one near renewable generators to store excess power that cannot be transmitted, and another near demand centers to discharge stored power when transmission capacity is limited. This allows renewable power to be transmitted virtually along battery-supported pathways rather than building new wires. VPLs can integrate higher shares of renewable energy faster and more cost-effectively than traditional grid expansions.
More Related Content
Similar to SunSpec-Device-Information-Model-Specificiation-V1-0.pdf
The document summarizes a meetup event hosted by Pivotal about synergies between SUSE OpenStack Cloud and Pivotal Cloud Foundry. The meetup agenda included an introduction to SUSE OpenStack Cloud architecture, how SUSE partners with Cloud Foundry, and continuous delivery with Jenkins and Cloud Foundry. The event also provided a buffet offered by Pivotal.
The document is the P6 Analytics Installation and Configuration Guide, Release 2.0 from December 2011. It provides instructions on installing and configuring P6 Analytics, including setting up Star security, installing and configuring OBI, installing and configuring financial periods, and configuring SSL. The guide is intended for P6 Analytics administrators to help them complete the necessary administrative tasks for installation and configuration.
1) Ceph is an open source distributed storage system that provides scalable, fault-tolerant storage and manages petabytes of data across clusters of commodity hardware.
2) It uses Object Storage Daemons (OSDs) that serve storage objects and replicate data across peers for redundancy. Multiple OSDs can be grouped in monitor nodes that track cluster state.
3) Ceph offers self-healing capabilities through redundancy and allows data to be placed close to applications for performance. It provides APIs and integration with clouds for flexible, software-defined storage.
Power the SOC of the Future with scale, speed and choice - Splunk Public Sect...Splunk EMEA
Power the SOC of the Future with scale, speed and choice - Splunk Public Sector Summit 2024
Sprecher:
Matthias Maier (Security Market Advisor, EMEA CEH, CISSP, CISM)
The document provides best practices for implementing Splunk, including recommendations around topology, architecture, hardware, data routing, inputs, and other areas. It recommends a common topology with multiple forwarders and indexers for scalability and redundancy. It also provides guidance on topics like sourcetype configuration, search head placement, Active Directory integration, and hardware sizing. The document contains a detailed table of contents covering additional implementation areas.
The document provides guidance on installing and configuring the Workflow content package in ArcSight ESM. It describes installing the Workflow package, modeling the network and categorizing assets, enabling rules, configuring notifications and cases, scheduling reports, and configuring trends. Proper configuration of these elements ensures the Workflow content functions as intended to support incident response tracking.
SUSE aims to help companies become cloud service providers through their open source SUSE OpenStack Cloud product. SUSE OpenStack Cloud is an enterprise OpenStack distribution that can rapidly deploy and easily manage highly available, mixed hypervisor infrastructure-as-a-service clouds. It is based on the latest OpenStack release and integrates with SUSE solutions like SUSE Enterprise Storage and SUSE Manager to provide a full private, public, or hybrid cloud platform and management tools. SUSE is a platinum member of the OpenStack Foundation and is actively involved in the OpenStack community and technical contributions to help ensure the long-term viability of OpenStack.
The document provides release notes for Oracle Hyperion Planning version 11.1.2.2. Key features introduced in this release include an upgrade wizard to convert existing business rules to the new calculation manager, hosted online help, enhancements to administrative features like diagnostic tools and substitution variable management, and support for WebSphere. Functional enhancements include rolling forecasts, predictive planning, support for group approvals, an "All Years" member, multiple document and comment attachments per cell, and improved navigation, formatting, and usability features. A new project financial planning application is also introduced.
Hands-On with Heat: Service Orchestration in SUSE CloudRick Ashford
This document provides an overview of three ways to deploy services in the cloud: manually through the dashboard, via scripting with APIs, and using the OpenStack Heat project. Heat allows pre-defining compute, network, and storage requirements and automating deployment of whole applications. It uses AWS CloudFormation templates and provides both REST and CloudFormation query APIs. While Heat has an upfront complexity, it offers easier management of complex, composite cloud applications in the long run.
The document provides instructions for deploying and managing the SolarWinds Alert Central virtual machine. It describes how to deploy the virtual machine using either VMware vSphere or Microsoft Hyper-V. It then explains how to log in to the virtual machine, set the time zone and network settings, reboot the machine, and access the Alert Central application running on the virtual machine.
This document provides an early draft specification for Java Data Objects (JDO) 2.0. It includes information on the scope and target audience of JDO 2.0, as well as acknowledgements and a table of contents for the specification. The document is copyrighted by Sun Microsystems and outlines licensing terms for use and evaluation of the specification.
This document provides instructions on installing and launching MySQL Workbench on Windows, Linux, and Mac OS X. It discusses the software's hardware and software requirements, installation procedures for each operating system, and an overview of the main features and interface of MySQL Workbench.
Oracle Autonomous Analytics Cloud is a fully managed cloud service that provides analytics capabilities without requiring users to manage infrastructure. The steps to get started include signing up for a free trial or subscription, setting up services and user accounts as an administrator, and then exploring data visualization or enterprise data modeling as a user. Administrators can refer to documentation on setting up and managing services while users can find guidance on loading and analyzing data.
InnoDB 1.1 is the latest version of the InnoDB storage engine plugin for MySQL 5.5 that provides performance and scalability improvements over previous versions. It includes features from the InnoDB Plugin 1.0 for MySQL 5.1 as well as new features for MySQL 5.5. InnoDB 1.1 supports data compression, fast index creation, and provides additional INFORMATION_SCHEMA tables for monitoring transactions and compression statistics. However, it is not recommended for production use and the generally available version is InnoDB Plugin 1.0.7 and higher.
This document provides specifications for the OTFSchema configuration files used to retrieve and process data from the SAP server for integration with Nakisa applications. The OTFSchema comprises XML files that define keywords, functions, source tables, join conditions, and output tables. Functions are configured to retrieve specific tables from the SAP system and return processed data to the Nakisa application. The document outlines the XML structure and attributes used to configure functions for different types of data retrieval and processing.
Oracle database 12c 2 day developer's guide 123bupbechanhgmail
This document provides an introduction and overview of Oracle Database and development tools. It discusses connecting to Oracle Database using SQL*Plus and SQL Developer. It also covers exploring database objects, querying data, manipulating data using DML statements, managing schema objects using DDL statements, developing stored subprograms and packages using PL/SQL, using triggers, and working in a global environment.
The document provides an overview of the Splunk data platform. It discusses how Splunk helps organizations overcome challenges in turning real-time data into action. Splunk provides a single platform to investigate, monitor, and take action on any type of machine data from any source. It enables multiple use cases across IT, security, and business domains. The document highlights some of Splunk's products, capabilities, and customer benefits.
Splunk conf2014 - Getting Deeper Insights into your Virtualization and Storag...Splunk
Virtualization and storage technologies go hand-in-hand. If performing poorly, they can have a serious impact on your applications' performance and users' experience. This presentation shows how Splunk can help you get unified visibility into your VMware environment and NetApp storage systems. Learn how to utilize Splunk Enterprise to correlate storage machine data with virtualization, operating systems and data from technology tiers for quicker time to resolution, optimal performance planning and unified view of KPIs across your entire enterprise.
The document discusses how Staples uses Splunk for operational support, application insights, and business intelligence across their infrastructure. Staples relies on Splunk for real-time visibility into the health of their Advantage website and business/operational analytics. Splunk provides comprehensive insights into Staples' infrastructure and helps map application performance to user experience. It has saved Staples numerous times by quickly detecting issues. Adoption of Splunk at Staples has grown organically as more teams see its benefits.
Similar to SunSpec-Device-Information-Model-Specificiation-V1-0.pdf (20)
This document summarizes a research paper on microgrid digital twins. It introduces the concept of a microgrid digital twin, which creates a virtual representation of a microgrid that mirrors the behavior of the physical system using real-time data exchange. The paper discusses how microgrid digital twins can be established through modeling physical components and processes, connecting real-time data sources, and continuously updating models. A variety of applications of microgrid digital twins are explored, including design, control, forecasting, fault diagnosis, and resilient operation management. Future trends around increasing data sources, analytics capabilities, and integration of artificial intelligence are also discussed.
Virtual power lines (VPLs) use energy storage systems, such as large batteries, to integrate renewable energy into electric grids and avoid or delay costly infrastructure upgrades. VPLs connect storage at two points - one near renewable generators to store excess power that cannot be transmitted, and another near demand centers to discharge stored power when transmission capacity is limited. This allows renewable power to be transmitted virtually along battery-supported pathways rather than building new wires. VPLs can integrate higher shares of renewable energy faster and more cost-effectively than traditional grid expansions.
This document presents the development of a microgrid central controller and hierarchical control system in the Intelligent Microgrid Lab at Aalborg University. The lab contains several inverter-based microgrid setups that can operate independently or be interconnected. Local primary control is implemented on dSPACE controllers while a LabVIEW-based central controller coordinates secondary and tertiary control functions. An example case of voltage/frequency restoration and voltage unbalance compensation is tested using hierarchical control across the different levels. Experimental results demonstrate the performance of the overall control system.
This document summarizes ongoing research in applying intelligent methods to microgrid design, modeling, simulation and control. It discusses several ongoing research projects:
1) A decentralized multi-agent system for microgrid operation being developed at Michigan State University that uses a three-step communication algorithm for distributed control of distributed generators and loads.
2) A distributed incremental cost consensus algorithm for economic dispatch being developed at North Carolina State University that allows distributed controllers to allocate power among connected buses.
3) A system developed at the University of North Carolina at Charlotte that models and controls a photovoltaic and fuel cell hybrid microgrid using a neurocontroller-based intelligent system centric controller.
4) A multi-agent based load restoration
The document presents a novel approach for implementing secondary control in droop-controlled microgrids in a distributed manner rather than through a central microgrid controller. The proposed distributed secondary control approach is able to restore frequency and voltage deviations in the microgrid while also ensuring accurate reactive power sharing between distributed generation units. Experimental results demonstrate the feasibility of the distributed secondary control approach. Communication latency and data dropouts are also studied to evaluate the impact on the control system performance.
- The document discusses thyristors, which are four-layer semiconductor devices that can act as bidirectional switches when triggered.
- It focuses on the silicon controlled rectifier (SCR) and triac, explaining their structure and operating characteristics. The SCR can only conduct current in one direction while the triac can conduct bi-directionally.
- Key aspects of thyristor operation are described, including triggering, turn-on, turn-off behavior, and applications in switching circuits. Limitations of the SCR for alternating current applications are also reviewed.
This document describes developing a dynamic model for a reduced 240-bus Western Electricity Coordinating Council (WECC) system model to enable integrated scheduling and dynamic simulations of high renewable energy penetration. The generation resource mix of the model was updated based on 2018 data to reflect a 20% share of inverter-based resources like solar and wind power. Generic dynamic models were used for generators and governors. The system inertia was distributed to match WECC planning cases. The dynamic model was validated against recorded frequency event measurements and preserves the dominant inter-area oscillation mode in WECC.
Virtual power lines (VPLs) use energy storage systems, such as large batteries, to integrate renewable energy into electric grids and avoid or delay costly infrastructure upgrades. VPLs connect storage at two points - one near renewable generators to store excess power that cannot be transmitted, and another near demand centers to discharge stored power when transmission capacity is limited. This allows renewable power to be transmitted virtually along battery-supported pathways instead of building new wires. VPLs can integrate higher shares of renewable energy faster and more flexibly than traditional grid expansion.
This document summarizes a research paper that proposes a new method for controlling parallel inverters using a synchronous reference frame virtual impedance loop. The proposed method aims to provide faster response and better current sharing accuracy compared to conventional droop control methods. It uses a synchronous reference frame virtual impedance loop and phase locked loop, rather than calculating active and reactive power. This avoids issues with droop control such as slow response times due to power calculation filters and sensitivity to line impedances. The control principle and performance analysis are examined through mathematical modeling and experimental testing of a parallel inverter system.
This document provides an overview of a buck-boost DC-DC converter design with an input protection system. It describes the objectives, requirements, functional decomposition, planning, previous design discussions, LT3791-1 controller component selection, operation discussion, initial and final design iterations, PCB design and assembly, input protection circuit design, and hardware testing. The goals are to design a buck-boost converter capable of harvesting energy from exercise machines that meets specifications for input voltage range, output voltage, efficiency, and includes overvoltage and undervoltage protection.
E BOOK Electric Power Transformer Engineering.pdfRafikCherni
This document provides information about electric power transformers and discusses copyright and permission issues. It contains three main sections. The first section notes that the book contains information from reputable sources and lists references, but does not guarantee the validity of all materials. The second section states that no part of the book can be reproduced without permission. The third section provides copyright and permission details for material reprinted from IEEE publications.
This document discusses cable monitoring solutions using distributed temperature sensing (DTS) technology to prevent cable failures and optimize power networks. It provides an overview of issues like overheating of buried cables, describes DTS principles and thermal modeling, presents a case study on monitoring a buried cable, discusses further applications like subsea cables and cable tunnels, emphasizes the importance of measurement speed, and introduces Sensornet's DTS product range for cable monitoring.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against developing mental illness and improve symptoms for those who already suffer from conditions like anxiety and depression.
1. Power transformer losses are economically and environmentally significant, leading to new regulations requiring more accurate measurement of losses.
2. Transformer Loss Measurement Systems (TLMS) must be calibrated to provide proven, validated accuracy of less than 3% at a power factor of 0.01 to reliably measure losses within the tight limits.
3. The ELPOW project aims to develop a calibration system for TLMS with uncertainties below 0.5% at a power factor of 0.01 through simultaneous voltage and current generation and phase locking the current to the externally applied voltage, showing promising initial results with uncertainties below 0.3%.
Sri Guru Hargobind Ji - Bandi Chor Guru.pdfBalvir Singh
Sri Guru Hargobind Ji (19 June 1595 - 3 March 1644) is revered as the Sixth Nanak.
• On 25 May 1606 Guru Arjan nominated his son Sri Hargobind Ji as his successor. Shortly
afterwards, Guru Arjan was arrested, tortured and killed by order of the Mogul Emperor
Jahangir.
• Guru Hargobind's succession ceremony took place on 24 June 1606. He was barely
eleven years old when he became 6th Guru.
• As ordered by Guru Arjan Dev Ji, he put on two swords, one indicated his spiritual
authority (PIRI) and the other, his temporal authority (MIRI). He thus for the first time
initiated military tradition in the Sikh faith to resist religious persecution, protect
people’s freedom and independence to practice religion by choice. He transformed
Sikhs to be Saints and Soldier.
• He had a long tenure as Guru, lasting 37 years, 9 months and 3 days
Applications of artificial Intelligence in Mechanical Engineering.pdfAtif Razi
Historically, mechanical engineering has relied heavily on human expertise and empirical methods to solve complex problems. With the introduction of computer-aided design (CAD) and finite element analysis (FEA), the field took its first steps towards digitization. These tools allowed engineers to simulate and analyze mechanical systems with greater accuracy and efficiency. However, the sheer volume of data generated by modern engineering systems and the increasing complexity of these systems have necessitated more advanced analytical tools, paving the way for AI.
AI offers the capability to process vast amounts of data, identify patterns, and make predictions with a level of speed and accuracy unattainable by traditional methods. This has profound implications for mechanical engineering, enabling more efficient design processes, predictive maintenance strategies, and optimized manufacturing operations. AI-driven tools can learn from historical data, adapt to new information, and continuously improve their performance, making them invaluable in tackling the multifaceted challenges of modern mechanical engineering.
3rd International Conference on Artificial Intelligence Advances (AIAD 2024)GiselleginaGloria
3rd International Conference on Artificial Intelligence Advances (AIAD 2024) will act as a major forum for the presentation of innovative ideas, approaches, developments, and research projects in the area advanced Artificial Intelligence. It will also serve to facilitate the exchange of information between researchers and industry professionals to discuss the latest issues and advancement in the research area. Core areas of AI and advanced multi-disciplinary and its applications will be covered during the conferences.
Open Channel Flow: fluid flow with a free surfaceIndrajeet sahu
Open Channel Flow: This topic focuses on fluid flow with a free surface, such as in rivers, canals, and drainage ditches. Key concepts include the classification of flow types (steady vs. unsteady, uniform vs. non-uniform), hydraulic radius, flow resistance, Manning's equation, critical flow conditions, and energy and momentum principles. It also covers flow measurement techniques, gradually varied flow analysis, and the design of open channels. Understanding these principles is vital for effective water resource management and engineering applications.
Blood finder application project report (1).pdfKamal Acharya
Blood Finder is an emergency time app where a user can search for the blood banks as
well as the registered blood donors around Mumbai. This application also provide an
opportunity for the user of this application to become a registered donor for this user have
to enroll for the donor request from the application itself. If the admin wish to make user
a registered donor, with some of the formalities with the organization it can be done.
Specialization of this application is that the user will not have to register on sign-in for
searching the blood banks and blood donors it can be just done by installing the
application to the mobile.
The purpose of making this application is to save the user’s time for searching blood of
needed blood group during the time of the emergency.
This is an android application developed in Java and XML with the connectivity of
SQLite database. This application will provide most of basic functionality required for an
emergency time application. All the details of Blood banks and Blood donors are stored
in the database i.e. SQLite.
This application allowed the user to get all the information regarding blood banks and
blood donors such as Name, Number, Address, Blood Group, rather than searching it on
the different websites and wasting the precious time. This application is effective and
user friendly.
Sachpazis_Consolidation Settlement Calculation Program-The Python Code and th...Dr.Costas Sachpazis
Consolidation Settlement Calculation Program-The Python Code
By Professor Dr. Costas Sachpazis, Civil Engineer & Geologist
This program calculates the consolidation settlement for a foundation based on soil layer properties and foundation data. It allows users to input multiple soil layers and foundation characteristics to determine the total settlement.
We have designed & manufacture the Lubi Valves LBF series type of Butterfly Valves for General Utility Water applications as well as for HVAC applications.
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...DharmaBanothu
The Network on Chip (NoC) has emerged as an effective
solution for intercommunication infrastructure within System on
Chip (SoC) designs, overcoming the limitations of traditional
methods that face significant bottlenecks. However, the complexity
of NoC design presents numerous challenges related to
performance metrics such as scalability, latency, power
consumption, and signal integrity. This project addresses the
issues within the router's memory unit and proposes an enhanced
memory structure. To achieve efficient data transfer, FIFO buffers
are implemented in distributed RAM and virtual channels for
FPGA-based NoC. The project introduces advanced FIFO-based
memory units within the NoC router, assessing their performance
in a Bi-directional NoC (Bi-NoC) configuration. The primary
objective is to reduce the router's workload while enhancing the
FIFO internal structure. To further improve data transfer speed,
a Bi-NoC with a self-configurable intercommunication channel is
suggested. Simulation and synthesis results demonstrate
guaranteed throughput, predictable latency, and equitable
network access, showing significant improvement over previous
designs
1. SunSpec Device Information Model Specification 1 sunspec.org
Status: Approved
Version: 1.0-04-20-2021
SunSpec Device Information Model
Specification
SunSpec Specification
Abstract
This document specifies the definition and usage of SunSpec Device Information Models.
4. SunSpec Device Information Model Specification 4 sunspec.org
Revision History
Version Date Comments
1.0 4-20-2021 Initial release
5. SunSpec Device Information Model Specification 5 sunspec.org
About the SunSpec Alliance
The SunSpec Alliance is a trade alliance of developers, manufacturers, operators, and service
providers together pursuing open information standards for the distributed energy industry.
SunSpec standards address most operational aspects of PV, storage, and other distributed
energy power plants on the smart grid, including residential, commercial, and utility-scale
systems, thus reducing cost, promoting innovation, and accelerating industry growth.
Over 100 organizations are members of the SunSpec Alliance, including global leaders from
Asia, Europe, and North America. Membership is open to corporations, non-profits, and
individuals. For more information about the SunSpec Alliance, or to download SunSpec
specifications at no charge, visit sunspec.org.
About the SunSpec Specification Process
SunSpec Alliance specifications are initiated by SunSpec members to establish an industry
standard for mutual benefit. Any SunSpec member can propose a technical work item. Given
sufficient interest and time to participate, and barring significant objections, a workgroup is
formed, and its charter is approved by the board of directors. The workgroup meets regularly to
advance the agenda of the team.
The output of the workgroup is generally in the form of a SunSpec Interoperability Specification.
These documents are considered to be normative, meaning that there is a matter of
conformance required to support interoperability. The revision and associated process of
managing these documents is tightly controlled. Other documents are informative, or make
some recommendation with regard to best practices, but are not a matter of conformance.
Informative documents can be revised more freely and more frequently to improve the quality
and quantity of information provided.
SunSpec Interoperability Specifications follow a lifecycle pattern of: DRAFT, TEST,
APPROVED, and SUPERSEDED.
For more information or to download a SunSpec Alliance specification, go to
https://sunspec.org/about-sunspec-specifications/.
6. SunSpec Device Information Model Specification 6 sunspec.org
Table of Contents
1 Introduction ..................................................................................................................................................................10
1.1 Document Organization .........................................................................................................10
1.2 Terminology...........................................................................................................................11
2 Normative References..............................................................................................................................................14
3 Overview.........................................................................................................................................................................15
3.1 Device Information Model Structure......................................................................................15
3.1.1 Model.............................................................................................................................16
3.1.2 Point..............................................................................................................................16
3.1.3 Point Group ...................................................................................................................16
3.1.4 Symbol ..........................................................................................................................16
3.1.5 Comment.......................................................................................................................16
3.2 Device Information Model Definition and Instance Relationship...........................................16
3.3 Device Information Model Usage...........................................................................................17
3.3.1 Modbus..........................................................................................................................19
3.3.2 JSON .............................................................................................................................19
4 Device Information Model Definition................................................................................................................20
4.1 Definition Elements................................................................................................................20
4.1.1 Model Element ..............................................................................................................20
4.1.2 Point Group Element .....................................................................................................21
4.1.3 Point Element................................................................................................................21
4.1.4 Symbol Element ............................................................................................................21
4.1.5 Comment Element.........................................................................................................21
4.2 Element Attributes .................................................................................................................22
4.2.1 ID ..................................................................................................................................23
4.2.2 Points ............................................................................................................................23
4.2.3 Groups...........................................................................................................................23
4.2.4 Type ..............................................................................................................................23
4.2.5 Value .............................................................................................................................23
4.2.6 Count.............................................................................................................................25
4.2.7 Size................................................................................................................................25
4.2.8 Scale Factor...................................................................................................................25
4.2.9 Units..............................................................................................................................25
7. SunSpec Device Information Model Specification 7 sunspec.org
4.2.10 Access.......................................................................................................................25
4.2.11 Mandatory.................................................................................................................25
4.2.12 Label .........................................................................................................................25
4.2.13 Description................................................................................................................26
4.2.14 Symbols ....................................................................................................................26
5 Device Information Model Definition Encoding...........................................................................................27
5.1 JSON Message Encoding........................................................................................................27
5.1.1 Element Types ..............................................................................................................27
5.1.2 Element Attribute Types ...............................................................................................27
5.1.3 Model Encoding.............................................................................................................28
5.1.4 Point Group Encoding ...................................................................................................29
5.1.5 Point Encoding ..............................................................................................................29
5.1.6 Symbol Encoding...........................................................................................................30
5.1.7 Comment Encoding.......................................................................................................30
5.2 CSV Encoding.........................................................................................................................30
5.2.1 Columns ........................................................................................................................30
5.2.2 Rows .............................................................................................................................32
6 Device Information Model Usage for Modbus..............................................................................................33
6.1 Device Modbus Map...............................................................................................................33
6.1.1 Modbus Address Location .............................................................................................33
6.1.2 Information Models .......................................................................................................33
6.1.3 End Model .....................................................................................................................34
6.2 Device Information Model Discovery .....................................................................................34
6.3 Modbus Functions..................................................................................................................34
6.4 Value Representation.............................................................................................................34
6.4.1 16-bit Integer Values ....................................................................................................35
6.4.2 32-bit Integer Values ....................................................................................................35
6.4.3 64-bit Integer Values ....................................................................................................36
6.4.4 128-bit Integer Values ..................................................................................................36
6.4.5 String Values .................................................................................................................36
6.4.6 32-bit Floating-point Values..........................................................................................37
6.4.7 64-bit Floating-point Values..........................................................................................37
6.4.8 sunssf............................................................................................................................38
6.5 Modbus Error Handling ..........................................................................................................38
6.5.1 Unimplemented Registers .............................................................................................38
8. SunSpec Device Information Model Specification 8 sunspec.org
6.5.2 Writing Invalid Value.....................................................................................................38
6.5.3 Writing a Read-Only Register........................................................................................39
6.6 Security..................................................................................................................................39
7 Device Information Model Usage for JSON...................................................................................................40
Appendix A: Model Definition Examples....................................................................................................................42
Appendix B: Model Instance Examples......................................................................................................................47
9. SunSpec Device Information Model Specification 9 sunspec.org
Index of Tables
Table 1: Model Definition Elements.............................................................................................................20
Table 2: Element Attributes.........................................................................................................................22
Table 3: Point Element Type Attribute Values.............................................................................................24
Table 4: Point Group Element Type Attribute Values..................................................................................24
Table 5: Definition Element JSON Encoding................................................................................................27
Table 6: JSON-encoded Element Attribute Types .......................................................................................28
Table 7: Spreadsheet Column Encoding .....................................................................................................31
Table 8: Modbus 16-bit Integer Value Register ..........................................................................................35
Table 9: Modbus 32-bit Integer Value Registers.........................................................................................35
Table 10: Modbus 64-bit Integer Value High Registers ..............................................................................36
Table 11: Modbus 64-bit Integer Value Low Registers ...............................................................................36
Table 12: Modbus 128-bit Integer Value Registers.....................................................................................36
Table 13: Modbus String Value Registers....................................................................................................36
Table 14: Modbus 32-bit Floating-point Value High Register......................................................................37
Table 15: Modbus 32-bit Floating-point Value Low Register ......................................................................37
Table 16: Modbus 64-bit Floating-point Register 1.....................................................................................37
Table 17: Modbus 64-bit Floating-point Register 2.....................................................................................37
Table 18: Modbus 64-bit Floating-point Register 3.....................................................................................38
Table 19: Modbus 64-bit Floating-point Value Register 4...........................................................................38
Table 20: Modbus sunssf Value Registers...................................................................................................38
Table 21: Point Type Mapping to JSON Type..............................................................................................41
Table of Figures
Figure 1: Device Information Model Communication and Implementation.................................................10
Figure 2: Device Information Model Elements ............................................................................................15
Figure 3: Device Information Model Definition-Instance Map.....................................................................17
Figure 4: Device Information Model Instance .............................................................................................18
Figure 5: Device Modbus Map.....................................................................................................................33
10. SunSpec Device Information Model Specification 10 sunspec.org
1 Introduction
SunSpec Device Information Models provide a simple, standardized mechanism for specifying
data sets supported by a device.
Device Information Models are used to structure device data for exchange across
communications interfaces. The following figure shows the communication scenario and the
responsibility of the SunSpec device to implement Device Information Models.
Figure 1: Device Information Model Communication and Implementation
This specification standardizes Device Information Model definition and specifies usage for two
information representations:
• Modbus
• JSON encoded messages
1.1 Document Organization
Chapter 2 lists the standards documents that are normative references for this document.
Chapter 3 introduces Device Information Model concepts and structure used to define,
implement, and use the model.
Chapter 4 provides a formal Device Information Model specification.
Chapter 5 specifies JSON and CSV model definition encoding.
Chapter 6 describes Device Information Model usage for the Modbus messaging structure.
Chapter 7 describes Device Information Model usage for JSON message encoding.
11. SunSpec Device Information Model Specification 11 sunspec.org
1.2 Terminology
Attribute An attribute describes a definition element or provides
additional information about the element. For example,
an access attribute is a point element attribute that
indicates if a point value is read/write or read-only.
Attributes can be required or optional.
CSV Comma-separated Values are plain text value fields
separated by commas. CSV file formats can be opened
by spreadsheet program and can be used as a format
for data exchange between applications or devices.
Definition element Definition elements are associated with a Device
Information Model and describe the model data
structure and usage. A definition element can have a
value or provide a container for other elements. The
Device Information Model defines the following
elements:
• model
• point
• point group
• symbol
• comment
Definition elements have attributes that qualify or
describe the element.
Device A device is an entity that exchanges data across
communications interfaces. A device has a data set,
modeled by Device Information Models, that describes
physical and state information about the device. The
device data set is the set of logically-related data points
specific to the device type. The collection of Device
Information Models that describe the data set
corresponds to the full set of device data points
supported by the device.
12. SunSpec Device Information Model Specification 12 sunspec.org
Device Information Model The Device Information Model is used to structure
device data for exchange across communications
interfaces. The model provides a mechanism for
specifying the data set supported by a device, which
consists of a set of standardized definition elements.
Device Information Model definition A Device Information Model definition specifies the
data points that make up the Device Information Model
and the usage information associated with each data
point. There is one definition for each Device
Information Model. Device Information Model
definitions represent collections of device data points.
The canonical form of Device Information Model
definitions is specified using JSON encoding.
Device Information Model instance A Device Information Model instance is created from a
Device Information Model definition. The instance
includes data point values specified for each of the
defined data points. There can be any number of
instances of a Device Information Model.
JSON JavaScript Object Notation is a lightweight format used
for data exchange. The canonical form of Device
Information Model definitions is specified using JSON
encoding. This document specifies JSON encoding for
Device Information Model instances.
Modbus Modbus is a communication protocol for transmitting
information between devices using a serial or TCP/IP
communication interface. This document specifies
Modbus encoding for Device Information Model
instances.
Model A Device Information Model model element defines a
logical grouping of points. Each model has a unique
model ID.
MUST, MUST NOT, REQUIRED,
SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED,
MAY, and OPTIONAL
The keywords "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in this
specification, are to be interpreted as described in IETF
RFC 2119.
Point A Device Information Model point element defines a
device data point and has a value.
Point group A Device Information Model group element contains a
group of points and/or other point groups.
Point group, top-level The top-level point group is the first element of a
Device Information Model and contains all other
elements.
13. SunSpec Device Information Model Specification 13 sunspec.org
RESTful web service A RESTful web service is an architectural style that
uses Representational State Transfer (REST) for web
applications to access web service resources. REST
HTTP methods for access resources include GET,
PUT, POST, and DELETE.
Symbol A Device Information Model symbol element defines a
name-value pair. It is used to represent a constant
value associated with the enumerated value or bit
position of a point.
UTF-8 UTF-8 is a method for encoding Unicode characters
using 8-bit sequences that can include one or more
bytes.
14. SunSpec Device Information Model Specification 14 sunspec.org
2 Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14,
RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, DOI
10.17487/RFC2279, January 1998, <https://www.rfc-editor.org/info/rfc2279>.
[RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data Interchange Format",
RFC 7159, DOI 10.17487/RFC7159, March 2014, <https://www.rfc-editor.org/info/rfc7159>.
Modbus IDA, MODBUS Application Protocol Specification v1.1b3, North Grafton,
Massachusetts, (www.modbus.org/specs.php), April 26, 2012.
Modbus IDA, MODBUS/TCP Security Protocol Specification v21, North Grafton, Massachusetts,
(www.modbus.org/specs.php), July 24, 2018.
IEEE 754-2008, IEEE Standard for Floating-Point Arithmetic, August 29, 2008,
<https://ieeexplore.ieee.org/servlet/opac?punumber=4610933>.
15. SunSpec Device Information Model Specification 15 sunspec.org
3 Overview
This section introduces Device Information Model definition and usage.
Device Information Model definitions represent collections of device data points. A device
implementation based on the information models can use the model definitions to standardize
the interface to device data points. This includes logically grouping the information to
correspond to the data point grouping requirements of a device.
3.1 Device Information Model Structure
Device Information Models are defined using the following definition elements:
• model
• point
• point grouping
• symbol
• comment
The point definition element represents the Device Information Model data, and the other
definition elements govern data structuring and usage. The following figure shows the primary
definition elements’ structural relationship.
Figure 2: Device Information Model Elements
16. SunSpec Device Information Model Specification 16 sunspec.org
3.1.1 Model
The model definition element includes all the definition elements. It is used as the container for
the logically related set of device data points, for a particular model.
3.1.2 Point
The point definition element defines a Device Information Model data point. Point elements hold
data values that correspond to a device property. There are typically multiple point definitions in
the model definition.
3.1.3 Point Group
The point group definition element provides a way to logically group a set of points. There are
three reasons to group points:
• The top-level model organization construct is always a point group. The first element in a
model definition is the top-level point group and includes all the point and point group
definitions in the model.
• A repeating set of points can be grouped, creating multiple instances of the point group
that can be accessed as an array of point groups.
• A set of points with synchronous operational requirements can be grouped, indicating
that the points in the group must be read and written atomically.
3.1.4 Symbol
The symbol definition element assigns identifiers to values associated with a point definition
element. Symbols define the set of valid values for the point and provide identifiers that can be
used to represent the value.
3.1.5 Comment
The comment definition element associates a comment string with any of the other definition
elements. It can be used to document the element definition.
3.2 Device Information Model Definition and Instance Relationship
It is important to understand the relationship between a Device Information Model definition and
a Device Information Model instance.
A Device Information Model definition specifies the data points that make up the Device
Information Model and the usage information associated with each data point. There is one
definition for each Device Information Model.
17. SunSpec Device Information Model Specification 17 sunspec.org
Figure 3: Device Information Model Definition-Instance Map
A Device Information Model instance is created from a Device Information Model definition. The
instance includes data point values specified for each of the defined data points. There can be
any number of Device Information Model instances.
The canonical form of Device Information Model definitions is specified in a JSON encoding. For
convenience, alternative Device Information Model definition representations can be used
provided they preserve all the Device Information Model definition content. In addition to the
canonical JSON encoding, this specification standardizes a CSV encoding for Device
Information Model definitions to support a spreadsheet presentation of the definitions.
3.3 Device Information Model Usage
Devices use the Device Information Model definitions that represent the data points supported
by the device. Further, a device implementation includes the collection of Device Information
Models that correspond to the full set of device data points.
18. SunSpec Device Information Model Specification 18 sunspec.org
Figure 4: Device Information Model Instance
Information can be exchanged with a device by requesting some or all the device data points,
using a communication interface that implements the standardized Device Information Models.
Device Information Model definitions are interface-independent. This specification standardizes
Device Information Model usage for both Modbus, and JSON data representations.
19. SunSpec Device Information Model Specification 19 sunspec.org
3.3.1 Modbus
Device Information Models can be mapped into a Modbus address space. A collection of Device
Information Models can be used to create a Modbus map that corresponds to the data points
supported by the device.
3.3.2 JSON
Device Information Model contents can be represented as JSON objects. Devices can access
data points supported by the device through an interface that supports JSON objects, such as a
RESTful web service.
20. SunSpec Device Information Model Specification 20 sunspec.org
4 Device Information Model Definition
Device Information Models are defined using standardized elements. Each Information Model
Definition includes the definition elements specified in this section.
4.1 Definition Elements
A model definition MAY have the following elements:
Element Description
model A logical grouping of data points that are assigned a model ID.
group A group of points or point groups. A model can have multiple point groups
and point groups can be nested. A model always has a top-level point
group that includes all points and point groups in the model. A model can
only have one top-level point group.
point A data point that has a value.
symbol A name-value pair used to represent a constant value associated with an
enumerated value or bit position in a point.
comment The text used to annotate the information model definition. Comments are
associated with any definition element (model, group, point, or symbol) in
the model definition.
Table 1: Model Definition Elements
4.1.1 Model Element
The model element includes all the other definition elements associated with the model.
A model definition MUST have a top-level point group that includes all the points and point
groups in the model.
A model definition MUST include the following two points as the first two element definitions
inside the top-level point group:
• model ID with an identifier of ID
• model length with an identifier of L
The value of the ID point MUST be a SunSpec model ID which is a unique integer between 1
and 65535, inclusive. SunSpec model IDs are administered by the SunSpec Alliance.
The value of the model length L point MUST be 0 (zero) in the model definition. The model
length point may not be used in some encodings. When the model length is used, as in a
Modbus map, the length point (L) MUST be set to the length of that model instance. Some
model definitions have elements that may vary in size, which causes the model instance length
to vary.
The order of members of a model element is significant and MUST be maintained.
21. SunSpec Device Information Model Specification 21 sunspec.org
See Table 2: Element Attributes for the valid mandatory and optional element attributes for a
model element definition.
4.1.2 Point Group Element
The point group element includes point elements or other point group elements.
The point group type MUST either be group or sync.
The group point group type is used to create a set of points and point groups. If the count for the
point group is greater than one, the point group repeats the number of times specified by count.
The count attribute can be defined as a constant in the point group definition or be specified as
the value of another point in the model definition. If the point group count is specified in another
point, that point MUST be defined in the top-level point group of the model before the point
group definition.
The sync point group type is used to designate points and point groups that MUST be read and
written atomically. Implementations MUST indicate an error if all the members of a sync group
are not able to be read or written atomically.
The order of the point group members is significant and MUST be maintained.
All points in a point group MUST be defined before any point groups are defined.
See Table 2: Element Attributes for the valid mandatory and optional element attributes for a
point group element definition.
4.1.3 Point Element
The point element defines a data point element.
The size of the data element MUST be specified for points that have a type of string.
If the count for the point is greater than one, the point repeats the number of times specified by
the count. The count attribute can be defined as a constant in the point definition or be specified
as a value of another point in the model definition. If the point count is specified in another point,
that point MUST be defined in the top-level point group of the model before the point definition.
See Table 2: Element Attributes for the valid mandatory and optional element attributes for a
point element definition.
4.1.4 Symbol Element
The symbol element associates an ID with a constant point value in a point definition.
The symbol element MUST be associated with a point definition. A point definition MAY have
multiple symbols associated with it. Each symbol ID MUST be unique for that point definition.
The symbol definitions for a point definition serve as a set of possible enumerated values that
are valid for the point. If a point has associated symbols defined, all values not in the set of
symbol definitions MUST be considered invalid by an implementation.
See Table 2: Element Attributes for the valid mandatory and optional element attributes for a
symbol element definition.
4.1.5 Comment Element
The comment element is a single string and is associated with any valid definition element other
than a comment element. A definition element MAY have multiple comments associated with it.
22. SunSpec Device Information Model Specification 22 sunspec.org
The comment element permits additional element definition annotation beyond the element
definition attributes shown in Table 2: Element Attributes.
4.2 Element Attributes
Definition elements include attributes that qualify or describe the element. Table 2: Element
Attributes shows the attributes associated with each element definition type. The table also uses
the following notation to indicate which attributes are associated with each element type:
• Model
• Point Group
• Point
• Symbol
Additionally, for each element type, R indicates the attribute is required in an element definition
and O indicates the attribute is optional.
Attribute Description M G P S
ID The element ID. R R R R
Points An array of point definitions in a point group. R
Group An array of point elements or other point group elements. R
Groups An array of point group definitions in a point group. O
Value If present, a constant value associated with the element. O R
Type The element type. R R
Count The occurrence count of the element. O O
Size The element size. Mandatory when type is string. O
Scale Factor If present, the scale factor point associated with the
element.
O
Units If present, the units associated with the element. O
Access Element access, read or read/write. If not present, defaults
to read. (R or RW)
O
Mandatory Element is mandatory/optional. If not present, default to
optional. (M or O)
O
Label Short label associated with the element. R R O O
Description Description associated with the element. O O O O
Symbols A name-value pair used to represent a constant value
associated with an enumerated value or bit position in a
point.
O O O O
Table 2: Element Attributes
Optional attributes may have a default value and the default value may be different for different
element types.
23. SunSpec Device Information Model Specification 23 sunspec.org
If an attribute does not have an entry in the table for an element type, the attribute MUST NOT
be used in an element definition for that element type.
4.2.1 ID
The ID attribute is the element name and MUST be unique in the immediate group in which it is
defined. An ID MUST consist of only alphanumeric characters and the underscore character.
The ID attribute for a model element MUST be the numeric SunSpec model id.
4.2.2 Points
The points attribute is a point definition array of points contained in the point group.
4.2.3 Groups
The groups attribute is a point group definitions array of point groups contained in the point
group.
4.2.4 Type
The type attribute is the element type. Table 3: Point Element Type Attribute Values describes
the possible type values for point elements and Table 4: Point Group Element Type Attribute
Values specifies the possible type value for group elements.
4.2.5 Value
The value attribute is the constant value associated with the element. If the element does not
have a constant value, the value attribute MUST be omitted.
If a point does not have a valid value, the unimplemented value MUST be used for the value.
During device operation, the point value MAY change from the unimplemented value to a valid
value or from a valid value to the unimplemented value at any time.
If the element contains a constant value, its model definition file encoding SHALL follow the
conventions listed in Table 16: Point Type Mapping to JSON Type.
24. SunSpec Device Information Model Specification 24 sunspec.org
Type Description
int16 Signed 16-bit integer
int32 Signed 32-bit integer
int64 Signed 64-bit integer
raw16 16-bit raw value
uint16 Unsigned 16-bit integer
uint32 Unsigned 32-bit integer
uint64 Unsigned 64-bit integer
acc16 Unsigned 16-bit accumulator
(deprecated in favor of uint16)
acc32 Unsigned 32-bit accumulator (deprecated in favor of uint32)
acc64 Unsigned 64-bit accumulator (deprecated in favor of uint64)
bitfield16 16-bit bitfield
bitfield32 32-bit bitfield
bitfield64 64-bit bitfield
enum16 16-bit enumeration
enum32 32-bit enumeration
float32 32-bit floating-point
float64 64-bit floating-point
string String (UTF-8 encoded)
sunssf Scale factor – Signed power of 10 multiplier (+) or divider (-)
pad 16-bit pad used for alignment
ipaddr IP Address as an unsigned 32-bit.
ipv6addr 16-byte IP V6 address
eui48 48-bit MAC address
Table 3: Point Element Type Attribute Values
Type Description
group Group
sync Synchronization group
Table 4: Point Group Element Type Attribute Values
25. SunSpec Device Information Model Specification 25 sunspec.org
4.2.6 Count
The count attribute specifies the number of occurrences of the element in the model. The count
is commonly used to specify the number of occurrences of a point group but it may also be used
to specify a single repeating point.
The count MAY be specified as a constant value in the model definition, or by another point in
the model that contains the count.
If the count is specified by another point in the model, the specifying point MUST be defined in
the top-level point group before the element that the count applies to. The value of a point
containing a count MUST be static and not change over time.
4.2.7 Size
The size attribute specifies the maximum element length in 16-bit words. The size attribute
MUST be provided for the string point type and MAY be provided for the pad type. The size
attribute MUST not be provided for any other type.
4.2.8 Scale Factor
As an alternative to floating-point format, values are represented by integer values with a signed
scale factor applied. A negative scale factor explicitly shifts the decimal point to the left, and a
positive scale factor shifts the decimal point to the right by the number of places specified in the
scale factor value.
The scale factor attribute specifies a scale factor to be used with the point element. The scale
factor may be another point defined in the model or a constant value. If the scale factor specifies
another point defined in the model, the referenced point MUST be defined as a scale factor type
(sunssf).
If a constant value is specified, the value MUST be a valid scale factor multiplier.
The value of a scale factor point MUST be static and MUST NOT change over time.
4.2.9 Units
The units attribute is a string that specifies the units associated with the element.
Units are defined as needed by specific models. Where units are shared across models, care is
taken to ensure a common definition of those units.
4.2.10 Access
The access attribute specifies if the element is writable or read-only. If specified, the value
MUST be read-only (R) or read/write (RW). If not specified, the default access is read-only.
4.2.11 Mandatory
The mandatory attribute specifies whether the element is required to be implemented. If
specified, the value MUST be either mandatory (M) or optional (O). If not specified, the default
value is optional. Points specified as mandatory MUST always have a valid value. Points
specified as optional may have the unimplemented value for the corresponding point type.
4.2.12 Label
The label attribute specifies a short label associated with the element.
26. SunSpec Device Information Model Specification 26 sunspec.org
4.2.13 Description
The description attribute provides a brief description of the element..
4.2.14 Symbols
A name-value pair used to represent a constant value associated with an enumerated value or
bit position in a point.
27. SunSpec Device Information Model Specification 27 sunspec.org
5 Device Information Model Definition Encoding
The canonical format used to define SunSpec Device Information Models is JSON.
An alternative CSV encoding is also specified in this document to support a spreadsheet
presentation of Device Information Model definitions.
5.1 JSON Message Encoding
This section describes the method of representing Device Information Model definitions in
JSON.
Model definitions defined in JSON MUST be encoded using UTF-8.
5.1.1 Element Types
Table 5: Definition Element JSON Encoding shows the JSON name and value type used for
element type definitions.
Element JSON Name JSON Value
Model model Object of model elements
Point Group groups Object of group elements
Point points Object of point attributes
Symbol symbols Array of symbol objects
Comment comments Array of comment strings
Table 5: Definition Element JSON Encoding
5.1.2 Element Attribute Types
Table 6: JSON-encoded Element Attribute Types shows the JSON name and value type used
for element attribute type definitions.
28. SunSpec Device Information Model Specification 28 sunspec.org
Attribute JSON Name JSON Values
ID id
Value value
Type type int16, int32, int64, uint16, raw16,
uint32, uint64, acc16, acc32, acc64,
bitfield16, bitfield32, bitfield64,
enum16, enum32, float32, float64,
string, sunssf, pad, ipaddr, ipv6addr,
eui48, group, sync
Count count
Size size
Scale Factor sf
Units units
Access (R/RW) access R, RW
Mandatory (M/O) mandatory M, O
Label label
Description desc
Table 6: JSON-encoded Element Attribute Types
5.1.3 Model Encoding
A model definition MUST be represented as an object with a single property named model and
an object as the value. See Appendix A for model definition examples.
The object value of model MUST have two properties: id and group. The value of the id
property MUST be the SunSpec numeric model ID.
The value of the group property MUST be an object that includes the contents of the rest of
the model definition. The group property represents the required single top-level point group in
the model.
The model object MUST have a label property and MAY have desc, and comments
properties.
The following example shows the model element encoding.
{"model": {
"id": <model id>,
"group": {
<rest of model content>
}
"label": <model label>,
"desc": <model description>
}
29. SunSpec Device Information Model Specification 29 sunspec.org
5.1.4 Point Group Encoding
A point group definition MUST be represented as an object with the required and optional
properties for a point group.
A point group definition MUST have a property named type that has a group value identifying
the object as a point group definition.
A point group definition MAY have a property named comments that is an array holding the
comment strings associated with the point group.
The following example shows the point group element encoding.
{
"name": <point group name>,
"type": <point group type>,
"count": <point group count>,
"label": <point group label>,
"desc": <point group description>,
"points": [<points>],
"groups": [<point groups>],
"comments": [<comment strings>]
}
5.1.5 Point Encoding
A point definition MUST be represented as an object with the required and optional point
properties for a point.
A point definition MUST have a property named type that has a value of point identifying the
object as a point definition.
A point definition MAY have a property named symbols that is an array holding the symbols
associated with the point.
A point definition MAY have a property named comments that is an array holding the comment
strings associated with the point.
The following example shows the point element encoding.
{
"name": <point name>,
"value": <point value>,
"type": <point type>,
"count": <point count>,
"size": <point size>,
"sf": <point scale factor>,
"units": <point units>,
"access": <point access>,
"mandatory": <point mandatory>,
"label": <point label>,
"desc": <point description>,
"symbols": [<symbols>],
"comments": [<comment strings>]
}
30. SunSpec Device Information Model Specification 30 sunspec.org
5.1.6 Symbol Encoding
A symbol definition MUST be represented as an object with the required and optional properties
for a symbol.
A symbol definition MAY have a property named comments that is an array holding the
comment strings associated with the symbol.
The following example shows the symbol element encoding.
{
"name": <symbol name>,
"value": <point value>,
"label": <point label>,
"desc": <point description>,
"comments": [<comment strings>]
}
5.1.7 Comment Encoding
A comment definition MUST be represented as a string. Comments are associated with other
elements as an array of comments in the element definition.
5.2 CSV Encoding
There is a one-to-one mapping between CSV model definition attributes and the JSON
definition. The JSON encoding is the canonical form of a Device Information Model, and the
CSV encoding is supported for convenience in creating and inspecting model definitions using a
spreadsheet application.
A spreadsheet renders the encoding as a row and column matrix. Each row in the spreadsheet
defines a model definition element. Each column represents an element attribute. The CSV
encoding could be instantiated in several ways, such as an Excel spreadsheet.
The CSV encoding is defined such that a JSON encoding can be generated from the CSV
encoding.
5.2.1 Columns
The column names in Table 7: Spreadsheet Column Encoding specified as mandatory MUST
be used as the column names in the spreadsheet encoding. Other columns MAY be included in
the encoding at any column location. The names specified as optional in the table are included
for convenience.
31. SunSpec Device Information Model Specification 31 sunspec.org
Column Name Mandatory/Optional
Name Mandatory
Value Mandatory
Type Mandatory
Count Mandatory
Size Mandatory
Scale Factor Mandatory
Units Mandatory
RW Access (RW) Mandatory
Mandatory (M) Mandatory
Static (S) Mandatory
Label Mandatory
Description Mandatory
Notes Optional (used for draft models, not included in approved models)
Address Offset Optional. Offset of the element from the beginning of the Information
Model, if known. Typically generated from definition information.
Group Offset Optional. Offset of the element from the beginning of the immediate
containing group. Typically generated from definition information.
Table 7: Spreadsheet Column Encoding
The Name, Value, and Type fields are used to determine the definition element type. The
following rules specify how to interpret each element when a spreadsheet is used to define a
model.
Model Model is the model ID as represented in the value of the point ID.
Point group Type is a point group type. Because point groups can be nested, point group IDs
reflect the hierarchy of the point groups. A dot (.) delimits hierarchical levels.
Point Type is a point type.
Symbol The symbol is a key-value pair associated with the last point defined.
Comment Any line with no Type and no Value values. The comment only consists of the
contents of the first column value in the row. A comment is associated with the next
defined element. An element may have more than one comment associated with it.
Blank line Any row with no value in any column. Blank lines are not preserved in the model
definition.
32. SunSpec Device Information Model Specification 32 sunspec.org
5.2.2 Rows
Rows in the spreadsheet MUST consist of all the point group, point, symbol, and comment
elements included in the model definition. The sequence of ordered elements MUST be
preserved.
The name strings specified in the JSON encoding MUST be used for all type and type value
representations.
To represent the point group hierarchy, the ID of any point or point group not defined in the top-
level point group MUST have each point group to which the element belongs below the top-level
point group prepend to its ID using a period (.) as a separator between IDs.
33. SunSpec Device Information Model Specification 33 sunspec.org
6 Device Information Model Usage for Modbus
This section specifies Modbus Device Information Model instance encoding. An Information
Model instance includes the values associated with the defined content of a model.
6.1 Device Modbus Map
Device Information Models are used to construct a device Modbus map. The Information
Models that represent the functionality implemented in the device are placed contiguously in the
Modbus address space at a defined location as specified in this section.
Figure 5: Device Modbus Map
All SunSpec Device Information Model maps MUST begin with the SunS identifier. The
identifier is followed sequentially by common, standard, and vendor Device Information Models,
as needed. An end model terminates the map. There is no requirement for any model ordering
other than the end model must be the last model in the sequence.
6.1.1 Modbus Address Location
All Modbus device maps MUST be in the holding register address space.
The beginning of the device Modbus map MUST be located at one of three Modbus addresses
in the Modbus holding register address space: 0, 40000 (0x9C40) or 50000 (0xC350). These
Modbus addresses are the full 16-bit, 0-based addresses in the Modbus protocol messages.
The first two Modbus registers at the start address MUST have the following well-known
constant values as a marker: 0x5375, 0x6E53 (hexadecimal values of the ASCII string SunS).
6.1.2 Information Models
The Device Information Models MUST be placed contiguously, beginning immediately after the
SunS marker registers. Each Information Model MUST have registers corresponding to all the
points in the Information Model, including those specified as optional or unimplemented. Points
in a model MUST be placed such that there are no additional Modbus registers between points
specified in the model definition. Points that are not supported or have no valid value MUST be
assigned the appropriate unimplemented value based on the point type. There MUST NOT be
additional Modbus registers between Information Models in the device Modbus map.
The length point (L) in an information model instance MUST be set to the remaining number of
Modbus registers in the model following the length point.
34. SunSpec Device Information Model Specification 34 sunspec.org
A Modbus register map representing a Device Information Model MUST preserve the order of
points and groups defined within the model. Such Modbus register maps MUST have group
point elements placed before group elements, at lower register indices, and all instances of
repeated point or group elements MUST be consecutive.
6.1.3 End Model
The last Information Model in the device Modbus map MUST be a two-register empty model
with a model ID of 0xFFFF and a model length of 0.
6.2 Device Information Model Discovery
A discovery mechanism can be employed to determine the type and location of each of the
Information Models in the device map.
Device architects may choose to implement different collections of Information Models in
arbitrary order. In any implementation, after the Modbus address of a particular model is
determined, the Modbus location of the points in the model are then known based on the model
definition.
All Information Models start with an id register and a length register. This information is used to
step through or scan the Information Models even if the ID and contents of an Information Model
are not understood by the scanning application. This permits implementations to find and use
the Device Information Model(s) they understand and ignore those whose definitions are
unknown.
The following procedure is used for Information Model discovery:
1. Read the contents of addresses 0, 40000, and 50000 until the well-known marker is
found.
2. Repeat the following steps until a model id of 0xFFFF is found:
1) Read the next two registers to get the ID and length of the next Information
Model.
2) Add the length to the Modbus address of the next register after the length
register to determine the starting address of the subsequent Information Model.
3. When this process is complete, the Modbus address and ID of each Information Model is
known.
6.3 Modbus Functions
The Modbus interface MUST comply with the Modbus standard for the functionality specified in
this section.
The interface MUST support function code 3 (Read Holding Registers) and function code 16
(0x10) (Write Multiple Registers).
The interface MAY support function code 6 (Write Single Register). Implementations accessing
the SunSpec Modbus implementation MUST not depend on function code 6 being implemented.
If Modbus support is provided in the device, it MUST support a Modbus serial interface and/or a
Modbus TCP/IP interface.
6.4 Value Representation
35. SunSpec Device Information Model Specification 35 sunspec.org
Values are stored in big-endian order and MUST be compliant with the Modbus specification. All
integer values are documented as signed or unsigned. All signed values are represented using
a two’s-compliment format.
6.4.1 16-bit Integer Values
16-bit integers are stored using one register in big-endian order.
Modbus Register 1
Byte 0 1
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Table 8: Modbus 16-bit Integer Value Register
int16 Range: -32767... 32767 NOT IMPLEMENTED value: 0x8000
uint16 Range: 0 ... 65534 NOT IMPLEMENTED value: 0xFFFF
raw16 Range:
acc16 Range: 0 ... 65535 NOT ACCUMULATED value: 0x0000
enum16 Range: 0 ... 65534 NOT IMPLEMENTED value: 0xFFFF
bitfield16 Range: 0 ... 0x7FFF NOT IMPLEMENTED value: 0xFFFF
Pad Range: 0x8000 Always returns 0x8000
6.4.2 32-bit Integer Values
32-bit integers are stored using two registers in big-endian order.
Modbus Register 1 2
Byte 0 1 2 3
Bits 31 … 24 23 … 16 15 … 8 7 … 0
Table 9: Modbus 32-bit Integer Value Registers
int32 Range: ‐2147483647 ... 2147483647 NOT IMPLEMENTED value: 0x80000000
uint32 Range: 0 ... 4294967294 NOT IMPLEMENTED value: 0xFFFFFFFF
acc32 Range: 0 ... 4294967295 NOT ACCUMULATED value: 0x00000000
enum32 Range: 0 ... 4294967294 NOT IMPLEMENTED value: 0xFFFFFFFF
bitfield32 Range: 0 ... 0x7FFFFFFF NOT IMPLEMENTED value: 0xFFFFFFFF
ipaddr 32 bit IPv4 address NOT CONFIGURED value: 0x00000000
36. SunSpec Device Information Model Specification 36 sunspec.org
6.4.3 64-bit Integer Values
64-bit integers are stored using four registers in big-endian order.
Modbus Register 1 2
Byte 0 1 2 3
Bits 63 … 56 55 … 48 47 … 40 39 … 32
Table 10: Modbus 64-bit Integer Value High Registers
Modbus Register 3 4
Byte 4 5 6 7
Bits 31 … 24 23 … 16 15 … 8 7 … 0
Table 11: Modbus 64-bit Integer Value Low Registers
int64 Range: ‐9223372036854775807 ...
9223372036854775807
NOT IMPLEMENTED value:
0x8000000000000000
uint64 Range: 0 ... 18,446,744,073,709,551,615 NOT IMPLEMENTED value:
0xFFFFFFFFFFFFFFFF
acc64 Range: 0 ... 9223372036854775807 NOT ACCUMULATED value: 0
6.4.4 128-bit Integer Values
128-bit integers are stored using eight registers in big-endian order.
ipv6addr 128 bit IPv6 address Not Configured: 0
Table 12: Modbus 128-bit Integer Value Registers
ipv6addr 128 bit IPv6 address NOT CONFIGURED value: 0
6.4.5 String Values
Store variable length string values in a fixed size register range using a NULL (0 value) to
terminate or pad the string. For example, up to 16 characters can be stored in 8 contiguous
registers as follows.
Modbus Register 1 2 3 4 5 6 7 8
Byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Character E X A M P L E spc S T R I N G ! NULL
Table 13: Modbus String Value Registers
37. SunSpec Device Information Model Specification 37 sunspec.org
NOT_IMPLEMENTED value: all registers filled with NULL, or 0x0000
It is recommended that an empty string be represented with the first register, with a value of
0x0080.
Strings MUST be UTF-8 encoded.
6.4.6 32-bit Floating-point Values
Floating-point 32-bit values are encoded according to the IEEE 754 floating-point standard.
Modbus Register 1
Byte 0 1
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IEEE 754 sign Exponent Fraction
Table 14: Modbus 32-bit Floating-point Value High Register
Modbus Register 2
Byte 2 3
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IEEE 754 Fraction least
Table 15: Modbus 32-bit Floating-point Value Low Register
float32 Range: see IEEE 754 NOT IMPLEMENTED value: 0x7FC00000 (NaN)
6.4.7 64-bit Floating-point Values
Floating-point 64-bit values are encoded according to the IEEE 754 floating-point standard.
Modbus Register 1
Byte 0 1
Bits 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48
IEEE 754 sign Exponent Exponent Fraction
Table 16: Modbus 64-bit Floating-point Register 1
Modbus Register 2
Byte 2 3
Bits 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32
IEEE 754 Fraction
Table 17: Modbus 64-bit Floating-point Register 2
38. SunSpec Device Information Model Specification 38 sunspec.org
Modbus Register 3
Byte 4 5
Bits 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IEEE 754 Fraction
Table 18: Modbus 64-bit Floating-point Register 3
Modbus Register 4
Byte 6 7
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IEEE 754 Fraction
Table 19: Modbus 64-bit Floating-point Value Register 4
float64 Range: see IEEE 754 NOT IMPLEMENTED value:
0x7FF8000000000000
6.4.8 sunssf
SunSpec scale factor.
Modbus Register 1
Byte 0 1
Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Table 20: Modbus sunssf Value Registers
sunssf signed range: ‐10 ... 10 NOT IMPLEMENTED value: 0x8000
6.5 Modbus Error Handling
This section describes the required Modbus error handling procedures.
6.5.1 Unimplemented Registers
When reading an unimplemented register, the unimplemented value for the data point type
MUST be returned.
When writing an unimplemented register, a Modbus exception MUST be generated. The
Modbus exception MUST be either exception code 2, 3, or 4.
6.5.2 Writing Invalid Value
When writing an invalid value to a register, a Modbus exception MUST be generated. The
Modbus exception MUST be either exception code 2, 3, or 4.
39. SunSpec Device Information Model Specification 39 sunspec.org
If the register definition specifies a set of enumerated values and not all values are supported,
the invalid value behavior applies. If the register only supports a single valid value, the register
MUST remain writable and accept the writing the valid value. The register MUST NOT be
implemented as read-only.
6.5.3 Writing a Read-Only Register
When writing a read-only register, a Modbus exception MUST be generated. The Modbus
exception MUST be either exception code 2, 3, or 4.
6.6 Security
Modbus/TCP security SHALL be compliant with the Modbus/TCP Security specification
(http://modbus.org/docs/MB-TCP-Security-v21_2018-07-24.pdf).
40. SunSpec Device Information Model Specification 40 sunspec.org
7 Device Information Model Usage for JSON
This section specifies JSON Information Model instance encoding. An Information Model
instance contains the values associated with the defined content of a model.
The following rules apply for mapping Information Model content to a JSON encoded object:
• A Model element is represented as a JSON object.
• A Point Group element is represented as a JSON object.
• A Point element is represented as a JSON number or a JSON string. The mapping of
each point type is shown in Table 21: Point Type Mapping to JSON Type.
• Repeating elements are represented as a JSON array containing the repeated elements.
• Unimplemented values are omitted or contain a value of null.
41. SunSpec Device Information Model Specification 41 sunspec.org
Type JSON Encoding
int16 number
int32 number
int64 number
raw16 number
uint16 number
uint32 number
uint64 number
acc16 number
acc32 number
acc64 number
bitfield16 number
bitfield32 number
bitfield64 number
enum16 number
enum32 number
float32 number
float64 number
string string
sf number
pad N/A
ipaddr number or hexadecimal string or convert to IP address string (x.x.x.x)
ipv6addr hexadecimal string or convert to IP address string
eui48 number or hexadecimal string or convert to MAC string (xx:xx:xx:xx:xx:xx)
Table 21: Point Type Mapping to JSON Type
42. SunSpec Device Information Model Specification 42 sunspec.org
Appendix A: Model Definition Examples
This appendix contains examples of model definitions using both CSV encoding and canonical
JSON encoding. The same, simple sample model definition is used throughout the document for
both model definition and instance examples.
The example model definition is a simple model containing three points and a point group that
contains two points. The point group count is contained as a data point. The model is 550 and
the name of the model point group is SampleModel.
Spreadsheet Model Definition Example
The spreadsheet encoding provides a convenient mechanism for easily viewing the contents of
a device information model. The basis of the spreadsheet visualization is CSV encoding. This
example shows the CVS representation of the sample model definition and an example of the
information in spreadsheet form:
In the example, visual cues, such as color-coding point groups, are added for clarity. A
spreadsheet representation should not add to the model definition contents but may use visual
elements to help understand the model definition contents.
43. SunSpec Device Information Model Specification 43 sunspec.org
CSV Model Definition Encoding Example
The CSV encoding is the basis of the spreadsheet representation. As specified in the CSV
encoding section, the group hierarchy is represented by including the group hierarchy in the
group name. In this example, the Ctl group has the name of SampleModel.Ctl to explicitly
indicate the group hierarchy.
Address Offset,Group Offset,Name,Value,Count,Type,Size,Scale Factor,Units,RW
Access (RW),Mandatory (M),Static (S),Label,Description
Sample model definition to illustrate different model definition
elements,,,,,,,,,,,,,
,,SampleModel,,,group,,,,,,,Sample Model Label,Sample model model.
0,,ID,550,,uint16,,,,,M,,Sample Model name,Sample model model name.
1,,L,0,,uint16,,,,,M,,Sample Model Length,Sample model model length.
2,,DataPointA,,,int32,,DataPointSF,,,,,Data Point A,Data point A description.
4,,DataPointB,,,uint16,,,,,,,Data Point B,Data point B description.
5,,DataPointC,,,int16,,,,,,,Data Point C,Data point C description.
6,,DataPointSF,,,sunssf,,,,,,,Data Point Scale Factor,
7,,CtlPointSF,,,sunssf,,,,,,,Control Point Scale Factor,
8,,CtlCount,,,uint16,,,,,,,Count Point Group Count,
9,,Pad,,,pad,,,,,,,,
Control point group containing the control elements that repeat,,,,,,,,,,,,,
,,SampleModel.Ctl,,CtlCount,group,,,,,,,Control Points,Control point group
description.
,0,CtlPointA,,,enum16,,,,RW,,,Control Point A,Control point A description.
Control Point A enumerated values,,,,,,,,,,,,,
,,VALUE_A,1,,,,,,,,,Value A,Control point A value A description.
,,VALUE_B,2,,,,,,,,,Value B,Control point A value B description.
,,VALUE_C,3,,,,,,,,,Value C,Control point A value C description.
,1,CtlPointB,,,int16,,CtlPointSF,,RW,,,Control Point B,Control point B
description.
44. SunSpec Device Information Model Specification 44 sunspec.org
JSON Model Definition Encoding Example
This example shows the canonical JSON encoding of the device information model definition.
{
"group": {
"comments": [
"Sample model definition to illustrate different model definition elements"
],
"desc": "Sample model model.",
"groups": [
{
"comments": [
"Control point group containing the control elements that repeat"
],
"count": "CtlCount",
"desc": "Control point group description.",
"label": "Control Points",
"name": "Ctl",
"points": [
{
"access": "RW",
"desc": "Control point A description.",
"label": "Control Point A",
"name": "CtlPointA",
"size": 1,
"symbols": [
{
"comments": [
"Control Point A enumerated values"
],
"desc": "Control point A value A description.",
"label": "Value A",
"name": "VALUE_A",
"value": 1
},
{
"desc": "Control point A value B description.",
"label": "Value B",
"name": "VALUE_B",
"value": 2
},
{
"desc": "Control point A value C description.",
"label": "Value C",
"name": "VALUE_C",
"value": 3
}
],
"type": "enum16"
},
{
"access": "RW",
"desc": "Control point B description.",
"label": "Control Point B",
"name": "CtlPointB",
"sf": "CtlPointSF",
"size": 1,
"type": "int16"
}
],
"type": "group"
}
],
45. SunSpec Device Information Model Specification 45 sunspec.org
"label": "Sample Model Label",
"name": "SampleModel",
"points": [
{
"desc": "Sample model model name.",
"label": "Sample Model name",
"mandatory": "M",
"name": "ID",
"size": 1,
"type": "uint16",
"value": 550
},
{
"desc": "Sample model model length.",
"label": "Sample Model Length",
"mandatory": "M",
"name": "L",
"size": 1,
"type": "uint16",
"value": 0
},
{
"desc": "Data point A description.",
"label": "Data Point A",
"name": "DataPointA",
"sf": "DataPointSF",
"size": 2,
"type": "int32"
},
{
"desc": "Data point B description.",
"label": "Data Point B",
"name": "DataPointB",
"size": 1,
"type": "uint16"
},
{
"desc": "Data point C description.",
"label": "Data Point C",
"name": "DataPointC",
"size": 1,
"type": "int16"
},
{
"label": "Data Point Scale Factor",
"name": "DataPointSF",
"size": 1,
"type": "sunssf"
},
{
"label": "Control Point Scale Factor",
"name": "CtlPointSF",
"size": 1,
"type": "sunssf"
},
{
"label": "Count Point Group Count",
"name": "CtlCount",
"size": 1,
"type": "uint16"
},
{
"name": "Pad",
"size": 1,
46. SunSpec Device Information Model Specification 46 sunspec.org
"type": "pad"
}
],
"type": "group"
},
"id": 550
}
47. SunSpec Device Information Model Specification 47 sunspec.org
Appendix B: Model Instance Examples
This appendix contains examples of a model instance based on the sample model definition
shown in Appendix A. The model instance examples show the contents of the model definition
with the current values associated with each data point.
JSON Message Encoding Example
This example shows a JSON encoding of the sample model with associated values.
{"SampleModel": {
"id": 550,
"DataPointA": 120,
"DataPointB": 16,
"DataPointC": -3241,
"DataPointSF": 2,
"CtlPointSF": -1,
“CtlCount”: 3,
"Ctl": [
{
"CtlPointA": 2,
"CtlPointB": 102
},
{
"CtlPointA": 2,
"CtlPointB": 420
},
{
"CtlPointA": 1,
"CtlPointB": 310
}
]
}
}
MODBUS Message Encoding Example
The example shows a simplified Modbus map that contains the initial marker, sample model,
and end model. This shows the general Modbus map structure but is not complete because an
actual Modbus map contains additional models.
48. SunSpec Device Information Model Specification 48 sunspec.org
Modbus Address Register Contents Description
40000 ‘Su’ Beginning of models marker
40001 ‘nS’
40002 550 ID
40003 14 L
40004 0 DataPointA (high order word)
120 DataPointA (low order word)
40006 16 DataPointB
40007 -3241 DataPointC
40008 2 DataPointSF
40009 -1 CtlPointSF
40010 3 CtlCount
40011 0 Pad
40012 2 CtlPointA[0]
40013 102 CtlPointB[0]
40014 2 CtlPointB[1]
40015 420 CtlPointB[1]
40016 1 CtlPointC[2]
40017 310 CtlPointC[2]
40018 0 Pad
40019 0xFFFF End Model ID