문제

The device I'm developing has to support both CANopen and Modbus (RTU and TCP) communications. Is there any format of Electronic Data Sheet (e.g EDS or XDD) that can be used to define both?

I have tried using a couple of tools (Vector CANeds and ODVA EZ-EDS) to generate a simple EDS file that is compatible with both, even resorting to manually editing the files in a text editor, but the output from each appears similar, but fundamentally incompatible with the other.

Ideally I would like to use the CiA XDD format, as this would be relatively trivial to 'deserialize' from my desktop master application. However this appears to be totally CANopen oriented.

Any information, hints, tips or pointers anyone can provide would be greatly appreciated.

도움이 되었습니까?

해결책

The best I've come up with so far:

The OPC Foundation specifies an XML format for defining the data attributes, services, events, etc. of a device (see OPC Unified Architecture eBook - Mappings section - for more information), which can then be mapped by a server to provide the client with access to the remote properties and methods supported by the device. However, this is not a direct solution, because it is actually a third alternative and completely incompatible with both EDS and XDD formats.

On the other hand, it does provide a 'standard' format, commonly used by my end customers, that I can use to define my device, which I can easily serialise and deserialse in my desktop application and use to generate 'Object Dictionary' C source code for my embedded application.

It will then be necessary for me to define an interface that contains methods for serialising the device description objects, and provide an implementation of that interface in each of my Modbus and CANopen assemblies.

It's going to require a little more work than I originally hoped, but that's what I get paid for. :-)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top