Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von MartinH
Thema: Verweis auf DLL im kompilierte Projekt in ein Unterverzeichnis bringen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Du muss nur das in die app.config eintragen:


<runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <probing privatePath=".\DLL-Pfad" />
      </assemblyBinding>
   </runtime>

Thema: Vom wunderbaren Verhalten von Funkmäusen
Am im Forum: Smalltalk

Zitat von CoderboyPB
Das ist eine ernstgemeinte Frage, vielleicht hat ja jemand hier eine technische Erklärung dafür:

Wie lässt es sich zum Beispiel technisch erklären, dass das Ding plötzlich regelmäßig, aber zufällig bestimmt, bei einem einfachen Klick einen Doppelklick ausführt?

Ganz einfach: Die Taster prellen.
Das bedeutet, beim Klick schießt der Kontakt, springt kurz wieder auf, um dann wieder zu schließen.
Das ist eigendlich ein normales verhalten, was die Maus eigendlich intern unterdrücken muss, aber wohl nicht mehr macht.

Thema: [gelöst] OBD(II) über seriell bedienen
Am im Forum: Rund um die Programmierung

Wenn du mal in Google ODB c# eingibst, findest du fertige Libs für die Kommunikation.

Thema: [gelöst] OBD(II) über seriell bedienen
Am im Forum: Rund um die Programmierung

Da es immer sein kann, das die Daten nicht am Stück kommen, musst du auf jeden fall die Daten puffern.
Was das Ende-Zeichen ist, kann ich dir nicht sagen, das weiß ich nicht.
Aber bei Seriellen Übertragungen gigt es normalerweise immer Start- und Ende-Zeichen, eventuell auch noch Länge, BCC usw.

Thema: [gelöst] OBD(II) über seriell bedienen
Am im Forum: Rund um die Programmierung

Wie schließt du die Zeile in PUTTY ab?
Häng doch mal ein CRLF an deine Daten an.

Thema: [gelöst] Wie kann ich einen NTP Server selbst programmieren oder wo gibt es Unterlagen dazu?
Am im Forum: Rund um die Programmierung

Du kannst doch einfach einen Rechner als NTP Server aktivieren.
Windows bringt da alles mit.

Thema: Wie baue ich einen OPC Client in C#
Am im Forum: Rund um die Programmierung

Das hast du doch da:


 var itemsToCreate = new MonitoredItemCreateRequest[]
                      {
                                      new MonitoredItemCreateRequest { ItemToMonitor = new ReadValueId { NodeId = NodeId.Parse("ns=3;s=\"DbMachineConfiguration\".\"Parameter\".\"Lasertime\"")  , AttributeId = AttributeIds.Value }, MonitoringMode = MonitoringMode.Reporting, RequestedParameters = new MonitoringParameters { ClientHandle = 12345, SamplingInterval = -1, QueueSize = 0, DiscardOldest = true } }
                                           

da MonitoredItemCreateRequest ein Array ist, kannst du doch da einfach mehrere Items anlegen.

Thema: Wie baue ich einen OPC Client in C#
Am im Forum: Rund um die Programmierung

Das kann ich dir auch nicht sagen, ich kenne die LIB nicht.
Ich arbeite da mit den Softing Toolkits.

Thema: Wie baue ich einen OPC Client in C#
Am im Forum: Rund um die Programmierung

Du must den String richtig zusammenbauen. Das sind aber Grundlagen.


NodeId.Parse("ns=3;s=\"DbMachineConfiguration\".\"Parameter\".\"Laser\"")

Thema: Wie baue ich einen OPC Client in C#
Am im Forum: Rund um die Programmierung

Was heist geht nicht?

Thema: Wie baue ich einen OPC Client in C#
Am im Forum: Rund um die Programmierung

Zitat von thetrock
ns=3;s="DbMachineConfiguration"."Parameter"."Bedienung"

aber das geht ja nicht, da es mehrer Strings sind.

Warum mehrere Strings?
" ist einfach ein Zeichen mehr nicht.

Thema: Wie baue ich einen OPC Client in C#
Am im Forum: Rund um die Programmierung

die NodeID ist die "Adresse" des OPC Items.
Hier hast du Strings, die NodeID kann aber auch ein INT oder eine GUID sein.

Das Item hat dann verschiedene Properties.
Ein Property ist "Value", wo der Wert drin steht.

Thema: Wie baue ich einen OPC Client in C#
Am im Forum: Rund um die Programmierung

Wenn du die Node-ID kennst must du nicht zwangsweise browsen.
Du must die Items, die du benötigst, beim Server abonieren, damit bekommst du die Wertänderungen.
Wenn der Server ein Schreiben des Wertes zulässt, kannst du dann auch den Wert ändern.

Thema: Wie baue ich einen OPC Client in C#
Am im Forum: Rund um die Programmierung

Die Node-ID kommt vom Server, die brauchst du auch zur Zuordnung.

Nach dem Browsen solltest du ja alle Node-ID's haben, du gibst ja beim Browsen an, das du auch die Variablen haben möchtest.

Browsen und setzen von Werten sind aber zwei unterschiedliche Dinge.

Normalerweise must du ein Property des OPC-Items setzen.

Thema: GruppenSeparatoren werden im DMC nicht erkannt
Am im Forum: GUI: Windows-Forms

Was sagt denn der debugger?
Welche Daten empfänst du denn?
Hast du dir die Rohdaten mal angeschaut (Empfangene Bytes)?

Thema: Kennt ihr eine Stempeluhr mit Fingerprint, RFID mit programmierbarer Schnittstelle?
Am im Forum: Smalltalk

Schau dir mal DataFox an.
Die haben solche Terminals.

Thema: Senden über SerialPort funktioniert nur nach ButtonClick, nicht nach Methodenaufruf
Am im Forum: Grundlagen von C#

Hast du mal einen Breakpoint gesetzt, ob dein WriteLine überhaupt aufgerufen wird?

Eventuell ist der Port noch nicht offen und serialport1.IsOpen gibt noch false zurück.

Thema: UDP Probleme XP Embedded /Windows Server 2012
Am im Forum: Netzwerktechnologien

Erstelle mal eine neue eingehende Regel in der Firewall des 2012 Servers für den UDP Port.
Auch wenn die Firewall ausgeschaltet ist, wird noch blockiert.

Thema: String auf Console gleichmässig tabellarisch formattieren
Am im Forum: Grundlagen von C#

Du kannst ja einfach mit PadLeft oder PadRight die Länge deiner Ausgaben festlegen.


meineFarbe.PadLeft(10," ")

edit: meineFarbe ist richtig :)

Thema: Erfahrungen gesucht: Maschinendaten an übergeordnetes System per OPC UA übergeben
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Was du brauchst, sind die Softing Toolkits. Damit kannst du recht einfach den Server und den Namespace aufbauen. Auch die ganze Security ist da mit drin.
Es sind auch Demo-Server und Demo-Client mit dabei, da kannst du dir den Aufbau und die Datenübergabe einfach anschauen.
Mit dem Datenprotokoll hast du da nichts zu tun. Du erzeugst ein Objekt, das die Daten bereitstellt.
Der Client sieht den Namen, den du vergibst und die Daten.
z.B. Binary-Datatype "Netzteil" mit den Zuständen "OK" und "Störung".

https://industrial.softing.com/de/produkte/software/opc-development-toolkits.html

Du kannst das ganze wie bei OPC classic aufbauen, ähnlich OPC DA und OPC AE.
Bei UA ist das ganze eine Baumstruktur mit Nodes.

Thema: Erfahrungen gesucht: Maschinendaten an übergeordnetes System per OPC UA übergeben
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Ich habe das Toolkit von Softing genommen.
Die Implementierung war eigendlich Problemlos, es gibt da auch einiges an Beispielen.

Thema: .dll Datein einer COM Schnittstelle auslesen
Am im Forum: Grundlagen von C#

Ich würde sagen, das das SDK dir nur die Daten zur Verfügung stellt, die Daten werden aber bestimmt nicht von den Dll's irgendwohin (in eine Datei) geschrieben.

Zitat
.... Hardware COM Schnittstelle denke ich gar nicht schnell genug übertragen werden könnten.

denkst du oder weist du? ;)

Thema: [BEANTWORTET] .csv Items in ListView auslesen
Am im Forum: Grundlagen von C#

In einem CSV kann aber auch im Text ein ";" vorkommen, dann funktioniert dein Einlesen nicht mehr richtig.

Nimm zum Einlesen besser den TextFieldParser. Dazu must du mit using Microsoft.VisualBasic.FileIO mit einbinden.
Dann kannst du auch ganz einfach auf die Daten zugreifen.

Thema: Bitmap per TCP von Sensor empfangen
Am im Forum: Netzwerktechnologien

Da machst du noch was falsch.
Poste doch mal deinen Code.

- Client erstellen
- IP-Adresse und Port einstellen
- starten

der Client verbindet sich mit dem Server, bei einem Disconnect wird versucht
den Server wieder zu erreichen.

Nach dem Connect-Event kannst du die Daten senden.

Für den Disconnect (wenn nötig) erweiter doch einfach den Client mit einem Disconnect. Das Socket-Objekt hat doch die Methode Disconnect.

Thema: Bitmap per TCP von Sensor empfangen
Am im Forum: Netzwerktechnologien

Verbindung trennen must du dir noch selbst einbauen.

Du bekommst ja den Connect und Disconnect Event, damit kennst du den Verbindungszustand. Das Problem sind Verbindungsabbrüche wenn der Server (dein Sensor) z.B. ausgesteckt wird. Dann bekommst du das erst mit dem nächsten Senden von Daten mit.

Thema: Bitmap per TCP von Sensor empfangen
Am im Forum: Netzwerktechnologien

Du kannst doch einfach die Daten in eine List<byte> über .AddRange anhängen.
Bei erreichter Länge über .ToArray() das Byte-Array für das Bitmap erstellen.

Thema: Bitmap per TCP von Sensor empfangen
Am im Forum: Netzwerktechnologien

Was hast du bis jetzt?
Zeig das doch mal.

Thema: Bitmap per TCP von Sensor empfangen
Am im Forum: Netzwerktechnologien

Also die Protokollbeschreibung würde ich als ausreichend sehen.
Es kommen die Daten 4 Bytes Ticketnummer, 9 Bytes Datenlänge + Bilddaten
Somit musst du insgesamt Datenlänge + 13 Bytes empfangen.

Ich hab dir mal einen alten Client von mir angehängt.


        private CommunicationClient ServerConnection = new CommunicationClient();
		

		   ServerConnection.ServerIP = deineServerIP;
            ServerConnection.Port = deinTcpPort;
            ServerConnection.ConnectEvent += new EventHandler(ServerConnection_ConnectEvent);
            ServerConnection.DisconnectEvent += new EventHandler(ServerConnection_DisconnectEvent);
            ServerConnection.NewMessageEvent += new CommunicationClient.mEventHandler(ServerConnection_NewMessageEvent);
            ServerConnection.NewLogEvent += new CommunicationClient.mLogEventHandler(ServerConnection_NewLogEvent);
            ServerConnection.StartClient();

Damit bekommst du die Bytes im Event übertragen

in dem Event kannst du dann die Nachricht prüfen z.B.


int ticketID;
int DataLenght;
 int.TryParse(Encoding.ASCII.GetString(message, 0, 4), out ticketD);
 int.TryParse(Encoding.ASCII.GetString(message, 4, 9), out DataLenght);

Wenn die Empfangenen Daten < der berechneten Datenlänge ist, die nächten Daten anhängen, wenn alle Daten da sind, die dann weiterverarbeiten.

Thema: Bitmap per TCP von Sensor empfangen
Am im Forum: Netzwerktechnologien

Je nach länge der Daten wirst du mehrere Events bekommen.
Mit dem 1. Event enthältst du die Ticketnummer und die Bilddatenlänge, damit kennst du die Gesamtlänge der Daten.
Du must dann die Daten anhängen, bis du alle Daten empfangen hast.
Danach kannst du aus den Bilddaten das Bitmap erstellen.

Thema: simples TCP Paket an Mikrocontroller senden funktioniert mit dem einen Code, mit dem anderen nicht
Am im Forum: Netzwerktechnologien

wird bei dem Tool eventuell noch ein CR/LF mitgesendet?