Teilen Sie Ihre Erfahrunge und Wünsche mit uns und anderen Usern!

0
Answered

OPCUA4Unity Adding Monitored Items to Subscription.

JacobKreck 11 months ago in OPCUA4Unity updated 6 months ago 7

Hello, I'm currently working on a project that requires reading of thousands of node values. Currently your documentation implies we should subscribe to nodes using OPCInterface.Subscribe() however, this makes a new subscription for each value which quickly reaches a limit. Is there a procedure for adding new monitored items to a single subscription?
 

Answer
Support 6 months ago

Ho Jacob, we have now a beta whoch is able to have the needed limits. It is currently tested by a few customers and will be released soon.

If you are interest I can send you the beta.

Best regards

Thomas

0
Answered

OPCUA and WebGl

Steffen 1 year ago in OPCUA4Unity updated by Support 1 year ago 1

Hi,

is it possible to run the OPCUA Interface inside a webgl app? I tried with Unity 2018.4.15 and 2019.2.17 and always got a "Memory index out of range" error in Chrome and Edge.

Thanks,

Steffen

Answer
Support 1 year ago

No WebGL is not supported - sorry. I also think that communicating in a Web application over OPCUA might also be not wished from the security point of view.

0
Not a bug

LicenseException

J G 1 year ago in OPCUA4Unity updated by Support 1 year ago 10

Hi all,


since the last update I get an LicenseException when building for Android. I only get the error on the device not in the editor.


"LicenseException: The supplied license is not longer supported for this version. You need to renew your support subscription to use this version of the OPC UA Framework Advanced."


I use the OPCUA4Unity asset from the asset store. Since I get this error on already shipped devices I realy need a quick solution. Thank you!

Answer
Support 1 year ago

I am closing this. We can't reproduce it.

0
Answered

OPC UA Client is not in Connected state

Werner Paulin 2 years ago in OPCUA4Unity updated by PeterFischer 1 year ago 14

I can connect to my OPC UA server from OpcWatch, UA Expert and even Node-RED.

However wenn importing nodes I get an error message that the client would not be able to connect. I've attached a log-file. Does someone has any idea?

Answer
Support 1 year ago

Which version are u using. I can't reproduce. With 1.026 Update works. Used Demo Model and UaCPPServer to check.


Do you have a small demo model - based on UaCPPServer where I can check your issue?

0
Answered

Write to OPC UA varible using the PLCInputFloat datatype

DAT 2 years ago in OPCUA4Unity updated by Support 2 years ago 10

Can you write to OPC UA variable using the PLCInputFloat varible type. I easily read values from the PLCOutputFloat inside scripts using the "variableName".Value method but I cannot seem to write using the datatypes.

I am able to change to variables on OPC UA server using other applications.

Answer
Support 2 years ago

I am sending you via email a link to the current beta asset!

0
Not a bug

UnityLinker.exe error in 2019.2.2 LWRP

J G 2 years ago in OPCUA4Unity updated by anonymous 1 month ago 4

Hi all,

I get an error from UnityLinker (see below) in Unity 2019.2.2f1, Android and PC Standalone build. The project also uses LWRP which, I assume, is not so important here. I did not test with standard rendering. I can reproduce this error in an empty project just importing the OPCUA4Unity asset. Other settings are IL2CPP, Net Standard 2.0.


Edit: Maybe it is helpfull to know, that Mono Scripting Backend does not run into this.

Full error message:

UnityLinker.exe -out="C:/Users/Unity/New Unity Project/Temp/StagingArea/Data/Managed/tempStrip" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Core.xml" -x="C:/Users/jg/Unity/New Unity Project/Temp/StagingArea/Data/Managed/TypesInScenes.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Accessibility.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/AI.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/AndroidJNI.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Animation.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/AR.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/AssetBundle.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Audio.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Cloth.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/ClusterInput.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/ClusterRenderer.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Core.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/CrashReporting.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Director.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/DSPGraph.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/FileSystemHttp.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/GameCenter.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Grid.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/HotReload.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/ImageConversion.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/IMGUI.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Input.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/InputLegacy.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/JSONSerialize.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Localization.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/ParticleSystem.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/PerformanceReporting.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Physics.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Physics2D.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Profiler.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/ScreenCapture.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/SharedInternals.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/SpriteMask.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/SpriteShape.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Streaming.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Substance.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Terrain.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/TerrainPhysics.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/TextCore.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/TextRendering.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Tilemap.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/TLS.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UI.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UIElements.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Umbra.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UNET.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UnityAnalytics.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UnityConnect.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UnityTestProtocol.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UnityWebRequest.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UnityWebRequestAssetBundle.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UnityWebRequestAudio.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UnityWebRequestTexture.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/UnityWebRequestWWW.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Vehicles.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/VFX.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Video.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/VR.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/Wind.xml" -x="C:/Program Files/Unity/Hub/Editor/2019.2.2f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/Whitelists/XR.xml" -d="C:/Users/jg/Unity/New Unity Project/Temp/StagingArea/Data/Managed" --include-unity-root-assembly="C:/Users/jg/Unity/New Unity Project/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" --include-unity-root-assembly="C:/Users/jg/Unity/New Unity Project/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Lightweight.Runtime.dll" --include-unity-root-assembly="C:/Users/jg/Unity/New Unity Project/Temp/StagingArea/Data/Managed/Unity.Postprocessing.Runtime.dll" --dotnetruntime=il2cpp --dotnetprofile=unityaot --use-editor-options --include-directory="C:/Users/jg/Unity/New Unity Project/Temp/StagingArea/Data/Managed" --rule-set=Conservative --editor-data-file="C:/Users/jg/Unity/New Unity Project/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json" --disable-engine-module-support

stdout:
Fatal error in Unity CIL Linker
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at Mono.Linker.Steps.MarkStep.ProcessMarkedTypesWithInterfaces()
at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
at Mono.Linker.Steps.MarkStep.Process()
at Unity.Linker.Steps.UnityMarkStep.Process(LinkContext context)
at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
at Unity.Linker.UnityPipeline.ProcessStep(LinkContext context, IStep step)
at Mono.Linker.Pipeline.Process(LinkContext context)
at Unity.Linker.UnityDriver.Run()
at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling()
at Unity.Linker.UnityDriver.RunDriver()
stderr:

UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:126)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:71)
UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable`1, String&, String&, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:222)
UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String[], String[], String, String, String&, String&, String, IIl2CppPlatformProvider, IEnumerable`1, BuildTargetGroup, ManagedStrippingLevel, Boolean, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:158)
UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(IEnumerable, String, String[], String[], String, IIl2CppPlatformProvider, RuntimeClassRegistry, ManagedStrippingLevel) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:358)
UnityEditorInternal.AssemblyStripper:StripAssemblies(String, IIl2CppPlatformProvider, RuntimeClassRegistry, ManagedStrippingLevel) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:246)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:326)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:70)
DesktopStandalonePostProcessor:SetupStagingArea(BuildPostProcessArgs, HashSet`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/DesktopStandalonePostProcessor.cs:242)
DesktopStandalonePostProcessor:PostProcess(BuildPostProcessArgs) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/DesktopStandalonePostProcessor.cs:41)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Answer
Support 2 months ago

Hi, LWRP is not officially supported. You might get it running with some minor changes with LWRP but all our examples and demos are based on the Standared Rendering Pipeline.

OPCUA for Android is only supported with Mono and not with IL2CPP. I am sorry but the 3rd party OPCUA dlls don't work with other settings.  See also the remarks on the Unity Asset Store and on our documentation pages about the compatibility.

0
Fixed

Exception in OPCUAConnection.Connect on Hololens

industry40lab 2 years ago in OPCUA4Unity updated by Support 3 months ago 20

Hi,

I am using OPCUA4Unity in my Hololens Unity project. An exception is thrown when I try to connect to an OPCUA server from the Hololens. Here is the output:

"The type initializer for 'Opc.UaFx.Client.OpcClient' threw an exception. at game4automation.OPCUAConnection.Connect () [0x00000] in <00000000000000000000000000000000>:0
at game4automation.OPCUA_Interface.Connect () [0x00000] in <00000000000000000000000000000000>:0"


I am able to connect just fine in Unity Editor, but not when connecting in Hololens.

I have ensured that the build settings are correct (IL2CPP, .NET 2.0 compatibility), and have set the permissions to allow internet access in Hololens. I am on Unity 2018.4.8f1, and have tried upgrading my project to 2019.1.14f1 but that did not fix the issue.


Let me know if you need more information!

Answer
Support 3 months ago

Hi, we are not able to support Hololens and we stopped support for it. We can refund you the money if you would like. I am sorry but we were not able to get the 3rd party DLLs running on UWP as needed.

0
Completed

Can I connect a Controllogix to game4automation through FactoryTalk Linx or Kepware?

efrensilveyra 2 years ago in OPCUA4Unity updated 2 years ago 3
Answer
Support 2 years ago

No currently I think not. I would propose to use OPC UA. Is there a public API for FactoryTalk Communication. If yes it could be easily integrated with some programming.

Best regards 

Thomas

0
Answered

Subscription fields are mostly null

JGIngaa 2 years ago in OPCUA4Unity updated by Support 2 years ago 3

Dear game4automation team,

so far the OPCUA4Unity asset works very smooth. Great work!

In my project I tried to update my data like you show in the DemoTextWithDelegate example. But the subscription object returned in OPCUA_Interface :

sub = connection.SubscribeNodeDataChange(nodeid,del);

is pretty much empty:

I used UAExpert to test the subscription with the same node id, which worked. As far as I can tell I do not get any warnings or errors. Here is my code how I subscribe:

private OPCUANodeSubscription _safetyLevelSubscription; //subscription is a class member
[...]
_safetyLevelSubscription = _interface.Subscribe(node.NodeId, SafetyLevelNodeChanged); //this is the call
[...]
 public void SafetyLevelNodeChanged(OPCUANodeSubscription sub, object obj) //this is the delegate signature

Now, I noticed that the OPCUAInterface gameobject holds pretty much all the nodes of the top node as childs and keeps them up to date. At least in the editor. Wouldn't it be best practice then to always access those child OPCUA_Nodes instead of adding an additional subscription?

Thanks for your thoughts!

JG

EDIT:

Maybe I should add, that the delegate is not called when the value on the OPC UA server changes. I assume it is due to the null ptr in the subscription. Also, I use a codesys opc ua stack.

Answer
Support 2 years ago

Thanks for the positive feedback. Please give us a review in the Asset Store if you like it.

You have both options. Subscribe in code or use the imported child nodes for accessing the values.

Usually the subscription gets null if the server is not reachable. Some servers are also limiting the number of subscriptions - maybe this is the case on your server. Do you see anything in the console log?

0
Not a bug

Exception in OPCUAConnection.Connect on Android

JGIngaa 2 years ago in OPCUA4Unity updated by Support 2 years ago 4

Hi all!

I am using the OPCUA4Unity asset in my project. When I run it on android devices an exception is thrown in game4automation.OPCUAConnection.Connect(). Here is the full output:

The type initializer for 'Opc.UaFx.Client.OpcClient' threw an exception. at game4automation.OPCUAConnection.Connect () [0x00000] in <00000000000000000000000000000000>:0
at game4automation.OPCUA_Interface.Connect () [0x00000] in <00000000000000000000000000000000>:0

UnityEngine.Logger:Log(LogType, Object)
game4automation.OPCUA_Interface:Connect()

I am able to run it in Unity Editor aswell as Win Standalone App. I am also able to connect with another OPC UA client from the same android device to the server.Is Android not supported?


Please let me know if you need additional infos!


JG

Answer
Support 2 years ago

Hi, we tested it also with android and it shoudl workl.


Are you compiling with ILCPP and are you having .Net20 compatibility turned on. Are you allowing Internet Access for your Android Device?

Thomas