MicroLogix 1400 Online Edit Error with MUL Instruction — figure 1

MicroLogix 1400-Online-Bearbeitungsfehler mit MUL-Anweisung

MicroLogix 1400-Fehler bei der Online-Bearbeitung beim Hinzufügen einer MUL-Anweisung mit einem konstanten Operanden. Beheben Sie das Problem, indem Sie für ...

Die Online-Bearbeitung eines MicroLogix 1400 über EtherNet/IP kann mit „Programm konnte nicht kompiliert werden. Fehler bei der Online-Bearbeitung“ fehlschlagen, wenn ein MUL-Rung einen literalen Konstantenwert wie 0.7 mit einer Integer-Quelle verwendet. Dasselbe Projekt kann offline ohne Beanstandung verifiziert werden. Der Compiler für die Online-Bearbeitung der Steuerung erzwingt strengere Regeln für Operanden als der Offline-Pfad, und Gleitkommaliterale in arithmetischen Anweisungen sind häufige Auslöser.

MicroLogix 1400: Fehler bei der Online-Bearbeitung mit MUL-Anweisung — Abbildung 1

Ersetzen Sie die Konstante durch eine Float-Dateiadresse, die bereits den Wert 0.7 enthält, und testen Sie die Online-Bearbeitung erneut, bevor Sie etwas anderes ändern.

Symptom und Konfiguration

Element Typische fehlerhafte Konfiguration
Steuerung MicroLogix 1400 Serie A oder B
Software RSLogix 500 mit Online-Bearbeitung
Anweisung MUL
Quelle A N7:2 (Integer)
Quelle B Konstante 0.7
Ziel N7:7 (Integer)

Ursache

Online-Bearbeitungen auf dem MicroLogix 1400 prüfen Größe und Typ der Operanden strenger als die Offline-Kompilierung. Eine Gleitkommakonstante als Quelle B wird bei manchen Offline-Verifizierungen akzeptiert, jedoch abgelehnt, wenn die Änderung in das laufende Abbild kompiliert werden muss. Verwandte Offline-Meldungen wie „Operandengröße stimmt nicht überein“ weisen auf dieselbe Gruppe von Typkonflikten hin. Nicht jede Änderung am MicroLogix ist online zulässig; einige strukturelle Änderungen erfordern weiterhin eine Offline-Modifikation und einen Download.

Behebungsverfahren

  1. Ermitteln Sie eine ungenutzte Float-Adresse (Beispiel F8:7).
  2. Setzen Sie F8:7 offline oder über einen einmaligen MOV-/Initialisierungs-Rung auf 0.7.
  3. Bearbeiten Sie die MUL-Anweisung: Quelle A bleibt N7:2; Quelle B wird F8:7; das Ziel bleibt N7:7 oder wird bei erforderlicher Genauigkeit zu einer Float-Adresse geändert.
  4. Übernehmen Sie die Online-Bearbeitung und bestätigen Sie, dass der Rung kompiliert wird.
  5. Erzwingen Sie einen bekannten Wert für Quelle A und prüfen Sie das Produkt zur Laufzeit.
MicroLogix 1400: Fehler bei der Online-Bearbeitung mit MUL-Anweisung — Abbildung 2
MUL
  Source A: N7:2
  Source B: F8:7   <-- Float-Adresse, nicht die Konstante 0.7
  Dest:     N7:7   <-- oder F8:8 für volle Genauigkeit

Auswirkungen der Datentypen

Konfiguration Ergebnis
Quelle B = Konstante 0.7 Fehler bei der Kompilierung der Online-Bearbeitung
Quelle B = F8:7, Ziel = N7:7 Bearbeitung erfolgreich; Ganzzahlkürzung/-rundung
Quelle B = F8:7, Ziel = F8:8 Bearbeitung erfolgreich; volle Float-Genauigkeit

Bei N7:2 = 10 und einem Multiplikator von 0.7 ergibt ein Ganzzahlziel je nach Rundungs-/Kürzungsverhalten den Wert 7 – nicht einen unveränderten Float-Wert 7.0. Wählen Sie den Zieltyp bewusst, wenn der Wert in PID-Regler, Skalierungen oder Vergleiche einfließt.

Verwandte Einschränkungen bei der Online-Bearbeitung arithmetischer Anweisungen

Dieselbe Empfindlichkeit des Online-Compilers zeigt sich bei DIV, CPT-Ausdrücken, sofern verfügbar, und gemischten INT-/Float-Ketten, die während einer Live-Anpassung schnell eingegeben wurden. Techniker versuchen häufig drei aufeinanderfolgende Online-Bearbeitungen – zunächst nur die Konstante, dann den Zieldateityp und anschließend den gesamten Rung zu ändern –, ohne den Run-Modus zu verlassen. Jeder fehlgeschlagene Kompilierungsvorgang hinterlässt die ausstehende Bearbeitungswarteschlange in einem verwirrenden Zustand. Brechen Sie die fehlgeschlagene Bearbeitung sauber ab, nehmen Sie eine zusammenhängende Änderung vor (Literalwert durch Float-Adresse ersetzen) und übernehmen Sie sie anschließend. Wenn der MicroLogix nach mehreren Versuchen meldet, dass das Programm nicht kompiliert werden konnte, wechseln Sie in den Offline-Modus, prüfen Sie, ob die Datei vorhanden ist (F8 mit ausreichender Elementanzahl erstellt), und laden Sie anschließend ein bekannt funktionsfähiges Abbild herunter, bevor Sie die Online-Arbeiten erneut versuchen.

Prüfen Sie außerdem, ob die Float-Datei nicht durch ein Datentabellenrecht oder ein Passwort geschützt ist, das zwar eine Offline-Verifizierung erlaubt, aber die Online-Änderung blockiert. MicroLogix-1400-Steuerungen der Serie A und Serie B unterstützen beide die Online-Bearbeitung, sofern Firmware- und RSLogix-500-Versionen aufeinander abgestimmt sind. Nicht übereinstimmende Tool-Versionen können denselben Text „Fehler bei der Online-Bearbeitung“ aus voneinander unabhängigen Gründen anzeigen. Halten Sie ein Abbild einer Teststeuerung bereit, das eine erfolgreiche MUL-Anweisung mit Float-Operand demonstriert, damit Techniker es mit dem Anlagenprojekt vergleichen können.

Verifizierung und weitergehende Einschränkungen

Nachdem die Bearbeitung übernommen wurde, erzwingen Sie mehrere Werte für N7:2 und verfolgen oder beobachten Sie sowohl die Integer- als auch die Float-Ziele, sofern beide vorhanden sind. Bestätigen Sie, dass die Online-Bearbeitung fehlerfrei kompiliert wird, prüfen Sie, ob die MUL-Anweisung zur Laufzeit korrekt ausgeführt wird, und verschieben Sie das Ziel bei erforderlicher Genauigkeit auf eine Float-Adresse wie F8:8. Anhaltende Fehler nach dem Ersetzen von Literalwerten sollten zunächst offline reproduziert und anschließend heruntergeladen werden. Verwenden Sie, wo Online-Bearbeitungen erwartet werden, bevorzugt adressierte Werte anstelle von Inline-Konstanten. Dokumentieren Sie die Programmierpraxis für MicroLogix neben den übrigen Standards für PLC- und PAC-Systeme, damit Techniker nicht Ethernet-Fehler suchen, obwohl tatsächlich eine Operandregel die Ursache ist.

Über den Autor

Mark Townsend | Senior Automation Engineer – Allen-Bradley-Systeme

Mark Townsend ist ein Senior Automation Engineer mit mehr als 18 Jahren Erfahrung mit Allen-Bradley-Plattformen, darunter ControlLogix, CompactLogix und die ältere SLC-500. Zu seiner täglichen Arbeit gehören RSLogix-/Studio-5000-Logik sowie die Inbetriebnahme von FactoryTalk-View-HMIs in veralteten und gemischten Anlagenparks.

MicroLogix 1400-Online-Bearbeitungsfehler mit MUL-Anweisung

MicroLogix 1400-Fehler bei der Online-Bearbeitung beim Hinzufügen einer MUL-Anweisung mit einem konstanten Operanden. Beheben Sie das Problem, indem Sie für die Multiplikationsquelle eine Gleitkomm...

Die Online-Bearbeitung eines MicroLogix 1400 über EtherNet/IP kann mit „Programm konnte nicht kompiliert werden. Fehler bei der Online-Bearbeitung“ fehlschlagen, wenn ein MUL-Rung einen literalen Konstantenwert wie 0.7 mit einer Integer-Quelle verwendet. Dasselbe Projekt kann offline ohne Beanstandung verifiziert werden. Der Compiler für die Online-Bearbeitung der Steuerung erzwingt strengere Regeln für Operanden als der Offline-Pfad, und Gleitkommaliterale in arithmetischen Anweisungen sind häufige Auslöser.

MicroLogix 1400: Fehler bei der Online-Bearbeitung mit MUL-Anweisung — Abbildung 1

Ersetzen Sie die Konstante durch eine Float-Dateiadresse, die bereits den Wert 0.7 enthält, und testen Sie die Online-Bearbeitung erneut, bevor Sie etwas anderes ändern.

Symptom und Konfiguration

Element Typische fehlerhafte Konfiguration
Steuerung MicroLogix 1400 Serie A oder B
Software RSLogix 500 mit Online-Bearbeitung
Anweisung MUL
Quelle A N7:2 (Integer)
Quelle B Konstante 0.7
Ziel N7:7 (Integer)

Ursache

Online-Bearbeitungen auf dem MicroLogix 1400 prüfen Größe und Typ der Operanden strenger als die Offline-Kompilierung. Eine Gleitkommakonstante als Quelle B wird bei manchen Offline-Verifizierungen akzeptiert, jedoch abgelehnt, wenn die Änderung in das laufende Abbild kompiliert werden muss. Verwandte Offline-Meldungen wie „Operandengröße stimmt nicht überein“ weisen auf dieselbe Gruppe von Typkonflikten hin. Nicht jede Änderung am MicroLogix ist online zulässig; einige strukturelle Änderungen erfordern weiterhin eine Offline-Modifikation und einen Download.

Behebungsverfahren

  1. Ermitteln Sie eine ungenutzte Float-Adresse (Beispiel F8:7).
  2. Setzen Sie F8:7 offline oder über einen einmaligen MOV-/Initialisierungs-Rung auf 0.7.
  3. Bearbeiten Sie die MUL-Anweisung: Quelle A bleibt N7:2; Quelle B wird F8:7; das Ziel bleibt N7:7 oder wird bei erforderlicher Genauigkeit zu einer Float-Adresse geändert.
  4. Übernehmen Sie die Online-Bearbeitung und bestätigen Sie, dass der Rung kompiliert wird.
  5. Erzwingen Sie einen bekannten Wert für Quelle A und prüfen Sie das Produkt zur Laufzeit.
MicroLogix 1400: Fehler bei der Online-Bearbeitung mit MUL-Anweisung — Abbildung 2
MUL
  Source A: N7:2
  Source B: F8:7   <-- Float-Adresse, nicht die Konstante 0.7
  Dest:     N7:7   <-- oder F8:8 für volle Genauigkeit

Auswirkungen der Datentypen

Konfiguration Ergebnis
Quelle B = Konstante 0.7 Fehler bei der Kompilierung der Online-Bearbeitung
Quelle B = F8:7, Ziel = N7:7 Bearbeitung erfolgreich; Ganzzahlkürzung/-rundung
Quelle B = F8:7, Ziel = F8:8 Bearbeitung erfolgreich; volle Float-Genauigkeit

Bei N7:2 = 10 und einem Multiplikator von 0.7 ergibt ein Ganzzahlziel je nach Rundungs-/Kürzungsverhalten den Wert 7 – nicht einen unveränderten Float-Wert 7.0. Wählen Sie den Zieltyp bewusst, wenn der Wert in PID-Regler, Skalierungen oder Vergleiche einfließt.

Verwandte Einschränkungen bei der Online-Bearbeitung arithmetischer Anweisungen

Dieselbe Empfindlichkeit des Online-Compilers zeigt sich bei DIV, CPT-Ausdrücken, sofern verfügbar, und gemischten INT-/Float-Ketten, die während einer Live-Anpassung schnell eingegeben wurden. Techniker versuchen häufig drei aufeinanderfolgende Online-Bearbeitungen – zunächst nur die Konstante, dann den Zieldateityp und anschließend den gesamten Rung zu ändern –, ohne den Run-Modus zu verlassen. Jeder fehlgeschlagene Kompilierungsvorgang hinterlässt die ausstehende Bearbeitungswarteschlange in einem verwirrenden Zustand. Brechen Sie die fehlgeschlagene Bearbeitung sauber ab, nehmen Sie eine zusammenhängende Änderung vor (Literalwert durch Float-Adresse ersetzen) und übernehmen Sie sie anschließend. Wenn der MicroLogix nach mehreren Versuchen meldet, dass das Programm nicht kompiliert werden konnte, wechseln Sie in den Offline-Modus, prüfen Sie, ob die Datei vorhanden ist (F8 mit ausreichender Elementanzahl erstellt), und laden Sie anschließend ein bekannt funktionsfähiges Abbild herunter, bevor Sie die Online-Arbeiten erneut versuchen.

Prüfen Sie außerdem, ob die Float-Datei nicht durch ein Datentabellenrecht oder ein Passwort geschützt ist, das zwar eine Offline-Verifizierung erlaubt, aber die Online-Änderung blockiert. MicroLogix-1400-Steuerungen der Serie A und Serie B unterstützen beide die Online-Bearbeitung, sofern Firmware- und RSLogix-500-Versionen aufeinander abgestimmt sind. Nicht übereinstimmende Tool-Versionen können denselben Text „Fehler bei der Online-Bearbeitung“ aus voneinander unabhängigen Gründen anzeigen. Halten Sie ein Abbild einer Teststeuerung bereit, das eine erfolgreiche MUL-Anweisung mit Float-Operand demonstriert, damit Techniker es mit dem Anlagenprojekt vergleichen können.

Verifizierung und weitergehende Einschränkungen

Nachdem die Bearbeitung übernommen wurde, erzwingen Sie mehrere Werte für N7:2 und verfolgen oder beobachten Sie sowohl die Integer- als auch die Float-Ziele, sofern beide vorhanden sind. Bestätigen Sie, dass die Online-Bearbeitung fehlerfrei kompiliert wird, prüfen Sie, ob die MUL-Anweisung zur Laufzeit korrekt ausgeführt wird, und verschieben Sie das Ziel bei erforderlicher Genauigkeit auf eine Float-Adresse wie F8:8. Anhaltende Fehler nach dem Ersetzen von Literalwerten sollten zunächst offline reproduziert und anschließend heruntergeladen werden. Verwenden Sie, wo Online-Bearbeitungen erwartet werden, bevorzugt adressierte Werte anstelle von Inline-Konstanten. Dokumentieren Sie die Programmierpraxis für MicroLogix neben den übrigen Standards für PLC- und PAC-Systeme, damit Techniker nicht Ethernet-Fehler suchen, obwohl tatsächlich eine Operandregel die Ursache ist.

Über den Autor

Mark Townsend | Senior Automation Engineer – Allen-Bradley-Systeme

Mark Townsend ist ein Senior Automation Engineer mit mehr als 18 Jahren Erfahrung mit Allen-Bradley-Plattformen, darunter ControlLogix, CompactLogix und die ältere SLC-500. Zu seiner täglichen Arbeit gehören RSLogix-/Studio-5000-Logik sowie die Inbetriebnahme von FactoryTalk-View-HMIs in veralteten und gemischten Anlagenparks.

Einen Kommentar hinterlassen

Bitte beachten Sie, dass Kommentare genehmigt werden müssen, bevor sie veröffentlicht werden.