Send variables to macro variables that NCs or machine tools can use

Hello all,

I’m not sure this is the right place to post.

One of our engineering team asked me if Tulip can send values of Tulip variables to macro variables that CNC or machine tools can use for tool compensations.

Now, Tulip can use OPC UA to communicate with machine tools. But the feature of machine attribute is only monitoring machine status only.

So, here is a suggestion. When an operator measure a length of a work, Tulip can get the length as a variable. Then if Tulip can send it to a CNC or machine tools as macro variables via Ethernet/IP or other protocol. I think this can omit manual input for tool compensation.

If someone knows how to send Tulip variables to macro variables that CNCs can handle, please let me know.

Akira Takahashi

This is the right place to post and it’s an interesting and useful suggestion. I would love to hear more takes on how this could work for specific machine & control builders. I don’t have an example in the field of this, but here are a couple considerations:

How CNC accepts an incoming macro?
-Directly into part program
-As a sub-program
-From CAM
-In post processor
-As value in macro table

What is actually connected?
-Sending over Ethernet (or anything else) out of Tulip is common
-Reading on CNC side is generally tightly controlled, and specific to the control builder

Conceptually, I totally agree that sending a variable is a good workaround until OPC UA writeback support is added.

Hi @Akira!

This may not answer your question completely but you can use an Edge device and Node-RED to communicate back to a machine from Tulip via an HTTP function.

We have an example documented here for your review. You would then just need to understand how to take your endpoint in Node-RED and pass the data to your devices.

Thank you for your comment.

I’m not familiar with CNC but the system component is like the following. EZ-Comp can receive a value of a caliper and send it to CNC as a macro variable via Ethernet/IP. If Tulip can do this, The total cost will be cheaper and easier than that.

[a measurement value from a caliper] → [EZ-Comp] ← via Ethernet/IP → [CNC]

Here are the answers for your questions.

How CNC accepts an incoming macro?
→ CNC accepts an incoming macro via “Gage I/F” using Ethernet/IP.

What is actually connected?
→ EZ-Comp is connected with CNC with LAN cable.

Akira Takahashi

Hi @Grant san

Thank you so much for your advice. I always appreciate your support.

Yes, I know this way!! If there is a flow that can talk with CNCs, we can use Node-RED. I found some similar flow for Funac focas which is used for a specific product.

So, I’m going to find a node for CNCs anyway. I’ll post here if I get a good one.

Hey @Akira -

One other resource to recommend. I threw together a demo video of talking from a RaspberryPi to Tulip over the TCP/IP protocol. Very likely the same protocol your machine is speaking, so this might streamline your process some on the NR side.

Hope this helps-

Thanks, I read the EZ-Comp docs to understand how that works. They connect to FANUC via the FANUC FOCAS api (see screenshot, connection info is outlined in pink). I’ll look for an example or put one together with Node-RED like Grant suggested.

EZ-Comp to FOCAS is a proprietary connection on the software side, that we’d replicate with a Node-RED connector. This would not be universal and wouldn’t work the same way for other brands of CNC controllers.

image from EZ-Comp X | Ovation Engineering, Inc

Hello @Pete_Hartnett

Thanks for sharing your video. This is a useful information.

Hello @RussWaddell

Thank you for your research. Well I found that “Gage I/F” is originally developed and not open protocol. So, we need to develop a node of Node-RED for it to post tulip variables to the CNC.

Anyway, I realized that some operators want to send Tulip variables to CNC controllers for tool compensations.