Extends from Modelica_Fluid.Icons.BaseClassLibrary (Icon for library).
| Name | Description |
|---|---|
| Closes the socket for the inter process communication | |
| Establishes the client socket connection | |
| Exchanges values of type Real with the socket |
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | socketFD | Socket file descripter, or a negative value if an error occured |
| Type | Name | Description |
|---|---|---|
| Integer | retVal | Return value of the function that closes the socket connection |
function closeClientSocket
"Closes the socket for the inter process communication"
input Integer socketFD
"Socket file descripter, or a negative value if an error occured";
output Integer retVal
"Return value of the function that closes the socket connection";
external "C"
retVal=closeBSDSocket(socketFD);
end closeClientSocket;
For the xml file name, on Windows use two backslashes to separate directories, i.e., use
xmlFileName="C:\\examples\\roomPtDymola\\socket.cfg"In case of a problem, check the file utilSocket.log that is written during the data exchange with the BCVTB.
| Type | Name | Default | Description |
|---|---|---|---|
| String | xmlFileName | "socket.cfg" | Name of xml file that contains the socket information |
| Type | Name | Description |
|---|---|---|
| Integer | socketFD | Socket file descripter, or a negative value if an error occured |
function establishClientSocket
"Establishes the client socket connection"
input String xmlFileName = "socket.cfg"
"Name of xml file that contains the socket information";
output Integer socketFD
"Socket file descripter, or a negative value if an error occured";
external "C"
socketFD=establishBSDSocket(xmlFileName);
end establishClientSocket;
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | socketFD | Socket file descripter | |
| Integer | flaWri | Communication flag to write to the socket stream | |
| Time | simTimWri | Current simulation time in seconds to write [s] | |
| Real | dblValWri[nDblWri] | Double values to write | |
| Integer | nDblWri | Number of double values to write | |
| Integer | nDblRea | Number of double values to read |
| Type | Name | Description |
|---|---|---|
| Integer | flaRea | Communication flag read from the socket stream |
| Time | simTimRea | Current simulation time in seconds read from socket [s] |
| Real | dblValRea[nDblRea] | Double values read from socket |
| Integer | retVal | The exit value, which is negative if an error occured |
function exchangeReals
"Exchanges values of type Real with the socket"
input Integer socketFD(min=1) "Socket file descripter";
input Integer flaWri "Communication flag to write to the socket stream";
input Modelica.SIunits.Time simTimWri
"Current simulation time in seconds to write";
input Real[nDblWri] dblValWri "Double values to write";
input Integer nDblWri "Number of double values to write";
input Integer nDblRea "Number of double values to read";
output Integer flaRea "Communication flag read from the socket stream";
output Modelica.SIunits.Time simTimRea
"Current simulation time in seconds read from socket";
output Real[nDblRea] dblValRea "Double values read from socket";
output Integer retVal "The exit value, which is negative if an error occured";
external "C"
retVal=exchangeDoublesWithBSDSocket(socketFD,
flaWri, flaRea,
simTimWri,
dblValWri, nDblWri,
simTimRea,
dblValRea, nDblRea);
end exchangeReals;