Commit d2fc81fa authored by Pavel Vainerman's avatar Pavel Vainerman

(ModbusMaster): дореализовал тест функции 0x10

parent bbc88c78
......@@ -86,11 +86,10 @@
<item id="1019" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="31" mbfunc="0x10" iotype="AO" name="TestWrite10_1" textname="Тестовый регистр для 0x10"/>
<item id="1020" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="32" mbfunc="0x10" iotype="AO" name="TestWrite10_2" textname="Тестовый регистр для 0x10"/>
<!-- делаем дырку в регистрах, специально для проверки.. -->
<item id="1021" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="34" mbfunc="0x10" iotype="AO" name="TestWrite10_3" textname="Тестовый регистр для 0x10"/>
<item id="1022" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="35" mbfunc="0x10" iotype="AO" name="TestWrite10_4" textname="Тестовый регистр для 0x10"/>
<item id="1023" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="36" mbfunc="0x10" vtype="I2" iotype="AO" name="TestWrite10_5" textname="Тестовый регистр для 0x10"/>
<item id="1020" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="32" mbfunc="0x10" iotype="DO" name="TestWrite10_2" textname="Тестовый регистр для 0x10"/>
<item id="1021" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="33" mbfunc="0x10" iotype="AO" name="TestWrite10_3" textname="Тестовый регистр для 0x10"/>
<item id="1022" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="34" mbfunc="0x10" iotype="AO" name="TestWrite10_4" textname="Тестовый регистр для 0x10"/>
<item id="1023" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="35" mbfunc="0x10" vtype="I2" iotype="AO" name="TestWrite10_5" textname="Тестовый регистр для 0x10"/>
<item id="1024" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="38" mbfunc="0x0F" iotype="DO" name="TestWrite0F_1" textname="Тестовый регистр для 0x0F"/>
<item id="1025" mb="1" mbtype="rtu" mbaddr="0x01" mbreg="39" mbfunc="0x0F" iotype="DO" name="TestWrite0F_2" textname="Тестовый регистр для 0x0F"/>
......
......@@ -280,47 +280,118 @@ TEST_CASE("MBTCPMaster: 0x0F (force multiple coils)","[modbus][0x0F][mbmaster][m
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x10 (write register outputs or memories)","[modbus][0x10][mbmaster][mbtcpmaster]")
{
// InitTest();
FAIL("Test of '0x10'..not yet.. ");
InitTest();
{
ui->setValue(1019,0);
ui->setValue(1020,0);
ui->setValue(1021,0);
ui->setValue(1022,0);
REQUIRE( ui->getValue(1019) == 0 );
REQUIRE( ui->getValue(1020) == 0 );
REQUIRE( ui->getValue(1021) == 0 );
REQUIRE( ui->getValue(1022) == 0 );
msleep(polltime+100);
ModbusRTU::WriteOutputMessage q = mbs->getLastWriteOutput();
REQUIRE( q.addr == slaveADDR );
REQUIRE( q.start == 31 );
REQUIRE( q.quant == 6 );
REQUIRE( q.data[0] == 0 );
REQUIRE( q.data[1] == 0 );
REQUIRE( q.data[2] == 0 );
REQUIRE( q.data[3] == 0 );
}
{
ui->setValue(1019,100);
ui->setValue(1020,1);
ui->setValue(1021,10);
ui->setValue(1022,65535);
REQUIRE( ui->getValue(1019) == 100 );
REQUIRE( ui->getValue(1020) == 1 );
REQUIRE( ui->getValue(1021) == 10 );
REQUIRE( ui->getValue(1022) == 65535 );
msleep(polltime+100);
ModbusRTU::WriteOutputMessage q = mbs->getLastWriteOutput();
REQUIRE( q.addr == slaveADDR );
REQUIRE( q.start == 31 );
REQUIRE( q.quant == 6 );
REQUIRE( q.data[0] == 100 );
REQUIRE( q.data[1] == 1 );
REQUIRE( q.data[2] == 10 );
REQUIRE( q.data[3] == 65535 );
}
{
ui->setValue(1019,-100);
ui->setValue(1021,-10);
ui->setValue(1022,-32767);
REQUIRE( ui->getValue(1019) == -100 );
REQUIRE( ui->getValue(1021) == -10 );
REQUIRE( ui->getValue(1022) == -32767 );
msleep(polltime+100);
ModbusRTU::WriteOutputMessage q = mbs->getLastWriteOutput();
REQUIRE( q.addr == slaveADDR );
REQUIRE( q.start == 31 );
REQUIRE( q.quant == 6 );
REQUIRE( q.data[0] == (unsigned short)(-100) );
REQUIRE( q.data[2] == (unsigned short)(-10) );
REQUIRE( q.data[3] == (unsigned short)(-32767) );
}
SECTION("I2")
{
ui->setValue(1023,0xffffffff);
REQUIRE( ui->getValue(1023) == 0xffffffff );
msleep(polltime+100);
ModbusRTU::WriteOutputMessage q = mbs->getLastWriteOutput();
REQUIRE( q.addr == slaveADDR );
REQUIRE( q.start == 31 );
REQUIRE( q.quant == 6 );
REQUIRE( q.data[4] == 0xffff );
REQUIRE( q.data[5] == 0xffff );
}
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x14 (read file record","[modbus][0x14][mbmaster][mbtcpmaster]")
{
FAIL("Test of '0x14'..not yet.. ");
WARN("Test of '0x14'..not yet.. ");
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x15 (write file record","[modbus][0x15][mbmaster][mbtcpmaster]")
{
FAIL("Test of '0x15'..not yet.. ");
WARN("Test of '0x15'..not yet.. ");
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x2B (Modbus Encapsulated Interface","[modbus][0x2B][mbmaster][mbtcpmaster]")
{
FAIL("Test of '0x2B'..not yet.. ");
WARN("Test of '0x2B'..not yet.. ");
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x50 (set date and time","[modbus][0x50][mbmaster][mbtcpmaster]")
{
FAIL("Test of '0x50'..not yet.. ");
WARN("Test of '0x50'..not yet.. ");
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x53 (call remote service","[modbus][0x53][mbmaster][mbtcpmaster]")
{
FAIL("Test of '0x53'..not yet.. ");
WARN("Test of '0x53'..not yet.. ");
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x65 (read,write,delete alarm journal","[modbus][0x65][mbmaster][mbtcpmaster]")
{
FAIL("Test of '0x65'..not yet.. ");
WARN("Test of '0x65'..not yet.. ");
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: 0x66 (file transfer","[modbus][0x66][mbmaster][mbtcpmaster]")
{
FAIL("Test of '0x66'..not yet.. ");
WARN("Test of '0x66'..not yet.. ");
}
// -----------------------------------------------------------------------------
TEST_CASE("MBTCPMaster: exchangeMode","[modbus][exchangemode][mbmaster][mbtcpmaster]")
{
FAIL("Test of 'exchangeMode'..not yet.. ");
WARN("Test of 'exchangeMode'..not yet.. ");
}
// -----------------------------------------------------------------------------
......@@ -33,5 +33,5 @@ static void InitTest()
TEST_CASE("MBTCPMultiMaster","[modbus][mbmaster][mbtcpmultimaster]")
{
FAIL("Tests for MBTCPMaster not yet");
WARN("Tests for MBTCPMaster not yet");
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment