S7 TCP/IP interface for direct communication with Siemens SIMATIC S7 PLCs (S7-300, S7-400, S7-1200, S7-1500). More...

Public Member Functions | |
override GameObject | GetSignal (string name) |
Gets a signal based on its name. | |
void | ReadSignalFile () |
Imports the symbol table and creates the signal objects under this S7interface object. | |
void | CheckConnection () |
Connects to the S7 and checks the connection. | |
override void | OpenInterface () |
override void | CloseInterface () |
![]() | |
void | UpdateInterfaceSignals (ref int inputs, ref int outputs) |
Creates a new List of InterfaceSignals based on the Components under this Interface GameObject. | |
Signal | CreateSignalObject (string name, SIGNALTYPE type, SIGNALDIRECTION direction) |
Create a signal object as sub gameobject. | |
Signal | AddSignal (InterfaceSignal interfacesignal) |
void | RemoveSignal (InterfaceSignal interfacesignal) |
void | SetAllSignalStatus (bool connected) |
void | DestroyAllSignals () |
void | DeleteSignals () |
void | PostAllScenesLoaded () |
![]() | |
void | PreStartSim () |
Is called by the realvirtualController before the component is started. | |
void | StartSim () |
Is called by the realvirtualController to start or stop the component. | |
void | StopSim () |
Vector3 | DirectionToVector (DIRECTION direction) |
Transfers the direction enumeration to a vector. | |
DIRECTION | VectorToDirection (bool torotatoin, Vector3 vector) |
Transfers a vector to the direction enumeration. | |
float | GetLocalScale (Transform thetransform, DIRECTION direction) |
List< BehaviorInterfaceConnection > | UpdateConnectionInfo () |
List< Signal > | GetConnectedSignals () |
void | SetVisibility (bool visibility) |
Sets the visibility of this object including all subobjects. | |
List< BehaviorInterfaceConnection > | GetConnections () |
List< Signal > | GetSignals () |
GameObject | GetChildByName (string name) |
Gets a child by name. | |
List< GameObject > | GetChildsByName (string name) |
Gets all child by name. | |
GameObject | GetChildByNameAlsoHidden (string name) |
List< GameObject > | GetAllMeshesWithGroup (string group) |
List< GameObject > | GetAllWithGroup (string group) |
List< GameObject > | GetAllWithGroups (List< string > groups) |
List< GameObject > | GetAllMeshesWithGroups (List< string > groups) |
List< string > | GetMyGroups () |
List< GameObject > | GetMeshesWithSameGroups () |
List< GameObject > | GetAllWithSameGroups () |
MeshRenderer | GetMeshRenderer () |
Gets the mesh renderers in the childrens. | |
void | SetCollider (bool enabled) |
sets the collider in all child objects | |
void | ErrorMessage (string message) |
Displays an error message. | |
void | ChangeConnectionMode (bool isconnected) |
void | Log (string message) |
Logs a message. | |
void | Log (string message, object obj) |
Logs a message with a relation to an object. | |
void | Warning (string message, object obj) |
Logs a warinng with a relation to an object. | |
void | Error (string message, object obj) |
Logs an error with a relation to an object. | |
void | Error (string message) |
Logs an error. | |
GameObject | DebugPosition (string debugname, Vector3 position, Quaternion quaternation, float scale) |
Displays a gizmo for debugging positions. | |
void | SetFreezePosition (bool enabled) |
Freezes all child components to the current poosition. | |
void | SetRbConstraints (RigidbodyConstraints constraints) |
virtual void | AwakeAlsoDeactivated () |
Public Attributes | |
string | Adress |
The ip adress of the PLC. | |
int | Rack |
the rack number of the plc | |
int | Slot |
the slot number of the plc | |
bool | ReverseHighLowBytes |
string | SymbolTable |
The path to the symbol table of the PLC (*.seq text file) | |
int | ReduceMaxPduLenth |
float | ReconnectingTime |
Time in seconds for reconnecting if connection fails. | |
bool | OnlyWriteToPlcChangedSignals |
bool | AreaReadWriteMode |
int | MinAreaMOutput |
int | MaxAreaMOutput |
int | MinAreaMInput |
int | MaxAreaMInput |
int | DBOutputs |
int | MinAreaDBOutput |
int | MaxAreaDBOutput |
int | DBInputs |
int | MinAreaDBInput |
int | MaxAreaDBInput |
string | ConnectionStatus |
The connection Status to the PLC - OK if everything is ok (ReadOnly) | |
string | PLCStatus |
The Status of the PLC - running if PLC is running (ReadOnly) | |
int | RequestedPduLength |
The requested PDU length (ReadOnly) | |
int | NegotiatedPduLenght |
The negotiated PDU length (ReadOnly) | |
int | NumberInputs |
The number of Inputs in the interface (ReadOnly) | |
int | NumberOutputs |
The number of Outputs in the interface (ReadOnly) | |
ulong | ThreadCycleNum |
![]() | |
int | MinUpdateCycle |
int | CommCycleMeasures |
int | CommCycleNr |
int | CommTimeMs |
int | CommTimeMin |
float | CommTimeMed |
int | CommTimeMax |
int | CommCycleMeasureNum |
int | UpdateCycleMs |
string | ThreadStatus |
int | MinUpdateCycle2 |
int | CommCycleNr2 |
int | CommTimeMs2 |
int | CommTimeMin2 |
float | CommTimeMed2 |
int | CommTimeMax2 |
int | CommCycleMeasureNum2 |
int | UpdateCycleMs2 |
string | ThreadStatus2 |
bool | NoThreading |
bool | TwoThreads |
![]() | |
bool | IsConnected |
List< InterfaceSignal > | InterfaceSignals |
Hashtable | SignalNamesOutputs |
Hashtable | SignalNamesInputs |
![]() | |
string | Name |
The name of the component if it should be different from the GameObject name. | |
ActiveOnly | Active |
GameObject | FromTemplate |
realvirtualController | realvirtualController |
bool | HideNonG44Components |
bool | SceneIsAdditive |
bool | ForceStop |
Protected Member Functions | |
override void | CommunicationThreadUpdate () |
Updates all signals in the parallel communication thread. | |
![]() | |
virtual void | CommunicationThreadClose () |
virtual void | SecondCommunicationThreadUpdate () |
virtual void | SecondCommunicationThreadClose () |
![]() | |
void | OnConnected () |
void | OnDisconnected () |
void | OnEnable () |
void | OnDisable () |
![]() | |
bool | hidename () |
bool | hideactiveonly () |
virtual void | OnStopSim () |
virtual void | OnPreStartSim () |
virtual void | OnStartSim () |
MU | GetTopOfMu (GameObject obj) |
Gets the top of an MU component (the first MU script going up in the hierarchy) | |
void | InitGame4Automation () |
Initialiates the components and gets the reference to the realvirtualController in the scene. | |
virtual void | AfterAwake () |
void | Awake () |
Additional Inherited Members | |
![]() | |
enum | ActiveOnly { Always , Connected , Disconnected , Never , DontChange } |
![]() | |
static bool | DirectionIsLinear (DIRECTION direction) |
Gets back if the direction is linear or a rotation. | |
Detailed Description
S7 TCP/IP interface for direct communication with Siemens SIMATIC S7 PLCs (S7-300, S7-400, S7-1200, S7-1500).
Establishes native S7 protocol connections over Ethernet without requiring additional OPC servers or middleware. Supports reading and writing data blocks (DB), memory areas (M), inputs (I), and outputs (Q) directly from the PLC. This interface is ideal for virtual commissioning with Siemens TIA Portal projects and PLCSIM Advanced simulations. Configure the PLC's IP address, rack and slot numbers to match your hardware configuration or PLCSIM setup.
Member Function Documentation
◆ CheckConnection()
void realvirtual.S7Interface.CheckConnection | ( | ) |
Connects to the S7 and checks the connection.
◆ CloseInterface()
|
virtual |
Reimplemented from realvirtual.InterfaceThreadedBaseClass.
◆ CommunicationThreadUpdate()
|
protectedvirtual |
Updates all signals in the parallel communication thread.
Reimplemented from realvirtual.InterfaceThreadedBaseClass.
◆ GetSignal()
|
virtual |
Gets a signal based on its name.
Reimplemented from realvirtual.InterfaceBaseClass.
◆ OpenInterface()
|
virtual |
Reimplemented from realvirtual.InterfaceThreadedBaseClass.
◆ ReadSignalFile()
void realvirtual.S7Interface.ReadSignalFile | ( | ) |
Imports the symbol table and creates the signal objects under this S7interface object.
Member Data Documentation
◆ Adress
string realvirtual.S7Interface.Adress |
The ip adress of the PLC.
◆ ConnectionStatus
string realvirtual.S7Interface.ConnectionStatus |
The connection Status to the PLC - OK if everything is ok (ReadOnly)
◆ NegotiatedPduLenght
int realvirtual.S7Interface.NegotiatedPduLenght |
The negotiated PDU length (ReadOnly)
◆ NumberInputs
int realvirtual.S7Interface.NumberInputs |
The number of Inputs in the interface (ReadOnly)
◆ NumberOutputs
int realvirtual.S7Interface.NumberOutputs |
The number of Outputs in the interface (ReadOnly)
◆ PLCStatus
string realvirtual.S7Interface.PLCStatus |
The Status of the PLC - running if PLC is running (ReadOnly)
◆ Rack
int realvirtual.S7Interface.Rack |
the rack number of the plc
◆ ReconnectingTime
float realvirtual.S7Interface.ReconnectingTime |
Time in seconds for reconnecting if connection fails.
◆ RequestedPduLength
int realvirtual.S7Interface.RequestedPduLength |
The requested PDU length (ReadOnly)
◆ Slot
int realvirtual.S7Interface.Slot |
the slot number of the plc
◆ SymbolTable
string realvirtual.S7Interface.SymbolTable |
The path to the symbol table of the PLC (*.seq text file)