Mitsubishi Ethernet Communication

Hello, hope you are doing great!
I'm trying to extract data from a Mitsubishi PLC. I am using the MC Protocol connection mode and trying it with the buffer parser block, but still not results.

Important to mention, I have setup my IP correct in my PC - I did ping to the PLC, is working fine.

These are the tags I am interested in.

Thank you, have an awesome start of the week
Hector

Hi. Gonna need more info to help you.

Which part doesn't work? Getting data from PLC or parsing it in node-red?

What settings have you entered in the PLC?

What settings have you entered in node-red MC protocol config node.

Are you trying to read tag names (MC protocol only supports memory area addressing)

1 Like

Thank you Steve Mcl for the super fast answer.

Which part doesn't work? Getting data from PLC or parsing it in node-red?
Getting the data. Sometimes I have the error: "time-out" or "Quality Issue"

What settings have you entered in the PLC?
Unfortunately I can't see what has the PLC. I have some documentation from the manufacturer of the machine, saying the IP (I confirm it is with the ping), and the tag name list I shared, which I can see it from Kepware.

What settings have you entered in node-red MC protocol config node.
The following ones


Are you trying to read tag names (MC protocol only supports memory area addressing)
Reading the values.

Thank you!
Hector

Can you show me the settings in KEPWARE of the PLC object and the parent object (need to see port numbers and network numbers used etc)
NOTE: this will show us an already existing connection & we shouldnt use the same port - but it may give us some clues.

Also, do you know the PLC model? Q series? A Series? QnA series? iQR series?

Ideally, you would connect to the PLC using GX-Programmer or GX-Works to determine the PLC settings - do you have these?

If not, you could cross your fingers and hope the integrator opened some UDP (or TCP) ports on the PLC. You can scan with a port scanner (nmap can scan UDP and TCP)

e.g: find open UDP ports...

nmap -sUV -T4 -p1000-5012 --version-intensity 0 192.168.0.253

e.g: find open TCP ports...

nmap -sSV -T4 -p1000-5012 192.168.0.253

Hello Steve,

Once again, thank you so much for your answer!

Can you show me the settings in KEPWARE of the PLC object and the parent object (need to see port numbers and network numbers used etc)
NOTE: this will show us an already existing connection & we shouldnt use the same port - but it may give us some clues.





Also, do you know the PLC model? Q series? A Series? QnA series? iQR series?
It is a Mitsubishi Melsec FX3G-60M. That I believe is the ethernet module has this part number: FX3u-ENETADP

I will try the recommendations with the GX-Programmer, GX-Works, and test UDP or TCP ports during today.

Thank you and have a great day!
Hector

hello Steve,

hope you are doing awesome! I was able to leverage Kepware and configure it, and I see data coming out from the PLC :smiley: ! I will now try it again with Node-red. My greatest fear now is that the MC Read node is not compatible with this type of Mitsubishi PLC - FX3U. What is your opinion about it?

Thank you!
Hector

No worries...

1 Like

Hello Steve,

Victory!!!!!

It is working for one parameter.
Port: 2001
Frame: 1E
Protocol: TCP
PLC Type: A

The rest values were not filled and with a time out of 1000ms (default).

I have tried with the Buffer - Parser node...
image

But error have shown. I have some doubts of how to fill the length and offset. My values sent by the PLC are Int16 and In32.

Thank you so much for the support!
Hector

Normally length is 1 for 1 item.

Offset is the byte from first value.

Read the built in help (explains it better)


Also, try the built in demos (CTRL+I)

image


Lastly, it pays to generate a table for reference - to help yourself when mapping the values. E.g...

PLC address name type byte
D4000 bladeSpeed int16 0
D4001 motorA int16 2
D4010 Test Value int32 20

Basically, each PLC memory area is 2 byte value.


Example...

Demo (use CTRL+I to import)

[{"id":"5c4ec4d6f5146fc0","type":"buffer-parser","z":"766a1068.58afb","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"bladeSpeed","offset":0,"length":1,"offsetbit":0,"scale":"/ 10","mask":""},{"type":"int16be","name":"motorA","offset":2,"length":1,"offsetbit":0,"scale":"/ 100","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":2250,"y":1320,"wires":[["b96ee73c918f4453"]]}]
1 Like

Thank you Steve, I will have a look to the examples and all the screen shots you just shared! Awesome! Thank you once again, and have a nice day!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.