Teilen Sie Ihre Erfahrunge und Wünsche mit uns und anderen Usern!
S7_Interface AreaReadWriteMode MinAreaDBInput causes data reading exception
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
We fixed all things discussed in this thread - will be available in upcoming release 6.0.8
How can I use Modern Drive Gizmos and Drive handles in 6.0.7?
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

Chain Transfer Issue
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
[Help Needed] FANUC RobotInterface
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
[Help Needed] OPC UA Signal Direction Imported Incorrectly (Inputs recognized as Outputs and vice versa)
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
OPCUAInterfacefrom realvirtual.io -
In the PLC (TIA Portal), I've configured:
-
.inputsvariables as Read-Only (HMI accessible: Read only) -
.outputsvariables as Read/Write
-
-
In Unity:
-
I've tried enabling/disabling
Automatically Input On Write Signals -
I've set
Regex Write Nodes = (?i)\.outputsto match output variables
-
However, no matter what combination I try, the imported signal directions are reversed:
-
.outputsare imported as Input ❌ (they should be Output) -
.inputsare 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:
-
Is this a known limitation of Siemens OPC UA Server? (Does it misreport variable access rights?)
-
Is there a way to fully customize signal direction logic during import in
OPCUAInterface? -
What’s the recommended best practice for Siemens OPC UA + Unity signal mapping?
Shoe sorter
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.
RV6.0.6 Creating a Build doesn't work
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.

PLC SIM Advanced 6.0 Windows 11 Realvirutal Unity 6
I have problem with PLCSIM Advanced (Pro). I tried import signal but everytime i have this message.

When I tried start manual PLCSimAdvancedCoupler I have this

I copty to correctly location because I use this in version 2022 but now I can't use this.
RV6: Set Start Position of Main Camera
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?
Need IK support for 6-axis collaborative robots (Cobot)
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)

- Collaborative robots (Cobot) : TCP, Axsis6, 5 and 4 are not on a straight line
(example UR UR5/6/10, Fanuc CRX 10iA)

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

Customer support service by UserEcho