ich bin grad beim Projektieren (Programmieren) einer Wago 750-833 mit Hardware usw.
Jetzt habe ich festgestellt dass die Vergabe der E/As Adressen von der eingesetzten Peripherie abhänig ist.
ana Es
dig Es
ana As
dig As
jetzt habe ich folgende Frage :
Wenn ich die HW erzeugt habe, die Steuerung in Betrieb gesetzt habe und zB ein Analogeingangsmodul ergänzen muss, dann schiebt es mir die digitalen Eingänge um ein Wort nach oben. dto. Ausgänge bei AAs.
Hat einer von Euch schon das Problem gehabt ?
Gibt es da eine Lösung ?
Grüsse & Danke
Michael
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Also als erstes ist es sehr sehr wichtig, dass die Klemmen in folgender Reihenfolge gesetzt werden: Controller > Digital > Analog
Hat den Grund, weil die Spannung für die Analogen Klemmen nicht durch die Digitalen weitergegeben wird!
Und ja, wenn Du erweitern möchtest, dann verschiebt sich das ganze! Benutzt Du denn die Steuerungskonfiguration der Codesys, um Deinen Feldbusknoten zu erstellen?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Also die HW-Konfiguration per Hand zu machen, á la DI1 AT %MX0.1 etc... ist doch sehr mühselig, da man sich mit der Steuerungskonfiguration der Codesys ne Menge Arbeit abnimmt!
Also unten links auf den Registerreiter Ressourcen klicken und dann in der Baumstruktur auf Steuerungskonfiguration.
Jetzt rechts im Fenster einen Rechtsklick auf K-BUS und 'Unterelemente anhängen' wählen. Jetzt kann man ganz einfach die Klemmen auswählen, aus denen der Feldbusknoten besteht und sie in der Reihenfolge ansetzen, wie sie tatsächlich im Knoten zusammengesteckt sind.
Anschlißend brauch ich dann nur noch die einzelnen Klemmen mit dem '+' zu öffnen und den Hardwareadressen Namen zuweisen... Zusätzlich ist auch noch Platz für ein Kommentar!
Und wenn ich dann mal etwas nachrüste, kann ich das ganz einfach in dem Steuerungskonfigurator machen, um direkt nachzuvollziehen, wo sich was verschiebt.
Hoffe, dass ist einigermaßen verständlich...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
um zu verhindern, dass die analogen adressen bei erweiterungen der digitalen klemmen nach oben rutschen, gibts die möglichkeit für die digitalen adressen (eigentlich sind sie ja binär ) einen offset vorzugeben. ich nehm immer offset 200 (=100 Worte). hat zur folge das die analogen werte auf %iw0..1..2 bzw. %Qw0..1..2 liegen und die binären bei %ix100.0 bzw %qx100.0. so verrückt bei erweiterung nix. ich glaub in der util.lib liegen die set_digital_input_offset und set_digital_output_offset. (ich weiß grad nich welche biblo das is, aber es gibt sie, das steht fest)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
man darf nur nicht vergessen, dass der offset in bytes angegeben wird und wago wortweise adressiert.
die beiden funktionen werden einfach irgendwo (vorzugsweise am anfang des programms) aufgerufen. der controller speichert die werte intern ab, es ist also nicht nötig, die funktionen immer wieder aufzurufen, ne initialisierungsprozedur reicht aus.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Forum,
ich bin grad beim Projektieren (Programmieren) einer Wago 750-833 mit Hardware usw.
Jetzt habe ich festgestellt dass die Vergabe der E/As Adressen von der eingesetzten Peripherie abhänig ist.
ana Es
dig Es
ana As
dig As
jetzt habe ich folgende Frage :
Wenn ich die HW erzeugt habe, die Steuerung in Betrieb gesetzt habe und zB ein Analogeingangsmodul ergänzen muss, dann schiebt es mir die digitalen Eingänge um ein Wort nach oben. dto. Ausgänge bei AAs.
Hat einer von Euch schon das Problem gehabt ?
Gibt es da eine Lösung ?
Grüsse & Danke
Michael
Also als erstes ist es sehr sehr wichtig, dass die Klemmen in folgender Reihenfolge gesetzt werden: Controller > Digital > Analog
Hat den Grund, weil die Spannung für die Analogen Klemmen nicht durch die Digitalen weitergegeben wird!
Und ja, wenn Du erweitern möchtest, dann verschiebt sich das ganze! Benutzt Du denn die Steuerungskonfiguration der Codesys, um Deinen Feldbusknoten zu erstellen?
Normalerweise bin ich es gewöhnt eine HW Konfiguration zu machen.
Aber ich glaube man kann es auch ohne die Steuerungskonfiguration von Codesys erledigen. Aber da ich "newbie" bin ich gern für Vorschläge offen.
Muss ich die EAs moven ? oder so ?
Also die HW-Konfiguration per Hand zu machen, á la DI1 AT %MX0.1 etc... ist doch sehr mühselig, da man sich mit der Steuerungskonfiguration der Codesys ne Menge Arbeit abnimmt!
Also unten links auf den Registerreiter Ressourcen klicken und dann in der Baumstruktur auf Steuerungskonfiguration.
Jetzt rechts im Fenster einen Rechtsklick auf K-BUS und 'Unterelemente anhängen' wählen. Jetzt kann man ganz einfach die Klemmen auswählen, aus denen der Feldbusknoten besteht und sie in der Reihenfolge ansetzen, wie sie tatsächlich im Knoten zusammengesteckt sind.
Anschlißend brauch ich dann nur noch die einzelnen Klemmen mit dem '+' zu öffnen und den Hardwareadressen Namen zuweisen... Zusätzlich ist auch noch Platz für ein Kommentar!
Und wenn ich dann mal etwas nachrüste, kann ich das ganz einfach in dem Steuerungskonfigurator machen, um direkt nachzuvollziehen, wo sich was verschiebt.
Hoffe, dass ist einigermaßen verständlich...
um zu verhindern, dass die analogen adressen bei erweiterungen der digitalen klemmen nach oben rutschen, gibts die möglichkeit für die digitalen adressen (eigentlich sind sie ja binär ) einen offset vorzugeben. ich nehm immer offset 200 (=100 Worte). hat zur folge das die analogen werte auf %iw0..1..2 bzw. %Qw0..1..2 liegen und die binären bei %ix100.0 bzw %qx100.0. so verrückt bei erweiterung nix. ich glaub in der util.lib liegen die set_digital_input_offset und set_digital_output_offset. (ich weiß grad nich welche biblo das is, aber es gibt sie, das steht fest)
es ist die mod_com.lib
man darf nur nicht vergessen, dass der offset in bytes angegeben wird und wago wortweise adressiert.
die beiden funktionen werden einfach irgendwo (vorzugsweise am anfang des programms) aufgerufen. der controller speichert die werte intern ab, es ist also nicht nötig, die funktionen immer wieder aufzurufen, ne initialisierungsprozedur reicht aus.