Package com.automation_pros.odva.cip.data
Implementations of data encoding and decoding per ODVA's
CIP Specification, Volume 1, Appendix C, § C-2 and § C-4.1.
Also inludes vendor-specific extensions and variations as
needed to support Allen-Bradley™ ControlLogix™/CompactLogix™
and Omron™ NJ/NX processors.
All supported data encoding/decoding operations are implementations
of the abstract class
BaseDataType
.
All non-primitive data encoding/decoding operations are implemented
by the generic CipStruct
using
instances of StructDef
to
contain the structure member definitions.
Data types defined here also have corresponding DataDefinitionSeg
instances for description on the wire and to support arbitrary
user interfaces.-
Interface Summary Interface Description BitAddressable BoolHost DataContext A Data Context is a view into a collection of addressable objects, each containing an instance of BaseDataType.PermissionedItem StructDef.Aligner -
Class Summary Class Description AbstractTypesCtx BaseDataType<T> Implementation of core functionality of all CIP data types: Multi-dimensional arrays Shared-storage slices of arrays Non-zero first subscripts of arrays Payload get and set operations across multiple array elements Type code helpers for CIP and LogixBaseDate BaseString BaseTimestamp CipBOOL Rockwell's processors don't actually use BOOL variables in arrays.CipBOOL.CipBOOL16 Functionally identical, but uses 16-bit storage by default.CipBOOL.CipBOOL32 Functionally identical, but uses 32-bit storage by default.CipBOOL.CipBOOL64 Functionally identical, but uses 64-bit storage by default.CipBYTE CipDATE Unsigned days after 1972-01-01.CipDINT CipDT A combination of milliseconds since midnight of a particular day, encoded in four bytes, and unsigned number of days since 1972-01-01, encoded in two bytes.CipDWORD CipENGUNIT CipEPATH Packed and Padded EPath implementation, with variants, with options for no length prefix, an USINT length, or an UINT length.CipEPATH.CipPadEPATH CipETHMAC CipFTIME CIP microseconds durationCipINT CipIntlString CipITIME Signed milliseconds duration for CIP attributes and parameters.CipLINT CipLREAL CipLTIME Omron implementation of nanoseconds Time of Day.CipLWORD CipNTIME Omron implementation of nanoseconds Time of Day.CipODO CipOmronDT Wraps a ULINT or one of its subclasses in a type that will be interpreted as Zulu nanoseconds.CipREAL CipSGNODO CipShortSTRING CipSINT CipSTIME CipSTRING CipSTRING2 CipSTRINGI CipSTRINGI.IntlStringStorage CipStruct CipTIME Omron implementation of nanoseconds Time of Day.CipTOD CIP TIME_OF_DAYCipUDINT CipUINT CipULINT CipUSINT CipUTIME CipWallClock Wraps a ULINT or one of its subclasses in a type that will be interpreted as Zulu microseconds.CipWORD DataPathResolver DataResolver Data extraction helper, with support for selected transforms.DynEPATH DynUDINT DynUINT DynUSINT OmronBCD2 OmronBCD4 OmronBCD8 OmronBOOL Omron Booleans are chameleons for transfer on the wire.OmronDATENS Omron implementation of nanoseconds Time of Day.OmronDT OmronEnum OmronSTRING The Omron NJ/NX processor family implements its STRING datatype with varying semantics on the wire.OmronTIMENS Omron implementation of nanoseconds Time of Day.OmronTOD Omron implementation of nanoseconds Time of Day.PermissionedItem.LgxPermTracker Permissions tracker implementation for single items.PermStructDef Permissions are relatively fine-grained in Logix applications.PermStructMbr Permissions are relatively fine-grained in Logix applications.StructDef StructDef.ForceAligner StructDef.LogixAligner StructDef.SimpleAligner StructDefCtx StructMember