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 () |
Public Member Functions inherited from realvirtual.InterfaceBaseClass | |
| 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 () |
Public Member Functions inherited from realvirtual.realvirtualBehavior | |
| 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 |
Public Attributes inherited from realvirtual.InterfaceThreadedBaseClass | |
| 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 |
Public Attributes inherited from realvirtual.InterfaceBaseClass | |
| bool | IsConnected |
| List< InterfaceSignal > | InterfaceSignals |
| Hashtable | SignalNamesOutputs |
| Hashtable | SignalNamesInputs |
Public Attributes inherited from realvirtual.realvirtualBehavior | |
| 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. | |
Protected Member Functions inherited from realvirtual.InterfaceThreadedBaseClass | |
| virtual void | CommunicationThreadClose () |
| virtual void | SecondCommunicationThreadUpdate () |
| virtual void | SecondCommunicationThreadClose () |
Protected Member Functions inherited from realvirtual.InterfaceBaseClass | |
| void | OnConnected () |
| void | OnDisconnected () |
| void | OnEnable () |
| void | OnDisable () |
Protected Member Functions inherited from realvirtual.realvirtualBehavior | |
| 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 | |
Public Types inherited from realvirtual.realvirtualBehavior | |
| enum | ActiveOnly { Always , Connected , Disconnected , Never , DontChange } |
Static Public Member Functions inherited from realvirtual.realvirtualBehavior | |
| 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)
Public Member Functions inherited from