Click or drag to resize

Demo3D.PLC.Comms Namespaces

The Demo3D.PLC.Comms namespaces provides PLC (and other server) connectivity.
Namespaces
NamespaceDescription
Demo3D.PLC.Comms
The Demo3D.PLC.Comms namespace provides a set of built-in Demo3D communication protocols.
Demo3D.PLC.Comms.AttrDb
Demo3D.PLC.Comms.Builtin
The Demo3D.PLC.Comms.Builtin namespace provides default and example protocol implementations.
Demo3D.PLC.Comms.CIP
Demo3D.PLC.Comms.CIP.AttrDb
Demo3D.PLC.Comms.CIP.Nodes
Demo3D.PLC.Comms.CIP.Nodes.Motion
Demo3D.PLC.Comms.CPF
Demo3D.PLC.Comms.Memory
The Demo3D.PLC.Comms.Memory namespace provides features to access PLCs which expose a memory-based protocol or API.
Demo3D.PLC.Comms.Tag
The Demo3D.PLC.Comms.Tag namespace provides features to access PLCs which expose a tag-based protocol or API.
Remarks

PLC connectivity is broadly split into two types.

Tag
Tag-based servers expose PLC data points as explicit tags. They tend first to expose their symbol table detailing all the tags that the client can access, and then offer some API or protocol for the client to access tags. Examples include EtherNet/IP CIP Class 3, OPC (UA and DA), and BR Automation PVI.
Memory
Memory-based servers expose raw PLC memory, allowing the client (Demo3D) to read and write bytes of data direct to/from the memory in the PLC. Examples include Modbus, Siemens S7 Functions, and Beckhoff TwinCAT ADS. These servers may also expose a symbol table, the the symbols in the table are just a mapping from symbol name to memory address, and the underlying access is still direct to memory in the PLC.