COM Schnittstelle für alle COM String gleichzeitig ändern

Antworten
EV1
Beiträge: 24
Registriert: Freitag 22. Februar 2019, 14:58

COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von EV1 » Dienstag 23. Juni 2020, 21:27

Hallo,

ich habe eben mit der Demo Version von Profilab Expert gespielt, weil ich diese Software eigentlich kaufen möchte, auch wegen dem Compiler, da ich Kunden eine Oberfläche zum Konfigurieren eines Steuergeräts über die serielle Schnittstelle/USB zur Verfügung stellen möchte.

Nun habe ich ca. 20 serielle Schnittstellen auf der Frontplatte platziert, welche jeweils einen Präfix mit dem Befehl beinhaltet, der herausgeschickt wird, wenn man eine Taste drückt. In einem Fenster wird dann die Antwort des Steuergeräts angezeigt.

Die serielle Schnittstelle muss ja auf den richtigen COM Port eingestellt werden. Wenn sich dieser ändert, dann muss man bei laufender Simulation über den Hardware Button alles 20 Schnittstellen markieren und dann auf den COM Port ändern.
Eine Funktion habe ich keine gefunden, die es ermöglicht verschiedene abgespeicherte Strings (ECU Befehle) über einen Tastendruck an eine COM Schnittstelle zu schicken.

Gibt es die Möglichkeit, dass man über die Simulation und einer Eingabe oder Auswahl den COM Port ändern kann, oder muss der Kunde den Hardware Button klicken und dann erst einmal die richtigen Schnittstellen markieren, um den COM Port ändern zu können?
Das wäre keine gute Sache, da ich auch noch andere Hardware anschließen möchte, die der Kunde ja nicht markieren und ändern sollte.

Oder welche Möglichkeiten habe ich noch, um über 20 Tasten/Buttons je einen ECU Befehl über einen COM Port zu schicken, ohne, dass bei einer Änderung des COM Ports 20 Schnittstellen über den Hardware Button ausgewählt und geändert werden müssen.

Vielen Dank für die Hilfe vorab.

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von IKT » Mittwoch 24. Juni 2020, 01:09

EV1 hat geschrieben:
Dienstag 23. Juni 2020, 21:27
Nun habe ich ca. 20 serielle Schnittstellen auf der Frontplatte platziert, welche jeweils einen Präfix mit dem Befehl beinhaltet, der herausgeschickt wird, wenn man eine Taste drückt. In einem Fenster wird dann die Antwort des Steuergeräts angezeigt.

Die serielle Schnittstelle muss ja auf den richtigen COM Port eingestellt werden. Wenn sich dieser ändert, dann muss ...
Nee, ich sehe absolut keinen Grund, die 20 Befehle nicht über eine einzige Schnittstelle zu senden.
(Serielle Schnittstelle, einmal korrekt eingestellt, verändert sich nicht ohne Benutzer Eingriff.)

Zum Beispiel:
String-Const (für je einen String)
danach eine String-Mux (zur Auswahl des Strings, der gesendet werden soll)
vor der seriellen Schnittstelle ....

(Nur mal so, als Denkanstoss.)
++++++
Gruss/regards IKT

EV1
Beiträge: 24
Registriert: Freitag 22. Februar 2019, 14:58

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von EV1 » Mittwoch 24. Juni 2020, 05:41

IKT hat geschrieben:
Mittwoch 24. Juni 2020, 01:09
Nee, ich sehe absolut keinen Grund, die 20 Befehle nicht über eine einzige Schnittstelle zu senden.
(Serielle Schnittstelle, einmal korrekt eingestellt, verändert sich nicht ohne Benutzer Eingriff.)

Zum Beispiel:
String-Const (für je einen String)
danach eine String-Mux (zur Auswahl des Strings, der gesendet werden soll)
vor der seriellen Schnittstelle ....

(Nur mal so, als Denkanstoss.)
Danke für die schnelle Antwort! :D

Verstehe, das mit dem String-Mux ist super, muss ich testen.
Danach hatte ich nicht geschaut, bzw. wusste nicht, dass es den gibt.

Die Serielle Schnittstelle ändert sich leider, wenn man z.B. den USB Port am Rechner wechselt, oder den Rechner selbst wechselt.
Ich möchte die Frontplatte weitestgehend selbsterklärend für den Anwender machen.

Habe mir gestern vorab die CD von ProfiLab Expert bei meinem Elektronikversandhändler mitbestellt.
Ich warte jetzt noch auf die Lieferung und baue die Schaltung nochmal auf. Melde mich dann wieder hier.

Aber die Einstellung des COM Ports geht nur über den Hardware Button?
Ein Objekt bzw. eine Funktion für die Frontplatte gibt es nicht, oder?

Für den seriellen Sender und Empfänger muss man z.B. den COM Port auch separat ändern.
Das lässt sich nicht irgendwie verknüpfen, oder?

VG

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von Mike D » Mittwoch 24. Juni 2020, 09:44

Moin,
alternativ zum Mux gibt es noch "COM Bytefolge senden"

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von IKT » Mittwoch 24. Juni 2020, 15:07

EV1 hat geschrieben:
Mittwoch 24. Juni 2020, 05:41
Für den seriellen Sender und Empfänger muss man z.B. den COM Port auch separat ändern. Das lässt sich nicht irgendwie verknüpfen, oder?
Dafür gibts COM-Request/Response (senden/empfangen).
EV1 hat geschrieben:
Mittwoch 24. Juni 2020, 05:41
Die Serielle Schnittstelle ändert sich leider, wenn man z.B. den USB Port am Rechner wechselt, oder den Rechner selbst wechselt.
Dafür können wir uns bei den Windows-Automatismen bedanken ... und USB.
Die einzige Lösung die mir einfällt ist: Benutzer-Anleitung schreiben (ich weiss, keiner will das tun, da es sowieso niemand jemals liest, allerdings ist man als Hersteller "aus dem Schneider").
++++++
Gruss/regards IKT

EV1
Beiträge: 24
Registriert: Freitag 22. Februar 2019, 14:58

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von EV1 » Freitag 26. Juni 2020, 21:47

Habe heute die Vollversion erhalten, alles super soweit. :D
Die Steuerung für die Konfiguration des Steuergeräts mit der seriellen Schnittstelle ist soweit klar, das werde ich demnächst in Angriff nehmen.
Danke nochmal für die Tipps!

Möchte zuvor noch eine Frontplatte für die Einstellung von 20 Registern über den Modbus Client machen.
Lesen und Schreiben der Register funktioniert einwandfrei.
Habe aber auch hier das Problem, dass ich bei der Änderung des COM Ports in der "Konfiguration Anwendung" des Modbus Clients 40 Einstellungen in Read und Write vornehmen muss.
Da ich dieses Frontpanel ebenfalls meinen Kunden in compilierter Form zur Verfügung stellen möchte, sollte dieser eigentlich nicht dazu genötigt werden, 40x den COM Port ändern zu müssen, 20x für Read und 20x für Write. Denn dann macht das keinen Sinn mehr.
Davon abgesehen, möchte ich aus Sicherheitsgründen nicht, dass der Kunde auch die Registeradressen etc. ändern kann, was er ja kann, wenn er in die "Konfiguration Anwendung" gehen muss.

Habe ich irgendetwas übersehen, oder ist das wirklich so?

tmm
Beiträge: 392
Registriert: Montag 23. Februar 2009, 06:38

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von tmm » Samstag 27. Juni 2020, 09:21

Hi,
die ComPort Nummern sind im "Kompilat" in dem Unterordner "Settings" in der Datei "Hardware.ini" abgelegt, vor dem Programmstart kannst du darin die gewünschten Änderungen vornehmen. Ob die Modbus Client Einträge dort auch geändert werden können weiss ich nicht.

Gruß MM

EV1
Beiträge: 24
Registriert: Freitag 22. Februar 2019, 14:58

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von EV1 » Samstag 27. Juni 2020, 10:10

Danke für den Tipp tmm! :D
Muss ich nochmal schauen. Habe auf den ersten Blick gestern nichts in der ini finden können. War glaube ich sogar leer, da es ja keine Hardware in dem Sinne ist.

Natürlich würde ich gerne eine kleine App schreiben, die zum Starten des Kompilats und der Einstellung der COM Ports in der ini oder sonstwo dient.

Bin gerade nicht im Büro, wenn ich zurück bin schaue ich nach und melde mich nochmal, ob ich etwas finden konnte. Ich hoffe, dass es hierfür irgendeine einfache Lösung gibt.

Vielleicht kann ja Abacom noch eine Möglichkeit nennen, wie man die COM Ports gemeinsam im Modbus Client ändern kann, oder es in ein Update des Clients aufnehmen.

VG

EV1
Beiträge: 24
Registriert: Freitag 22. Februar 2019, 14:58

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von EV1 » Samstag 27. Juni 2020, 18:06

Habe eben nachgeschaut, leider steht in der hardware.ini das Gleiche wie in den Hardware Einstellungen. :cry:

[1.MBL1]
Name=Modbus Client
Basisadresse=0000
hardwareini.jpg
hardwareini.jpg (17.81 KiB) 6742 mal betrachtet

tmm
Beiträge: 392
Registriert: Montag 23. Februar 2009, 06:38

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von tmm » Sonntag 28. Juni 2020, 08:22

Hi,
das ist doch das was du brauchst,
du machst dir mehrere "hardware.ini" Dateien und benennst diese irgendwie um, nur die "ini" mit den passenden Einstellungen nennst du vor dem Programmstart in "hardware.ini" um. Das funktioniert auf jeden Fall mit den COM-Ports (das mache ich wenns nicht anders geht so).

Gruß MM

EV1
Beiträge: 24
Registriert: Freitag 22. Februar 2019, 14:58

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von EV1 » Montag 29. Juni 2020, 05:48

tmm hat geschrieben:
Sonntag 28. Juni 2020, 08:22
Hi,
das ist doch das was du brauchst,
du machst dir mehrere "hardware.ini" Dateien und benennst diese irgendwie um, nur die "ini" mit den passenden Einstellungen nennst du vor dem Programmstart in "hardware.ini" um. Das funktioniert auf jeden Fall mit den COM-Ports (das mache ich wenns nicht anders geht so).

Gruß MM
Beim Modbus Client ist das leider ein anderer Port, der ist immer auf 0000.
Verstehe noch nicht ganz wofür dieser Wert ist, aber nicht für den COM Port.

Dann muss ich wohl eine Anleitung dem Kunden mitgeben, wie er den COM Port über den Gerätemanager in Windows ändert.
Das ist zwar nicht befriedigend, aber die einzige Möglichkeit, ohne dass er die Register im Kompilat bearbeiten kann und sich 40x durchklicken muss.

VG

tmm
Beiträge: 392
Registriert: Montag 23. Februar 2009, 06:38

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von tmm » Montag 29. Juni 2020, 18:12

Hi,

bei mir sieht eine Hardware.ini mit "COM senden" und "COM empfangen" so aus.
Hardware.png
Hardware.png (11.05 KiB) 6708 mal betrachtet
Warum du das so nicht siehst weiß ich allerdings nicht.

Gruß MM

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von abacom » Dienstag 30. Juni 2020, 07:08

Beim Modbus-Client gibt es keinen einheitlichen "Port". Jeder Request wird individuell auf einem COM-Port (RTU) oder einem Socket(TCP) ausgeführt. Dies könnten, etliche verschiedene Geräte und Anschlüsse sein. Hier wäre dann die Option "Anwendung konfigurieren" in Verbindung mit "Zur Laufzeit einstellbar" der einzig sinnvolle Weg. (Außer vielleicht die Verwendung der klassischen Modbus-Komponenten.)
ABACOM support

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von abacom » Dienstag 30. Juni 2020, 07:20

Übrigens sind im MB-Client mehrere Requests mit <STRG>+Klick (engl. <CTRL+Click>) markierbar und lassen sich so auf einen Schlag ändern (Multi-Edit):
MB_MultEdit.jpg
MB_MultEdit.jpg (56.86 KiB) 6694 mal betrachtet
ABACOM support

EV1
Beiträge: 24
Registriert: Freitag 22. Februar 2019, 14:58

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von EV1 » Dienstag 30. Juni 2020, 11:28

Top, vielen Dank für den Hinweis!
Das hatte ich zwischenzeitlich auch herausbekommen und ist auf jeden Fall sehr hilfreich.
Man kann alle markieren und dann auch das vordefinierte Modbus Device nach unten auf die markierten Abfragen ziehen.

Für zukünftige Profilab Versionen oder Updates, wäre es ganz schön, wenn das Modbus Device einen Eingang bekommt, über den man die COM Schnittstelle für alle Anfragen im Device gleichzeitig ändern kann. Dieser Eingang wäre natürlich auch für andere Devices sehr hilfreich.

Das wäre sehr nützlich für die compilierten Frontplatten, die dem Kunden zur Verfügung gestellt werden. So kann er komfortabel die Schnittstelle ändern, ohne dass er über die Hardware Einstellungen auch alle Register und Einstellungen verändern kann und ggf. die Steuerung verstellt, was mich immer viel Zeit und Geld kostet, den Fehler zu analysieren und gemeinsam mit dem Kunden abzustellen. Genau das wollte ich mit Profilab eigentlich in Griff bekommen.

Die Alternative, die bleibt, ist ein fixer zweistelliger COM Port, und den Kunden darum bitten, den COM Port im Gerätemanager dem seriellen Anschluss zuzuweisen.

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von IKT » Dienstag 30. Juni 2020, 14:09

EV1 hat geschrieben:
Dienstag 30. Juni 2020, 11:28
Die Alternative, die bleibt, ist ein fixer zweistelliger COM Port, und ...
*Nicht empfohlen, da alles was "hard-coded" ist, über kurz oder lang "ins Auge" geht.
Z.B. Du nimmst COM99, was nun, wenn schon jemand anderes, die gleiche Idee hatte?

*Ein Erfahrungswert über die Jahre.
++++++
Gruss/regards IKT

EV1
Beiträge: 24
Registriert: Freitag 22. Februar 2019, 14:58

Re: COM Schnittstelle für alle COM String gleichzeitig ändern

Beitrag von EV1 » Samstag 4. Juli 2020, 07:59

Verstehe ich, aber auch dieser lässt sich zur Not ändern.
Habe jetzt so viele separate Devices, dass es unmöglich für den Anwender ist, alle manuell zu ändern.
Kann sie auch nicht zusammen fassen, da ansonsten beim Ändern alle geschrieben werden und beim anschließenden automatischen Auslesen, alle ausgelesen werden, was nicht gewünscht ist und zudem lange dauert.
Davon abgesehen, sollen die Register für den normalen Anwender nicht direkt zugänglich bzw. änderbar sein.

Danke für alle Tipps und Hinweise!

VG

Antworten

Zurück zu „Thema RS232“