Mitsubishi MC

Mitsubishi MELSEC-Steuerungen über das MC-Protokoll (3E-Rahmen) anbinden - Gerätecodes, dezimale und hexadezimale Nummerierung und Leselängen.

Als Markdown ansehen

Der Treiber Mitsubishi MC spricht mit Mitsubishi MELSEC-Steuerungen über das MC-Protokoll, mit dem binären 3E-Rahmen über TCP, dem Rahmen, den die Reihen Q, L und iQ sprechen. Sie adressieren Werte in der vertrauten MELSEC-Schreibweise: ein Gerätecode und eine Nummer, etwa D100 oder M50. Legen Sie im Connector ein Gerät unter dem Treiber Mitsubishi MC an; der Bereich zeigt nur die Felder, die dieses Protokoll verwendet.

Verbindung

Feld Bedeutung Standard
Host IP-Adresse oder Hostname der Ethernet-Schnittstelle der Steuerung. leer
Port TCP-Port der Verbindung über das MC-Protokoll. 0 verwendet 5007. 0

Die Kopfzeile des Geräts zeigt den zusammengesetzten Endpunkt, zum Beispiel mcp://192.168.0.20:5007. Für diesen Treiber gibt es keine Felder für das Abfrageintervall: Seine Tags werden einmal je Sekunde gelesen. Auf der Seite der Steuerung muss eine TCP-Verbindung über das MC-Protokoll (SLMP) für binäre Kommunikation auf dem gewählten Port eingerichtet sein.

Adressierung

Ein Mitsubishi-Tag wird über zwei Felder auf der Karte Quelle des Tags adressiert:

Feld Bedeutung Angenommene Werte Standard
Geräteadresse MELSEC-Gerätecode und Nummer, z. B. D100. Pflichtfeld. Freitext leer
Leselänge (Bytes, leer = automatisch) Wie viele Bytes je Lesevorgang übertragen werden. Leer bemisst den Lesevorgang nach dem Datentyp. 1 und aufwärts, leer leer

Die Adresse achtet nicht auf Groß- und Kleinschreibung, und der längste passende Code gewinnt, SD100 ist also das Sonderregister 100 und nicht der Schrittmerker S. Die Nummer ist hexadezimal bei den Geräten, die Mitsubishi hexadezimal nummeriert, also X, Y, B, W, SB, SW, DX, DY, und dezimal bei allem anderen (X1F ist der Eingang 0x1F). Angenommene Gerätecodes:

Code Gerät Nummerierung
M Merker dezimal
SM Sondermerker dezimal
L Latch-Merker dezimal
F Störmelder dezimal
V Flankenmerker dezimal
S Schrittmerker dezimal
X Eingang hexadezimal
Y Ausgang hexadezimal
B Link-Merker hexadezimal
SB Sonder-Link-Merker hexadezimal
DX Direkteingang hexadezimal
DY Direktausgang hexadezimal
D Datenregister dezimal
SD Sonderregister dezimal
R Datei-Register dezimal
ZR erweitertes Datei-Register dezimal
W Link-Register hexadezimal
SW Sonder-Link-Register hexadezimal
Z Index-Register dezimal
TC / TS / TN Timer: Spule / Kontakt / aktueller Wert dezimal
SC / SS / SN remanenter Timer: Spule / Kontakt / aktueller Wert dezimal
CC / CS / CN Zähler: Spule / Kontakt / aktueller Wert dezimal

Die zugrunde liegende MC-Bibliothek nimmt außerdem die Codes TT, TM, CT, CM und A an. Die Zeile Quelladresse (Bus) auf der Karte Quelle, die nur gelesen wird, zeigt die zusammengesetzte Adresse, während Sie tippen.

Datentypen

Die Auswahl Datentyp bietet die vier Typen an, die der Treiber überträgt:

Datentyp Automatische Leselänge Hinweise
Boolean 1 Byte an einem Bit-Gerät das eine genannte Relais; an einem Wort-Gerät jedes Wort ungleich null
Int32 4 Bytes zwei aufeinanderfolgende 16-Bit-Wörter, z. B. D100+D101
Float 4 Bytes zwei aufeinanderfolgende Wörter mit einem IEEE-Wert einfacher Genauigkeit
String 16 Bytes Text bis zum ersten NUL des Lesepuffers

Wortdaten kommen in der für MELSEC nativen Little-Endian-Reihenfolge an und werden automatisch entschlüsselt; eine Wahl der Byte-Reihenfolge gibt es nicht. Ein 32-Bit-Wert erstreckt sich über zwei aufeinanderfolgende Wort-Geräte. Für einen String, der länger als 16 Zeichen ist, erhöhen Sie Leselänge, bis sie den gespeicherten Text abdeckt. Leselänge ist eine Anzahl Bytes, und das Protokoll überträgt ganze 16-Bit-Wörter, eine ungerade Länge wird also auf das Wort aufgerundet, das ihr letztes Byte trägt.

Die Bit-Geräte, die der Treiber Relais für Relais liest, sind X, Y, M, L, F, V, B, S, TS, TC, SS, SC, CS, CC, SB, DX und DY. Dort antwortet ein Tag vom Typ Boolean für die Adresse, die Sie getippt haben, und für keine andere. Jeder andere Code ist ein Wort-Gerät, auch der aktuelle Wert eines Timers oder eines Zählers (TN, SN, CN) und die Link-Register (W, SW), und dort entscheidet das ganze Wort: D100 mit dem Inhalt 0x0100 liest wahr.

Schreiben

Tags, deren Zugriff Lesen und schreiben oder Nur schreiben ist, lassen sich schreiben, und zwar auf dieselbe Geräteadresse, die der Lesevorgang verwendet. Ein Schreibvorgang auf Boolean an einem Bit-Gerät setzt oder löscht das eine genannte Relais und rührt keinen seiner Nachbarn an. Alles andere wird als ganze 16-Bit-Wörter geschrieben: zwei Wörter bei Int32 und Float, ein Wort bei einem Boolean an einem Wort-Gerät und bei String die ganze Leselänge des Tags, vorn die UTF-8-Bytes des Textes und dahinter Nullen, aufgerundet auf das letzte Wort. Ein kürzerer Text über einem längeren ersetzt daher den ganzen Wert, und vom alten überlebt nichts. Ein Text, der nicht in die erklärte Länge passt, wird abgelehnt, mit der Länge benannt im Journal, und nie auf Maß gekürzt. Ein neuer Tag beginnt als Nur lesen.

Gerätesuche

Das MC-Protokoll kennt in diesem Treiber keine Suche über Rundruf, der Connector zeigt also keine Schaltfläche Suchen. Legen Sie das Gerät und seine Adressen von Hand an.

Gut zu wissen

  • Das zyklische Lesen liegt bei diesem Treiber für jeden Tag fest bei einer Sekunde; die üblichen Felder für das Abfrageintervall werden nicht gezeigt.
  • Der 3E-Rahmen muss an der Steuerung als binäre (nicht ASCII-) Verbindung über MC/SLMP freigeschaltet sein; ein auf ASCII eingestellter Port antwortet diesem Treiber nicht.
  • Eine nicht erreichbare Steuerung kostet beim Start nichts: Das Gerät versucht es im Hintergrund weiter, und seine Tags lesen schlechte Qualität, bis die Verbindung steht.