question

Steven Chen avatar image
0 Likes"
Steven Chen asked Jason Lightfoot commented

Using OPC UA to connect Fanuc robot

Hello,

I would like to connect FlexSim with Fanuc robot controller.

By using OPC UA, I can't find any suitable tag such as digital I/O, but only Modbus tags.

We supposed the discreteinput is digital I/O in Fanuc controller, but the list of tags under discreteinput are not available.

01.png


FlexSim 22.1.4
emulation
01.png (91.0 KiB)
· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Julie Weller avatar image Julie Weller commented ·

Hi @Steven Chen, was Jason Lightfoot's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always comment back to reopen your question.

0 Likes 0 ·

1 Answer

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Jason Lightfoot commented

It looks like you may be wanting to use the instance specifier as described here.

If the instances are robots then just add them to an object process flow containin the emulation variable set up as the documentation described - say with a label on each to use as the instance specifier. If the instances are something more abstract within FlexSim - like joints - you'd have to find a way of attaching those to the object process flow as members - such as manually sampling the drawsurrogate tree.

· 6
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Steven Chen avatar image Steven Chen commented ·

@Jason Lightfoot Thank you for help, but I don't think that manual answers my question. I would like to access Fanuc controller by using OPC UA, but FlexSim OPC UA can't find IO tags I need.


This webpage explains what IO in Fanuc robot.

Mapping and Configuring FANUC Robot IO Points

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Steven Chen commented ·

Find the tags in UA Expert. I think then you'll find that the use of instance specifiers in FlexSim will match the format you need.

Since this is so abstract I'd probably try using tokens generated in one process flow as instances for the process flow containing the emulation variable.

0 Likes 0 ·
Steven Chen avatar image Steven Chen Jason Lightfoot ♦♦ commented ·

@Jason Lightfoot I have tried UA Expert today, as you can see in below picture, what we want to access is one boolean value inside an array, such as Coils[0] or Coils[1].

ua-expert.png


Node id of boolean array is "ns=1;i=302".

But elements of the boolean array don't have node id.

FlexSim returns value zero instead of boolean array with that node id.


I was supposing that format of node id can be changed to "ns=1;i=302[0]" to access only one boolean value in the array, but somehow manually set the string of node id in text field didn't take effect.

opc-ua-variable.png

In conclusion FlexSim 2022 seems not able to access single element of array node. Does new emulation module 2023 supports read/write array variable?

0 Likes 0 ·
ua-expert.png (353.4 KiB)
Show more comments