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

0
Answered

Why PlcSimAdvanced doesn't connect to plc markers

Andreas 7 months ago in realvirtual.io Starter and Professional updated by Support 7 months ago 1

Hello,

I realized that PlcSimAdvanced isn't importing plc marker signals. Only Inputs or Outputs.

Is there really no way to use markers or data block signals?

Best regards

Andreas

0
Answered

OPCUA Node Connection Error

Pavian 7 months ago in OPCUA4Unity updated by Support 7 months ago 8

Hi, I'm trying to read and write value of nodes from OPCUA Server using realvirtual Pro 2022, and here is the situation:

1.OPCUA server connection works good, read and write also works good on OPC Watch.

Image 1198

2.In Unity Editor (2022LTS 3.45 + realvirtual Pro 2022), it also successfully Import all the 63 Objects of Top node 'ns=3;i=2269' (LNGDT_FI3080.PV)

Image 1199

3.However, there is no value has been properly imported for ALL of the nodes. (ex, IP_INPUT_VALUE)

Image 1200

4.I checked the Node ID in OPC watch for the same object (IP_INPUT_VALUE), and I see the different type of the Node ID; 

1) OPC Watch: ns=3;b=AAAAAAAAAADgCAAAAABZdMsDAAA= (Hexadecimal String)

2) Unity Editor:  ns=3;bs=0x0000000000000000E008000000005974CB030000 (ByteString)

Image 1201

5.So I changed the Node ID in Unity Editor from ByteString to Hexadecimal String, still doesn't work. Is there any way to fix this problem?

Image 1202

0
Answered

How to cummunicate with an ABB robot through the Externally Guided Motion (EGM) interface?

MonkeyKing 8 months ago in General Questions updated by Support 7 months ago 8

Hi,

I'm trying to build a simple Digital Twin of an ABB robot. I'd like to use the Externally Guided Motion (EGM) interface provided by ABB to realize the real-time fast communication between the robot and my Unity sence with the help of realvirtual.io. However, there is no EGM interface in realvirtual.io. Does it mean that I have to build a ABB EGM custom interface by myself? I'm a green hand of Unity and C#. If I have to do that by myself, apart from a brief introduction to "custom interfaces" in the documentation of realvirtual.io, are there any other effective reference materials? Could you please provide some advice and assistance? Thanks a lot.

Answer
Support 8 months ago

Hi,

If you're unfamiliar with Unity and C#, I highly recommend learning the basics first. Implementing an interface without this foundational knowledge would be very tough.

Regarding the suggestion to "use any of the existing interfaces as a blueprint and delete everything that is PLC/interface-specific"—what I meant is that you should reuse the C# code (the one script) of an existing interface and remove everything that's specific to that particular interface inside this script. However, doing this requires a good understanding of C# so that you can navigate and comprehend the code.

The parts you remove need to be replaced by C# code tailored to your custom interface (in your case, EGM, where you seem to have some examples on Github). 

That said, simply copying and pasting code won't work in my opinion. You need a decent level of C# knowledge to properly implement and modify a custom interface.

Best regards

Thomas

0
Fixed

Fehler bei Plattformwechsel von Windows zu Android für Meta Quest 3 Build

jnthn. 8 months ago in General Questions updated by Support 7 months ago 3

Image 1182

Hallo zusammen!

Diesen Fehler bekomme ich direkt beim Plattformwechsel von Windows zu Android. In dieser Szene befindet sich kein realvirtual GameObject und auch keine Assets dergleichen. Das Paket ist jedoch natürlich im Projekt enthalten. 

Answer
Support 7 months ago

Eigentlich sollte über die AssemblyDefinitions SharedMemory für Android ausgeschlossen sein. Vom Pfad her scheint es sich um eine ältere Version zu handeln. Um welche realvirtual Version handelt es sich. Notfalls einfach den Folder realvirtual/private/Interfaces/SharedMemory löschen.

0
Answered

Problem with GuidedMu when MU has a fixed MU on it

Andreas 8 months ago in realvirtual.io Starter and Professional updated by Support 7 months ago 3

Hello,

I use a guided transport system with a GuidedMU on it. 

This MU (WT-2) is getting loaded with another MU (Can) which gets fixed on it by a fixer.

After the WT-2 is lowered again it should actually get moved by TransportGuided system. But it is just shaking a bit, moving barely. After I delete the Can which is fixed on it, the WT-2 starts moving immediately. 

The WT-2 has a GuidedMU (Script) on it and the property "IsFixed" is true when the WT is lifted and false again after it's lowered and should move.

Image 1181

Sometimes it's working though the WT-2 gets moved normal with the Can fixed on it but somestimes not.

I'm not sure where the issue is and try to understand why it is not working properly.

Thank you in advance.

Andreas

0
Fixed

Read Node not getting values for arrays

Mike Mar 8 months ago in OPCUA4Unity updated 8 months ago 5

Hello,

i´m using the OPCUA4Unity standalone package to communicate with my opc server.

Everything is setup correctly and i can connect to the server, import and read nodes.
Unfortunatly i cant get values for arrays though.

Example for the absolutePosition node:
The OPCUA_Node is recognizing that the node is an Array, but still wont fill in any actual values.

Image 1179


I doublechecked the values of the node using the OPCWatch tool:

Image 1180

I cant find anything related in the forums or the documentation.
How to handle arrays?


Kind regard

Mike 

0
Completed

I used mono build normally, but I used il2cpp incorrectly

zhang kang 8 months ago updated by Support 7 months ago 7

D:\soft\2021.3.18f1c1\Editor\Data\il2cpp\build\deploy\il2cpp.exe @Library\Bee\artifacts\rsp\10185664654020197962.rsp

Error: IL2CPP error (no further information about what managed code was being converted is available)

System.AggregateException: One or more errors occurred. (The given key 'nop' was not present in the dictionary.)

---> System.Collections.Generic.KeyNotFoundException: The given key 'nop' was not present in the dictionary.

at System.Collections.Generic.Dictionary`2.get_Item(TKey key)

at Unity.IL2CPP.DataModel.Instruction..ctor(Instruction instruction)

at Unity.IL2CPP.DataModel.BuildLogic.Populaters.MethodBodyPopulator.CreateInstructions(CecilSourcedAssemblyData assemblyDef, MethodDefinition method, MethodDefinition source, ReadOnlyCollection`1 variables, Dictionary`2& instructionMap)

at Unity.IL2CPP.DataModel.BuildLogic.Populaters.MethodBodyPopulator.PopulateMethodBody(CecilSourcedAssemblyData assemblyData, MethodDefinition method, MethodDefinition source)

at Unity.IL2CPP.DataModel.BuildLogic.Populaters.DefinitionPopulater.PopulateMethodDefs(CecilSourcedAssemblyData assemblyData, TypeDefinition typeDef)

at Unity.IL2CPP.DataModel.BuildLogic.Populaters.DefinitionPopulater.PopulateTypeDef(TypeContext context, UnderConstructionMember`2 type)

at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.b__13_1(UnderConstructionMember`2 typeDef)

at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)

--- End of stack trace from previous location ---

at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)

at System.Threading.Tasks.TaskReplicator.Replica`1.ExecuteAction(Boolean& yieldedBeforeCompletion)

at System.Threading.Tasks.TaskReplicator.Replica.Execute()

--- End of inner exception stack trace ---

at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)

at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)

--- End of stack trace from previous location ---

at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException)

at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)

at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)

at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)

at Unity.IL2CPP.DataModel.BuildLogic.Utils.ParallelHelpers.ForEach[TSource](IEnumerable`1 source, Action`1 func, Boolean enableSerial)

at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.PopulateCecilSourcedDefinitions(ReadOnlyCollection`1 assemblyData)

at Unity.IL2CPP.DataModel.BuildLogic.DataModelBuilder.Build()

at Unity.IL2CPP.Contexts.Components.DataModelComponent.Load(LoadSettings loadSettings, Boolean ownsTypeContext, Boolean ownsBuilder, DataModelBuilder& builder)

at Unity.IL2CPP.AssemblyConversion.Phases.InitializePhase.Run(AssemblyConversionContext context)

at Unity.IL2CPP.AssemblyConversion.Classic.ClassicConverter.Run(AssemblyConversionContext context)

at Unity.IL2CPP.AssemblyConversion.AssemblyConverter.ConvertAssemblies(AssemblyConversionInputData data, AssemblyConversionParameters parameters, AssemblyConversionInputDataForTopLevelAccess dataForTopLevel)

UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

0
Answered

TwinCat HMI Interface | Error in Connection

Andrea 8 months ago in General Questions updated by Support 7 months ago 7

Hallo!
Ich wollte wissen, ob jemand Erfahrung im Umgang mit dem TwinCat HMI Interface hat, insbesondere mit Einstellungen die man eventuell im TwinCat Projekt vornehmen muss. 
Ich habe zur Zeit das Problem, dass ich mit dem realvirtual TwinCat HMI Interface keine Verbindung zu meinem HMI Server herstellen kann. Über TwinCat ADS klappt es. 
TwinCAT HMI | realvirtual.io User Documentation Die Einstellungen die hier vorgegeben werden, sind bei mir genauso. 
Deswegen frage ich mich, ob es vielleicht an Einstellungen in meinem TwinCat Projekt liegt, also z.B. SSL/TLS verwenden oder nicht usw. 

0
Declined

IL2CPP erro

zhang kang 8 months ago updated by Support 8 months ago 4

Exception: IL2CPP error for method 'UnityEngine.Quaternion game4automation.IKCalculator::(UnityEngine.Quaternion)' in assembly 'D:\ZhangKang\IA_dev\Temp\StagingArea\Data\Managed\ikcalculator.dll'

System.NullReferenceException: Object reference not set to an instance of an object.

my unity version is 2020.3.33。 I've been dealing with this problem for too long and don't know what to do。please help me

0
Answered

Difference between grip (script) and fixer

Andreas 8 months ago in realvirtual.io Starter and Professional updated 8 months ago 10

Hi,

first I would like to tell that I really like realvirtual.io and and simulation possibility and openness it provides. But at the same time it's often so frustrating because it's kinda challenging.

Now I got the following problem.

I want to use the new fixer pick and place function in IKTarget.

Image 1168

I have two robots and a round table with 4 grip scripts.

Overall view:

Image 1171

Robot A takes the MU with fixer pick and places it on the RT. The RT picks it up with a grip script and it's fixed by the gripper. 

Image 1169

But robot B can't pick up the MU from the round table. It seems to fail because of this code line in fixer script:

Image 1172


If I delete this line than the pick up by robot A isn't working because for some reason the fixer script of robot A does list the MU two times in MUS Entered. (I guess it's the reason)

2 Questions:

1. Where is the difference between grip and fixer?

2. How can I make the pick up work by robot b fixer pick?

Best regards

Andreas

Answer
Support 8 months ago

In the scenario you described, it seems that the MUs are being simultaneously gripped by two different components. This isn't supported or intended behavior. Typically, when something is gripped or fixed, it becomes a child of the gripper or fixer, following its position. If Gripper A moves while Gripper B is still gripping, there’s a conflict—who will control the movement?

This is likely why your case 3 isn't working. Such a setup could lead to unexpected behavior, potentially causing collisions or damaging other elements that rely on the Grip/Fixer system. I recommend developing a custom gripper tailored to your specific needs to avoid these issues. But we are taking this into account if we think  about reengineering Grip or Fixer in the future.

I will also extend our documentation to make sure that it is clear that gripping one part by two Fixer or Grip is not supportet.