src.dualinventive.com/fw/libdi_fw-tests/common/ditest-php/test/psu_cpx400.php

190 lines
3.8 KiB
PHP

<?php
require("../test_framework.php");
require("../equipment/psu_cpx400.php");
$t = new DiTest("PSU CPX400", true);
////
$t->step("new PsuCpx400()");
////
$psu = new PsuCpx400("192.168.23.65", 9221, false);
$psu->unlock(true);
$t->equal(false, $psu->isLocked());
////
$t->step("PsuCpx400->lock()");
$psu->lock();
$t->equal(true, $psu->isLocked());
////
$t->step("PsuCpx400->reset()");
////
$psu->reset();
$t->equal(0, $psu->getCurrent(1));
$t->equal(0, $psu->getCurrent(2));
$t->equal(0.01, $psu->getIncCurrent(1));
$t->equal(0.01, $psu->getIncCurrent(2));
$t->equal(0, $psu->getVoltage(1));
$t->equal(0, $psu->getVoltage(2));
$t->equal(0.01, $psu->getIncVoltage(1));
$t->equal(0.01, $psu->getIncVoltage(2));
////
$t->step("PsuCpx400->info()");
echo $psu->info();
////
$t->step("Channel 1 & 2 set/get min/max user-limit *current*");
////
$psu->setMinCurrent(1, 0.25);
$t->equal(0.25, $psu->getMinCurrent(1));
$psu->setMaxCurrent(1, 0.50);
$t->equal(0.50, $psu->getMaxCurrent(1));
$psu->setMinCurrent(2, 0.25);
$t->equal(0.25, $psu->getMinCurrent(2));
$psu->setMaxCurrent(2, 0.25);
$t->equal(0.25, $psu->getMaxCurrent(2));
$psu->setMinCurrent(1, 0);
$psu->setMaxCurrent(1, 0);
$psu->setMinCurrent(2, 0);
$psu->setMaxCurrent(2, 0);
////
$t->step("Channel 1 set/get *current*");
////
$psu->setCurrent(1, 1.23);
$t->equal(1.23, $psu->getCurrent(1));
$psu->setCurrent(1, 0);
$t->equal(0, $psu->getCurrent(1));
////
$t->step("Channel 1 increment *current*");
////
$psu->setCurrent(1, 0.0);
$t->equal(0, $psu->getCurrent(1));
$psu->setIncCurrent(1, 0.5);
$t->equal(0.50, $psu->getIncCurrent(1));
$psu->incCurrent(1);
$t->equal(0.50, $psu->getCurrent(1));
$psu->incCurrent(1);
$t->equal(1.00, $psu->getCurrent(1));
$psu->incCurrent(1);
$t->equal(1.50, $psu->getCurrent(1));
$psu->reset();
////
$t->step("Channel 1 & 2 set/get min/max user-limit *voltage*");
////
$psu->setMinVoltage(1, 0.25);
$t->equal(0.25, $psu->getMinVoltage(1));
$psu->setMaxVoltage(1, 0.50);
$t->equal(0.50, $psu->getMaxVoltage(1));
$psu->setMinVoltage(2, 0.25);
$t->equal(0.25, $psu->getMinVoltage(2));
$psu->setMaxVoltage(2, 0.50);
$t->equal(0.50, $psu->getMaxVoltage(2));
$psu->setMinVoltage(1, 0);
$psu->setMaxVoltage(1, 0);
$psu->setMinVoltage(2, 0);
$psu->setMaxVoltage(2, 0);
////
$t->step("Channel 1 get 100x *voltage*");
////
for ($i = 0; $i < 100; $i++) {
$t->equal(0.0, $psu->getVoltage(1));
}
////
$t->step("Channel 1 manual increment +0.50 until 5.00 *voltage*");
////
$psu->resetLimits();
for ($v = 0; $v < 5.00; $v += 0.50) {
$psu->setVoltage(1, $v);
$t->equal($v, $psu->getVoltage(1));
}
////
$t->step("Channel 1 set/get *voltage*");
////
$psu->setVoltage(1, 1.23);
$t->equal(1.23, $psu->getVoltage(1));
$psu->setVoltage(1, 0);
$t->equal(0, $psu->getVoltage(1));
////
$t->step("Channel 1 increment *voltage*");
////
$psu->setVoltage(1, 0.0);
$psu->setIncVoltage(1, 0.5);
$t->equal(0.50, $psu->getIncVoltage(1));
$psu->incVoltage(1);
$t->equal(0.50, $psu->getVoltage(1));
$psu->incVoltage(1);
$t->equal(1.00, $psu->getVoltage(1));
$psu->incVoltage(1);
$t->equal(1.50, $psu->getVoltage(1));
$psu->reset();
////
$t->step("Verify set voltage will not exceed set(Min/Max)");
////
$psu->setMinVoltage(1, 5.00);
$psu->setMaxVoltage(1, 7.50);
$t->equal(false, $psu->setVoltage(1, 4.99));
$t->equal(false, $psu->setVoltage(1, 7.51));
$t->equal(true, $psu->setVoltage(1, 5.00));
$t->equal(true, $psu->setVoltage(1, 6.50));
$t->equal(true, $psu->setVoltage(1, 7.50));
$psu->setMinVoltage(2, 2.50);
$psu->setMaxVoltage(2, 3.50);
$t->equal(false, $psu->setVoltage(2, 2.49));
$t->equal(false, $psu->setVoltage(2, 3.51));
$t->equal(true, $psu->setVoltage(2, 2.50));
$t->equal(true, $psu->setVoltage(2, 3.00));
$t->equal(true, $psu->setVoltage(2, 3.50));
////
$t->step("Cleanup");
////
$psu->reset();
$psu->outputsOff();
$psu->unlock();
$t->equal(false, $psu->isLocked());
//// Finish
$t->finish();