Difference between revisions of "Component: Network Communications (Comms: Networking)"
From Flowcode Help
Jump to navigationJump to search| (3 intermediate revisions by the same user not shown) | |||
| Line 14: | Line 14: | ||
==Network Communications component==  | ==Network Communications component==  | ||
A component designed to simplify the process of TCP/IP communications. Compatible with most of the Flowcode supported TCP/IP and WIFI components. A useful building block for creating components such as IoT and Modbus TCP.  | A component designed to simplify the process of TCP/IP communications. Compatible with most of the Flowcode supported TCP/IP and WIFI components. A useful building block for creating components such as IoT and Modbus TCP.  | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
==Detailed description==  | ==Detailed description==  | ||
| Line 48: | Line 42: | ||
''<span style="color:red;">No additional examples</span>''  | ''<span style="color:red;">No additional examples</span>''  | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Line 55: | Line 55: | ||
==Macro reference==  | ==Macro reference==  | ||
| − | ===  | + | ===AcceptClose===  | 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AcceptClose'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Goes with the AcceptOpen function to close the new thread handle.   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | 
| − | | width="90%" |   | + | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | 
| + | |}  | ||
| + | |||
| + | |||
| + | ===AcceptOpen===  | ||
| + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| − | |   | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | 
| + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AcceptOpen'''  | ||
|-  | |-  | ||
| − | |   | + | | colspan="2" | Required for systems where there can be multiple incoming threads Returns 1 if there is incoming comms requiring a new thread, else returns 0   | 
| − | |||
|-  | |-  | ||
| − | |||
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| − | ===  | + | ===Connect===  | 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connect'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Connects to an IP address as a client on the specified port. Some TCP/IP modules (RPI and ESP8266) will accept a URL instead of an IP address. Returns: 0=Fail, 1=OK   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING  | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING  | ||
| − | | width="90%" |   | + | | width="90%" | Address  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | IP address as a string e.g. "192.168.1.1" or URL on some TCP/IP modules   | 
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT  | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT  | ||
| − | | width="90%" |   | + | | width="90%" | Port  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Port number to connect to.   | 
|-  | |-  | ||
| − | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| − | ===  | + | ===Initialise===  | 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Initialises the network communications component.   | 
|-  | |-  | ||
|-  | |-  | ||
| − | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| Line 151: | Line 140: | ||
| − | ===  | + | ===Receive===  | 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Receive'''  | 
| + | |-  | ||
| + | | colspan="2" | Attempts to receive up to a specified number of bytes from the active connection. Returns the number of bytes received.   | ||
| + | |-  | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING  | ||
| + | | width="90%" | Data  | ||
| + | |-  | ||
| + | | colspan="2" | Data Array to store the data into.   | ||
| + | |-  | ||
| + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT  | ||
| + | | width="90%" | Count  | ||
| + | |-  | ||
| + | | colspan="2" | Maximum number of bytes to read   | ||
|-  | |-  | ||
| − | |   | + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT  | 
| + | | width="90%" | Timeout  | ||
|-  | |-  | ||
| + | | colspan="2" | Maximum time to wait in mS (approx)   | ||
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT  | 
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| − | ===  | + | ===Send===  | 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Send'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Sends the specified number of bytes via the active connection. Returns the number of bytes sent, 0=Fail.   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center  | + | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING  | 
| − | | width="90%"   | + | | width="90%" | Data  | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
| − | |   | + | | colspan="2" | Array containing the data to send   | 
| − | |||
|-  | |-  | ||
| − | |   | + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT  | 
| + | | width="90%" | Count  | ||
|-  | |-  | ||
| + | | colspan="2" | Number of bytes to send from the data array   | ||
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT  | 
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| − | ===  | + | ===SocketClose===  | 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SocketClose'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Closes the current socket connection   | 
|-  | |-  | ||
|-  | |-  | ||
| Line 207: | Line 207: | ||
| − | ===  | + | ===SocketOpen===  | 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | ||
|-  | |-  | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | ||
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SocketOpen'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Attempts to create a socket on the local device. This must be succesful to allow TCP/IP communications with a remote destination. Returns: 0=Fail / 1=OK   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL  | 
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| − | |||
| − | |||
| Line 265: | Line 263: | ||
| colspan="2" | IP Address of the selected network interface.   | | colspan="2" | IP Address of the selected network interface.   | ||
|}  | |}  | ||
| + | |||
| + | ==Component Source Code==  | ||
| + | |||
| + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_NetworkComms.fcfx FC_Comp_Source_NetworkComms.fcfx]  | ||
| + | |||
| + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_NetworkComms.fcfx FC_Comp_Source_NetworkComms.fcfx]  | ||
Latest revision as of 08:59, 9 June 2025
| Author | Matrix TSL | 
| Version | 1.5 | 
| Category | Comms: Networking | 
Contents
Network Communications component
A component designed to simplify the process of TCP/IP communications. Compatible with most of the Flowcode supported TCP/IP and WIFI components. A useful building block for creating components such as IoT and Modbus TCP.
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
AcceptClose
| AcceptClose | |
| Goes with the AcceptOpen function to close the new thread handle. | |
| Return | |
AcceptOpen
| AcceptOpen | |
| Required for systems where there can be multiple incoming threads Returns 1 if there is incoming comms requiring a new thread, else returns 0 | |
| Return | |
Connect
Initialise
| Initialise | |
| Initialises the network communications component. | |
| Return | |
Listen
| Listen | |
| Bind the socket to a port on the local host and set to listen mode. First Open a Socket on the local host Returns: 0=Fail, 1=OK | |
| Port | |
| Port number to listen on. | |
| Return | |
Receive
Send
SocketClose
| SocketClose | |
| Closes the current socket connection | |
| Return | |
SocketOpen
| SocketOpen | |
| Attempts to create a socket on the local device. This must be succesful to allow TCP/IP communications with a remote destination. Returns: 0=Fail / 1=OK | |
| Return | |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_NetworkComms.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_NetworkComms.fcfx