Difference between revisions of "Component: Network Communications (Comms: Networking)"
Line 27: | Line 27: | ||
By itself the component provides a generic TCP/IP layer to drive the simulation runtime. | By itself the component provides a generic TCP/IP layer to drive the simulation runtime. | ||
− | Components such as MQTT and Modbus TCP can connect to and control the network comms layer | + | Here is a simple example showing the component used by itself to request data from a remote server on the internet. |
+ | |||
+ | {{Fcfile|NetworkComms-Client.fcfx|Example Network Comms Client}} | ||
+ | |||
+ | |||
+ | Components such as MQTT and Modbus TCP can connect to and control the network comms layer. | ||
[[File:NetComms1.jpg]] | [[File:NetComms1.jpg]] | ||
+ | |||
+ | |||
+ | Here is a simple example showing the component used with the Webserver (GENERIC) component. | ||
+ | |||
+ | {{Fcfile|NetworkComms-Server.fcfx|Example Network Comms Web Server}} | ||
Line 36: | Line 46: | ||
[[File:NetComms2.jpg]] | [[File:NetComms2.jpg]] | ||
+ | |||
+ | Here is the current status of the Network Communications component with the various embedded modules. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 65: | Line 77: | ||
|In Progress | |In Progress | ||
|} | |} | ||
+ | |||
+ | |||
+ | We are working through and adding support as and when we get chance so if you have a module that isn't listed or would like to try and prioritise a specific module then you can let us know via the user forums. | ||
==Downloadable macro reference== | ==Downloadable macro reference== |
Revision as of 14:09, 18 September 2019
Author | Matrix TSL |
Version | 1.0 (Release) |
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.
Examples
Here are some examples showing the Network Communications component in action.
By itself the component provides a generic TCP/IP layer to drive the simulation runtime.
Here is a simple example showing the component used by itself to request data from a remote server on the internet.
Components such as MQTT and Modbus TCP can connect to and control the network comms layer.
Here is a simple example showing the component used with the Webserver (GENERIC) component.
Example Network Comms Web Server
The Network Communications component can also be connected to embedded TCP/IP and WIFI style modules allowing for the abstraction to work on hardware.
Here is the current status of the Network Communications component with the various embedded modules.
Embedded Component | Support Status |
---|---|
TCP/IP (Raspberry Pi) | Fully Supported |
TCP/IP (W5500) | In Progress |
TCP/IP (W5100) | In Progress |
TCP/IP (EB023v2) | In Progress |
TCP/IP (ENC28J60) | In Progress |
WLAN (ESP8266) | In Progress |
WLAN (ESP-12S) | In Progress |
WIFI (BL0136) | In Progress |
We are working through and adding support as and when we get chance so if you have a module that isn't listed or would like to try and prioritise a specific module then you can let us know via the user forums.
Downloadable macro reference
Connect
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
Parameters
- <- STRING Address
- IP address as a string e.g. "192.168.1.1" or URL on some TCP/IP modules
- This parameter may be returned back to the caller
- UINT Port
Return value
- BOOL : Returns true if the operation is a success, else false
Receive
Attempts to receive up to a specified number of bytes from the active connection.
Returns the number of bytes received.
Parameters
- <- STRING Data
- This parameter may be returned back to the caller
- UINT Count
- Maximum number of bytes to read
Return value
Send
Sends the specified number of bytes via the active connection.
Returns the number of bytes sent, 0=Fail.
Parameters
- <- STRING Data
- Array containing the data to send
- This parameter may be returned back to the caller
- UINT Count
- Number of bytes to send from the data array
Return value
Listen
Bind the socket to a port on the local host and set to listen mode.
Returns: 0=Fail, 1=OK
Parameters
- UINT Port
Return value
- BOOL : Returns true if the operation is a success, else false
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
Parameters
- This macro has no parameters
Return value
- BOOL : Returns true if the operation is a success, else false
SocketClose
Closes the current socket connection
Parameters
- This macro has no parameters
Return value
- This call does not return a value
Simulation macro reference
This component does not contain any simulation macros
Property reference
TCP/IP Component
This property is of type Panel object and can be referenced with the variable name Component.
Property to point to the TCP/IP or WIFI component you want to use.
If unconnected then default to simulated TCP/IP network communications using the PC network adapter.
Status
This property is of type Line of text and can be referenced with the variable name Status.
No additional information