Hoe "adresseert" Mitsubishi FX3U plc een HMI?

Goedenavond, ik ben voor mijn werk bezig een plc-programma uitgeprint in ladder te ontleden van 1685 regels zonder "comments".Door Chinese fabrikant zo kaal in de PLC geladen.

Hiervoor heb ik nog nooit iets met plc's gedaan en ik ben er dus gewoon even onbevangen ingestapt als Pipo Langkous, "Ik heb het nog nooit gedaan dus ik denk dat ik het kan"

Het programma heb ik kunnen downloaden via GX Works (welke ik ook voor het eerst zag dus).

Omdat ik best wat wil investeren heb ik privé via marktplaats een FX3U plc aangeschaft met een D/A omzetter, de FX-4DA

Ook via marktplaats een handprogrammer gekocht waarmee ik kleine voorbeeldjes uit de uitstekende Mitsubishi documentatie programmeer.
Het is ontzettend leuk werk en ik ben Frits Kieftebelt nog altijd dankbaar voor zijn perfecte cursus Picbasic, in eerste instantie denk je dat e.e.a. weinig met elkaar te maken hebben maar ik zie ook veel zaken voorbij komen die ik dankzij Frits herken!

Goed, dat even ter inleiding, waar ik tegenaan loop is het volgende; de PLC geeft waardes door aan de D/A omzetter via een door mitsubishi vastgelegd protocol.

Het eerste speciale functie blok rechts van de PLC krijgt adres 0, volgende adres 1 enz.
De programmaregels betreffende de D/A kan ik inmiddels allemaal thuisbrengen. Juist ook omdat de D/A geadresseerd wordt met K0.

Nu wordt er in het programma echter ook gelezen uit adres K1, dit terwijl er geen speciale fuctieblokken meer aan de plc hangen.....

Omdat er echter ook een HMI (Inovance IT6100E) aan de plc hangt dacht ik dat de adrescode K1 misschien op de HMI betrekking heeft?

De HMI communiceert via de minidin8 connector op de programmeerpoort van de FX3U via RS422.
Ook is er nog een RS485 poort als extra op de FX3U geschroefd, die wordt echter rechtstreeks aangesproken via RS commando's.

Ik ben dus geneigd te denken dat K1 de HMI is, zit ik warm of koud?

Ik heb ook Inovance aangeschreven maar de communicatie is nu niet echt om over naar huis te schrijven. Zelfs de fabrieks website is niet up to date. Er is wel iets te downloaden maar dat gaat niet over adressering.

Natuurlijk realiseer ik mij dat ik met het adres pas "binnen" ben maar met een blinddoek door de HMI loop.
Is er een soort standaard in (europese) HMI architectuur of valt daar niets zinnigs over te zeggen?

Lastige vragen voor mij maar wellicht is hier iemand die zo een paar opmerkingen uit zijn/haar mouw schudt.

GJ_

Moderator

Een PLC "adresseert" geen HMI. Een HMI is altijd de master.
En wat betreft die ontbrekende comments: die gaan normaal nooit de PLC in.

OK, dankjewel, nieuw gezichtspunt, HMI altijd master.

Ik heb via een terminalprogramma de RS422 communicatie bekeken tussen PLC en HMI in de hoop registers uit het programma voorbij te zien komen.
Helaas is dat vooralsnog een kluwe. Maar wellicht valt er binnenkort een muntje.

Dat was de communicatie op de RS485 eerst ook maar die heb ik geheel kunnen ontcijferen.

Stel je voert in de HMI via een toetsenbordje waarden in, gaat de HMI dat dan als pakketje naar PLC sturen;

12,2,149,197,223 (Hier even dec. ipv bin.)

En "weet" de PLC dan dat getal byte 1en2 de bandsnelheid is, byte 3en4 de rek, byte 5en6 temp.1, byte 7en8 temp.2 en byte 9en10 temp.3

Of hang ik hier onzin op?

Laat ik eerst beginnen met te vermelden dat ik niet weet hoe je HMI met de FX communiceert.
Maar ik heb ooit een programma gemaakt met een tekstdisplay dat je op de FX kunt klikken. 4 regels van 16 tekens dacht ik.
Die programmeer je door de gegevens op de juiste plaats in het D register te zetten.
Zou uit het hoofd D1000 voor het 1e teken, maar ik zou het weer uit moeten zoeken.
Met een HMI zal het net zo gaan vermoed ik. De PLC schrijft zijn gegevens naar vaste plaatsen in het register, en de PLC leest ook gegevens uit dit register, die zijn er dan bv door je HMI in geschreven.

Maar... zeker weten doe ik het niet.

Kun je niet beter iets investeren in een programmeersnoertje voor de FX, kun je het op je PC doen, scheelt veel tijd.

Daar waar een schakeling rookt, vloeit de meeste stroom (1e hoofdwet van Toeternietoe)

Dankjewel, interessante gedachte, ik zal je er niet op vastpinnen hoor. Het is ook wel een vraag met grote "glazen bol gehalte".

T'is natuurlijk ook maar net wat PLC en HMI met elkaar "afspreken".

Ik heb programmeersnoertje en PC maar vind een stapel papier gewoon zo lekker makkelijk ;-) pak het soms kwartiertje op, zit wat te staren en krijg dan ineens uur later aha-erlebnis, pak het bundeltje weer op en maak wèèr een aantekening.

Als 53 jarige kan ik maar niet wennen aan uren op scherm kijken en scrollen tot je hand rookt.

Edit; bedenk mij net dat er wel meer adressen in het PLC programma voorkomen van apparatuur welke er helemaal niet is.
Er zijn op onze machine maar 3 temperatuur controllers welke via RS485 communiceren met PLC maar er wordt aan 10 controllers gevraagd wat hun procestemperatuur is. Het programma lijkt dus geschreven voor machines welke meer functies /mogelijkheden hebben dan de onze.

Misschien is K1 wel bedoeld voor nòg een special function block zoals de 4DA maar komt die op onze machine niet voor......

Maar wat is nu het doel van deze hele tour?
Klinkt als een machine waar je in dagen een heel nieuwe besturing op schrijft
Elk uur dat je erin duwt kun je beter besteden om op een platform te komen waar wel nog programmeurs voor te vinden zijn
Bij een wijziging moet je de hele hmi al herschrijven, want die kun je vrijwel nooit uploaden

Er zijn PLC's, onder andere Schleicher, waar je wel degelijk de text in een stuk geheugen zet, en bij aanroepen van "iets", deze stuurt via de serieele poort.De poort moet je dan wel via het programma initialiseren.Hoe het bij Mishubishi zit weet ik niet..

u=ir betekent niet :U bent ingenieur..
GJ_

Moderator

Op 16 juli 2019 23:28:57 schreef 240diesel:
T'is natuurlijk ook maar net wat PLC en HMI met elkaar "afspreken".

Wat dacht je van gewoon modbus RTU? Dat is een open protocol dat ook hier voor 99% zeker gebruikt is. Omdat die Mitsubishi niet veel anders kan. Er zijn er enkele die ook nog ASCII babbelen, maar voor een HMI word dat natuurlijk niet gebruikt.

Welke registers en bitjes gebruikt worden voor de communicatie is altijd een beetje lastig te achterhalen als je het project van de HMI niet voorhanden hebt.

DK; het doel van deze hele toer is vooral mijzelf te verdiepen in de complete machine. Ik ben van oorsprong werktuigbouwer/metaalbewerker.
Maar omdat ik degene ben van 3 man TD die het meeste van elektronica weet (iets met één-oog en koning.....) voel ik mij verantwoordelijk om voorbereid te zijn als de nu nog nieuwe Chinese machine begint met kuren.

Daarnaast ben ik gewoon erg benieuwd hoe zo'n PLC werkt en ben ik gek op puzzelen. Het bedrijf waar ik voor werk heeft momenteel het geld niet op stapeltjes liggen dus wil ik geen grote aanslag plegen op het budget. Daar komt nog bij dat programmeurs (terecht) een stevig tarief rekenen en voorzichtig informeren leverde bijvoorbeeld al op dat de Inovance HMI het beste gelijk vervangen kan worden voor een Beijer. Allemaal kosten die ik voor mijn baas probeer te besparen.

Ik heb even gekeken wat een beetje cursus kost, daar kan je zelf aardig wat datasheets voor doornemen :-)

Goed wat je aanhaalt over herschrijven HMI, ik houdt dat als waarschuwing in gedachten.

MEL; bedankt voor je aanvulling, ik ben het nog niet tegen gekomen in de datasheet van mitsubishi maar houdt ook jouw opm. in gedachten.

GJ; zoals je het brengt over die modbus zou het heel logisch moeten zijn voor mij, dat is het echter niet (voor mij) maar wel heel nuttig om te weten. Ik ga daar eens wat meer over lezen dus.
En inderdaad ik heb het project niet voorhanden. Weet wel dat de HMI niet beveiligd is met wachtwoord, zover ben ik er al in geweest. Maar zodra ik het programma wil downloaden op USB stick gaat het (bios-achtige) menu verder in het Chinees.
De vriendelijke engineer van inovance heeft mij vervolgens wel printscreens gestuurd met vertaling maar die komen weer niet overeen met de werkelijkheid.

Iedereen weer bedankt voor de gewaardeerde input, veel kleine stapjes maken met elkaar soms ook dat je er komt.

En nogmaals de uren maken mij niet uit, deze stijl van leren pas ik mijn hele leven al toe en ik ben dankbaar voor waar ik nu al ben ;-)

He je de broncode van de PLC uitgelezen met GX works ?

Als er genoeg geheugen in de PLCzit kunnen de comments er ook nog bij.

De meeste HMI lezen schrijven via de D en M registers naar de PLC
D zijn 16 bits woorden of een veelvoud daarvan, M zijn bool variabelen.

In een FX3U zijn de D woorden ook nog te beschrijven als bool variabelen.

Dankjewel Peter, ik heb inderdaad het programma met GX Works gedownload. Goed om te weten dat de comments er nog bij kunnen indien er voldoende ruimte over is.

Nu maak ik aantekeningen op de uitgeprinte versie, het zal een stuk leesbaarder worden van comments welke opgenomen worden in het programma zelf.

D woorden beschrijven als bool waarden ga ik eens opzoeken, boleaanse algebra zegt mij wel iets maar in combinatie met wat jij noemt niet.

Ik heb de communicatie tussen HMI en PLC al wel een keer onderschept en uitgeprint maar zag geen verbanden of herkenbare waarden (bijvoorbeeld de 3 procestemperaturen plm 150 , 200 en 300 graden)
Via de opmerking van GJ ben ik er nu dus achter dat modbus RTU totaal anders is dan het gebruikte protocol waarmee de temperatuur wordt uitgelezen.

Ach ja, zo komen we stapje voor stapje dichterbij, genietend van alles wat er langs deze omslachtige weg te zien valt.