Projekt: Mitsubishi Melsec A series nach Q series

Skye

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

wir führen in unser Firma gerade ein Projekt im Lager Japan durch, welches für die Fördertechnik Mitsubishi Melsec A Series PLCs verwendet. Diese sollen im Rahmen des Projekts auf Q-Series erneuert werden. Hierbei wird das alte Melsecnet II durch Melsecnet 10 (danach H) ersetzt. Soweit, so gut.
In einem zweiten Schritt müssen wir die Q-Series Steuerungen an einen neuen Materialflußrechner (MFS) anbinden, der mittels TCP/IP (Socket-Connection) kommuniziert. Wir sind hier, was die Telegramm-Strukturen angeht recht flexibel (von MFS-Seite).

Während unserer Gespräche mit Dienstleistern in Japan habe ich den Eindruck, daß man dort nur mit KOP programmiert. Die heutigen A-Series Programme liegen mir als KOP vor und ich habe sie mir im GX Developer angesehen. Ich muß dazu sagen, daß ich kein Entwickler von Steuerungsprogrammen bin.

Meine Fragen - der heutige Materialflußrechner kommuniziert mit den A-Series über RS232C und bestimmten uns unbekannten Telegrammstrukturen. Diese haben wir bereits mitgelesen, verstehen sie aber nicht. Das ist für den zweiten Schritt des Projekts aber schon wichtig um eine Anbindung an das neue MFS zu realisieren. Im KOP finde ich keine Hinweise auf Verarbeitungslogiken, ich denke irgendwo in der Steuerung muß doch Coding hinterlegt sein, welches die Telegramme einliest und in Variablen abspeichert und umgekehrt Rückmeldungen an den alten Materialflußrechner schickt?

Beispiel - MFS sendet dieses Telegramm:

Code:
00FFWR0D0000202B
Steuerung antwortet mit diesem Telegramm:
Code:
00FF0195023F01DB0001000000000000003F00000000000000808100000000000000003F0000FFFFFFFFFFFFFFFF007F000000000000000000003F00000002F4000036

Interessant ist - wie ich finde - das es nach Hex-Werten aussieht (zumindest nach den ersten Zeichen) obwohl es ASCII ist. Also da muß wohl eine Umrechnungsroutine irgendwo sein.

Wo finde ich die Programme, die diese Zeichenketten aufbereiten bzw. verarbeiten? Hoffe ich konnte mich verständlich ausdrücken ;)

Danke und Grüße,
Gunter
 
Hallo Gunter,
die Kommunikation mit dem MFS, wenn sie RS232 ist, müsste über ein Modul das AJ71C24 oder ähnlich heißt realisiert sein.
Mit solchen Modulen wird mit den Befehlen FROM und TO gearbeitet. Beide Befehle lesen (FROM) oder schreiben (TO) vom/zum Modul.
Also suche nach solchen Befehlen und schaue nach wie diese benutzt werden. Die Kopfadresse (Steckplatz) des Moduls ist hier wichtig, falls mehrere intelligente Module gesteckt sind.
Wenn du das Programm nicht kennst wird es, insbesondere mit dem GX Developer, eine mühselige Angelegenheit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo König,

das ist ein sehr hilfreicher Hinweis gewesen - ich konnte im GX Developer tatsächlich TOP und FROMP Befehle finden. Beispiele:
Code:
TOP H0A H10B K1 K1
TOP H0A H100 H3 K1
oder
Code:
FROMP H0A H80 D300 K1
MOVP D300 D398

Also ich muß wohl dieses Modul morgen suchen gehen. Du schreibst
insbesondere mit dem GX Developer
- gibt es besseres? Ich will nur etwas Hintergrundwissen haben, denn in Japan wird man sehr schnell über den Tisch gezogen von "Experten". Der Kunde ist bei Investitionsgütern Opfer :D

Grüße und vielen Dank,
Gunter
 
Hallo Gunter,
es gibt wohl besseres als den GX Developer, aber wenn das Programm ursprünglich mit dem GX Developer geschrieben wurde, wirst Du wohl bei der Analyse so weiter machen müssen. Bei der neuen Anlage würd ich Dir zu GX Works2 raten. Hier kannst Du aussuchen ob es strukturiert und nach IEC sein soll, oder lineare Programmierung ala' GX Developer. In GX Works2 hast Du Bausteinstrukturen (FB's, Funktionen, Task,....)
Alles in Allem würde ich bei einer Neuerstellung des Programmes GX Works2 nehmen, die neueste Hardware wird auch unterstützt.
 
Geknackt

Hallo Experten,
Irgendwo in der Steuerung muß doch Coding hinterlegt sein, welches die Telegramme einliest und in Variablen abspeichert und umgekehrt Rückmeldungen an den alten Materialflußrechner schickt?
Gunter

Hallo Gunter
Nein das muss nicht sein!
Die SPS Programmiersoftware komuniziert (im Monitorbetrieb) ja auch mit der SPS ohne das da Code hinterlegt ist.


Ich habe auch schon Daten mit der Mitsubishi ausgetauscht.
Damals habe ich das Link Modul A1SJ71C24-R2 verwendet.
Die Parameter für die Komunikation (Baudrate usw. werden über Dipschalter auf dem Modul eingestellt.
Hier meine damaligen Einstellungen:


{º Dipschalter: Kabel: º}
{º MODE : FORM 1 PC --------- Mitsubishi º}
{º SW03 : OFF 9 Pin Buchse 9 Pin Stecker º}
{º SW04 : ON º}
{º SW05 : ON 2 --------- 3 º}
{º SW06 : OFF 3 --------- 2 º}
{º SW07 : ON 4 --------- 6 º}
{º SW08 : ON 5 --------- 5 º}
{º SW09 : ON 6 --------- 4 º}
{º SW10 : ON 7+8 --------- 1 º}
{º SW11 : OFF 7+8 (Brü�cke) º}
{º SW12 : ON Schirm º}


Wichtig ist hierbei der Drehschalter der steht hier auf 1 (FORM 1).
Hier wird das Protokoll gewählt!


Hier die Aufschlüsselung was der PC anfragt:
00FFWR0D0000202B


Hier ein Auszug aus meinem alten Programm:


STX=CHR(2);
ETX=CHR(3);
ENQ=CHR(5);
ACK=CHR(6);
NAK=CHR(21);
CR= CHR(13);
LF= CHR(10);


GG= 'GG'; {Kontrollcode in Format 3 (ACK)}
NN= 'NN'; {Kontrollcode in Format 3 (NAK)}


StationsNr='00'; {Stationsnummer AJ71 }
PCNr ='FF'; {Stationsnummer der SPS (Datalink) }
RWD ='QR'; {Word Read Mode }
WWD ='QW'; {Word Write Mode }
Waiting ='0'; {Antwortverzögerung AJ71 }
Adresse ='D000000'; {Kopfadresse des Operandenblockes }
Anzahl ='01'; {Größe des Blockes
X= Adresse + Anzahl }

Meine Anfrage damals lautete:
Summe:=Berechne_Check(ENQ+StationsNr+PCNr+RWD+Waiting+X);
Sende_Satz(ENQ+StationsNr+PCNr+RWD+Waiting+X+Summe);


d.h. Ich habe damals: CHR(5) + "00" + "FF"+ "QR" + "0" + "D000000" + "01" + Prüfsumme gesendet


DAS IST FAST DAS GLEICHE WIE BEI DIR !! :p
In deiner Anfrage ist sogar das Startzeichen enthalten (in einem normalen Texteditor kann man es blos nicht sehen!
Du musst dir die Frage und Antwort mal im HEX Editor ansehen!


Also dein PC fragt:
 = Startzeichen vermutlich ENQ
00 = Stationsnummer AJ71
FF = Stationsnummer der SPS (Datalink)
WR0 = Kenne ich nicht vermutlich auch ein Word Read Befehl
D0000 = Erste Adresse aus der die Daten gelesen werden sollen. Hier D0000
20 = Anzahl der Daten die gelesen werden sollen. Hier 20 HEX (= 32 DEZ)
2B = Checksumme zur Erkennung von Komunikationsfehlern


Also der PC will wissen was in D0000 bit D0031 steht. ;)


Du solltest mal in deinem SPS Programm die Datenregister D0-31 untersuchen.!


Und die Antwort lautet:
00FF0195023F01DB0001000000000000003F00000000000000808100000000000000003F0000FFFFFFFFFFFFFFFF007F000000000000000000003F00000002F4000036


Aufgeschlüsselt ist das:
 = Startzeichen vermutlich STX
00 = Stationsnummer AJ71
FF = Stationsnummer der SPS (Datalink)
0195 = Wert in D0000 = 405 DEZ
023F = Wert in D0001 = 575 DEZ
01DB = Wert in D0002
0001 = Wert in D0003
0000 = Wert in D0004
0000 = Wert in D0005
0000 = Wert in D0006
003F = Wert in D0007
0000 = Wert in D0008
0000 = Wert in D0009
0000 = Wert in D0010
0080 = Wert in D0011
8100 = Wert in D0012
0000 = Wert in D0013
0000 = Wert in D0014
0000 = Wert in D0015
003F = Wert in D0016
0000 = Wert in D0017
FFFF = Wert in D0018
FFFF = Wert in D0019
FFFF = Wert in D0020
FFFF = Wert in D0021
007F = Wert in D0022
0000 = Wert in D0023
0000 = Wert in D0024
0000 = Wert in D0025
0000 = Wert in D0026
0000 = Wert in D0027
3F00 = Wert in D0028
0000 = Wert in D0029
02F4 = Wert in D0030
0000 = Wert in D0031
 = Endzeichen vermutlich ETX
36 = Checksumme zur Erkennung von Komunikationsfehlern


TerraCharly
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo TerraCharly,

das ist ja wirklich äußerst hilfreich! Herzlichen Dank für Deine Mühe! Also wir verwenden als Kommunikationsmodul A1SJ71UC24-R4. Ich habe die Nachricht mal im Hex-Editor aufgemacht, wie Du schon vermutet hast, beginnt die mit <ENQ> um dann mit <CR><NL> abgeschlossen zu werden. Und richtig, die Station antwortet mit dem Startzeichen <STX>! :s12:
Das heißt, es wird der Speicher ausgelesen und an den MFS gesandt. Ist diese Kommunikation das, was ich im Handbuch (allerdings für das TCP/IP Modul von Mitsubishi QJ71E71) unter dem Schlagwort "Communication using the random access buffer" gefunden habe? Der PC (MFS) muß also fragen "Gib mir mal die Daten" und die SPS sendet dann den Speicherinhalt. Es gibt noch eine andere Art der Kommunikation die mit BUFSND beschrieben ist mit dem Namen "Fixed buffer communication" bei der die SPS selbstständig ein Telegram sendet (als ohne Leseanfrage). Das wollen wir nach dem Upgrade auf Q-Series haben um nicht immer "auf Verdacht" reinrufen zu müssen.

Freundliche Grüße,
Gunter
 
Zurück
Oben