Due to the special nature of reefer containers and the complexity of the operations, it is necessary for terminal processes to clearly understand the performance of reefer containers. This is crucial to ensure that performance meets expectations and that the commodities inside remain under optimal conditions. If conditions are not met, terminals need to be equipped with tools to anticipate problems or react quickly to issues as they arise.
A Reefer Monitoring System (RMS) is an essential tool for effectively managing refrigerated containers within a container terminal. It ensures that these containers maintain optimal conditions by providing real-time visibility into critical parameters such as temperature, CO2 levels, and power status. Such systems can be seamlessly integrated with the Terminal Operating System (TOS), automating monitoring and management processes to minimize human errors and operational delays.
Due to the importance of easing the integration of these systems, it is crucial to standardize the data sent from different systems to facilitate integration and, thus, the implementation of these solutions in terminals. To standardize this information, we have translated the two most important messages for monitoring the performance of reefer containers: RMS to TOS and TOS to RMS. The process involved finding the equivalents of the most important data from both messages concerning the data points and definitions of TIC4.0 data models, and creating those definitions that did not yet exist in TIC4.0. The system shall cover all brands of reefer containers to be truly universal.
The following two tables present the two messages originating from both RMS and TOS and their expression in TIC4.0 language:
This message corresponds to the information sent from the RMS to the TOS. It includes the performance readings of the cargo and the configured setpoints.
RMS to TOS Example | Type | TIC4.0 | Description | Example in the context of the grammar | ||
ContainerID |
|
| string | cargo|ID | Cargo identification | |
Events |
|
| array |
|
| |
| ContainerConnected |
| boolean | cargo|@|plugged|status|output|actual|value | Cargo plugged into the power source. | |
| ContainerPowered |
| boolean | cargo|@|powered|status|output|actual|value | Cargo receiving power. | |
| Time |
| number | cargo|@|powered|output|actual|timestamp | Time during which those statuses have been recorded. | |
MonitoringData |
|
| array |
| In the following array, the monitoring data is grouped. | |
| MonitoringTime |
| number |
| It is the time during which all data from the cargo sensors have been recorded. | |
| SensorData |
| array |
|
| |
|
| AmbientTemperature | number | cargo|@|ambient|temperature|output|actual|value | It refers to the air temperature outside the cargo. | |
|
| CO2 | number | cargo|@|air|co2level|output|actual|value | CO2 level in the air inside the cargo | |
|
| Humidity | number | cargo|@|air|humiditylevel|output|actual|value | Humidity in the air inside the cargo | |
|
| O2 | number | cargo|@|air|o2level|output|actual|value | O2 level in the air inside the cargo | |
|
| ReturnTemperature | number | cargo|@|air|temperature|#name#returnsensor1|output|actual|value | Air temperature measured by the "returnsensor" | |
|
| SupplyTemperature | number | cargo|@|air|temperature|#name#supplysensor1|output|actual|value | Air temperature measured by the "supplysensor" | |
|
| USDA1 | number | cargo|@|air|temperature|#name#usda1|output|actual|value | Air temperature measured by the "USDA1" sensor | |
|
| USDA2 | number | cargo|@|air|temperature|#name#usda2|output|actual|value | Air temperature measured by the "USDA2" sensor | |
|
| USDA3 | number | cargo|@|air|temperature|#name#usda3|output|actual|value | Air temperature measured by the "USDA3" sensor | |
|
| USDA4 | number | cargo|@|air|temperature|#name#usda4|output|actual|value | Air temperature measured by the "USDA4" sensor | |
|
| Ventilation | number | cargo|@|powersource|@|ventilationsystem|running|load|output|actual|value | Measurement of the ventilation level at which the ventilation system is running | |
| SetpointData |
| array |
| The following is the data group indicating the SETPOINTS configured for that cargo. | |
|
| CO2Setpoint | number | cargo|@|air|CO2level|input|actual|value | CO2 level to which the cargo was configured. In TIC4.0, the POM input refers to the SETPOINT. | |
|
| HumidityActive | boolean | cargo|@|powersource|@|humuditysystem|@|active|status|output |actual|value | It refers to whether the humidity control system is active. | |
|
| HumiditySetpoint | number | cargo|@|air|humiditylevel|input|actual|value | Level of Humidity in the air to which the cargo was configured. In TIC4.0, the POM input refers to the SETPOINT. | |
|
| O2Setpoint | number | cargo|@|air|O2level|input||actual|value | O2 level to which the cargo was configured. In TIC4.0, the POM input refers to the SETPOINT. | |
|
| TemperatureSetpoint | number | cargo|@|air|temperature|input|acutal|value | Temperature of the air to which the cargo was configured. In TIC4.0, the POM input refers to the SETPOINT. | |
VisitHeader |
|
| array |
|
| |
| Brand |
| string | cargo|@|control|brand | Cargo control brand | |
| ContainerID |
| string | cargo|ID | Cargo identification | |
| ControllerType |
| string | cargo|@|control|model | Cargo control model | |
| Location |
| string | cargovisit|@|location|logical|ioutput|actual|value | Determines the position in the yard where the container is located within the terminal. | |
| VisitClosed |
| boolean | cargovisit|@|checkedout|status|input|actual|value | Determines whether the cargo is still within the terminal or if the cargovisit has concluded. |
This message corresponds to the information in the TOS that is sent to the RMS regarding the parameters at which the reefer container should be operating according to the cargo visit manifest, typically the booking.
Example TOS to RMS | Type | TIC4.0 | Notes | Example in the context of the grammar | ||||
ContainerData |
|
| array |
|
| |||
|
| Brand | string | tos|@|cargo|@|control|brand | Cargo control brand | |||
|
| ContainerID | number | tos|@|cargo|ID | Cargo identification | |||
|
| ControllerType | string | tos|@|cargo|@|control|model | Cargo control model | |||
|
| Location |
| tos|@|cargovisit|@|location|logical|ioutput|actual|value | Determines the position in the yard where the container is located within the terminal. | |||
|
| ArrivalTime | time | tos|@|cargovisit|@|checkin|time|output|actual|timestamp | It is the time when the cargo visit entered the terminal. | |||
|
| PlannedDepartureTime | time | tos|@|cargovisit|@|checkout|time|output|planned|timestamp | It is the time by which the cargo visit is planned to be completed. | |||
| SetpointData |
| array |
| These are the data incorporated into the TOS from the cargo visit manifests, typically from the booking. | |||
|
| CO2Setpoint | number | tos|@|cargovisit|@|air|CO2level|input|actual|value | The CO2 level in the air that the cargo should be at according to the manifest. | |||
|
| HumiditySetpoint | number | tos|@|cargovisit|@|air|humidity|input|actual|value | The humidity level in the air that the cargo should be at according to the manifest. | |||
|
| O2Setpoint | number | tos|@|cargovisit|@|air|O2level|input|actual|value | The O2 level in the air that the cargo should be at according to the manifest. | |||
|
| TemperatureSetpoint | number | tos|@|cargovisit|@|air|temperature|input|actual|value | The temperature of the air that the cargo should be at according to the manifest. | |||
|
| VentilationSetpoint | number | tos|@|cargovisit|@|ventilationsystem|@|running|load|input|actual|value | The ventilation setting that should be in place according to the manifest. | |||
|
| CO2Maximum | number | tos|@|cargovisit|@|air|CO2level|input|actual|maximum | The maximum CO2 level in the air that the cargo should be at according to the manifest. | |||
|
| CO2Minimum | number | tos|@|cargovisit|@|air|CO2level|input|actual|minimum | The minimum CO2 level in the air that the cargo should be at according to the manifest. | |||
|
| HumidityMaximum | number | tos|@|cargovisit|@|air|humidity|input|actual|maximum | The maximum humidity level in the air that the cargo should be at according to the manifest. | |||
|
| HumidityMinimum | number | tos|@|cargovisit|@|air|humidity|input|actual|minimum | The minimum humidity level in the air that the cargo should be at according to the manifest. | |||
|
| O2Maximum | number | tos|@|cargovisit|@|air|O2level|input|actual|maximum | The maximum O2 level in the air that the cargo should be at according to the manifest. | |||
|
| O2Minimum | number | tos|@|cargovisit|@|air|O2level|input|actual|minimum | The minimum O2 level in the air that the cargo should be at according to the manifest. | |||
|
| TemperatureMaximum | number | tos|@|cargovisit|@|air|temperature|input|actual|maximum | The maximum temperature of the air that the cargo should be at according to the manifest. | |||
|
| TemperatureMinimum | number | tos|@|cargovisit|@|air|temperature|input|actual|minimum | The minimum temperature of the air that the cargo should be at according to the manifest. | |||
ReceiveJobOrders |
|
| array |
| Orders sent from the TOS to the RMS to perform specific tasks. | |||
| jobOrdersRequest |
| array |
| Orders requested from the TOS to the RMS to perform specific tasks. | |||
|
| ID | string | tos|@|jobinstructionlist|ID | Unique identification of the instruction, In the case of the example used for this translation, the message contains several job instructions to be applied to different subjects (positions). “Single” job instructions (job instrucions containing one action only) are allowed. The main actor can be the job instruction and/or the order, depending on the action performed. | |||
|
| Timestamp | number | tos|@|jobinstructionlist|@|start|time|actual|timestamp | The time when the message was sent from the TOS to the RMS. Message corresponds to the value (i.e., when the job instruction list was started in time). There is one timestamp that is attached to the value (e.g., when the value is or was started or the expected value in the future, depending on the point of measurement-time). The other timestamp corresponds to the message header (when the message was created). | |||
|
| JobOrderList | array | List of orders related to the job instruction. | ||||
|
|
| JobOrder | array | tos|@|jobinstruction|@|order | Information specifically related to a single order. | ||
|
|
| ContainerID | string | tos|@|jobinstruction|@|cargo|id | ID of the specific subject (in this case, a container or cargo) on which the task will be performed | ||
|
|
| DueDate | number | tos|@|jobinstruction|end|time|input|request|timestamp | Date by which the task must be completed (performed). | ||
|
|
| JobOrderType | string | tos|@|jobinstruction|typeaction. | Type of task that needs to be performed: Plug Unplug PowerOn PowerOFF Change SETPOINT PTI Check Alarms Manual (Request) Monitoring (to get data form the control) Free text (for undefined tasks that are not part of the original list) |