We present the novel concept CANopen.NET. In this concept we integrate Windows GUI-programming in .NET and control-applications based on CANopen. The integration is automated, thus no programming is needed.
An increasing number of CAN-based systems are equipped with Windows-based graphical user-interfaces (GUIs). Today, the .NET framework provides the most attractive solutions for design of GUIs both i Windows and WindowsCE. However, transferring information between the CANopen-domain (which is typically unmanaged code) and the .NET-domain (managed code) is non trivial. Traditional methods require handwritten pieces of code both in the managed and unmanaged domain for each signal (object-dictionary entry). This means that adding or modifying signals to the system becomes tedious, error-prone and expensive.
In .NET high-level abstractions like XML-documents, web-servers and databases are easily accessible and can be bound to graphical controls. Hence, in CANopen.NET we provide a .NET-database interface via the .NET type "dataset" to the data in the object dictionary. This dataset is automatically generated from a CANopen profile-specification (EDS-file). Also, the CANopen-stack is automatically configured from the EDS-file. Hence, CANopen.NET provides a programming-less interconnection between CANopen-based control-applications and Windows.NET-based GUI-applications. This significantly eases the development of CANopen-systems with GUIs.