Gå til innhold

Anbefalte innlegg

Hei,

 

Skal implementere en simulator som kommuniserer via modbus RTU. Dette skal da være en slave.

Jeg bruker .dll fra www.nmodbus.com Dette fungerer smertefritt når jeg bruker modbus tcp.

Men når jeg bruker RTU får jeg problemer.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.IO.Ports;
using Modbus;
using Modbus.Data;
using Modbus.Device;

namespace test
{
class Program
{
	static void Main(string[] args)
	{
		using (SerialPort slavePort = new SerialPort("COM1"))
		{
			// configure serial port
			slavePort.BaudRate = 9600;
			slavePort.DataBits = 8;
			slavePort.Parity = Parity.None;
			slavePort.StopBits = StopBits.One;
			slavePort.Open();

			byte unitID = 1;

			// create modbus slave
			ModbusSlave slave = ModbusSerialSlave.CreateRtu(unitID, slavePort);
			slave.DataStore = DataStoreFactory.CreateDefaultDataStore();

			slave.Listen();

		}




	}
}
}

 

Når koden kommer til slave.Listen(); fryser programmet helt. try/catch er heller ikke mulig. Har goodglet rundt men finner ikke noe rundt dette.

 

Setter stor pris på hint/tips da jeg står helt fast nå.. Dette er foresten en sample code fra siden jeg linket til over, jeg kan derfor ikke fatte hvorfor den ikke fungerer.

Endret av Dundersalt
Lenke til kommentar
Videoannonse
Annonse

hmm siden .listen(); skal ligge konstant å lytte på porten regner jeg med dette forusaker heng, altså programmet blir kjørende i denne metoden. La den derfor i en backgroundworker programmet kjører fint nå, men usikker på jeg tenker riktig ovenfor og at den ikke nå bare "henger i bakgrunnen".

 

Tester det uansett i morgen..

Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...