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

0
Under review

Import signals error in Twincat Interface

Stupiddog 11 hours ago updated 4 hours ago 2

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&)

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

Answer
Support 4 hours 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 1 week ago updated by Support 1 week ago 1
Answer
Support 1 week ago

Thanks for your information. Should be fixed now.

0
Under review

PLC WinMoD G4A

Lgcontrol 4 weeks ago updated by Support 4 weeks ago 1

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 months ago updated 1 hour ago 14

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 months 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 3 months ago updated by Support 3 months 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.

0
Answered

ABB Word mapping

Bo Adam 3 months ago updated 3 months ago 2

Hello,

A small time ago we had a conversation about adding bytes into the device mapping of ABB, now i needs words (16bits). 

We are trying to get the Word option to work as well, we have changed the code to the following:

Only thing we are not sure about is the line with accessor.Write(posheader, (byte) 10).

Is this correct or should we change it?

Sorry for the formatting, couldn't find the code button.

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 = $"M{posmemory}";

accessor.Write(posheader, (byte) 8);

shm.type = SIGNALTYPE.BYTE;

posmemory = posmemory + 1;

}

}

else if (signal.OriginDataType.ToUpper() == "WORD")

{

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) 10);

shm.type = SIGNALTYPE.WORD;

posmemory = posmemory + 2;

}

}

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) 10);

shm.type = SIGNALTYPE.INT;

posmemory = posmemory + 4;

}

}

Sorry if you saw my answer on the last message, but i thought it would be good to make a new topic! 

Answer
Support 3 months ago

I will add this in one of the next release. For Words you need to write a 9 as Type ID.

0
Not a bug

Build

Filip D 3 months ago updated 3 months 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 months 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
Answered

Device Mapping in ABB

Bo Adam 4 months ago updated 3 months 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 4 months 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
Completed

game4automation Starter Edition Questions

game4automation用户 4 months ago updated by Support 4 months ago 1

Hi Thomas, I'm having a problem with game4automation Starter Edition. After I connect to the S7-1200 and import the .sdf file, but the connection icon is gray, not colored as in the video, but I am following the video, is the starter version supporting the communication of the S7-1200? And how do I complete the communication, I have been worried about this for several days.I would very much like to have your help.

Answer
Support 4 months ago

Hard to say what your problem is. Yes for sure, Starter is supporting S7 interface. 

Is it an input or an output what you would like to use. Please make sure, that both are well outside the existing hardware IO adresses, otherwise the hardware status could overwrite the signals from the G4A S7 interface. Do you get any error messages in the console log. Please also check that your PLC is configured like described here:

https://game4automation.com/documentation/current/s7tcpip.html#Configuring-the-PLC

0

Runtime UI

steward 8 months ago 0

I love this asset, it's awesome, however, I want to show the number range slider in the runtime inspector. I have seen that the Runtime Inspector & Hierarchy has updated and it can show the number range slider in the inspector, so could you update the runtime UI?