_ioPath() {
        const LOGICAL = CIP.EPATH.segments.LOGICAL;
        const path = LOGICAL.build(LOGICAL.types.Special, 0x04);
        const vendorID = Buffer.from([0x00, 0x00]);
        const deviceType = Buffer.from([0x00, 0x00]);
        const productCode = Buffer.from([0x00, 0x00]);
        const compatMajorRevision = Buffer.from([0x00]);
        const minorRevision = Buffer.from([0x00]);

        const electronicKey = Buffer.concat([path, vendorID, deviceType, productCode, compatMajorRevision, minorRevision]);

        //Assembly Object Class
        const assemblyObjectClass = LOGICAL.build(LOGICAL.types.ClassID, 0x04);
        // Config Instance
        const configInstance = LOGICAL.build(LOGICAL.types.InstanceID, this.configInstance.assembly);
        // Output Instance
        const pointOT = LOGICAL.build(LOGICAL.types.ConnPoint, this.outputInstance.assembly);
        // Input Instance
        const pointTO = LOGICAL.build(LOGICAL.types.ConnPoint, this.inputInstance.assembly);

        const cipPath = Buffer.concat([assemblyObjectClass, configInstance, pointOT, pointTO]);

        return(Buffer.concat([electronicKey, cipPath]));
    }
/**
     * Generates path to IO assembly instances
     */
Generates path to IO assembly instances
Generates path to IO assembly instances
_ioPath() {
        const LOGICAL = CIP.EPATH.segments.LOGICAL;
        const path = LOGICAL.build(LOGICAL.types.Special, 0x04);
        const vendorID = Buffer.from([0x00, 0x00]);
        const deviceType = Buffer.from([0x00, 0x00]);
        const productCode = Buffer.from([0x00, 0x00]);
        const compatMajorRevision = Buffer.from([0x00]);
        const minorRevision = Buffer.from([0x00]);
        const electronicKey = Buffer.concat([path, vendorID, deviceType, productCode, compatMajorRevision, minorRevision]);
        const assemblyObjectClass = LOGICAL.build(LOGICAL.types.ClassID, 0x04);
        const configInstance = LOGICAL.build(LOGICAL.types.InstanceID, this.configInstance.assembly);
        const pointOT = LOGICAL.build(LOGICAL.types.ConnPoint, this.outputInstance.assembly);
        const pointTO = LOGICAL.build(LOGICAL.types.ConnPoint, this.inputInstance.assembly);
        const cipPath = Buffer.concat([assemblyObjectClass, configInstance, pointOT, pointTO]);
        return(Buffer.concat([electronicKey, cipPath]));
    }
_ioPath ( ) { const LOGICAL = CIP . EPATH . segments . LOGICAL ; const path = LOGICAL . build ( LOGICAL . types . Special , 0x04 ) ; const vendorID = Buffer . from ( [ 0x00 , 0x00 ] ) ; const deviceType = Buffer . from ( [ 0x00 , 0x00 ] ) ; const productCode = Buffer . from ( [ 0x00 , 0x00 ] ) ; const compatMajorRevision = Buffer . from ( [ 0x00 ] ) ; const minorRevision = Buffer . from ( [ 0x00 ] ) ; const electronicKey = Buffer . concat ( [ path , vendorID , deviceType , productCode , compatMajorRevision , minorRevision ] ) ; const assemblyObjectClass = LOGICAL . build ( LOGICAL . types . ClassID , 0x04 ) ; const configInstance = LOGICAL . build ( LOGICAL . types . InstanceID , this . configInstance . assembly ) ; const pointOT = LOGICAL . build ( LOGICAL . types . ConnPoint , this . outputInstance . assembly ) ; const pointTO = LOGICAL . build ( LOGICAL . types . ConnPoint , this . inputInstance . assembly ) ; const cipPath = Buffer . concat ( [ assemblyObjectClass , configInstance , pointOT , pointTO ] ) ; return ( Buffer . concat ( [ electronicKey , cipPath ] ) ) ; }
Generates path to IO assembly instances
Generates path to IO assembly instances
//Assembly Object Class // Config Instance // Output Instance // Input Instance