PLC Float Output Signal - Represents a floating-point output signal from simulation to PLC. More...

Public Member Functions | |
override void | SetStatusConnected (bool status) |
Virtual for setting the Status to connected. | |
override bool | GetStatusConnected () |
Virtual for getting the connected Status. | |
override byte[] | GetByteValue () |
override int | GetByteSize () |
override string | GetVisuText () |
Virtual for getting the text for the Hierarchy View. | |
override void | SetValue (string value) |
Virtual for setting the value. | |
override void | SetValue (byte[] value) |
override void | SetValue (object value) |
Sets the value of the signal. | |
override object | GetValue () |
Gets the value of the signal. | |
void | SetValue (float value) |
Sets the value as a float. | |
void | Update () |
![]() | |
delegate void | OnSignalChangedDelegate (Signal obj) |
void | OnInspectValueChanged () |
bool | OnObjectDrop (Object reference) |
void | OnInspectedToggleChanged (bool arg0) |
string | GetSignalName () |
virtual bool | IsInput () |
Virtual for getting information if the signal is an Input. | |
virtual void | OnToggleHierarchy () |
Virtual for toogle in hierarhy view. | |
void | Unforce () |
Unforces the signal. | |
void | DeleteSignalConnectionInfos () |
void | AddSignalConnectionInfo (GameObject behavior, string connectionname) |
bool | IsConnectedToBehavior () |
Returns true if InterfaceSignal is connected to any Behavior Script. | |
string | GetTypeString () |
Returns the type of the Signal as a String. | |
InterfaceSignal | GetInterfaceSignal () |
Returns an InterfaceSignal Object based on the Signal Component. | |
![]() | |
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 | |
StatusFloat | Status |
![]() | |
string | Comment |
string | OriginDataType |
SettingsSignal | Settings |
SignalEvent | EventSignalChanged |
bool | Autoconnected |
bool | UpdateEnable |
List< Connection > | ConnectionInfo |
InterfaceSignal | interfacesignal |
![]() | |
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 |
Properties | |
float | Value [get, set] |
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. | |
![]() | |
void | SignalChangedEvent (Signal signal) |
new bool | hidename () |
![]() | |
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 () |
![]() | |
string | Visutext |
![]() | |
OnSignalChangedDelegate | SignalChanged |
Detailed Description
PLC Float Output Signal - Represents a floating-point output signal from simulation to PLC.
PLCOutputFloat is a critical signal type for sending analog and continuous numerical data from the Unity simulation to external PLC systems. This component transmits 32-bit floating-point values representing measured values, calculated results, and analog feedback from the simulation.
Key Features:
- Sends 32-bit IEEE 754 floating-point values to PLC systems
- Provides real-time value updates with automatic change notification
- Supports high-precision analog signal transmission
- Includes override functionality for testing and calibration
- Tracks connection status for reliable communication
- Handles culture-invariant number formatting for international compatibility
Signal Direction: Simulation → PLC (Output from PLC perspective) The signal flows from Unity simulation to PLC controllers, providing analog feedback about simulation states, measurements, and calculated values that PLC programs use for control decisions.
Common Applications:
- Sending simulated analog sensor readings (temperature, pressure, level)
- Providing actual speed feedback from motors and drives
- Transmitting position data from encoders and measuring systems
- Reporting calculated values (flow rates, power consumption, efficiency)
- Sending distance measurements from ultrasonic or laser sensors
- Providing weight and force measurements from load cells
Interface Integration: PLCOutputFloat supports all major industrial protocols:
- OPC UA: Writes to OPC UA Float/Double nodes with engineering units
- S7 TCP/IP: Direct writing to Siemens S7 REAL data blocks
- Modbus TCP/RTU: Updates holding registers (2 registers for float)
- TwinCAT ADS: Writes to Beckhoff REAL variables
- MQTT: Publishes JSON payloads with float values
- Shared Memory: High-performance float array updates
Data Format and Conversion: The component handles various data type conversions:
- Automatic conversion from double to float when needed
- Culture-invariant string parsing for consistent decimal notation
- Byte array conversion for protocol-specific transmission
- NaN and Infinity handling for error state communication
Update Mechanism: Value changes are detected in Update() for smooth visual updates. The EventSignalChanged event ensures immediate transmission to connected interfaces. The system maintains previous values for change detection, minimizing unnecessary network traffic while ensuring timely updates for control-critical applications.
Virtual Commissioning: PLCOutputFloat signals are essential for hardware-in-the-loop testing, replacing physical analog sensors with simulated values. This enables complete validation of PLC analog processing, scaling, and control algorithms without physical equipment.
Member Function Documentation
◆ GetByteSize()
|
virtual |
Reimplemented from realvirtual.Signal.
◆ GetByteValue()
|
virtual |
Reimplemented from realvirtual.Signal.
◆ GetStatusConnected()
|
virtual |
Virtual for getting the connected Status.
Reimplemented from realvirtual.Signal.
◆ GetValue()
|
virtual |
Gets the value of the signal.
Reimplemented from realvirtual.Signal.
◆ GetVisuText()
|
virtual |
Virtual for getting the text for the Hierarchy View.
Reimplemented from realvirtual.Signal.
◆ SetStatusConnected()
|
virtual |
Virtual for setting the Status to connected.
Reimplemented from realvirtual.Signal.
◆ SetValue() [1/4]
|
virtual |
Reimplemented from realvirtual.Signal.
◆ SetValue() [2/4]
void realvirtual.PLCOutputFloat.SetValue | ( | float | value | ) |
Sets the value as a float.
◆ SetValue() [3/4]
|
virtual |
Sets the value of the signal.
Reimplemented from realvirtual.Signal.
◆ SetValue() [4/4]
|
virtual |
Virtual for setting the value.
Reimplemented from realvirtual.Signal.