

if ((Evar == null) || (Qvar == null))
{

  exec.AddStatusmessage("Parameters: E<modbus address> Q<0|1>");
  exec.Stop();
  return;

}
if (Evar < 10 || Evar > 17)
	{

	  exec.AddStatusmessage("Only outputs 10-17");
	  exec.Stop();
	  return;

	}
	

ushort Eushort = Convert.ToUInt16(Evar);

int Qint = Convert.ToInt32(Qvar);

 ushort Writevalue = (ushort)AS3.Getfielddouble(2000);

if (Qint == 0)
{
	
	if(!exec.SetModbusregister(Eushort, 0))
	{
		exec.Callbutton(130); //Stop
		double gcodeline = Convert.ToDouble(AS3.Getfield(866)); //Hämta nuvarande gkod radnummer
		AS3.Setfield(gcodeline, 866); //Sätt gkod radnummer till samma
		AS3.Validatefield(866); //Validera fält
		exec.Callbutton(169); //Knapp Run from here
		exec.RemoveRunfromhere(); //Ta bort fråga efter ovan
		exec.Callbutton(512); //Estoppa 
		exec.AddStatusmessage("Fel vid skrivning till modbusregister");
		
		return;
	}
}
else
{
	if(!exec.SetModbusregister(Eushort, 1))
	{
		exec.Callbutton(130); //Stop
		double gcodeline = Convert.ToDouble(AS3.Getfield(866)); //Hämta nuvarande gkod radnummer
		AS3.Setfield(gcodeline, 866); //Sätt gkod radnummer till samma
		AS3.Validatefield(866); //Validera fält
		exec.Callbutton(169); //Knapp Run from here
		exec.RemoveRunfromhere(); //Ta bort fråga efter ovan
		exec.Callbutton(512); //Estoppa 
		exec.AddStatusmessage("Fel vid skrivning till modbusregister");
		
		return;
	}
}

//while(exec.IsMoving());