# Ignition OPC UA to Cognex not able to write

**URL:** <https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [April 8, 2025, 7:59pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865 "2025-04-08T19:59:33Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 8, 2025, 7:59pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/1 "2025-04-08T19:59:33Z")

</div>

I am working with a Cognex D905 using the Cognex Program "In-Sight Vision Suite". I have the camera hooked up to our Ignition Gateway through OPC UA connection. We are able to read and write to certain tags on the device except for the one we are trying to use. We are trying to use the default "LoadJob" tag provided within the Cognex camera, which says it can be read/wrote too

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/8/787ee20bb1abdffb85b57dfa1662ce1c07228eb5.jpeg)

But when I try to write to it in Ignition I get this error:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/d/f/df91515b2f3865047a010ad21a4e4d3e5142f342.png)

The tag came populated with this string:  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/optimized/3X/f/5/f515e941e9f990ccbfda0a8af3c302445661eae1_2_690x42.png)

And I am not sure if it is something on Ignitions end or something on Cognex's end.

We have also looked into using the system.opc.callMethod but we can't seem to figure out exactly what this function needs to work (Where would we find the methodID, objectID, how to call a method with a specific name at connection name, etc.).

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/0/a08fdc2cd1ded553b0aa10488828a97d3c69c67b.jpeg)

We are also working with Cognex to see if it is something on there end. Any information would be helpful, thanks!

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 8, 2025, 8:00pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/2 "2025-04-08T20:00:40Z")

</div>

LoadJob is a Method, not a Variable Node you can subscribe to.

You'll need to use system.opcua.callMethod from a script to call it.

edit: err, missed that you figured some of that out.

The `objectId` will be the NodeId of whatever the parent Node you found that Method underneath is. The `methodId` is the NodeId of that Method Node itself. It helps to connect to the server with something like UaExpert to get a look at the overall structure and the attributes of these Nodes.

The existing OPC browser in the Designer doesn't really let you see any of this as its very outdated and functionally the lowest common denominator of OPC UA + OPC Classic.

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 8, 2025, 8:26pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/3 "2025-04-08T20:26:58Z")

</div>

Is there a verified free version of this software that you could recommend? I looked it up and see some downloads but not sure exactly what to trust.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 8, 2025, 8:30pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/4 "2025-04-08T20:30:56Z")

</div>

> **[OPC UA Clients - Unified Automation](https://www.unified-automation.com/downloads/opc-ua-clients.html)**

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 14, 2025, 2:42pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/5 "2025-04-14T14:42:47Z")

</div>

Finally got IT to download the program. How do I use this program now? I can't seem to find where I would add the camera or where I would go to find the different methodsIDs/objectIds.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 14, 2025, 3:26pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/6 "2025-04-14T15:26:09Z")

</div>

Once you add a connection to this server there is a browser component on the left that is much like the OPC Browser in Ignition. You just need to navigate the address space to the same places you did in the Ignition OPC Browser. Then click on the Method Node and its parent Node and the attributes pane on the right will have a bunch of information in it, including a NodeId.

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 15, 2025, 6:35pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/7 "2025-04-15T18:35:51Z")

</div>

So I connected to the camera and I was able to find this information for the method I am trying to work with,

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/5/25baa6edeb3a343bb82ed3cd2d861ac59e8d676c.png)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/f/3f83001ae6d20fdf1356e29b40920c8bd400aaa1.png)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/8/98bcf173d6b57cd6b691d42bb2ef7fbd7ff09ede.png)

But when I try and write this script on a tags value changed event, nothing seems to happen...

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/4/f4b610c0bc1f4c2ee39ecbb92924a8e63b85cd5d.png)

Still having a hard time understanding exactly what to be filling in for the system.opcua.callMethod , but I tried to follow the example in the manual as closely as I could.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 15, 2025, 6:41pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/8 "2025-04-15T18:41:31Z")

</div>

Add print statements to verify you're even making the call and to print the `results`. These will end up in the wrapper.log files. Alternatively you can use system.util.getLogger: [system.util.getLogger | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-util/system-util-getLogger)

Your comparison to a string value of "10" is immediately suspicious.

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 15, 2025, 6:52pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/9 "2025-04-15T18:52:54Z")

</div>

My thought behind this was so that I can control when I want this script to activate. I have this script running and a value changed event on a tag, so when I manually flip the tag value to 10 it would (hopefully) change the cameras job. I just chose 10 as an arbitrary number. If that's not how you would recommend doing this, I can change it up. This is all just for testing currently.

I also tried to switch the "system.tag.writeBlocking" part of my previous script to:`print results[0]` but I am not getting anymore information in our Logs

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 15, 2025, 6:54pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/10 "2025-04-15T18:54:26Z")

</div>

A numeric tag will never be equal to the string "10".

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 15, 2025, 6:55pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/11 "2025-04-15T18:55:27Z")

</div>

It is a Memory tag looking for a string, I just randomly picked 10.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/e/fe895c005be687cdf347c01986d01b73db1b5c5c.png)

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 15, 2025, 6:57pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/12 "2025-04-15T18:57:42Z")

</div>

I did notice that I am getting this error in our logs when testing it:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/2/82cff38ee8995025486e56bca2cb2cfeac35e9c8.png)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 15, 2025, 7:00pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/13 "2025-04-15T19:00:22Z")

</div>

Can you copy/paste that whole error here? Click the "+" and copy any stack trace available as well.

I think I see the issue, but just to be sure...

You may end up needing to upgrade your Ignition Gateway.

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 15, 2025, 7:06pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/14 "2025-04-15T19:06:27Z")

</div>

```python
([default]E405/TestJobSwitch, valueChanged) Error executing tag event script: Traceback (most recent call last): File "<tagevent:valueChanged>", line 3, in valueChanged at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt.readMethodArguments(callMethod.kt:119) at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt.access$readMethodArguments(callMethod.kt:1) at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt$readMethodArguments$1.invokeSuspend(callMethod.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at com.inductiveautomation.ignition.gateway.opcua.scripting.OpcUaGatewayScriptingFunctions.callMethod(OpcUaGatewayScriptingFunctions.kt:72) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) java.lang.ClassCastException: java.lang.ClassCastException: class org.eclipse.milo.opcua.sdk.client.model.nodes.variables.PropertyTypeNode cannot be cast to class org.eclipse.milo.opcua.sdk.client.nodes.UaMethodNode (org.eclipse.milo.opcua.sdk.client.model.nodes.variables.PropertyTypeNode and org.eclipse.milo.opcua.sdk.client.nodes.UaMethodNode are in unnamed module of loader com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader @60c44b44)
com.inductiveautomation.ignition.common.script.JythonExecException: Traceback (most recent call last): File "", line 3, in valueChanged at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt.readMethodArguments(callMethod.kt:119) at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt.access$readMethodArguments(callMethod.kt:1) at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt$readMethodArguments$1.invokeSuspend(callMethod.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at com.inductiveautomation.ignition.gateway.opcua.scripting.OpcUaGatewayScriptingFunctions.callMethod(OpcUaGatewayScriptingFunctions.kt:72) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) java.lang.ClassCastException: java.lang.ClassCastException: class org.eclipse.milo.opcua.sdk.client.model.nodes.variables.PropertyTypeNode cannot be cast to class org.eclipse.milo.opcua.sdk.client.nodes.UaMethodNode (org.eclipse.milo.opcua.sdk.client.model.nodes.variables.PropertyTypeNode and org.eclipse.milo.opcua.sdk.client.nodes.UaMethodNode are in unnamed module of loader com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader @60c44b44)

at org.python.core.Py.JavaError(Py.java:545)

at org.python.core.Py.JavaError(Py.java:536)

at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:192)

at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction. __call__ (ScriptManager.java:553)

at org.python.core.PyObject. __call__ (PyObject.java:512)

at org.python.core.PyObject. __call__ (PyObject.java:517)

at org.python.pycode._pyx2008344.valueChanged$1(:7)

at org.python.pycode._pyx2008344.call_function()

at org.python.core.PyTableCode.call(PyTableCode.java:173)

at org.python.core.PyBaseCode.call(PyBaseCode.java:306)

at org.python.core.PyFunction.function ___call__ (PyFunction.java:474)

at org.python.core.PyFunction. __call__ (PyFunction.java:469)

at org.python.core.PyFunction. __call__ (PyFunction.java:464)

at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:847)

at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:829)

at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:868)

at com.inductiveautomation.ignition.gateway.tags.scripting.TagScriptManagerImpl$FunctionInvokerImpl.run(TagScriptManagerImpl.java:550)

at com.inductiveautomation.ignition.gateway.tags.scripting.events.AbstractTagScript.invoke(AbstractTagScript.java:34)

at com.inductiveautomation.ignition.gateway.tags.scripting.TagScriptManagerImpl$Task.invoke(TagScriptManagerImpl.java:498)

at com.inductiveautomation.ignition.gateway.tags.scripting.TagScriptManagerImpl$TagScriptDispatcher.run(TagScriptManagerImpl.java:458)

at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:544)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.base/java.util.concurrent.FutureTask.run(Unknown Source)

at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.base/java.lang.Thread.run(Unknown Source)

Caused by: org.python.core.PyException: java.lang.ClassCastException: java.lang.ClassCastException: class org.eclipse.milo.opcua.sdk.client.model.nodes.variables.PropertyTypeNode cannot be cast to class org.eclipse.milo.opcua.sdk.client.nodes.UaMethodNode (org.eclipse.milo.opcua.sdk.client.model.nodes.variables.PropertyTypeNode and org.eclipse.milo.opcua.sdk.client.nodes.UaMethodNode are in unnamed module of loader com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader @60c44b44)

... 27 common frames omitted

Caused by: java.lang.ClassCastException: class org.eclipse.milo.opcua.sdk.client.model.nodes.variables.PropertyTypeNode cannot be cast to class org.eclipse.milo.opcua.sdk.client.nodes.UaMethodNode (org.eclipse.milo.opcua.sdk.client.model.nodes.variables.PropertyTypeNode and org.eclipse.milo.opcua.sdk.client.nodes.UaMethodNode are in unnamed module of loader com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader @60c44b44)

at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt.readMethodArguments(callMethod.kt:119)

at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt.access$readMethodArguments(callMethod.kt:1)

at com.inductiveautomation.ignition.gateway.opcua.scripting.CallMethodKt$readMethodArguments$1.invokeSuspend(callMethod.kt)

at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)

at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)

at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274)

at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)

at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)

at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)

at com.inductiveautomation.ignition.gateway.opcua.scripting.OpcUaGatewayScriptingFunctions.callMethod(OpcUaGatewayScriptingFunctions.kt:72)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:190)

```

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 15, 2025, 7:07pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/15 "2025-04-15T19:07:53Z")

</div>

Let me know if that works or if you would like it in a different format

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 15, 2025, 7:08pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/16 "2025-04-15T19:08:19Z")

</div>

Yeah, same error has over here basically: [Error calling OPC UA method - #2 by Kevin.Herron](https://forum.inductiveautomation.com/t/error-calling-opc-ua-method/83234/2)

This server has a buggy OPC UA implementation. I reworked our OPC UA method call logic to avoid triggering that path in servers that use this implementation and it got released with Ignition 8.1.43.

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 15, 2025, 7:09pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/17 "2025-04-15T19:09:14Z")

</div>

Sounds good. So you think if we were to upgrade our server it would fix this issue?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 15, 2025, 7:09pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/18 "2025-04-15T19:09:25Z")

</div>

It should. Unless you're already on 8.1.43 or newer.

---

<div class="post-metadata">

**Author:** ![Ryan\_Craig](https://avatars.discourse-cdn.com/v4/letter/r/45deac/32.png) [@Ryan\_Craig](https://forum.inductiveautomation.com/u/Ryan_Craig)\
**Post date:** [April 15, 2025, 7:09pm UTC](https://forum.inductiveautomation.com/t/ignition-opc-ua-to-cognex-not-able-to-write/104865/19 "2025-04-15T19:09:51Z")

</div>

Sounds good. I will work with IT on making that happen and get back to you if I have anymore questions.
