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

0
Fixed

S7_Interface AreaReadWriteMode MinAreaDBInput causes data reading exception

陈喜成 vor 6 Tagen in realvirtual.io Starter and Professional aktualisiert von Support vor 4 Tagen 4

Hello, I am a Chinese user and I greatly appreciate your company's products

Based on the Pro6 Ver8152 test, the S7_interface AreaReadWriteMode DB test found the following issues (everything is normal in non AreaReadWriteMode mode, but the communication load is high):


1.At the beginning, the O/I of my DB5 corresponded to PLC Output/Input and S7_interface settings:

AreaReadWriteMode:True

DBOutputs:5

MinAreaDBOutput:0

MaxAreaDBOutput:143

DBInputs:5

MinAreaDBInput:144

MaxAreaDBInput:277

ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.

System.Buffer.BlockCopy (System.Array src, System.Int32 srcOffset, System.Array dst, System.Int32 dstOffset, System.Int32 count) (at :0)

realvirtual.S7Interface.WriteS7 () (at Assets/realvirtual/Interfaces/S7TCPIP/S7Interface.cs:933)

realvirtual.S7Interface.CommunicationThreadUpdate () (at Assets/realvirtual/Interfaces/S7TCPIP/S7Interface.cs:1083)

realvirtual.InterfaceThreadedBaseClass.CommunicationThread (System.Threading.CancellationToken token) (at Assets/realvirtual/Interfaces/InterfaceThreadedBaseClass.cs:226)

realvirtual.InterfaceThreadedBaseClass.b__36_0 () (at Assets/realvirtual/Interfaces/InterfaceThreadedBaseClass.cs:124)

System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) (at :0)

System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at :0)

System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) (at :0)

System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) (at :0)

System.Threading.ThreadHelper.ThreadStart () (at :0)

UnityEngine.<>c:b__0_0(Object, UnhandledExceptionEventArgs)


2. Through debugging and positioning, I modified some of the code and wrote it to PLC.DB.tags normally, but all reads failed without any errors:

WriteS7()

{

...

if (AreaReadWriteMode)

{

...

case S7InterfaceSignal.S7TYPE.BYTE:

Buffer.BlockCopy(bytes, 0, dstarea, pos, 1);

break;

case S7InterfaceSignal.S7TYPE.WORD:

Buffer.BlockCopy(bytes, 0, dstarea, pos, 2);

break;

case S7InterfaceSignal.S7TYPE.DWORD:

Buffer.BlockCopy(bytes, 0, dstarea, pos, 4);

break;

case S7InterfaceSignal.S7TYPE.SINT:

Buffer.BlockCopy(bytes, 0, dstarea, pos, 2);

break;

case S7InterfaceSignal.S7TYPE.INT:

Buffer.BlockCopy(bytes, 0, dstarea, pos, 2);

break;

case S7InterfaceSignal.S7TYPE.DINT:

Buffer.BlockCopy(bytes, 0, dstarea, pos, 4);

break;

case S7InterfaceSignal.S7TYPE.USINT:

Buffer.BlockCopy(bytes, 0, dstarea, pos, 1);

break;

case S7InterfaceSignal.S7TYPE.UINT:

Buffer.BlockCopy(bytes, 0, dstarea, pos, 2);

break;

...

}

...

}


3. Clone PLC DB5 to DB3, set DBInputs to 3, MinAreaDBInput to 0, and read/write everything is normal


4. Modify MinAreaDBInput: 2, the last 2Byte Read in the Read area is invalid

Modify MinAreaDBInput: 4, the last 4Byte Read in the Read area is invalid

... and so on


5.In OPCUA mode, Unity is played twice, but the value of PLCINput is restored to default, but the PLC memory remains in the same state as when the first attempt ended without any changes


6. I debugged the same Unity simulation project implementation based on our own S7.NET communication program: the conveyor belt transfers the tray until the PLC detects the Unity sensor signal and stops, and the OPCUA signal of RealVirtual.io always detects it and runs for a distance before stopping (the faster the speed, the farther it exceeds the distance). However, our own use of S7.NET does not have this problem (we use S7.NET.ReadClass to batch read, parse, update the drive object, update the ValueChange, update the WriteData, and WriteClass to time 50ms WirteData to the PLC).


Could you please help analyze and provide feedback on the above issues? Additionally, I have code to convert the DB exported by the PLC into complete XML, and I hope to modify it into the tag import mechanism of OPCUA in the future (as RealVirtual 6 does not support DB import, I am currently using OPCUA to import PLCTags, and then using OpcuaTagoS7 to change the OPCUA tag to S7Interface AreaReadWriteMode for communication, as I am concerned about the performance issues of OPCUA's subscription mode for large-scale PLCTAGS)


I have sent you the relevant attachments via email. Regarding the method of generating PlcTagsXML from DB, you can also contact me if you need it, because we have successfully tested and verified this aspect through the project (the method found online has multiple bugs in the calculation of S7 address offset).


Looking forward to your reply~


S7_Interface AreaReadWriteMode Debug.zip

By:Liuxingsuifeng

Email: 410701881@qq.com

Antwort
Support vor 4 Tagen

We fixed all things discussed in this thread - will be available in upcoming release 6.0.8

0
Beantwortet

How can I use Modern Drive Gizmos and Drive handles in 6.0.7?

hdd113 vor 1 Woche in General Questions aktualisiert von Support Vor 4 Stunden 2

I'm starting out with RealVirtual, and I've ran into a problem right away regarding the UI.

In this doc, it says that a Modern Drive Gizmo should be shown When I select a drive, but I don't see any kind of handles other than native unity handles. 

I checked the Drive in the settings panel and also added an icon, but I'm not seeing any kind of icons or gizmos in the main 3D view nor in the hierarchy view. This is a new clean project using Unity 6 LTS and RealVirtual 6.0.7. The only thing I've added is our 3d model that is not modified since import.

https://doc.realvirtual.io/components-and-scripts/motion/drive#modern-drive-gizmos-updated-in-6.0.3

Image 1404

0
Fixed

Chain Transfer Issue

Cam vor 1 Woche in realvirtual.io Starter and Professional aktualisiert von Support Vor 4 Stunden 4

The normal sample scene works great, as well as the majority of the others! Although I am running into major issues with a few components and other test scenes. The chain transfer sample scene does not work at all. The main issue seems to be the chain does not lift no matter what I try. I've changed many parameters and even tried to use the transfer in my own projects but it will not lift off the conveyor. It shows that its moving 'Out', but no motion actually occurs even with exaggerated positions. I was hoping to just use this chain transfer object as its exactly what I need, but it isnt responding. Any ideas on what I may be doing wrong?  Unity Version 6000.0.61f1
Realvirtual pro version 6.0.7.8152
realvirutal sim version 6.0.5.7954

0
Beantwortet

[Help Needed] FANUC RobotInterface

BWA vor 2 Wochen aktualisiert von Support Vor 4 Stunden 3

Hi everyone,

I'm working with the FanucInterface component in realvirtual.io to connect Unity to RoboGuide. 
I'm able to connect Unity and Roboguide through SNPX
I'm able to read UO and DO signals from the robot in Unity but I'm not able to write DI or UI signals.


Setup:

  • RoboGuide: HandlingPro Classic Version 10 (Rev.C_SR4)
  • Unity: Unity 6.2 with realvirtual.io V6.0.7.8152


0
Beantwortet

[Help Needed] OPC UA Signal Direction Imported Incorrectly (Inputs recognized as Outputs and vice versa)

王海星 vor 3 Wochen aktualisiert von 陈喜成 vor 6 Tagen 3

Hi everyone,

I'm working with the OPCUAInterface component in realvirtual.io to connect Unity to a Siemens S7-1500 PLC via OPC UA, and I'm running into a frustrating issue with signal direction mapping.

Setup:

  • PLC: Siemens S7-1500

  • Unity side: Using OPCUAInterface from realvirtual.io

  • In the PLC (TIA Portal), I've configured:

    • .inputs variables as Read-Only (HMI accessible: Read only)

    • .outputs variables as Read/Write

  • In Unity:

    • I've tried enabling/disabling Automatically Input On Write Signals

    • I've set Regex Write Nodes = (?i)\.outputs to match output variables

However, no matter what combination I try, the imported signal directions are reversed:

  • .outputs are imported as Input ❌ (they should be Output)

  • .inputs are imported as Output ❌ (they should be Input)

 What I Expect:

Based on my understanding of realvirtual.io's signal model:

  • Input = Unity reads from the PLC (e.g., sensors, status)

  • Output = Unity writes to the PLC (e.g., buttons, control commands)

I expect .inputs to be imported as Input, and .outputs as Output.

 Temporary Workaround:

I'm currently using a custom Unity script that runs after import and forcibly sets the signal direction based on the variable name (.inputs → Input, .outputs → Output).

This works, but feels like a hack and not a long-term or scalable solution.

What I'm Asking:

  1. Is this a known limitation of Siemens OPC UA Server? (Does it misreport variable access rights?)

  2. Is there a way to fully customize signal direction logic during import in OPCUAInterface?

  3. What’s the recommended best practice for Siemens OPC UA + Unity signal mapping?

0
Fixed

Shoe sorter

Andre vor 4 Wochen in realvirtual.io Starter and Professional aktualisiert von Support vor 1 Woche 3

What happened to shoe sorter model in latest Unity 6 updates. ? I updated model but now shoes do not start at conveyor front but they just march forward leaving conveyor belt. 

0
Not a bug

RV6.0.6 Creating a Build doesn't work

Andreas vor 4 Wochen in realvirtual.io Starter and Professional aktualisiert von Support Vor 4 Stunden 3

Hi Team,

creating a build seems to not work with RV6.0.+ (I tried several versions). 

For this I just imported the RV6 package and created a build but the game looks like this.

My Unity version is 6000.0.58f2.

Image 1400

0
Fixed

PLC SIM Advanced 6.0 Windows 11 Realvirutal Unity 6

OkrutnySCD vor 1 Monat in realvirtual.io Starter and Professional aktualisiert von Support vor 4 Wochen 5

I have problem with PLCSIM Advanced (Pro). I tried import signal but everytime i have this message. 

Image 1394

When I tried start manual PLCSimAdvancedCoupler I have this 

Image 1395

I copty to correctly location because I use this in version 2022 but now I can't use this.

0
Beantwortet

RV6: Set Start Position of Main Camera

Andreas vor 1 Monat in realvirtual.io Starter and Professional aktualisiert vor 4 Wochen 2

Hi,

I am changing the starting view of the main camera but when activating the game mode the main camera switches back to another view. 

Why is that and how to control the starting view of the main camera properly?

0
Beantwortet

Need IK support for 6-axis collaborative robots (Cobot)

Seokhyun Lee vor 2 Monaten in realvirtual.io Starter and Professional aktualisiert von Support vor 1 Monat 1

Hello Again,


I'm currently using realvirtual io 6 Professional.

Recently, many robots are being introduced to automate manufacturing processes, 

but most of them are collaborative robots, not industrial robots.

- Industrial robots: TCP, Axis6, 5 and 4 on a straight line 

  (example ABB IRB 1200, Yaskawa robot)

Image 1390

- Collaborative robots (Cobot) : TCP, Axsis6, 5 and 4 are not on a straight line 

  (example UR UR5/6/10, Fanuc CRX 10iA)

Image 1391

I'd like to explore this robotic automation with realvirtual io, 

but the robot IK support in realvirtual io currently only supports industrial robots, limiting its usability.

★ I need IK support for 6-axis collaborative robots (Cobot).

(As shown in the image below, the FANUC robot (CRX-10iA) used in the representative demo included in realvirtual io 6 is also a 6-axis collaborative robot (Cobot), but I can't find IK support for 6-axis collaborative robots in realvirtual io 6 Professionals)

Do you have any plans for this?

(Please provide IK support for Cobot..!)

Thanks.


Best regard,

Seokhyun Lee

Image 1393