Jump to content

Component: Data Transfer (API UART) (): Difference between revisions

From Flowcode Help
No edit summary
No edit summary
Line 17: Line 17:
==Component Source Code==
==Component Source Code==


Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_InjectorSCADAUART.fcfx FC_Comp_Source_InjectorSCADAUART.fcfx]
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/InjectorSCADAUART.fcfx FC_Comp_Source_temp/InjectorSCADAUART.fcfx]


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_InjectorSCADAUART.fcfx FC_Comp_Source_InjectorSCADAUART.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/InjectorSCADAUART.fcfx FC_Comp_Source_temp/InjectorSCADAUART.fcfx]


==Detailed description==
==Detailed description==
Line 77: Line 77:


''<span style="color:red;">No additional examples</span>''
''<span style="color:red;">No additional examples</span>''




Line 85: Line 87:
==Macro reference==
==Macro reference==


===InitialiseInjector===
===ChangeState===
{| 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;" | '''InitialiseInjector'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ChangeState'''
|-
|-
| colspan="2" | Sets up the injector ready to receive commands or send data&nbsp;
| colspan="2" | Sets the state of the bus. SPI - Controls the chip select pin I2C - Controls the start/restart/stop status&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | InjectorName
| width="90%" | State
|-
|-
| colspan="2" | Name of the console that will be created&nbsp;
| colspan="2" | SPI: 0=CSLow, 1=CSHigh  I2C: 0=Stop, 1=Start, 2=Restart&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




===TxByte===
===GetConsoleHandle===
{| 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;" | '''TxByte'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetConsoleHandle'''
|-
|-
| colspan="2" | Puts a byte onto the comms channel.&nbsp;
| colspan="2" | Gets the handle to the console allowing data displaying on the panel etc.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" | DataByte
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




===RxByte===
===InitialiseInjector===
{| 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;" | '''RxByte'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''InitialiseInjector'''
|-
| colspan="2" | Sets up the injector ready to receive commands or send data&nbsp;
|-
|-
|-
| colspan="2" | Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available&nbsp;
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | InjectorName
|-
|-
| colspan="2" | Name of the console that will be created&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| 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''
|}
|}




===GetConsoleHandle===
===RxByte===
{| 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;" | '''GetConsoleHandle'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RxByte'''
|-
|-
| colspan="2" | Gets the handle to the console allowing data displaying on the panel etc.&nbsp;
| colspan="2" | Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available&nbsp;
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| 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''
|}
|}




===ChangeState===
===TxByte===
{| 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;" | '''ChangeState'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TxByte'''
|-
|-
| colspan="2" | Sets the state of the bus. SPI - Controls the chip select pin I2C - Controls the start/restart/stop status&nbsp;
| colspan="2" | Puts a byte onto the comms channel.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | State
| width="90%" | DataByte
|-
|-
| colspan="2" | SPI: 0=CSLow, 1=CSHigh  I2C: 0=Stop, 1=Start, 2=Restart&nbsp;
| colspan="2" | &nbsp;
|-
|-
| 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-void-icon.png]] - VOID

Revision as of 12:01, 3 February 2023

Author Matrix Ltd
Version 1.2
Category


Data Transfer (API UART) component

Comms data injector to allow a Serial UART peripheral to be attached to a comms component. The component will forward any byte transactions through to a SCADA Slave enabled hardware. Enabling the Flowcode simulation runtime to directly drive a physical UART.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_temp/InjectorSCADAUART.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_temp/InjectorSCADAUART.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples





Macro reference

ChangeState

ChangeState
Sets the state of the bus. SPI - Controls the chip select pin I2C - Controls the start/restart/stop status 
- BYTE State
SPI: 0=CSLow, 1=CSHigh I2C: 0=Stop, 1=Start, 2=Restart 
- VOID Return


GetConsoleHandle

GetConsoleHandle
Gets the handle to the console allowing data displaying on the panel etc. 
- HANDLE Return


InitialiseInjector

InitialiseInjector
Sets up the injector ready to receive commands or send data 
- STRING InjectorName
Name of the console that will be created 
- BYTE Return


RxByte

RxByte
Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available 
- UINT Return


TxByte

TxByte
Puts a byte onto the comms channel. 
- BYTE DataByte
 
- VOID Return



Property reference

Properties
SCADA Slave
SCADA Slave component to use to pipe data to a physical SPI bus 
BAUD Rate
Sets the data bit rate of the Serial UART. See the SCADA Slave UART Baud macro for valid values, 
RS485 Direction Control
Allows an I/O pin to be automatically assigned when transmitting and receiving. 
RS485 Properties
RS485 Pin Number
Digital I/O pin number to use for the RS485 data direction pin 
TX Pin State
Decides the state of the RS485 data direction pin when transmitting data. 
RX Pin State
Decides the state of the RS485 data direction pin when receiving data.