Difference between revisions of "Component: Data Transfer (API I2C) ()"

From Flowcode Help
Jump to navigationJump to search
 
(5 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
==Component Source Code==
 
==Component Source Code==
  
Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_InjectorSCADAI2C.fcfx FC_Comp_Source_InjectorSCADAI2C.fcfx]
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_InjectorSCADAI2C.fcfx FC_Comp_Source_InjectorSCADAI2C.fcfx]
  
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_InjectorSCADAI2C.fcfx FC_Comp_Source_InjectorSCADAI2C.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_InjectorSCADAI2C.fcfx FC_Comp_Source_InjectorSCADAI2C.fcfx]
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
  
  
Line 68: Line 72:
  
  
''<span style="color:red;">No additional examples</span>''
 
  
  
==Macro reference==
 
  
{| 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;" | '''InitialiseInjector'''
 
|-
 
| colspan="2" | Sets up the injector ready to receive commands or send data&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-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
 +
''<span style="color:red;">No additional examples</span>''
  
{| 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;" | '''TxByte'''
 
|-
 
| colspan="2" | Puts a byte onto the comms channel.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| 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''
 
|}
 
  
  
{| 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;" | '''RxByte'''
 
|-
 
| 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-u16-icon.png]] - UINT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| 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;" | '''GetConsoleHandle'''
 
|-
 
| colspan="2" | Gets the handle to the console allowing data displaying on the panel etc.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| 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;" | '''ChangeState'''
 
|-
 
| 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-u8-icon.png]] - BYTE
 
| width="90%" | State
 
|-
 
| colspan="2" | SPI: 0=CSLow, 1=CSHigh  I2C: 0=Stop, 1=Start, 2=Restart, 3=LastRx&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''
 
|}
 
  
  
  
  
==Property reference==
 
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
==Macro reference==
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]]
 
| width="90%" | SCADA Slave
 
|-
 
| colspan="2" | SCADA Slave component to use to pipe data to a physical SPI bus&nbsp;
 
|}==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;" | '''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="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-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
 
 
{| 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;" | '''TxByte'''
 
|-
 
| 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%" | DataByte
+
| width="90%" | State
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | SPI: 0=CSLow, 1=CSHigh  I2C: 0=Stop, 1=Start, 2=Restart, 3=LastRx&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
Line 205: Line 110:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===GetConsoleHandle===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RxByte'''
 
|-
 
| 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-u16-icon.png]] - UINT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 231: Line 124:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===InitialiseInjector===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ChangeState'''
 
|-
 
| 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-u8-icon.png]] - BYTE
 
| width="90%" | State
 
|-
 
| colspan="2" | SPI: 0=CSLow, 1=CSHigh  I2C: 0=Stop, 1=Start, 2=Restart, 3=LastRx&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''
 
|}
 
 
 
 
 
 
 
 
 
==Property reference==
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]]
 
| width="90%" | SCADA Slave
 
|-
 
| colspan="2" | SCADA Slave component to use to pipe data to a physical SPI bus&nbsp;
 
|}==Macro reference==
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 283: Line 143:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===RxByte===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TxByte'''
 
|-
 
| colspan="2" | Puts a byte onto the comms channel.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| 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''
 
|}
 
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 314: Line 157:
  
  
 +
===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;" | '''GetConsoleHandle'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TxByte'''
 
|-
 
|-
| colspan="2" | Gets the handle to the console allowing data displaying on the panel etc.&nbsp;
+
| colspan="2" | Puts a byte onto the comms channel.&nbsp;
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
 
 
{| 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;" | '''ChangeState'''
 
|-
 
| 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-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, 3=LastRx&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
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  

Latest revision as of 13:11, 7 February 2023

Author Matrix Ltd
Version 1.2
Category


Data Transfer (API I2C) component

Comms data injector to allow a I2C bus 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 I2C bus.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_InjectorSCADAI2C.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_InjectorSCADAI2C.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

ChangeState

Fc9-comp-macro.png ChangeState
Sets the state of the bus. SPI - Controls the chip select pin I2C - Controls the start/restart/stop status 
Fc9-u8-icon.png - BYTE State
SPI: 0=CSLow, 1=CSHigh I2C: 0=Stop, 1=Start, 2=Restart, 3=LastRx 
Fc9-void-icon.png - VOID Return


GetConsoleHandle

Fc9-comp-macro.png GetConsoleHandle
Gets the handle to the console allowing data displaying on the panel etc. 
Fc9-h32-icon.png - HANDLE Return


InitialiseInjector

Fc9-comp-macro.png InitialiseInjector
Sets up the injector ready to receive commands or send data 
Fc9-string-icon.png - STRING InjectorName
Name of the console that will be created 
Fc9-u8-icon.png - BYTE Return


RxByte

Fc9-comp-macro.png RxByte
Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available 
Fc9-u16-icon.png - UINT Return


TxByte

Fc9-comp-macro.png TxByte
Puts a byte onto the comms channel. 
Fc9-u8-icon.png - BYTE DataByte
 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-type-17-icon.png SCADA Slave
SCADA Slave component to use to pipe data to a physical SPI bus