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

0
Answered

button for conveyer belt start

Kadir 2 years ago updated 2 years ago 3

i would like to use buttons for conveyer belts, so that they only start when i press a button.

are there any solutions for that? 

Image 732

Answer
Support 2 years ago

You can use Drive_Simple 

https://realvirtual.io/documentation/current/drivebehaviour.html#Drive-Simple

and connect this to the UI Button

https://realvirtual.io/documentation/current/uicomponents.html#UIButton

by using a Signal PLCInput

https://realvirtual.io/documentation/current/interface.html#Connecting-Signals

With Connect Signal you can connect the PLCInput (of the Button) to the PLCOutput (to control the Drive).

We are currently working on a totally new UI overlay system for easily controlling things in the 3D scene but it will still take some weeks until it is getting released.

0
Answered

Collisions in unity not working correctly

Bo Adam 2 years ago updated 2 years ago 18

Hello,

Sorry that I ask this question here, but I've tried everything and nothing works.

I am working with a carrier on a transport surface that has walls on both sides. I link multiple of these transport surfaces end to end (with a tiny air gap) and make the carrier move in a straight line. 

But after a few conveyors, my carrier rotates around Z and is stuck.

When I look up close, I can see that my carrier clipped through the wall. Both have box colliders and are set to continuous dynamic collision detection. The corners of my carrier have a cylinder with a convex mesh collider attached. 

You can see my picture below, I hope it is clear, but it is a top down view of my carrier clipping though the wall. (You can see the collider of the wall and carrier highlighted in green.

Image 683

I really hope you can help me! 

with kind regards,

Bo

Answer
Support 2 years ago

Hi Bo,

you can try and set the collider of the turn table slightly lower than the conveyor before. Also I would suggest to close unity and delete the library folder within assets. This folder will be created by unity when you open your project again. Start your project again to check wether the problem still occurs.

A last option could be to use the contraints of the rigidbody of your moving object and freeze the z-axis.

0
Completed

Hello Thomas,I can't connect to S7 Interface if I have many Signals。

Stupiddog 2 years ago updated by Support 2 years ago 3

Hello,as you can see,I have an Arduino Mega 2560 and I want to do my own PLC,the PLC has 24 DI、24 DO、8 AI、8 AO signals,when I add all the signals into S7 Interface it can't connect to PLCSIM(I use nettoplcsim),but when I deactivate some signals it works well,if I want it works with all my signals what should I do?I have used the most new G4A,thank you!

Image 674

Image 675

Image 676

Image 677

Image 678

Image 679

Image 680

0
Answered

Pick up cube and conveyer belt stop at sensor

Kadir 2 years ago updated by Support 2 years ago 3

Image 673

what is the best way to pick up the cube on the conveyer ? Should i use the grip or gripper script?

and how can i make the conveyer stop, when the cube is detected by the sensor? is there an alternative solution for stopping the conveyer at a certain destination?

Answer
Support 2 years ago

Please check the demo model or this demo which shows several ways for gripping parts: Assets/game4automation/Scenes/DemoGripping.unity

To make the conveyor stop you can use a script (you need to check the property occupied of the sensor and you can stop the drive by Drive.JogForward = false.


Or you can use Unitys Visual Scripting:

https://realvirtual.io/documentation/current/unityvisualscripting.html

Another possiblity (only with Professional Version) is to use LogicSteps:

https://realvirtual.io/documentation/current/logicsteps.html


You can stop the Conveyor (in a script or by using visual scripting) as soon as Drive.CurrentPosition is greater than a certain value.


0
Answered

DllNotFoundException

Kadir 2 years ago updated 2 years ago 6

I was trying to import the game4automation asset but got that error: 

DllNotFoundException: 3DConnexionWrapperU5 assembly: type: member:(null)

how can i solve it?

Answer
Support 2 years ago

You seem to work on a non Windows Plattform. I think the space navigator drivers are the problem. Please delete the whole SpaceNavigator folder after importing the asset and select again "Apply Standard Settings"


Assets/game4automation/private/RuntimeUI/SpaceNavigator

0
Under review

Import signals error in Twincat Interface

Stupiddog 2 years ago updated by Support 2 years ago 5

Hello Thomas,I build a Test program with Twincat3,after I press Active configration button thePLC turns green then I press Import Signals in Unity it shows:TypeLoadException: Could not resolve type with token 0100000a (from typeref, class/assembly I18N.Common.MonoSafeEncoding, I18N, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756) assembly:I18N, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756 type:I18N.Common.MonoSafeEncoding member:(null) signature:
System.RuntimeType.GetConstructors_internal (System.Reflection.BindingFlags bindingAttr, System.RuntimeType reflectedType) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.RuntimeType.GetConstructorCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Reflection.CallingConventions callConv, System.Type[] types, System.Boolean allowPrefixLookup) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.RuntimeType.GetConstructors (System.Reflection.BindingFlags bindingAttr) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.RuntimeType.CreateInstanceImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes, System.Threading.StackCrawlMark& stackMark) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Activator.CreateInstance (System.Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Activator.CreateInstance (System.Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.RuntimeType.InvokeMember (System.String name, System.Reflection.BindingFlags bindingFlags, System.Reflection.Binder binder, System.Object target, System.Object[] providedArgs, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, System.String[] namedParams) (at <695d1cc93cca45069c528c15c9fdd749>:0)
I18N.Common.Manager.Instantiate (System.String name) (at <6abb78bbc2d24347bb608e81ff4eb73b>:0)
I18N.Common.Manager.GetEncoding (System.Int32 codePage) (at <6abb78bbc2d24347bb608e81ff4eb73b>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.

System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.RuntimeType.InvokeMember (System.String name, System.Reflection.BindingFlags bindingFlags, System.Reflection.Binder binder, System.Object target, System.Object[] providedArgs, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, System.String[] namedParams) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Text.EncodingHelper.InvokeI18N (System.String name, System.Object[] args) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Text.Encoding.GetEncoding (System.Int32 codepage) (at <695d1cc93cca45069c528c15c9fdd749>:0)
TwinCAT.Ads.Internal.SymbolUploadInfo.get_StringEncoding () (at <23b243ab6b58458a8536a564d2211fbc>:0)
TwinCAT.Ads.TcAdsSymbolInfoLoader.onUploadSymbols () (at <23b243ab6b58458a8536a564d2211fbc>:0)
TwinCAT.Ads.TcAdsSymbolInfoLoader.initializeUploadSymbols (System.Boolean forceReload) (at <23b243ab6b58458a8536a564d2211fbc>:0)
TwinCAT.Ads.TcAdsSymbolInfoLoader.GetSymbols (System.Boolean forceReload) (at <23b243ab6b58458a8536a564d2211fbc>:0)
game4automation.TwinCatAdsInterface.ImportSignals (System.Boolean simstart) (at Assets/game4automation/private/Interfaces/TwinCAT/TwinCatAdsInterface.cs:351)
game4automation.TwinCatAdsInterface.Import () (at Assets/game4automation/private/Interfaces/TwinCAT/TwinCatAdsInterface.cs:747)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <695d1cc93cca45069c528c15c9fdd749>:0)
NaughtyAttributes.Editor.NaughtyEditorGUI.Button (UnityEngine.Object target, System.Reflection.MethodInfo methodInfo) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/Utility/NaughtyEditorGUI.cs:179)
NaughtyAttributes.Editor.NaughtyInspector.DrawButtons (System.Boolean drawHeader) (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:188)
NaughtyAttributes.Editor.NaughtyInspector.OnInspectorGUI () (at Assets/game4automation/private/Tools/NaughtyAttributes/Editor/NaughtyInspector.cs:52)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.b__0 () (at :0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Image 643

Image 644

Image 645

Image 646

Image 647

My Unity is 2020.3.4 and G4A is Version 2020.15 - February 10, 2022,Thank you Thomas。

Answer
Support 2 years ago

could it have to do with some non english letters in the symbol naming. I know that this problem exists and we need to fix it in one of the next releases.

0
Fixed

cant download demo project, link is brocken.

david jung le 2 years ago updated by Support 2 years ago 1
Answer
Support 2 years ago

Thanks for your information. Should be fixed now.

0
Answered

PLC WinMoD G4A

Lgcontrol 2 years ago updated by Support 6 months ago 4

Hi

I would like to use G4A to get WinMoD behavior signal and then according signal to  display in U3D  and also get feedback from G4A. WinMoD other side contion a physical PLC.

What kind of automation interface would be best select in G4A side ? OPC-UA?

0
Answered

Allen‑Bradley, Rockwell PLC Framework

kkellner 2 years ago updated by Support 1 year ago 18

Gibt es nativ eine direkte Schnittstelle zum Rockwell PLC Framework?

Ich konnte keine explizierte Erwähnung (wie für Siemens oder Beckhoff)

finden.

Answer
Support 2 years ago

All of them have the basic function of signal exchange with the PLC. The functionality essentially depends on what the interface to the PLC of the manufacturer enables.

The most comprehensive - including signal import via the interface - is the TwinCAT ADS interface.

With S7, the signals must be exported from Step7 via a standardized text file and imported into G4A.

With EthernetIP there is no standard for this. The signals must be created manually or imported via a non-standard text file.


0
Answered

Bibliothek

je-a-s 2 years ago updated by Support 2 years ago 1

Ich habe eine weile mit eine anderen Simulation System gearbeitet. Daher folgende Fragen

Kann man in Game4Automation sich eine Bibliothek anlegen und sich  die Erstellung einer Szene (fuer Kunden) automatisieren.

Bei dem anderen System kann via einer I/O Liste und einen externen Tool Marcos ausgewählt  und die Verlinkung zu diesen erzeugt werden.