Package promauto.jroboplc.roboplant

Source Code of promauto.jroboplc.roboplant.MdtaTest

package promauto.jroboplc.roboplant;

import static org.junit.Assert.*;

import org.junit.Test;

import promauto.jroboplc.JRoboUtils;
import promauto.jroboplc.Module;
import promauto.jroboplc.Tag;
import promauto.jroboplc.roboplant.Mdta;
import promauto.jroboplc.roboplant.RoboplantAddressConvertor;

public class MdtaTest {

  @Test
  public void testExecute() {
    System.out.println("\n\n\n===== MdtaTest");

   
    // emulating io modules
    RoboplantAddressConvertor.add(1, "mod1", "Input%02d", true);
    RoboplantAddressConvertor.add(1, "mod2", "Output%02d", false);
   
    Module m0 = new Module();
    m0.moduleName = "mod0";

    Module m1 = new Module();
    m1.moduleName = "mod1";
   
    Module m2 = new Module();
    m2.moduleName = "mod2";
   
   
    try {
      JRoboUtils.clearModules();
      JRoboUtils.addModules(m0);
      JRoboUtils.addModules(m1);
      JRoboUtils.addModules(m2);
    } catch (Exception e) {
    }
   
    Tag in0 = m1.tagTable.createTag("Input00", 0);
    Tag in1 = m1.tagTable.createTag("Input01", 0);
    Tag in2 = m1.tagTable.createTag("Input02", 0);
    Tag in3 = m1.tagTable.createTag("Input03", 0);
    Tag out0 = m2.tagTable.createTag("Output00", 0);
    Tag out1 = m2.tagTable.createTag("Output01", 0);
    Tag out2 = m2.tagTable.createTag("Output02", 0);
   
   
    Mdta m = new Mdta(m0, "333", "test device");
   
    // 1
    m.channel.tagChannel.set( 0x500 );
    m.execute();
    assertEquals(m.tagSost.get(),     0xFE);

    m.channel.tagChannel.set( 0x100 );
    m.execute();
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.channel.tagName.getString(),   "mod1@Input00");
   
    // 2 delays=0
    in0.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
   
    in0.set(0);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
   
    // 3 delays > 0
    m.tagDlyDrebezg.set(1);
    m.tagDlyOutput.set(3);
    in0.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     1);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     1);
    assertEquals(m.tagValue.get(),     1);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     1);
    assertEquals(m.tagValue.get(),     1);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     1);
    assertEquals(m.tagValue.get(),     1);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);
   
    m.tagBlok.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     4);
    assertEquals(m.tagValue.get(),     1);
   
    in0.set(0);
    m.tagBlok.set(0);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     0);

    // 4 trigger
    m.tagFlags.set(1);
    m.tagDlyDrebezg.set(0);
    m.tagDlyOutput.set(0);
    in0.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);
   
    in0.set(0);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     2);
    assertEquals(m.tagValue.get(),     0);
   
    m.tagTrigres.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     0);
    m.tagTrigres.set(0);
   
    // 5 MchaSost=2
    m.tagFlags.set(2);
    in0.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     1);
    assertEquals(m.tagValue.get(),     1);
   
    m.tagMchaSost.set(2);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     1);
    assertEquals(m.tagValue.get(),     1);
   
    m.tagMchaSost.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);

    in0.set(0);
    m.execute();
   
    // 6 MchaSost=4
    m.tagMchaSost.set(0);
    m.tagFlags.set(5);
    in0.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     1);
    assertEquals(m.tagValue.get(),     1);
   
    m.tagMchaSost.set(2);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);
   
    m.tagMchaSost.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);

    in0.set(0);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     2);
    assertEquals(m.tagValue.get(),     0);
   
    m.tagMchaSost.set(0);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     0);
   
    // 7 Flags=0xD
    m.tagFlags.set(0xD);
    m.tagMchaSost.set(0);
    in0.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     1);
    assertEquals(m.tagValue.get(),     1);
   
    m.tagMchaSost.set(2);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);
   
    m.tagMchaSost.set(0);
    m.execute();

    // 7 Flags.b5b4 = 1
    m.tagFlags.set(0x10);
    m.tagDlyDrebezg.set(3);
    m.tagMchaSost.set(0);
    in0.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);
   
    in0.set(0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     0);
   
    // 8 Flags.b5b4 = 2
    m.tagFlags.set(0x20);
    m.tagDlyDrebezg.set(3);
    m.tagMchaSost.set(0);
    in0.set(1);

    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     1);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     1);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     1);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);
   
    in0.set(0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     0);
   
    // 9 Flags.b5b4 = 2
    m.tagFlags.set(0x30);
    m.tagDlyDrebezg.set(3);
    m.tagMchaSost.set(0);
    in0.set(1);

    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     1);
   
    in0.set(0);
   
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     0);
   
    // 10 Transform = 10
    m.tagFlags.set(0);
    m.tagDlyDrebezg.set(0);
    m.tagTransform.set(10);

    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     10);

    m.tagBlok.set(1);
    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     4);
    assertEquals(m.tagValue.get(),     10);

    m.tagBlok.set(0);
    m.tagTransform.set(0xFFFF);

    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     0);

    // scaling
    m.tagPointV.set(10);
    m.tagPointP.set(100);

    in0.set(200);

    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     20);
   
    m.tagPointV.set(0);
    m.tagPointP.set(100);
    m.tagPointV1.set(10);
    m.tagPointP1.set(200);
    in0.set(150);

    m.execute();
    assertEquals(m.tagOutput.get(),   1);
    assertEquals(m.tagSost.get(),     3);
    assertEquals(m.tagValue.get(),     5);
   
    in0.set(50);

    m.execute();
    assertEquals(m.tagOutput.get(),   0);
    assertEquals(m.tagSost.get(),     0);
    assertEquals(m.tagValue.get(),     0);
   
   
  }

}
TOP

Related Classes of promauto.jroboplc.roboplant.MdtaTest

TOP
Copyright © 2018 www.massapi.com. 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.