Difference between revisions of "Component: Data Transfer (API UART) ()"
From Flowcode Help
Jump to navigationJump to search| (10 intermediate revisions by the same user not shown) | |||
| Line 15: | Line 15: | ||
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.  | 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   | + | ==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 view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_InjectorSCADAUART.fcfx FC_Comp_Source_InjectorSCADAUART.fcfx]  | ||
==Detailed description==  | ==Detailed description==  | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Line 34: | Line 50: | ||
==Examples==  | ==Examples==  | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Line 49: | Line 79: | ||
| − | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==Macro reference==  | ||
| + | |||
| + | ===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;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ChangeState'''  | 
|-  | |-  | ||
| − | | colspan="2" | Sets   | + | | colspan="2" | Sets the state of the bus. SPI - Controls the chip select pin I2C - Controls the start/restart/stop status   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | width="10%" align="center" | [[File:Fc9-  | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%" |   | + | | width="90%" | State  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | SPI: 0=CSLow, 1=CSHigh  I2C: 0=Stop, 1=Start, 2=Restart   | 
|-  | |-  | ||
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-  | + | | 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''  | ||
|}  | |}  | ||
| + | ===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;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetConsoleHandle'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Gets the handle to the console allowing data displaying on the panel etc.   | 
|-  | |-  | ||
|-  | |-  | ||
| − | + | | 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-  | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| + | ===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;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''InitialiseInjector'''  | 
| + | |-  | ||
| + | | colspan="2" | Sets up the injector ready to receive commands or send data   | ||
| + | |-  | ||
|-  | |-  | ||
| − | |   | + | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING  | 
| + | | width="90%" | InjectorName  | ||
|-  | |-  | ||
| + | | colspan="2" | Name of the console that will be created   | ||
|-  | |-  | ||
| − | | 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''  | ||
|}  | |}  | ||
| + | ===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;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RxByte'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available   | 
|-  | |-  | ||
|-  | |-  | ||
| − | | 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''  | ||
|}  | |}  | ||
| + | ===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;" | '''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TxByte'''  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" | Puts a byte onto the comms channel.   | 
|-  | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | ||
| − | | width="90%" |   | + | | width="90%" | DataByte  | 
|-  | |-  | ||
| − | | colspan="2" |   | + | | colspan="2" |    | 
|-  | |-  | ||
| 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  | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return''  | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | ||
|}  | |}  | ||
| − | |||
| − | |||
| Line 155: | Line 198: | ||
|-  | |-  | ||
| colspan="2" | Allows an I/O pin to be automatically assigned when transmitting and receiving.   | | colspan="2" | Allows an I/O pin to be automatically assigned when transmitting and receiving.   | ||
| + | |-  | ||
| + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]  | ||
| + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | RS485 Properties  | ||
| + | |-  | ||
|-  | |-  | ||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]  | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]  | ||
| Line 170: | Line 217: | ||
|-  | |-  | ||
| colspan="2" | Decides the state of the RS485 data direction pin when receiving data.   | | colspan="2" | Decides the state of the RS485 data direction pin when receiving data.   | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|}  | |}  | ||
Latest revision as of 13:11, 7 February 2023
| Author | Matrix Ltd | 
| Version | 1.2 | 
| Category | 
Contents
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_InjectorSCADAUART.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_InjectorSCADAUART.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
ChangeState
GetConsoleHandle
| GetConsoleHandle | |
| Gets the handle to the console allowing data displaying on the panel etc. | |
| Return | |
InitialiseInjector
| InitialiseInjector | |
| Sets up the injector ready to receive commands or send data | |
| InjectorName | |
| Name of the console that will be created | |
| Return | |
RxByte
| RxByte | |
| Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available | |
| Return | |
TxByte
| TxByte | |
| Puts a byte onto the comms channel. | |
| DataByte | |
| Return | |