Component: Electrical Machines (AllCode): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (16 intermediate revisions by 2 users not shown) | |||
| Line 15: | Line 15: | ||
A set of functions to communicate with the Matrix EM hardware. Allows the functions to be easily standardised across all SCADA programs. | A set of functions to communicate with the Matrix EM hardware. Allows the functions to be easily standardised across all SCADA programs. | ||
==Component | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EM_Functions.fcsx FC_Comp_Source_EM_Functions.fcsx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EM_Functions.fcsx FC_Comp_Source_EM_Functions.fcsx] | |||
==Detailed description== | ==Detailed description== | ||
''No detailed description exists yet for this component'' | ''No detailed description exists yet for this component'' | ||
==Examples== | ==Examples== | ||
| Line 29: | Line 59: | ||
{| class="wikitable | |||
==Macro reference== | |||
===Get3PhaseMode=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Get3PhaseMode''' | ||
|- | |- | ||
| colspan="2" | Checks to see if the | | colspan="2" | Checks to see if the brushless mode is enabled | ||
|- | |- | ||
|- | |- | ||
| Line 44: | Line 85: | ||
{| class="wikitable | ===GetAPIVersion=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetAPIVersion''' | ||
|- | |- | ||
| colspan="2" | Reads the | | colspan="2" | Reads the API firmware version | ||
|- | |- | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===GetAbsPosition=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetAbsPosition''' | ||
|- | |- | ||
| colspan="2" | Reads the | | colspan="2" | Reads the absolute position of the encoder | ||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===GetCommsOK=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''GetCommsOK''' | |||
|- | |- | ||
| | | colspan="2" | Checks if comms are ok and stable | ||
|- | |- | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===GetControlFeedback=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetControlFeedback''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT | |||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===GetControlOutputs=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetControlOutputs''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 102: | Line 151: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| width="90%" | | | width="90%" | Data | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 111: | Line 160: | ||
{| class="wikitable | ===GetCurrent=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetCurrent''' | ||
|- | |- | ||
| colspan="2" | Reads the | | colspan="2" | Reads the current of a single 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%" | Channel | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range: 0-6 - 0=DC1, 1=DC2, 2=U, 3=V, 4=W, 5=Dyno, 6=I, 7=TotalDriver | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===GetDataArray=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetDataArray''' | ||
|- | |- | ||
| colspan="2" | Collects a data array from the EM box full of control data. Each set of data includes: Setpoint, Feedback, Poutput, Ioutput, Doutput Returns the number of complete data samples collected. | | colspan="2" | Collects a data array from the EM box full of control data. Each set of data includes: Setpoint, Feedback, Poutput, Ioutput, Doutput Returns the number of complete data samples collected. | ||
| Line 160: | Line 198: | ||
{| class="wikitable | ===GetErrorStatus=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetErrorStatus''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Gets the current error status. Error status will automatically resolve itself once the causing condition has been removed. 0 = No Error 1 = Error - likely over current or brownout | ||
|- | |- | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===GetLogData=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLogData''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Gets a 64-byte packet of log data. 250 packets make up a single log. Returns 0 if comms failed and 1 if comms OK | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Buffer | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Buffer to store the incoming log data | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===GetLogDataReady=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLogDataReady''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Checks to see if the logging is complete and ready to read. | ||
|- | |- | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===GetLogStartAngle=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLogStartAngle''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Collects the U Phase angle at the start of logging. Used to calculate and re-create the 3Phase voltage data. | ||
|- | |||
|- | |||
| 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'' | |||
|} | |||
===GetMotorDirection=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''GetMotorDirection''' | |||
|- | |- | ||
| | | colspan="2" | Reads the motor direction | ||
|- | |- | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===GetRPM=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetRPM''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads the speed in RPM | ||
|- | |- | ||
|- | |- | ||
| 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- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===GetSafetySwitch=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetSafetySwitch''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads the safety switch | ||
|- | |- | ||
|- | |- | ||
| 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- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===GetVoltage=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetVoltage''' | ||
|- | |- | ||
| colspan="2" | Reads the voltage of a single channel | | colspan="2" | Reads the voltage of a single channel | ||
| Line 276: | Line 320: | ||
{| class="wikitable | ===GetWeight=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetWeight''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads the voltage of a single channel | ||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Scale | |||
|- | |- | ||
| colspan="2" | Range: 0-1 - 0=Weight, 1=Torque | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| Line 289: | Line 339: | ||
{| class="wikitable | ===Initialise=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Returns 1 if the connection is ok and communications have been established | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | MotorType | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=DC, 1=1Phase, 2=3Phase, 3=AngleControl | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===SetAbsPosition=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetAbsPosition''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Resets the absolute motor position to 0 | ||
|- | |- | ||
|- | |- | ||
| 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 325: | Line 372: | ||
{| class="wikitable | ===SetActive=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetActive''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | ||
| width="90% | | width="90%" | Active | ||
|- | |- | ||
| | | colspan="2" | 0=Off, 1=On | ||
| | |||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===SetCapacitorBank=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetCapacitorBank''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Cap | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 374: | Line 410: | ||
{| class="wikitable | ===SetControlKD=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetControlKD''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| width="90% | | width="90%" | Value | ||
|- | |- | ||
| | | 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- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===SetControlKI=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetControlKI''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| width="90%" | | | width="90%" | Value | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 418: | Line 448: | ||
{| class="wikitable | ===SetControlKP=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetControlKP''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| width="90%" | | | width="90%" | Value | ||
|- | |- | ||
| 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 | ||
| Line 436: | Line 467: | ||
{| class="wikitable | ===SetControlMaxDrivePercentage=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetControlMaxDrivePercentage''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | |||
| width="90%" | Value | |||
|- | |- | ||
| colspan="2" | Range 0.0-1.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-void-icon.png]] - VOID | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===SetControlSetpoint=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetControlSetpoint''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| width="90%" | | | width="90%" | Value | ||
|- | |- | ||
| 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 | ||
| Line 467: | Line 505: | ||
{| class="wikitable | ===SetDriveMode=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetDriveMode''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Mode | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=PWM, 1=On/Off/Float | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===SetDynoLoad=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetDynoLoad''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| width="90%" | | | width="90%" | Load | ||
|- | |- | ||
| 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 | ||
| Line 503: | Line 543: | ||
{| class="wikitable | ===SetFan=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetFan''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | |Sets the speed of the FAN from 0 (MIN) to 3000 (MAX) | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Speed | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 521: | Line 562: | ||
{| class="wikitable" | ===SetFrequency=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''SetFrequency''' | |||
|- | |- | ||
| | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" | Frequency | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | colspan="2" | Frequency of sine wave in Hz | ||
|- | |||
| 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'' | ||
|} | |} | ||
{| class="wikitable | ===SetLoadCellCalibration=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetLoadCellCalibration''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 543: | Line 591: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | | width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | ||
| width="90%" | | | width="90%" | Value | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 552: | Line 600: | ||
{| class="wikitable | ===SetMotorDirection=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetMotorDirection''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 561: | Line 610: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | ||
| width="90%" | | | width="90%" | MotorDirection | ||
|- | |- | ||
| colspan="2" | 0= | | colspan="2" | 0=FW, 1=BW | ||
|- | |- | ||
| 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 570: | Line 619: | ||
{| class="wikitable | ===SetMotorType=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetMotorType''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 579: | Line 629: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | MotorType | ||
|- | |- | ||
| colspan="2" | 0= | | colspan="2" | 0=DC, 1=1 Phase, 2=3 Phase | ||
|- | |- | ||
| 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 588: | Line 638: | ||
{| class="wikitable | ===SetTCPProps=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetTCPProps''' | ||
|- | |- | ||
| colspan="2" | Sets the TCP IP address and Port | | colspan="2" | Sets the TCP IP address and Port | ||
| Line 626: | Line 677: | ||
{| class="wikitable | ===SetThreePhaseDriveMode=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetThreePhaseDriveMode''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | |||
| width="90%" | Mode | |||
|- | |- | ||
| colspan="2" | 0=Simple, 1=Accurate | |||
|- | |- | ||
| 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 639: | Line 696: | ||
{| class="wikitable | ===SetVoltage=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetVoltage''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Sets the DC Voltage from 0 to 24V | ||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | |||
| width="90%" | Voltage | |||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Index | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
===ZeroLoadCell=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ZeroLoadCell''' | |||
|- | |||
| colspan="2" | | |||
|- | |||
|- | |||
| 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== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Communications | |||
|- | |- | ||
|- | |- | ||
| Line 676: | Line 755: | ||
|- | |- | ||
| colspan="2" | Automatically allows the runtime to stop if there is a communications error. | | colspan="2" | Automatically allows the runtime to stop if there is a communications error. | ||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | USB Communications | |||
|- | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
| Line 682: | Line 765: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | | width="90%" class="mtx-class-propfolder" | Runtime Statistics | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
| Line 706: | Line 773: | ||
|- | |- | ||
| colspan="2" | Allow console data to be generated showing the high level EM communications and returns | | colspan="2" | Allow console data to be generated showing the high level EM communications and returns | ||
|} | |} | ||
Latest revision as of 14:36, 13 July 2026
| Author | Matrix TSL |
| Version | 2.0 |
| Category | AllCode |
Electrical Machines component
A set of functions to communicate with the Matrix EM hardware. Allows the functions to be easily standardised across all SCADA programs.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_EM_Functions.fcsx
Please click here to view the component source code (Beta): FC_Comp_Source_EM_Functions.fcsx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
Get3PhaseMode
| Get3PhaseMode | |
| Checks to see if the brushless mode is enabled | |
| Return | |
GetAPIVersion
| GetAPIVersion | |
| Reads the API firmware version | |
| Return | |
GetAbsPosition
| GetAbsPosition | |
| Reads the absolute position of the encoder | |
| Return | |
GetCommsOK
| GetCommsOK | |
| Checks if comms are ok and stable | |
| Return | |
GetControlFeedback
| GetControlFeedback | |
| Return | |
GetControlOutputs
| GetControlOutputs | |
| Data | |
| Return | |
GetCurrent
| GetCurrent | |
| Reads the current of a single channel | |
| Channel | |
| Range: 0-6 - 0=DC1, 1=DC2, 2=U, 3=V, 4=W, 5=Dyno, 6=I, 7=TotalDriver | |
| Return | |
GetDataArray
GetErrorStatus
GetLogData
| GetLogData | |
| Gets a 64-byte packet of log data. 250 packets make up a single log. Returns 0 if comms failed and 1 if comms OK | |
| Buffer | |
| Buffer to store the incoming log data | |
| Return | |
GetLogDataReady
| GetLogDataReady | |
| Checks to see if the logging is complete and ready to read. | |
| Return | |
GetLogStartAngle
| GetLogStartAngle | |
| Collects the U Phase angle at the start of logging. Used to calculate and re-create the 3Phase voltage data. | |
| Return | |
GetMotorDirection
| GetMotorDirection | |
| Reads the motor direction | |
| Return | |
GetRPM
| GetRPM | |
| Reads the speed in RPM | |
| Return | |
GetSafetySwitch
| GetSafetySwitch | |
| Reads the safety switch | |
| Return | |
GetVoltage
| GetVoltage | |
| Reads the voltage of a single channel | |
| Channel | |
| Range: 0-5 - 0=DC1, 1=DC2, 2=U, 3=V, 4=W, 5=VEXT | |
| Return | |
GetWeight
| GetWeight | |
| Reads the voltage of a single channel | |
| Scale | |
| Range: 0-1 - 0=Weight, 1=Torque | |
| Return | |
Initialise
| Initialise | |
| Returns 1 if the connection is ok and communications have been established | |
| MotorType | |
| 0=DC, 1=1Phase, 2=3Phase, 3=AngleControl | |
| Return | |
SetAbsPosition
| SetAbsPosition | |
| Resets the absolute motor position to 0 | |
| Return | |
SetActive
| SetActive | |
| Active | |
| 0=Off, 1=On | |
| Return | |
SetCapacitorBank
| SetCapacitorBank | |
| Cap | |
| Return | |
SetControlKD
| SetControlKD | |
| Value | |
| Return | |
SetControlKI
| SetControlKI | |
| Value | |
| Return | |
SetControlKP
| SetControlKP | |
| Value | |
| Return | |
SetControlMaxDrivePercentage
| SetControlMaxDrivePercentage | |
| Value | |
| Range 0.0-1.0 | |
| Return | |
SetControlSetpoint
| SetControlSetpoint | |
| Value | |
| Return | |
SetDriveMode
| SetDriveMode | |
| Mode | |
| 0=PWM, 1=On/Off/Float | |
| Return | |
SetDynoLoad
| SetDynoLoad | |
| Load | |
| Return | |
SetFan
| SetFan | |
| |Sets the speed of the FAN from 0 (MIN) to 3000 (MAX) | |
| Speed | |
| Return | |
SetFrequency
| SetFrequency | |
| Frequency | |
| Frequency of sine wave in Hz | |
| Return | |
SetLoadCellCalibration
| SetLoadCellCalibration | |
| Value | |
| Return | |
SetMotorDirection
| SetMotorDirection | |
| MotorDirection | |
| 0=FW, 1=BW | |
| Return | |
SetMotorType
| SetMotorType | |
| MotorType | |
| 0=DC, 1=1 Phase, 2=3 Phase | |
| Return | |
SetTCPProps
| SetTCPProps | |
| Sets the TCP IP address and Port | |
| IP0 | |
| IP1 | |
| IP2 | |
| IP3 | |
| Port | |
| Return | |
SetThreePhaseDriveMode
| SetThreePhaseDriveMode | |
| Mode | |
| 0=Simple, 1=Accurate | |
| Return | |
SetVoltage
| SetVoltage | |
| Sets the DC Voltage from 0 to 24V | |
| Voltage | |
| Index | |
| Return | |
ZeroLoadCell
| ZeroLoadCell | |
| Return | |