Beschreiben von Can-Bus-Variablen

nimloth
2008-04-08
2008-04-25
  • nimloth - 2008-04-08

    Hallo!

    Ich hab folgendes "problem".

    Ich habe eine Anlage mit normalerweise 5 Metronix reglern.

    Es ist so, dass die Regler den .nstatus 4 zurückmelden wenn sie im Can-bus bereit sind. sind alle Nodes die ich in codesys eingebunden hab auf 4 gesprungen so springt der nstatus des Masters auch auf 4.

    Daraufhin springt bei allen Teilnehmern der .nstatus auf 5 und der canbus ist betriebsbereit.

    Soweit alles klar.

    Jetzt möchte ich als Option einen 6. Regler einfügen. Ich möchte irgendwo in der visualisierung sagen: Das bauteil ist vorhanden, also benutze bitte 6 regler.

    Das problem ist wenn der 6. regler nicht vorhanden ist springt der nStatus nicht auf 4 und somit bleibt der Canbus Inaktiv. ich kann nur den Regler komplett aus der Steuerungskonifguration rausnehmen. Dann gehts natürlich ist aber etwas unschön.

    Gibt es eine möglichkeit dem Can-Bus vorzugaukeln dass der sechste regler doch vorhanden ist? also den .nstatus manuell auf 4 und dann 5 setzen?

    die Variable pCanOpenNode[5].nstatus ist nämlich schreibgeschützt. vl kann man das irgendwie umgehen?

    wäre sehr dankbar für hilfe.

     

    Related

    Talk.ru: 5

  • Erik Böhm - 2008-04-09

    Moin

    Zu diesem Zweck gibts in der AxisRef Struktur eine Variable "bDisableDriveInAxisGroup".

    Wenn die VOR dem starten des Masters gesetzt wird, dann wird dieses Drive beim Startup ignoriert.

    Gruss

    Erik

     
  • nimloth - 2008-04-09

    die Bibliothek SM_DriveBasic.lib in der der Befehl drin ist ist bei mir garnicht eingebunden

    die Regler sind für mich einfach nur Can-Slaves.

    Für die Can-Bus-Verwaltung benutze ich lediglich die 3 3s-Canbus Bibliotheken.

    3s_candrv.lib

    3s_canopenmanager.lib

    3s_canopenmaster.lib

     
  • Erik Böhm - 2008-04-09

    Mahlzeit

    Hast du dann in der Steuerungskonfig im Unterelement evtl. eine Checkbox 'Optionales Gerät' ? Damit ginge das evtl. auch noch.

    Gruss

    Erik

     
  • nimloth - 2008-04-09

    ne das hab ich nicht, die einzigen "haken" die ich noch setzen kann sind z.b. "Dcf schreiben" und "knoten zurücksetzen"

    unter modulparameter kann ich nur enable diags yes/no anwählen.

    wenn ich ein untermelement für den master anhänge kann ich noch einen aiop1 einfügen.. wer weiss was das heisst ai optional 1 vielleicht?

    hab noch nich so den masterplan

     
  • nimloth - 2008-04-25

    Also, zum Abschluss möchte ich dann doch nochmal die Lösung nennen:

    Die Option "Optionales Gerät" muss angeklickt werden. Das ist nichts neues, aber bei Zielsystemen wo dies nicht angezeigt wird, kann man das sehr einfach implementieren.

    Einfach in der config datei unter canopenslave

    OptionalDevice = TRUE

    NoInitialize = TRUE

    reinschreiben. Dann wird beim Start nur einmal diese Nodeabgefragt.

    Ist diese Node vorhanden, so wird sie ganz normal behandelt (nStatus 3,4,5) ist diese Node nicht vorhanden so wird der nStatus auf 97 gesetzt jedoch springt der Master dann trotzdem auf 5.

    mfg

    Thorsten

     

Log in to post a comment.