Gå til innhold

C#: [Løst]Får ikke skrevet til varibler utenfor metode


Anbefalte innlegg

Hei,

 

Nybegynner i C# så litt startproblemer..

 

 public void start()
	{
		try
		{

				ipaddr.Text = ip;
				string[] MyInts = ip.Split('.');
				ArrayList RealInts = new ArrayList();

				for (int i = 0; i < MyInts.Length; i++)
				{
					RealInts.Add(Convert.ToInt32(((string)MyInts[i]).Trim()));
				}


				IPAddress address = new IPAddress(new byte[] { byte.Parse(MyInts[0]), byte.Parse(MyInts[1]), byte.Parse(MyInts[2]), byte.Parse(MyInts[3]) });
				TcpListener slaveTcpListener = new TcpListener(address, port);


				ModbusSlave slave = ModbusTcpSlave.CreateTcp(slaveID, slaveTcpListener);

				slaveTcpListener.Start();


				slave.DataStore = DataStoreFactory.CreateDefaultDataStore();
				slave.DataStore.HoldingRegisters[5] = rpm;
				slave.DataStore.HoldingRegisters[6] = 2;
				slave.Listen();



		}
		catch (Exception t)
		{
		  richTextBox1.Text = "Error: " + t.Message;
		}

		button1.Text = "Simulating";

	}

 

Dette er et utdrag fra en modbus slave. Register verdiene skal være dynamiske (feks variablen rpm). Problemet er at jeg ikke kan skrive til slave.DataStore... andre steder enn nne i denne metoden.

 

Ønsker noe som dette

 

	public void RPMinput_Scroll(object sender, EventArgs e)
	{

		slave.DataStore.HoldingRegisters[5] = rpm;

	}

 

Dette gir feilen "the name "slave" does not excist in the current context.

 

Noen som har noen tips til hvordan jeg kan få dette dynamisk?

Endret av Dundersalt
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...