modified big motor as it is using 12v version, limiting max pwm

This commit is contained in:
Nicolas Trimborn 2021-08-24 17:08:44 +02:00
parent 58bba21ef3
commit 6f1ca06830
7 changed files with 455 additions and 21 deletions

View File

@ -381,7 +381,9 @@ void BLDC_runCurrentCntl(BLDCMotor_t *motor, const float32_t curfbk, const float
}
volatile float32_t duty_pu = f_abs((motor->controllers.Pi_Idc.Out_pu * motor->VoneByDcBus_pu));
motor->motor_status.duty_cycle = (uint16_t)f_clamp(duty_pu * (float32_t)MAX_PWM, 0.0f, (float32_t)MAX_PWM);
//motor->motor_status.duty_cycle = (uint16_t)f_clamp(duty_pu * (float32_t)MAX_PWM, 0.0f, (float32_t)MAX_PWM);
//motor->motor_status.duty_cycle = (uint16_t)f_clamp(duty_pu * (float32_t)MAX_PWM, 0.0f, (float32_t)MAX_PWM);
motor->motor_status.duty_cycle = (uint16_t)f_clamp(duty_pu * motor->motor_param->motor_MaxPWM, 0.0f, (float32_t)MAX_PWM);
// Remove Low duty cycle values
//if(duty_cycle < 80.0) motor->duty_cycle = (uint16_t)0;
//else motor->duty_cycle = (uint16_t)duty_cycle;

View File

@ -17,7 +17,7 @@
#include "statemachine.h"
#define PWM_TOP (1000)
#define MAX_PWM (300)
#define MAX_PWM (800)
//#define MAX_VEL 3800
#define CW (0) //CBA

View File

@ -153,7 +153,9 @@ int main(void)
/* BLDC INIT */
BldcInitStruct(&Motor1, &FH_22mm24BXTR);
BldcInitStruct(&Motor2, &FH_32mm24BXTR);
BldcInitStruct(&Motor2, &FH_32mm12BXTR);
//Motor2.VdcBus_pu = 12.0;
//Motor2.VoneByDcBus_pu = 1.0/Motor2.VdcBus_pu;
Motor1.readHall = &readHallSensorM1;
Motor2.readHall = &readHallSensorM2;
@ -175,13 +177,13 @@ int main(void)
custom_logic_enable();
angle_sensor_init();
initialize_ads();
//initialize_ads();
/* External IRQ Config */
__enable_irq();
enable_NVIC_IRQ();
ext_irq_register(GPIO_PIN(ADS_DATA_RDY), ADS1299_dataReadyISR);
ADS1299_START();
//ext_irq_register(GPIO_PIN(ADS_DATA_RDY), ADS1299_dataReadyISR);
//ADS1299_START();
/* Replace with your application code */
while (1) {
@ -212,14 +214,14 @@ int main(void)
if (Motor1.timerflags.current_loop_tic) {
Motor1.timerflags.current_loop_tic = false;
APPLICATION_StateMachine();
exec_commutation(&Motor1);
exec_commutation(&Motor2);
//APPLICATION_StateMachine();
//exec_commutation(&Motor1);
//exec_commutation(&Motor2);
}
if (ADS1299.data_ReadyFlag){
ADS1299.data_ReadyFlag = false;
ADS1299_UPDATECHANNELDATA();
//ADS1299_UPDATECHANNELDATA();
}
if (run_ECAT) {ECAT_STATE_MACHINE();}

View File

@ -133,6 +133,7 @@ typedef struct
const float32_t motor_Max_Spd_ELEC;
const float32_t motor_Max_Current_IDC_A;
MOTOR_Control_Structs controller_param;
float32_t motor_MaxPWM;
} BLDCMotor_param_t;
//static BLDCMotor_param_t FH_22mm24BXTR;
@ -158,6 +159,34 @@ const static BLDCMotor_param_t FH_22mm24BXTR = {
//.controller_param.Pid_Speed.Ki = 0.0000001f,
.controller_param.Pi_Pos.Kp = 50.0f,
.controller_param.Pi_Pos.Ki = 0.0f,
.motor_MaxPWM = 800.0,
};
/* Big Motor - 3216W012BXTR */
const static BLDCMotor_param_t FH_32mm12BXTR = {
.pwm_desc = &PWM_1,
.speedtimer_hw = TC4,
.motor_Poles = 14,
.motor_polePairs = 7,
.motor_commutationStates = 42, //polePairs * 6
.motor_RS_Ohm = 0.88,
.motor_LD_H = 0.000331,
.motor_LQ_H = 0.000331,
.motor_Flux_WB = 0.0063879968,
.motor_Max_Spd_RPM = 3000,
.motor_MeasureRange_RPM = 3200, //(1.2f * MOTOR_MAX_SPD_RPM)f // give 20% headroom
.motor_Max_Spd_ELEC = 12000, //(MOTOR_MAX_SPD_RPM/60)*MOTOR_POLEPAIRS
.motor_Max_Current_IDC_A = (1.6),
.controller_param.Pid_Speed.Kp = 0.0004f,
.controller_param.Pid_Speed.Ki = 0.0000001f,
.controller_param.Pi_Pos.Kp = 50.0f,
.controller_param.Pi_Pos.Ki = 0.000f,
//.controller_param.Pid_Speed.Kp = 0.00002f,
//.controller_param.Pid_Speed.Ki = 0.0f,
//.controller_param.Pi_Pos.Kp = 4.0f,
//.controller_param.Pi_Pos.Ki = 0.0f,
.motor_MaxPWM = 300.0,
};
/* Big Motor - 3216W024BXTR */
@ -179,6 +208,7 @@ const static BLDCMotor_param_t FH_32mm24BXTR = {
.controller_param.Pid_Speed.Ki = 0.0000001f,
.controller_param.Pi_Pos.Kp = 40.0f,
.controller_param.Pi_Pos.Ki = 0.0f,
.motor_MaxPWM = 800.0,
//.controller_param.Pid_Speed.Kp = 0.00002f,
//.controller_param.Pid_Speed.Ki = 0.0f,
//.controller_param.Pi_Pos.Kp = 4.0f,

View File

@ -15,11 +15,11 @@
<IsTemplate>false</IsTemplate>
<Layout>&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;Layout&gt;
&lt;Window Guid="17812b7c-7d18-4668-ae12-d2633798b279" LastFocused="132742705121217503" DockedSize="200" PopupSize="0" FloatingLocation="-1, -1" FloatingSize="550, 400" LastOpenDockSituation="Document" LastFixedDockSituation="Document" LastFixedDockLocation="Right" LastFloatingWindowGuid="00000000-0000-0000-0000-000000000000" LastDockContainerCount="0" LastDockContainerIndex="0" DockedWorkingSize="250, 400" DockedWindowGroupGuid="00000000-0000-0000-0000-000000000000" DockedIndexInWindowGroup="0" DockedSplitPath="0" DocumentWorkingSize="250, 400" DocumentWindowGroupGuid="a5d32a52-1886-4ce8-9970-731db69737a6" DocumentIndexInWindowGroup="1" DocumentSplitPath="0" FloatingWorkingSize="250, 400" FloatingWindowGroupGuid="00000000-0000-0000-0000-000000000000" FloatingIndexInWindowGroup="0" FloatingSplitPath="0" /&gt;
&lt;Window Guid="8766837b-106b-4ca8-84ce-2fbbc3ef10f3" LastFocused="132742702609850464" DockedSize="200" PopupSize="0" FloatingLocation="-1, -1" FloatingSize="550, 400" LastOpenDockSituation="Document" LastFixedDockSituation="Document" LastFixedDockLocation="Right" LastFloatingWindowGuid="00000000-0000-0000-0000-000000000000" LastDockContainerCount="0" LastDockContainerIndex="0" DockedWorkingSize="250, 400" DockedWindowGroupGuid="00000000-0000-0000-0000-000000000000" DockedIndexInWindowGroup="0" DockedSplitPath="0" DocumentWorkingSize="250, 400" DocumentWindowGroupGuid="a5d32a52-1886-4ce8-9970-731db69737a6" DocumentIndexInWindowGroup="0" DocumentSplitPath="0" FloatingWorkingSize="250, 400" FloatingWindowGroupGuid="00000000-0000-0000-0000-000000000000" FloatingIndexInWindowGroup="0" FloatingSplitPath="0" /&gt;
&lt;Window Guid="8766837b-106b-4ca8-84ce-2fbbc3ef10f3" LastFocused="132742840704085058" DockedSize="200" PopupSize="0" FloatingLocation="-1, -1" FloatingSize="550, 400" LastOpenDockSituation="Document" LastFixedDockSituation="Document" LastFixedDockLocation="Right" LastFloatingWindowGuid="00000000-0000-0000-0000-000000000000" LastDockContainerCount="0" LastDockContainerIndex="0" DockedWorkingSize="250, 400" DockedWindowGroupGuid="00000000-0000-0000-0000-000000000000" DockedIndexInWindowGroup="0" DockedSplitPath="0" DocumentWorkingSize="250, 400" DocumentWindowGroupGuid="a5d32a52-1886-4ce8-9970-731db69737a6" DocumentIndexInWindowGroup="0" DocumentSplitPath="0" FloatingWorkingSize="250, 400" FloatingWindowGroupGuid="00000000-0000-0000-0000-000000000000" FloatingIndexInWindowGroup="0" FloatingSplitPath="0" /&gt;
&lt;Window Guid="17812b7c-7d18-4668-ae12-d2633798b279" LastFocused="132742810664328077" DockedSize="200" PopupSize="0" FloatingLocation="-1, -1" FloatingSize="550, 400" LastOpenDockSituation="Document" LastFixedDockSituation="Document" LastFixedDockLocation="Right" LastFloatingWindowGuid="00000000-0000-0000-0000-000000000000" LastDockContainerCount="0" LastDockContainerIndex="0" DockedWorkingSize="250, 400" DockedWindowGroupGuid="00000000-0000-0000-0000-000000000000" DockedIndexInWindowGroup="0" DockedSplitPath="0" DocumentWorkingSize="250, 400" DocumentWindowGroupGuid="a5d32a52-1886-4ce8-9970-731db69737a6" DocumentIndexInWindowGroup="1" DocumentSplitPath="0" FloatingWorkingSize="250, 400" FloatingWindowGroupGuid="00000000-0000-0000-0000-000000000000" FloatingIndexInWindowGroup="0" FloatingSplitPath="0" /&gt;
&lt;DocumentContainer Dock="5"&gt;
&lt;SplitLayoutSystem WorkingSize="250, 400" SplitMode="0"&gt;
&lt;ControlLayoutSystem WorkingSize="250, 400" Guid="a5d32a52-1886-4ce8-9970-731db69737a6" Collapsed="0" SelectedControl="17812b7c-7d18-4668-ae12-d2633798b279"&gt;
&lt;ControlLayoutSystem WorkingSize="250, 400" Guid="a5d32a52-1886-4ce8-9970-731db69737a6" Collapsed="0" SelectedControl="8766837b-106b-4ca8-84ce-2fbbc3ef10f3"&gt;
&lt;Controls&gt;
&lt;Control Guid="8766837b-106b-4ca8-84ce-2fbbc3ef10f3" /&gt;
&lt;Control Guid="17812b7c-7d18-4668-ae12-d2633798b279" /&gt;
@ -1014,6 +1014,168 @@
<UseTaskSampleTime>true</UseTaskSampleTime>
<VariableSize>2</VariableSize>
</AdsAcquisition>
<AdsAcquisition AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<AmsNetId>192.168.61.1.1.1</AmsNetId>
<Area>Input</Area>
<ArrayLength>0</ArrayLength>
<BaseSampleTime>10000</BaseSampleTime>
<ChannelStyleInformation />
<Comment></Comment>
<ContextMask>0</ContextMask>
<DataAccess>
<DataAccessMode>
<Source>TwinCAT</Source>
<Protocoll>ADS</Protocoll>
<Format>TcBinary</Format>
<TimeContext>Present</TimeContext>
<TimeTangeInfo>
<StartTimeStamp>0</StartTimeStamp>
<EndTimeStamp>0</EndTimeStamp>
</TimeTangeInfo>
</DataAccessMode>
</DataAccess>
<DataType>INT16</DataType>
<DisplayColor>Black</DisplayColor>
<Enabled>true</Enabled>
<FileHandle>13</FileHandle>
<ForceOversampling>false</ForceOversampling>
<Guid>00293ced-5f18-4418-aa61-3cce818122c1</Guid>
<IndexGroup>61472</IndexGroup>
<IndexOffset>385108</IndexOffset>
<IsFileBased>false</IsFileBased>
<IsHistorical>false</IsHistorical>
<Name>M1_Motor_dutyCycle</Name>
<Oversample>0</Oversample>
<RawUnit>
<Transformation>
<BaseUnitValue>0</BaseUnitValue>
<Name>None</Name>
<ScaleFactor>1</ScaleFactor>
<SourceUnitPrefix>none</SourceUnitPrefix>
<SourceUnitString />
<Symbol>1</Symbol>
<TargetUnitString />
<TargetUnitValue>0</TargetUnitValue>
</Transformation>
<Unit>
<BaseUnitString />
<BaseUnitValue>0</BaseUnitValue>
<NameExtension />
<Offset>0</Offset>
<Prefix>none</Prefix>
<ReturnText> (None) </ReturnText>
<ScaleFactor>1</ScaleFactor>
<Symbol></Symbol>
</Unit>
<UnitOffsetResult>0</UnitOffsetResult>
<UnitScaleResult>1</UnitScaleResult>
<UserUnit>
<BaseName>UnitOfOne</BaseName>
<BaseUnitString />
<BaseUnitValue>0</BaseUnitValue>
<Name>None</Name>
<NameExtension />
<Offset>0</Offset>
<Prefix>none</Prefix>
<ScaleFactor>1</ScaleFactor>
<Symbol></Symbol>
<UserPrefix>none</UserPrefix>
</UserUnit>
</RawUnit>
<ServerHandle>0</ServerHandle>
<SortPriority>10</SortPriority>
<SubMember />
<Suffix>.svacq</Suffix>
<SymbolBased>true</SymbolBased>
<SymbolName>GVL_motor_data.M1_Motor_dutyCycle</SymbolName>
<TargetPort>851</TargetPort>
<TimeOffset>0</TimeOffset>
<Title>AdsAcquisition_77</Title>
<UseLocalServer>true</UseLocalServer>
<UseTaskSampleTime>true</UseTaskSampleTime>
<VariableSize>2</VariableSize>
</AdsAcquisition>
<AdsAcquisition AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<AmsNetId>192.168.61.1.1.1</AmsNetId>
<Area>Input</Area>
<ArrayLength>0</ArrayLength>
<BaseSampleTime>10000</BaseSampleTime>
<ChannelStyleInformation />
<Comment></Comment>
<ContextMask>0</ContextMask>
<DataAccess>
<DataAccessMode>
<Source>TwinCAT</Source>
<Protocoll>ADS</Protocoll>
<Format>TcBinary</Format>
<TimeContext>Present</TimeContext>
<TimeTangeInfo>
<StartTimeStamp>0</StartTimeStamp>
<EndTimeStamp>0</EndTimeStamp>
</TimeTangeInfo>
</DataAccessMode>
</DataAccess>
<DataType>INT16</DataType>
<DisplayColor>Black</DisplayColor>
<Enabled>true</Enabled>
<FileHandle>14</FileHandle>
<ForceOversampling>false</ForceOversampling>
<Guid>da0d5fd3-5da6-475d-bd83-771d47fa228f</Guid>
<IndexGroup>61472</IndexGroup>
<IndexOffset>385128</IndexOffset>
<IsFileBased>false</IsFileBased>
<IsHistorical>false</IsHistorical>
<Name>M2_Motor_dutyCycle</Name>
<Oversample>0</Oversample>
<RawUnit>
<Transformation>
<BaseUnitValue>0</BaseUnitValue>
<Name>None</Name>
<ScaleFactor>1</ScaleFactor>
<SourceUnitPrefix>none</SourceUnitPrefix>
<SourceUnitString />
<Symbol>1</Symbol>
<TargetUnitString />
<TargetUnitValue>0</TargetUnitValue>
</Transformation>
<Unit>
<BaseUnitString />
<BaseUnitValue>0</BaseUnitValue>
<NameExtension />
<Offset>0</Offset>
<Prefix>none</Prefix>
<ReturnText> (None) </ReturnText>
<ScaleFactor>1</ScaleFactor>
<Symbol></Symbol>
</Unit>
<UnitOffsetResult>0</UnitOffsetResult>
<UnitScaleResult>1</UnitScaleResult>
<UserUnit>
<BaseName>UnitOfOne</BaseName>
<BaseUnitString />
<BaseUnitValue>0</BaseUnitValue>
<Name>None</Name>
<NameExtension />
<Offset>0</Offset>
<Prefix>none</Prefix>
<ScaleFactor>1</ScaleFactor>
<Symbol></Symbol>
<UserPrefix>none</UserPrefix>
</UserUnit>
</RawUnit>
<ServerHandle>0</ServerHandle>
<SortPriority>10</SortPriority>
<SubMember />
<Suffix>.svacq</Suffix>
<SymbolBased>true</SymbolBased>
<SymbolName>GVL_motor_data.M2_Motor_dutyCycle</SymbolName>
<TargetPort>851</TargetPort>
<TimeOffset>0</TimeOffset>
<Title>AdsAcquisition_77</Title>
<UseLocalServer>true</UseLocalServer>
<UseTaskSampleTime>true</UseTaskSampleTime>
<VariableSize>2</VariableSize>
</AdsAcquisition>
</SubMember>
<Suffix>.svdp</Suffix>
<Title>DataPool_85</Title>
@ -1163,7 +1325,7 @@
<ManualMin>-0.5</ManualMin>
<Name>Value Axis (3)</Name>
<Orientation>Y</Orientation>
<ScalingMode>AutoGrowOnly</ScalingMode>
<ScalingMode>AutoGrowNShrink</ScalingMode>
<SortPriority>100</SortPriority>
<SubMember>
<AxisStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
@ -1345,7 +1507,7 @@
<ManualMin>-0.5</ManualMin>
<Name>Value Axis</Name>
<Orientation>Y</Orientation>
<ScalingMode>AutoGrowOnly</ScalingMode>
<ScalingMode>AutoGrowNShrink</ScalingMode>
<SortPriority>100</SortPriority>
<SubMember>
<AxisStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
@ -1527,7 +1689,7 @@
<ManualMin>-0.5</ManualMin>
<Name>Value Axis (1)</Name>
<Orientation>Y</Orientation>
<ScalingMode>AutoGrowOnly</ScalingMode>
<ScalingMode>AutoGrowNShrink</ScalingMode>
<SortPriority>100</SortPriority>
<SubMember>
<AxisStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
@ -1709,7 +1871,7 @@
<ManualMin>-0.5</ManualMin>
<Name>Value Axis (2)</Name>
<Orientation>Y</Orientation>
<ScalingMode>AutoGrowOnly</ScalingMode>
<ScalingMode>AutoGrowNShrink</ScalingMode>
<SortPriority>100</SortPriority>
<SubMember>
<AxisStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
@ -2008,7 +2170,7 @@
<ManualMin>-0.5</ManualMin>
<Name>Value Axis (4)</Name>
<Orientation>Y</Orientation>
<ScalingMode>AutoGrowOnly</ScalingMode>
<ScalingMode>AutoGrowNShrink</ScalingMode>
<SortPriority>100</SortPriority>
<SubMember>
<AxisStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
@ -2284,6 +2446,125 @@
<Suffix>.svchannel</Suffix>
<Title>Channel_100</Title>
</Channel>
<Channel AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Comment />
<DisplayColor>-4419697</DisplayColor>
<Enabled>true</Enabled>
<Guid>043fe743-9162-4cdc-9236-aa6517a30dcb</Guid>
<IsFileBased>false</IsFileBased>
<Name>M1_Motor_dutyCycle</Name>
<SortPriority>12</SortPriority>
<SubMember>
<AcquisitionInterpreter AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<AcquisitionGUID>00293ced-5f18-4418-aa61-3cce818122c1</AcquisitionGUID>
<BitMask>18446744073709551615</BitMask>
<Comment />
<DisplayColor>Black</DisplayColor>
<Guid>99154ed7-1550-403c-8812-56461e7031c1</Guid>
<IsFileBased>false</IsFileBased>
<Name>Y: M1_Motor_dutyCycle</Name>
<Offset>0</Offset>
<ResultingUnit>
<Transformation>
<BaseUnitValue>0</BaseUnitValue>
<Name>None</Name>
<ScaleFactor>1</ScaleFactor>
<SourceUnitPrefix>none</SourceUnitPrefix>
<SourceUnitString />
<Symbol>1</Symbol>
<TargetUnitString />
<TargetUnitValue>0</TargetUnitValue>
</Transformation>
<Unit>
<BaseUnitString />
<BaseUnitValue>0</BaseUnitValue>
<NameExtension />
<Offset>0</Offset>
<Prefix>none</Prefix>
<ReturnText> (None) </ReturnText>
<ScaleFactor>1</ScaleFactor>
<Symbol></Symbol>
</Unit>
<UnitOffsetResult>0</UnitOffsetResult>
<UnitScaleResult>1</UnitScaleResult>
<UserUnit>
<BaseName>UnitOfOne</BaseName>
<BaseUnitString />
<BaseUnitValue>0</BaseUnitValue>
<Name>None</Name>
<NameExtension />
<Offset>0</Offset>
<Prefix>none</Prefix>
<ScaleFactor>1</ScaleFactor>
<Symbol></Symbol>
<UserPrefix>none</UserPrefix>
</UserUnit>
</ResultingUnit>
<ScaleFactor>1</ScaleFactor>
<SortPriority>2</SortPriority>
<SubMember />
<Suffix>.svai</Suffix>
<Title>AcquisitionInterpreter_102</Title>
<Usage>Y</Usage>
</AcquisitionInterpreter>
<ChannelStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Comment />
<DisplayColor>Black</DisplayColor>
<Guid>226a0f1f-4c57-4714-9664-e6d7ac1d088d</Guid>
<IsFileBased>false</IsFileBased>
<Name>Channel Style (12)</Name>
<SortPriority>100</SortPriority>
<SubMember>
<SeriesStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Antialias>true</Antialias>
<Comment />
<DisplayColor>Plum</DisplayColor>
<FillColor>851218319</FillColor>
<FillMode>None</FillMode>
<Guid>5485538d-a250-41d4-8fb9-58ba197ed321</Guid>
<IsFileBased>false</IsFileBased>
<LineWidth>1</LineWidth>
<MarkColor>-4419697</MarkColor>
<MarkSize>2</MarkSize>
<MarkState>Auto</MarkState>
<Name>Series Style (12)</Name>
<SeriesType>Line</SeriesType>
<SortPriority>100</SortPriority>
<Suffix>.svstyle</Suffix>
<Title>SeriesStyle_112</Title>
</SeriesStyle>
<MinMaxStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Comment />
<DisplayColor>Black</DisplayColor>
<Guid>8228517d-e45d-4e93-a643-8f4275a08b69</Guid>
<IsFileBased>false</IsFileBased>
<Name>Min/Max Style (12)</Name>
<ShowMax>false</ShowMax>
<ShowMin>false</ShowMin>
<SortPriority>100</SortPriority>
<Suffix>.svstyle</Suffix>
<Title>MinMaxStyle_1802</Title>
</MinMaxStyle>
<TimeShiftStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Comment />
<DisplayColor>Black</DisplayColor>
<Guid>f239b504-9009-4f99-ad99-0c515110c830</Guid>
<IsFileBased>false</IsFileBased>
<Name>TimeShiftStyle_1803</Name>
<SortPriority>100</SortPriority>
<Suffix>.svtss</Suffix>
<TimeShift>0</TimeShift>
<Title>TimeShiftStyle_1803</Title>
</TimeShiftStyle>
</SubMember>
<Suffix>.svstyle</Suffix>
<Title>ChannelStyle_110</Title>
<Visible>true</Visible>
</ChannelStyle>
</SubMember>
<Suffix>.svchannel</Suffix>
<Title>Channel_100</Title>
</Channel>
</SubMember>
<Suffix>.svagroup</Suffix>
<Title>AxisGroup_90</Title>
@ -2309,7 +2590,7 @@
<ManualMin>-0.5</ManualMin>
<Name>Value Axis (5)</Name>
<Orientation>Y</Orientation>
<ScalingMode>AutoGrowOnly</ScalingMode>
<ScalingMode>AutoGrowNShrink</ScalingMode>
<SortPriority>100</SortPriority>
<SubMember>
<AxisStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
@ -2585,6 +2866,125 @@
<Suffix>.svchannel</Suffix>
<Title>Channel_100</Title>
</Channel>
<Channel AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Comment />
<DisplayColor>-16728065</DisplayColor>
<Enabled>true</Enabled>
<Guid>d383b860-26d6-406b-ad52-6854127f67c5</Guid>
<IsFileBased>false</IsFileBased>
<Name>M2_Motor_dutyCycle</Name>
<SortPriority>12</SortPriority>
<SubMember>
<AcquisitionInterpreter AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<AcquisitionGUID>da0d5fd3-5da6-475d-bd83-771d47fa228f</AcquisitionGUID>
<BitMask>18446744073709551615</BitMask>
<Comment />
<DisplayColor>Black</DisplayColor>
<Guid>0ac6fbf5-d9b8-44c3-b04e-be3b6a43f340</Guid>
<IsFileBased>false</IsFileBased>
<Name>Y: M2_Motor_dutyCycle</Name>
<Offset>0</Offset>
<ResultingUnit>
<Transformation>
<BaseUnitValue>0</BaseUnitValue>
<Name>None</Name>
<ScaleFactor>1</ScaleFactor>
<SourceUnitPrefix>none</SourceUnitPrefix>
<SourceUnitString />
<Symbol>1</Symbol>
<TargetUnitString />
<TargetUnitValue>0</TargetUnitValue>
</Transformation>
<Unit>
<BaseUnitString />
<BaseUnitValue>0</BaseUnitValue>
<NameExtension />
<Offset>0</Offset>
<Prefix>none</Prefix>
<ReturnText> (None) </ReturnText>
<ScaleFactor>1</ScaleFactor>
<Symbol></Symbol>
</Unit>
<UnitOffsetResult>0</UnitOffsetResult>
<UnitScaleResult>1</UnitScaleResult>
<UserUnit>
<BaseName>UnitOfOne</BaseName>
<BaseUnitString />
<BaseUnitValue>0</BaseUnitValue>
<Name>None</Name>
<NameExtension />
<Offset>0</Offset>
<Prefix>none</Prefix>
<ScaleFactor>1</ScaleFactor>
<Symbol></Symbol>
<UserPrefix>none</UserPrefix>
</UserUnit>
</ResultingUnit>
<ScaleFactor>1</ScaleFactor>
<SortPriority>2</SortPriority>
<SubMember />
<Suffix>.svai</Suffix>
<Title>AcquisitionInterpreter_102</Title>
<Usage>Y</Usage>
</AcquisitionInterpreter>
<ChannelStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Comment />
<DisplayColor>Black</DisplayColor>
<Guid>0e93d793-ac0c-404c-bdef-d6e6a0c325fe</Guid>
<IsFileBased>false</IsFileBased>
<Name>Channel Style (13)</Name>
<SortPriority>100</SortPriority>
<SubMember>
<SeriesStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Antialias>true</Antialias>
<Comment />
<DisplayColor>Plum</DisplayColor>
<FillColor>838909951</FillColor>
<FillMode>None</FillMode>
<Guid>801898f3-5bb6-410b-8bdc-91eb16a36a26</Guid>
<IsFileBased>false</IsFileBased>
<LineWidth>1</LineWidth>
<MarkColor>-16728065</MarkColor>
<MarkSize>2</MarkSize>
<MarkState>Auto</MarkState>
<Name>Series Style (13)</Name>
<SeriesType>Line</SeriesType>
<SortPriority>100</SortPriority>
<Suffix>.svstyle</Suffix>
<Title>SeriesStyle_112</Title>
</SeriesStyle>
<MinMaxStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Comment />
<DisplayColor>Black</DisplayColor>
<Guid>392d1450-e1b4-4270-9c9f-e0c6a824f1ac</Guid>
<IsFileBased>false</IsFileBased>
<Name>Min/Max Style (13)</Name>
<ShowMax>false</ShowMax>
<ShowMin>false</ShowMin>
<SortPriority>100</SortPriority>
<Suffix>.svstyle</Suffix>
<Title>MinMaxStyle_1975</Title>
</MinMaxStyle>
<TimeShiftStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
<Comment />
<DisplayColor>Black</DisplayColor>
<Guid>d6194688-cb08-4994-ae6f-d43032ff0f8f</Guid>
<IsFileBased>false</IsFileBased>
<Name>TimeShiftStyle_1976</Name>
<SortPriority>100</SortPriority>
<Suffix>.svtss</Suffix>
<TimeShift>0</TimeShift>
<Title>TimeShiftStyle_1976</Title>
</TimeShiftStyle>
</SubMember>
<Suffix>.svstyle</Suffix>
<Title>ChannelStyle_110</Title>
<Visible>true</Visible>
</ChannelStyle>
</SubMember>
<Suffix>.svchannel</Suffix>
<Title>Channel_100</Title>
</Channel>
</SubMember>
<Suffix>.svagroup</Suffix>
<Title>AxisGroup_90</Title>
@ -2610,7 +3010,7 @@
<ManualMin>-0.5</ManualMin>
<Name>Value Axis (6)</Name>
<Orientation>Y</Orientation>
<ScalingMode>AutoGrowOnly</ScalingMode>
<ScalingMode>AutoGrowNShrink</ScalingMode>
<SortPriority>100</SortPriority>
<SubMember>
<AxisStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">
@ -2911,7 +3311,7 @@
<ManualMin>-0.5</ManualMin>
<Name>Value Axis (7)</Name>
<Orientation>Y</Orientation>
<ScalingMode>AutoGrowOnly</ScalingMode>
<ScalingMode>AutoGrowNShrink</ScalingMode>
<SortPriority>100</SortPriority>
<SubMember>
<AxisStyle AssemblyName="TwinCAT.Measurement.Scope.API.Model">