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

0
Beantwortet

button for conveyer belt start

Kadir vor 2 Jahren aktualisiert vor 2 Jahren 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

Antwort
Support vor 2 Jahren

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
Beantwortet

Collisions in unity not working correctly

Bo Adam vor 2 Jahren aktualisiert vor 2 Jahren 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

Antwort
Support vor 2 Jahren

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
Fertiggestellt

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

Stupiddog vor 2 Jahren aktualisiert von Support vor 2 Jahren 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
Beantwortet

Pick up cube and conveyer belt stop at sensor

Kadir vor 2 Jahren aktualisiert von Support vor 2 Jahren 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?

Antwort
Support vor 2 Jahren

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
Beantwortet

DllNotFoundException

Kadir vor 2 Jahren aktualisiert vor 2 Jahren 6

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

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

how can i solve it?

Antwort
Support vor 2 Jahren

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
Wird überprüft

Import signals error in Twincat Interface

Stupiddog vor 2 Jahren aktualisiert von Support vor 2 Jahren 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。

Antwort
Support vor 2 Jahren

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 vor 2 Jahren aktualisiert von Support vor 2 Jahren 1
Antwort
Support vor 2 Jahren

Thanks for your information. Should be fixed now.

0
Beantwortet

PLC WinMoD G4A

Lgcontrol vor 2 Jahren aktualisiert von Support vor 6 Monaten 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
Beantwortet

Allen‑Bradley, Rockwell PLC Framework

kkellner vor 2 Jahren aktualisiert von Support vor 1 vor einem Jahr 18

Gibt es nativ eine direkte Schnittstelle zum Rockwell PLC Framework?

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

finden.

Antwort
Support vor 2 Jahren

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
Beantwortet

Bibliothek

je-a-s vor 2 Jahren aktualisiert von Support vor 2 Jahren 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.