SPS-Variablen aus Mitsubishi FX2/FX3 auslesen

variablenleser

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich würde gerne über einen extern angeschlossenen Computer die aktuellen Werte von SPS-Variablen auslesen - ohne Modifikation des SPS-Programms.

Bei einer S7 komme ich dazu einfach über Ethernet rein und kann eine der vielen Implementierungen des S7-Protokolls verwenden, z.B. das Open-Source Snap7 Tool.
Hat meine S7 noch kein Ethernet, gibt es Adapter von Profibus-auf-Ethernet, z.B. den IBHLink S7++. Die Profibus-Schnittstelle wird dabei einfach durchgereicht und erhält einen Ethernet-Abzweig.
Änderungen an dem S7-Programm sind dabei an keiner Stelle nötig.

Wie bekomme ich das gleiche nun mit einer Mitsubishi SPS, speziell einer alten FX2 oder FX3 hin?
Als einzige Schnittstelle sehe ich dort den runden Mini-DIN-Anschluss, der in den meisten Fällen bereits mit einer HMI verbunden ist. Mir ist kein Adapter bekannt, der diese Schnittstelle abzweigt.
Zusätzliche Kommunikationsadapter für RS-232/422/485 existieren (z.B. FX2N-232-BD), und für eine FX3U gibt es mit FX3U-ENET auch einen Ethernetadapter. Jedoch müssen alle diese Adapter meines Wissens im GX Works Projekt konfiguriert werden, bevor sie benutzt werden können.
Damit müsste ich das SPS-Programm anpassen, was leider keine Option ist.
Da hilft es mir auch nicht, dass das Mitsubishi MC-Protokoll wesentlich besser dokumentiert ist als das S7-Protokoll, wenn die SPS gar nicht mit mir sprechen möchte.

Hat hier jemand eine Lösung oder weitere Ideen?

Für eine Antwort bedanke ich mich im Voraus!
 
Hallo,

die FX2N-232-BD Schnittstelle brauchst du nicht konfigurieren, ich wüsste auch nicht wie und wo man das macht.
Mit GX Works habe ich noch nie was zu tun gehabt.
Ich habe mich bisher einfach immer mit einem Seriellen Kabel angesteckt (ob 1:1 oder ein ausgekreuztes weiß ich jetzt nicht) und konnte danach die SPS Programmen/auslesen.
Eine andere Möglichkeit ist, dass du dir ein SC-09 Programmierkabel besorgst, damit kannst du dich auf den runden Programmieranschluss anstecken.

Zum auslesen:
Du kannst mit der alten MEDOC Software die Registerinhalte auslesen indem du dir einfach ein Testprogramm (CPU-Typ nimmst du FX2N, auch wenn du eine FX3U hast, das ist egal) anlegst und
im Menüpunkt "DwrSet" die Register auslest und abspeicherst.

Ich persönlich mache es immer mit dem GX IEC Developer Version 7.01 oder 7.04.
Da legst du dir auch einfach ein leeres Programm an, und im Menüpunkt "Debug" gibt es den Punkt "Operanden editieren".
Dort kannst du auswählen, welche Register (D,W,R,M... usw.) du haben willst und wieviele, dann lest die Registerinhalte aus der SPS raus und kannst sie dir sogar in ein Excel File speichern.

mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich würde gerne über einen extern angeschlossenen Computer die aktuellen Werte von SPS-Variablen auslesen - ohne Modifikation des SPS-Programms.

Bei einer S7 komme ich dazu einfach über Ethernet rein und kann eine der vielen Implementierungen des S7-Protokolls verwenden, z.B. das Open-Source Snap7 Tool.
Hat meine S7 noch kein Ethernet, gibt es Adapter von Profibus-auf-Ethernet, z.B. den IBHLink S7++. Die Profibus-Schnittstelle wird dabei einfach durchgereicht und erhält einen Ethernet-Abzweig.
Änderungen an dem S7-Programm sind dabei an keiner Stelle nötig.

Wie bekomme ich das gleiche nun mit einer Mitsubishi SPS, speziell einer alten FX2 oder FX3 hin?
Als einzige Schnittstelle sehe ich dort den runden Mini-DIN-Anschluss, der in den meisten Fällen bereits mit einer HMI verbunden ist. Mir ist kein Adapter bekannt, der diese Schnittstelle abzweigt.
Zusätzliche Kommunikationsadapter für RS-232/422/485 existieren (z.B. FX2N-232-BD), und für eine FX3U gibt es mit FX3U-ENET auch einen Ethernetadapter. Jedoch müssen alle diese Adapter meines Wissens im GX Works Projekt konfiguriert werden, bevor sie benutzt werden können.
Damit müsste ich das SPS-Programm anpassen, was leider keine Option ist.
Da hilft es mir auch nicht, dass das Mitsubishi MC-Protokoll wesentlich besser dokumentiert ist als das S7-Protokoll, wenn die SPS gar nicht mit mir sprechen möchte.

Hat hier jemand eine Lösung oder weitere Ideen?

Für eine Antwort bedanke ich mich im Voraus!
Hallo,

ich kann dir weiterhelfen, sofern noch Interesse besteht? Welche Speicheradressen sollen gelesen werden. D, M oder Eingänge und Ausgänge?
 
Hallo Manu194,

ich habe das gleiche Problem. Ich habe eine Station mit einer Q06H und einmal mit einer FX3U CPU. An beiden CPUs soll ich Prozessdaten von einem Drehmomentschlüssel auslesen und in eine Datenbank speichern. Leider habe ich zu den Steuerungen nur Bilder. Wie ist es möglich bei den Steuerungen Merker oder Datenbausteine zu lesen ? Heißt das hier auch so wie in der Siemens Welt ? Das PLC Programm von der Q06H SPS habe ich. Unter Global Device Comment steht in einer Tabelle z.B. D4528 und dann ein Text. Ist das die Adresse zu der Variable ? Ich denke ich brauche auch noch einen Ethernet Karte..

Wie liest du die Variablen ein ? Kennst du eine bestimmte Hardware? Ich habe gesehen, dass es mit einem IBH Link Quad Core funktionieren soll.

Danke für deine Hilfe !
 
Hallo,

meine Lösung, nicht schön aber funktioniert für die FX3U CPU:


Mit node-red und folgender Pallet: https://flows.nodered.org/node/node-red-contrib-mcprotocol
eine Verbindung zur SPS aufbauen. Damit können Variablen dann gelesen werden.

Mit der Pallet https://flows.nodered.org/node/node-red-contrib-buffer-parser habe ich dann die Daten richtig gestellt.

Hier noch die Flow Code zum nachbauen....



[
{
"id": "549f0bdc1f5bb1d3",
"type": "tab",
"label": "Flow 4",
"disabled": false,
"info": "",
"env": []
},
{
"id": "2a5c9864a2a5bcb2",
"type": "inject",
"z": "549f0bdc1f5bb1d3",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 260,
"y": 220,
"wires": [
[
"fdb9ac8dd32ff2b0"
]
]
},
{
"id": "fdb9ac8dd32ff2b0",
"type": "MC Read",
"z": "549f0bdc1f5bb1d3",
"name": "Retightening NO.",
"topic": "",
"connection": "3bae7e358bf0b20b",
"address": "D380,10",
"addressType": "str",
"outputFormat": "1",
"errorHandling": "throw",
"outputs": 1,
"x": 490,
"y": 220,
"wires": [
[
"a165c3e5d529db00"
]
]
},
{
"id": "a165c3e5d529db00",
"type": "buffer-parser",
"z": "549f0bdc1f5bb1d3",
"name": "",
"data": "payload",
"dataType": "msg",
"specification": "spec",
"specificationType": "ui",
"items": [
{
"type": "int32le",
"name": "OP030 Retightening NO.",
"offset": 0,
"length": 1,
"offsetbit": 0,
"scale": "1",
"mask": ""
},
{
"type": "int32le",
"name": "OP050 Retightening NO.",
"offset": 4,
"length": 1,
"offsetbit": 0,
"scale": "1",
"mask": ""
},
{
"type": "int32le",
"name": "OP060 Retightening NO.",
"offset": 8,
"length": 1,
"offsetbit": 0,
"scale": "1",
"mask": ""
}
],
"swap1": "swap16",
"swap2": "",
"swap3": "",
"swap1Type": "swap",
"swap2Type": "swap",
"swap3Type": "swap",
"msgProperty": "payload",
"msgPropertyType": "str",
"resultType": "object",
"resultTypeType": "return",
"multipleResult": false,
"fanOutMultipleResult": false,
"setTopic": true,
"outputs": 1,
"x": 710,
"y": 280,
"wires": [
[
"4e6db5eba262fca6"
]
]
},
{
"id": "4e6db5eba262fca6",
"type": "debug",
"z": "549f0bdc1f5bb1d3",
"name": "debug 12",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 900,
"y": 220,
"wires": []
},
{
"id": "3bae7e358bf0b20b",
"type": "MC Protocol Connection",
"name": "PLC",
"host": "192.168.1.10",
"port": "5001",
"protocol": "UDP",
"frame": "1E",
"plcType": "Q",
"ascii": false,
"PLCStation": "",
"PCStation": "",
"PLCModuleNo": "",
"network": "",
"octalInputOutput": false,
"timeout": "1000"
}
]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine klassische Lösung für solche Anforderungen ist der Einsatz von Pro-Face Panels oder Gateways unter GPProEx. Die Dinger können mit fast jeder am Markt gängigen Steuerung und können Variablen z.B. als OPC-Server bereitstellen.

Ich hatte vor mittlerweile 22 Jahren mit einem Kollegen aus einem Produktionsbetrieb mal einen netten Austausch über genau dieses Thrma. Er musste seinerzeit aus allen Produktionsmaschinr mit x verschiedenen Steuerungsfabriketen Faten abziehen und hat das mit der damals aktuellen GP2000 Serie gemacht.
 
Zurück
Oben