Package br.org.scadabr.dnp34j.master.common.utils

Examples of br.org.scadabr.dnp34j.master.common.utils.Buffer


   * slave device (WRITE function) with time or IIN requests, there's no
   * corresponding data in database
   */
  public Buffer buildRequestMsg(byte FC, byte group, byte variation,
      int start, int stop, boolean withData) throws Exception {
    Buffer requestFrame = new Buffer(S);
    requestFrame.writeBytes(buildHeader(FC, group, variation));

    if (stop < 256) {
      requestFrame.writeByte(START_STOP_8);
      requestFrame.writeByte((byte) start);
      requestFrame.writeByte((byte) stop);
    } else {
      requestFrame.writeByte(START_STOP_16);
      requestFrame.writeBytes(start);
      requestFrame.writeBytes(stop);
    }

    // if (withData) {
    // if (DataObject.getObjectType(group) == IIN) {
    // requestFrame.writeBytes(getIIN(start, stop));
View Full Code Here


   * (WRITE function) with time or IIN requests, there's no corresponding data
   * in database
   */
  public Buffer buildRequestMsg(byte FC, byte group, byte variation,
      int quantity, boolean withData) {
    Buffer requestFrame = new Buffer(S);
    requestFrame.writeBytes(buildHeader(FC, group, variation));

    if (quantity < 256) {
      requestFrame.writeByte(QUANTITY_8);
      requestFrame.writeByte((byte) quantity);
    } else {
      requestFrame.writeByte(QUANTITY_16);
      requestFrame.writeBytes(quantity);
    }

    if (withData) {
      if (group == 50) {
        requestFrame.writeBytes(DataObject.getTime(System
            .currentTimeMillis()));
      }
      // else {
      // requestFrame.writeBytes(dataMap.get(group, variation, 0,
      // quantity - 1));
View Full Code Here

   * Build a request from a user command This one is mostly used with a
   * CONTROL function
   */
  public Buffer buildRequestMsg(byte FC, byte group, byte variation,
      int[] values, boolean withData) {
    Buffer requestFrame = new Buffer(S);
    requestFrame.writeBytes(buildHeader(FC, group, variation));

    if (values[values.length - 1] < 256) {
      requestFrame.writeByte(INDEXES_8);
      requestFrame.writeByte((byte) values.length);

      if (withData) {
        // requestFrame.writeBytes(appRcv.getDataMap().get(group,
        // variation, values, (byte) 0x17));
      } else {
        byte[] byteValues = new byte[values.length];
        System.arraycopy(values, 0, byteValues, 0, values.length);
        requestFrame.writeBytes(byteValues);
      }
    } else {
      requestFrame.writeByte(INDEXES_16);
      requestFrame.writeBytes(values.length);

      if (withData) {
        // requestFrame.writeBytes(appRcv.getDataMap().get(group,
        // variation, values, (byte) 0x28));
      } else {
        requestFrame.writeBytes(values);
      }
    }

    return requestFrame;
  }
View Full Code Here

    // lnkRcv.start();

    trsFrame = new Buffer[user.getConfig().getDNPAddressList().length];

    for (int i = 0; i < user.getConfig().getDNPAddressList().length; i++) {
      trsFrame[i] = new Buffer(M);
    }

    trsFirstFrame = new boolean[user.getConfig().getDNPAddressList().length];

    for (int i = 0; i < user.getConfig().getDNPAddressList().length; i++) {
View Full Code Here

        setPhySERIAL(new PhySERIAL(this));

        setInputStream(phySERIAL.getInputStream());
        setOutputStream(phySERIAL.getOutputStream());
      }
      sendingBytes = new Buffer(S);
    } catch (Exception e) {
      this.close();
      throw new Exception("FALHA NA CONEX�O!");
    }
    return phyLayer;
View Full Code Here

  public AppRcv(DNPUser user) throws Exception {
    setUser(user);
    setConfig(user.getConfig());

    appRcvBuffer = new Buffer(M);
    appRcvQueue = new Queue();
    appRcvLock = new Lock();

    appFirstFrame = true;
    appLastSeq = 0;
    iin = new byte[2];
    frameRcv = new Buffer(M);

    transportLayer = user.getTranspLayer();
    dataMap = new DataMap(user);
    if (DEBUG) {
      System.out.println("[ApplicationLayer] initialized");
View Full Code Here

    int length = frameRcv.length();

    if (length > 4) {
      try {
        updateDatamap(new Buffer(M, frameRcv.value()));
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
View Full Code Here

   */
  private void buildConfirmMsg() throws Exception {
    byte[] aFrame = new byte[2];
    aFrame[0] = (byte) (0xC0 + (AC & 0x1F));
    aFrame[1] = CONFIRM;
    push(new Buffer(XS, aFrame), true);
  }
View Full Code Here

    BASIS[6] = ADDRESS_0;
    BASIS[7] = ADDRESS_1;

    setIgnoreNextBytes(0);

    setFrameRcv(new Buffer(M));

    currentRemoteStation = 1;

    setDNPAddressList(config.getDNPAddressList());
    receiveFcb = new boolean[DNPAddressList.length];

    sendFcb = new boolean[DNPAddressList.length];

    previousFrameRcv = new Buffer[DNPAddressList.length];

    for (int i = 0; i < DNPAddressList.length; i++) {
      previousFrameRcv[i] = new Buffer(M);
    }

  }
View Full Code Here

    case CON_DATA:
    case UNCON_DATA: {
      // handle
      frameRcv.incrOffset(10);

      Buffer trsFrame = new Buffer(S);
      int size = 0;

      while ((frameRcv.length() > 0) && (!error)) {
        size = Math.min(18, frameRcv.length());
        error |= !DnpCrc.checkCRC(frameRcv.value(0, size - 1));
        trsFrame.writeBytes(frameRcv.readBytes(size - 2));
        frameRcv.incrOffset(2);
      }

      // check if a confirmation is requiered
      if ((control & 0x0F) < 4) {
View Full Code Here

TOP

Related Classes of br.org.scadabr.dnp34j.master.common.utils.Buffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.