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

0
Under review

OPCUA doesnt connnect on unity executable

mcouso 3 years ago in realvirtual.io Starter and Professional updated by Support 3 years ago 7

Hello,


i have been working on a project that uses OPCUA to get some data from a server and when I execut it on the editor of Unity everything works fine but when I try to make the executable for windows platforms, in the executable doesn't connect to the server. Do I need to use any special settings to do the build on Windows?


Please if someone could help me with this I would really apreciate it. Thank you

Answer
Support 3 years ago

Hard to say. Are you able to get the Log data when you start it as a compiled version. There should be no special settings you need to consider. You could also use this Asset to get  the Console Log in the Unity Player Window:

https://assetstore.unity.com/packages/tools/gui/in-game-debug-console-68068

0
Answered

OPCUA with 2020.15 Doesn't Import Arrays

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

Hello. I have setup an OPCUA Client without issue on several versions of Unity (2019.4.18f1, 2020.3.25f1) with game4automation 2020.13. 


I now seem to have an issue Importing array nodes after an update to game4automation 2020.15. 

The nodes import, but the arrays are only a single gameobject without a list of value, instead of a hierarchy array of game objects that it does with 2020.13. 

Is this a known issue, or does it work differently with arrays now? Possibly because of the OPCUA change in 2020.14?

Answer
Support 3 years ago

Yes, arrays are not supported currently. We will add this in one of the next releases. If you need it at this moment you should go back to the old version.

0
Not a bug

Build

Filip D 3 years ago updated 3 years ago 2

UnityEnginy 2020.2.6f1

Building the project end with error. "ArgumentException: The Assembly ZeroFormatter is referenced by PREspective ('Assets/Plugins/PREspective/PREspective.dll'). But the dll is not allowed to be included or could not be found.

UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1[T] alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2[TKey,TValue] cache, UnityEditor.BuildTarget target) (at <8c48e4bc2ff34638b69095cbb65e2e27>:0)

UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1[T] alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2[TKey,TValue] cache, UnityEditor.BuildTarget target) (at <8c48e4bc2ff34638b69095cbb65e2e27>:0)

UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, UnityEditor.BuildTarget target) (at <8c48e4bc2ff34638b69095cbb65e2e27>:0)

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)"

I Change Global functions "public static List GetGroups()" and "GetAllWithGroup(string group)" But, In corpasion it was witout differences.

I tried to build with differed API settings .NET 2.0 ant .NET 4.x

Probably there is probably problem with PREspective.dll, that doesn't properly connected to Unity, but I am not sure.

Do anybody has an idea ? thank you all.

Answer
Support 3 years ago

You have PREspective in your project (Prespective is another Digital Twin product). It is not a part of Game4Automation which is causing your problems. Please delete everything of Prespective or start with an empty project.

0
Started

OPCUA4Unity can't connect to opcua server with username and password

penjami rantakangas 3 years ago in OPCUA4Unity updated by Support 3 years ago 5

Anonymous connection works fine, but when using a username and password, the console doesn't show any errors in creating the connection, but I am not able to read or write to nodes. Also the server doesn't acknowledge the connection. Even when using application certificates the connection doesn't work properly. Using OPC Watch or UaExpert I can easily connect to the server with the username and password.

Answer
Support 3 years ago

Unity is connecting successfully but afterwards no nodes are available when the connection is done with a username and password. Are there any special security settings on the nodes itself in the server which could prevent the reading when loggin in with a user?

0
Fixed

Problem after import game4automation assert

Tobias Berle 3 years ago in realvirtual.io Starter and Professional updated 3 years ago 7

Hello,

I have a problem with the game4automation assets. My first project works very well but now I started a new one and after I installed the game4automation again I could add the game4automation asset again to this new project. But I have no tab in the menu bar from game4automation and in the console following errors:

Assets\game4automation\Professional\LogicStep_CinemachineCamera.cs(5,7): error CS0246: The type or namespace name 'Cinemachine' could not be found (are you missing a using directive or an assembly reference?)

Assets\game4automation\private\Game4AutomationController.cs(17,7): error CS0246: The type or namespace name 'Cinemachine' could not be found (are you missing a using directive or an assembly reference?)

Assets\game4automation\Professional\LogicStep_CinemachineCamera.cs(21,42): error CS0246: The type or namespace name 'CinemachineBlendDefinition' could not be found (are you missing a using directive or an assembly reference?)


1. Question:
Do I must install the game4automation asset every time when I start a new project?

After I saved it and opened the cell again I got following error:

Image 555

If I press "Enter Safe Mode" it shows me the same error.

After I close the safe mode it loads some parts from game4automation. In the tab I have the new one with game4automation but only one entry and in the project I lose my game4automation asset.

Image 556

What can I do to bring game4automation to run?

Or what do I wrong?

Best Tobias

Answer
Support 3 years ago

I see, you seem to use latest beta - which has a bug and is not working without Cinemachine - please use the latest official release (2020.15).

0
Answered

Problem with collisions

Bo Adam 3 years ago in realvirtual.io Starter and Professional updated by Support 3 years ago 7

Hello,

It's me again, I have a problem with a MU, I "spawn" This mu onto a transport surface in g4atransport. It stays in position and can be gripped by the gripper. But when the gripper places it into a warehouse (With a mesh collider) It just falls through the warehouse and floor.
Below are the warehouse settings and the carrier (MU) settings

Image 551

Image 552

Image 553

Answer
Support 3 years ago

It is hard to say what your problem is - everything should work out the box. Can you send your project with a description where the problem occurs and I will directly check in your projet.

0
Fixed

Unity Editor NullReferenceException when clicking on GameObjects

AndreS 3 years ago in realvirtual.io Starter and Professional updated by Support 3 years ago 3

Hello,

i am experiencing NullReferenceExceptions and out of Bounds - Debug.LogErrors in the Unity Editor with the Game4Automation Professional Package installed.

Steps to recreate the behaviour are 

- take a empty project

- import the G4A Professional 2020.15 package

- click on the "PlasticBox" Gameobject

You will be flooded with following errors:

Image 548


Retrieving array element that was out of bounds
UnityEditor.SerializedProperty:GetArrayElementAtIndex (int)
NaughtyAttributes.Editor.ReorderableListPropertyDrawer/<>c__DisplayClass6_0:b__2 (int) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:78)
UnityEditorInternal.ReorderableList:CacheIfNeeded ()
UnityEditorInternal.ReorderableList:GetListElementHeight ()
UnityEditorInternal.ReorderableList:DoLayoutList ()
NaughtyAttributes.Editor.ReorderableListPropertyDrawer:OnGUI_Internal (UnityEngine.Rect,UnityEditor.SerializedProperty,UnityEngine.GUIContent) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:89)
NaughtyAttributes.Editor.SpecialCasePropertyDrawerBase:OnGUI (UnityEngine.Rect,UnityEditor.SerializedProperty) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/SpecialCasePropertyDrawerBase.cs:32)
NaughtyAttributes.Editor.NaughtyEditorGUI:PropertyField_Implementation (UnityEngine.Rect,UnityEditor.SerializedProperty,bool,NaughtyAttributes.Editor.NaughtyEditorGUI/PropertyFieldFunction) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:47)
NaughtyAttributes.Editor.NaughtyEditorGUI:PropertyField_Layout (UnityEditor.SerializedProperty,bool) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:29)
NaughtyAttributes.Editor.NaughtyInspector:DrawSerializedProperties () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:87)
NaughtyAttributes.Editor.NaughtyInspector:OnInspectorGUI () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:47)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


NullReferenceException: Object reference not set to an instance of an object
UnityEditor.PropertyHandler.GetHeight (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditor.EditorGUI.GetPropertyHeightInternal (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditor.EditorGUI.GetPropertyHeight (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditor.EditorGUI.GetPropertyHeight (UnityEditor.SerializedProperty property) (at <3371b3e2e5754acd87e600e068350da5>:0)
NaughtyAttributes.Editor.ReorderableListPropertyDrawer+<>c__DisplayClass6_0.b__2 (System.Int32 index) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:78)
UnityEditorInternal.ReorderableList.CacheIfNeeded () (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditorInternal.ReorderableList.GetListElementHeight () (at <3371b3e2e5754acd87e600e068350da5>:0)
UnityEditorInternal.ReorderableList.DoLayoutList () (at <3371b3e2e5754acd87e600e068350da5>:0)
NaughtyAttributes.Editor.ReorderableListPropertyDrawer.OnGUI_Internal (UnityEngine.Rect rect, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/ReorderableListPropertyDrawer.cs:89)
NaughtyAttributes.Editor.SpecialCasePropertyDrawerBase.OnGUI (UnityEngine.Rect rect, UnityEditor.SerializedProperty property) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/PropertyDrawers_SpecialCase/SpecialCasePropertyDrawerBase.cs:32)
NaughtyAttributes.Editor.NaughtyEditorGUI.PropertyField_Implementation (UnityEngine.Rect rect, UnityEditor.SerializedProperty property, System.Boolean includeChildren, NaughtyAttributes.Editor.NaughtyEditorGUI+PropertyFieldFunction propertyFieldFunction) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:47)
NaughtyAttributes.Editor.NaughtyEditorGUI.PropertyField_Layout (UnityEditor.SerializedProperty property, System.Boolean includeChildren) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:29)
NaughtyAttributes.Editor.NaughtyInspector.DrawSerializedProperties () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:87)
NaughtyAttributes.Editor.NaughtyInspector.OnInspectorGUI () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:47)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.b__0 () (at :0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)




My Setup:


- Unity 2020.3.33f1 LTS ( this also occures at the newest released Unity 2021.3 LTS Version )

- an empty Project

What did i try?

- Scripting Define Symbols are set

Image 549

- the "game4automation -> apply standard settings" doesnt change anything

- deleting the current Version of NaughtyAttributes in the folder "Assets/game4automation/private/Tools" and importing the current release of NaughtyAttributes of github to the project

Everything is working as expected in old LTS Versions, like Unity 2020.3.19.

Answer
Support 3 years ago

Hi, thanks for the feedback. So it seems that it was indeed a Unity bug.

0
Answered

Navigation in Game Modus

Tobias Berle 3 years ago in realvirtual.io Starter and Professional updated 3 years ago 3

Hallo Herr Strigl,


in meinem Projekt habe ich das game4automation asset hinzugefügt. Allerdings kann ich weder navigieren, noch reagiert der „Game“ Modus auf meine Mausklicks.

Wenn ich unter dem „Event System“ die „Add Default Input Modules“ lade wird mir folgender Fehler angezeigt. Wenn ich dies wie beschrieben ersetzte, funktionieren die Mausklicks in der „Game“ View aber bewegen kann ich mich immer noch nicht.

Image 544

Image 545

Image 546

Answer
Support 3 years ago

Game4Automation is using the old input system and it should work out off the box in an empty project. You don't need to add anything else - besides game4automation into your scene. Please check if your project settings are like this - specially active input handling and scripting define symbols:

0
Answered

Device Mapping in ABB

Bo Adam 3 years ago updated 3 years ago 14

Hello,

I am working on connecting ABB robotstudio to game4automation, and I have a question about the device mapping. I have device mappings that go to +-120, How can I make this in robotstudio? I can only see it go up to 9 and then it becomes 1,1, 1,2 etc, does this count as 11,12 etc? 

Another question, Do I have to create empties in robotstudio for every missing device map? I saw the page but didnt understand why you had to create that much empties.

Answer
Support 3 years ago

Please try do do this. I am not able to test because currently I have not an ABB Robotstudio with your configuration. Hope it works.

Add Byte to Origin Data Type 

and replace Line 167 following in ABBRobotStudioInterface by this:

if (signal.OriginDataType.ToUpper() != "BYTE")
{
if (signal.GetType() == typeof(PLCInputInt) || signal.GetType() == typeof(PLCOutputInt))
{
if (lastbit)
posmemory = posmemory + 1;
bit = 0;
shm.bit = 0;
lastbit = false;
signal.Comment = $"MD{posmemory}";
accessor.Write(posheader, (byte) 10);
shm.type = SIGNALTYPE.INT;
posmemory = posmemory + 4;
}
}
else
{ if (signal.GetType() == typeof(PLCInputInt) || signal.GetType() == typeof(PLCOutputInt))
{
if (lastbit)
posmemory = posmemory + 1;
bit = 0;
shm.bit = 0;
lastbit = false;
signal.Comment = $"M{posmemory}";
accessor.Write(posheader, (byte) 8);
shm.type = SIGNALTYPE.BYTE;
posmemory = posmemory + 1;
}
}
0
Answered

Hello Thomas,can I build an Android APP?

Stupiddog 3 years ago in General Questions updated 3 years ago 3

Hello Thomas,I connect my mobilephone with my PC through WIFI。But when I open PLCSIM advanced Interface in Android it does not appear a black window,so I can't connect my virtual PLC。If I want control my virtual PLC in Android what should I do?Can I do it?Thank you Thomas。

Image 536


Image 535

Image 537

Answer
Support 3 years ago

Hi, not all Interfaces are working on all Platforms. Unity is cross compiling to the destination platform but sometimes we need windows specific DLLs. PLCSim Advanced is not working on Android. But you could connect to it using the S7 interface. More information about platform limitations can be found here:

https://game4automation.com/documentation/current/platforms.html#Known-platform-limitations


Best regards

Thomas