Model { Name "synch" Version 5.0 SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ExecutionOrder off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip on BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Tue Oct 01 15:44:00 2002" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "Administrator" ModifiedDateFormat "%" LastModifiedDate "Tue Apr 05 13:29:21 2005" ModelVersionFormat "1.%" ConfigurationManager "none" SimParamPage "Solver" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "oneshot" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect off ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on BufferReuse on RTWExpressionDepthLimit 5 SimulationMode "normal" Solver "ode4" SolverMode "Auto" StartTime "0.0" StopTime "1000.0" MaxOrder 5 MaxStep "auto" MinStep "auto" MaxNumMinSteps "-1" InitialStep "auto" FixedStep "0.005" RelTol "1e-3" AbsTol "auto" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" LoadExternalInput off ExternalInput "[t, u]" LoadInitialState off InitialState "xInitial" SaveTime on TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" Decimation "1" LimitDataPoints off MaxDataPoints "1000" SignalLoggingName "sigsOut" ConsistencyChecking "none" ArrayBoundsChecking "none" AlgebraicLoopMsg "warning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" CheckForMatrixSingularity "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterPrecisionLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SfunCompatibilityCheckMsg "none" RTWInlineParameters off BlockReductionOpt on BooleanDataType off ConditionallyExecuteInputs on ParameterPooling on OptimizeBlockIOStorage on ZeroCross on AssertionControl "UseLocalSettings" ProdHWDeviceType "Microprocessor" ProdHWWordLengths "8,16,32,32" RTWSystemTargetFile "grt.tlc" RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off RTWRetainRTWFile off TLCProfiler off TLCDebug off TLCCoverage off TLCAssertion off BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } BlockParameterDefaults { Block { BlockType Constant Value "1" VectorParams1D on ShowAdditionalParam off OutDataTypeMode "Inherit from 'Constant value'" OutDataType "sfix(16)" ConRadixGroup "Use specified scaling" OutScaling "2^0" } Block { BlockType Display Format "short" Decimation "10" Floating off SampleTime "-1" } Block { BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ShowAdditionalParam off ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Inport Port "1" PortDimensions "-1" SampleTime "-1" ShowAdditionalParam off LatchInput off DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on } Block { BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" ZeroCross on } Block { BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Product Inputs "2" Multiplication "Element-wise(.*)" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" } Block { BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Switch Criteria "u2 >= Threshold" Threshold "0" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Inherit via internal rule" RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross on } Block { BlockType Trigonometry Operator "sin" OutputSignalType "auto" } } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } System { Name "synch" Location [2, 74, 774, 540] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" ReportName "simulink-default.rpt" Block { BlockType Gain Name "1/2/pi" Position [620, 210, 650, 240] Gain "1/2/pi" } Block { BlockType "S-Function" Name "Angular Difference between\ngenerator internal " "voltage and infinite bus" Ports [1] Position [645, 336, 755, 444] CopyFcn "ax_block CopyFcn" DeleteFcn "ax_block('DeleteBlock',gcb);" UndoDeleteFcn "ax_block('UndeleteBlock',gcb);" LoadFcn "ax_block LoadFcn" ModelCloseFcn "ax_block('ModelClosing', gcb);" PreSaveFcn "ax_block('PreSaveFcn')" PostSaveFcn "ax_block('SaveBlockControl');" OpenFcn "ax_block('OpenFcn',gcbh);" ParentCloseFcn "ax_block('DeleteControl',gcb);" MoveFcn "ax_block('MoveBlockControl',gcb);" FunctionName "ax_sfun" Parameters "hActx, inputprops, outputprops, inblock, update" ", connect, dialOut" MaskType "ActiveX Block" MaskDescription "Displays ActiveX control in model. Use block bo" "rder to move/resize block. Right-click on block to edit properties. This bloc" "k works only on Windows platforms." MaskHelp "web(dnghelp);" MaskPromptString "Program ID:|Connections:|Input property:|Output" " property:|Event on which to output:|Initialization command:|Other events and" " handlers:|Handle location (function returning control handle or block name):" "|Update command:|In-block control|Border|Dial Output Value:|ParentList|Update" "Param" MaskStyleString "edit,popup(input|output|both|neither),edit,edit" ",edit,edit,edit,edit,edit,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,on,on,o" "n,on" MaskCallbackString "ax_block Dirty||||ax_block Dirty|ax_block Dirty" "|ax_block Dirty|ax_block Dirty||ax_block('InBlockCallback');|ax_block('MoveBl" "ockControl');|||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,off,off" MaskVisibilityString "on,on,on,on,on,on,on,off,on,on,on,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,," MaskVariables "progid=&1;connect=@2;input=&3;output=&4;dialOut" "Event=&5;init=&6;eventstr=&7;init_fcn=&8;update=&9;inblock=&10;border=&11;dia" "lOut=@12;parentList=&13;updateParam=@14;" MaskInitialization "str=sprintf('(Initialization\\nFailed');\n[hAct" "x,inputprops,outputprops,inblock,dialOut] = ax_block('ActiveXMaskInit',gcs,gc" "b);\nif isempty( hActx ) | strcmp(inblock,'off')\n str = 'ActiveX';\nelse\n " " str = '';\nend" MaskDisplay "disp(str)" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" MaskValueString "mwagauge.agaugectrl.1|input|NeedleValue|||||||o" "n|on|0||0" MaskRunInitForIconRedraw on } Block { BlockType "S-Function" Name "Coarse Adjust\nMechanical Power" Ports [0, 1] Position [15, 14, 75, 136] CopyFcn "ax_block CopyFcn" DeleteFcn "ax_block('DeleteBlock',gcb);" UndoDeleteFcn "ax_block('UndeleteBlock',gcb);" LoadFcn "ax_block LoadFcn" ModelCloseFcn "ax_block('ModelClosing', gcb);" PreSaveFcn "ax_block('PreSaveFcn')" PostSaveFcn "ax_block('SaveBlockControl');" OpenFcn "ax_block('OpenFcn',gcbh);" ParentCloseFcn "ax_block('DeleteControl',gcb);" MoveFcn "ax_block('MoveBlockControl',gcb);" FunctionName "ax_sfun" Parameters "hActx, inputprops, outputprops, inblock, update" ", connect, dialOut" MaskType "ActiveX Block" MaskDescription "Displays ActiveX control in model. Use block bo" "rder to move/resize block. Right-click on block to edit properties. This bloc" "k works only on Windows platforms." MaskHelp "web(dnghelp);" MaskPromptString "Program ID:|Connections:|Input property:|Output" " property:|Event on which to output:|Initialization command:|Other events and" " handlers:|Handle location (function returning control handle or block name):" "|Update command:|In-block control|Border|Dial Output Value:|ParentList|Update" "Param" MaskStyleString "edit,popup(input|output|both|neither),edit,edit" ",edit,edit,edit,edit,edit,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,on,on,o" "n,on" MaskCallbackString "ax_block Dirty||||ax_block Dirty|ax_block Dirty" "|ax_block Dirty|ax_block Dirty||ax_block('InBlockCallback');|ax_block('MoveBl" "ockControl');|||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,off,off" MaskVisibilityString "on,on,on,on,on,on,on,off,on,on,on,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,," MaskVariables "progid=&1;connect=@2;input=&3;output=&4;dialOut" "Event=&5;init=&6;eventstr=&7;init_fcn=&8;update=&9;inblock=&10;border=&11;dia" "lOut=@12;parentList=&13;updateParam=@14;" MaskInitialization "str=sprintf('(Initialization\\nFailed');\n[hAct" "x,inputprops,outputprops,inblock,dialOut] = ax_block('ActiveXMaskInit',gcs,gc" "b);\nif isempty( hActx ) | strcmp(inblock,'off')\n str = 'ActiveX';\nelse\n " " str = '';\nend" MaskDisplay "disp(str)" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" MaskValueString "mwslider.sliderctrl.1|output||Value|Slide Chang" "e|hActx.configuration='Slider\\Big Numbers';||||on|on|0||0" MaskRunInitForIconRedraw on } Block { BlockType Reference Name "DOUBLE CLICK \nTO SYNCHRONISE" Ports [2, 1] Position [500, 257, 530, 293] BackgroundColor "orange" SourceBlock "simulink/Signal\nRouting/Manual Switch" SourceType "Manual Switch" sw "1" action "0" } Block { BlockType SubSystem Name "DOUBLE CLICK THIS BLOCK\nFIRST TO FIND AN EXPLA" "NATION\nof THE SIMULATION" Ports [] Position [215, 369, 315, 431] BackgroundColor "cyan" TreatAsAtomicUnit off System { Name "DOUBLE CLICK THIS BLOCK\nFIRST TO FIND AN EXP" "LANATION\nof THE SIMULATION" Location [2, 70, 782, 552] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Annotation { Name "Explanation of How to perform synchronisati" "on of a generator\n\nGenerator is initially open circuited. It is assumed tha" "t the field voltage is already \nswitched on and we are getting 1.0 pu open " "circuit voltage\n\na) First ensure that the speed is near 50 Hz. This can be " "achieved by increasing\nmechanical power slowly to about 0.1 pu. Note that m" "echanical power is required\n even under open circuit conditions to overcome " "frictional torques. \n\nb) Once speed is 50 Hz, you may synchronise (by doubl" "e clicking the switch block) \nat the instant where phase angular diff. betwe" "en open circuit voltage and infinite bus\n voltage is zero.\n\nc) If you do t" "his perfectly, you will find that the phase angle difference and frequency \n" "freeze at 0 degrees and 50 Hz.\n\nd) You will probably find this a bit diffic" "ult to do perfectly, so what you will observe is\nthat the phase angle and sp" "eed oscillate about 0 degrees and 50 Hz. This oscillation \nwill die out (ver" "y gradually) due to frictional torques, so please wait!\n\ne) The machine MAY" " NOT SYNCHRONISE if speed is very far away from 50 Hz, or\nangular difference" " is near 180 degrees at the time of synchronisation\n\nf) If you have synchro" "nised successfuly, you may increase mechanical power \ngradually to 0.5 pu. I" "f you do not do it gradually then there will be a lot of oscillations.\nNote " "that frequency will remain at 50 Hz but phase angle increases indicating that" " \ngenerator is supply to the grid and is also in synchronism with it." Position [111, 241] HorizontalAlignment "left" FontName "Arial" FontSize 16 } } } Block { BlockType Display Name "Display1" Ports [1] Position [690, 40, 780, 70] Decimation "100" } Block { BlockType Constant Name "E" Position [460, 20, 490, 50] } Block { BlockType Constant Name "Eb" Position [465, 70, 495, 100] } Block { BlockType "S-Function" Name "Fine Adjust \nMechanical Power" Ports [0, 1] Position [15, 159, 75, 281] CopyFcn "ax_block CopyFcn" DeleteFcn "ax_block('DeleteBlock',gcb);" UndoDeleteFcn "ax_block('UndeleteBlock',gcb);" LoadFcn "ax_block LoadFcn" ModelCloseFcn "ax_block('ModelClosing', gcb);" PreSaveFcn "ax_block('PreSaveFcn')" PostSaveFcn "ax_block('SaveBlockControl');" OpenFcn "ax_block('OpenFcn',gcbh);" ParentCloseFcn "ax_block('DeleteControl',gcb);" MoveFcn "ax_block('MoveBlockControl',gcb);" FunctionName "ax_sfun" Parameters "hActx, inputprops, outputprops, inblock, update" ", connect, dialOut" MaskType "ActiveX Block" MaskDescription "Displays ActiveX control in model. Use block bo" "rder to move/resize block. Right-click on block to edit properties. This bloc" "k works only on Windows platforms." MaskHelp "web(dnghelp);" MaskPromptString "Program ID:|Connections:|Input property:|Output" " property:|Event on which to output:|Initialization command:|Other events and" " handlers:|Handle location (function returning control handle or block name):" "|Update command:|In-block control|Border|Dial Output Value:|ParentList|Update" "Param" MaskStyleString "edit,popup(input|output|both|neither),edit,edit" ",edit,edit,edit,edit,edit,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,on,on,o" "n,on" MaskCallbackString "ax_block Dirty||||ax_block Dirty|ax_block Dirty" "|ax_block Dirty|ax_block Dirty||ax_block('InBlockCallback');|ax_block('MoveBl" "ockControl');|||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,off,off" MaskVisibilityString "on,on,on,on,on,on,on,off,on,on,on,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,," MaskVariables "progid=&1;connect=@2;input=&3;output=&4;dialOut" "Event=&5;init=&6;eventstr=&7;init_fcn=&8;update=&9;inblock=&10;border=&11;dia" "lOut=@12;parentList=&13;updateParam=@14;" MaskInitialization "str=sprintf('(Initialization\\nFailed');\n[hAct" "x,inputprops,outputprops,inblock,dialOut] = ax_block('ActiveXMaskInit',gcs,gc" "b);\nif isempty( hActx ) | strcmp(inblock,'off')\n str = 'ActiveX';\nelse\n " " str = '';\nend" MaskDisplay "disp(str)" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" MaskValueString "mwslider.sliderctrl.1|output||Value|Slide Chang" "e|hActx.configuration='Slider\\Big Numbers';||||on|on|0.1||0" MaskRunInitForIconRedraw on } Block { BlockType "S-Function" Name "Finer Adjust\nMechanical Power" Ports [0, 1] Position [15, 309, 75, 431] CopyFcn "ax_block CopyFcn" DeleteFcn "ax_block('DeleteBlock',gcb);" UndoDeleteFcn "ax_block('UndeleteBlock',gcb);" LoadFcn "ax_block LoadFcn" ModelCloseFcn "ax_block('ModelClosing', gcb);" PreSaveFcn "ax_block('PreSaveFcn')" PostSaveFcn "ax_block('SaveBlockControl');" OpenFcn "ax_block('OpenFcn',gcbh);" ParentCloseFcn "ax_block('DeleteControl',gcb);" MoveFcn "ax_block('MoveBlockControl',gcb);" FunctionName "ax_sfun" Parameters "hActx, inputprops, outputprops, inblock, update" ", connect, dialOut" MaskType "ActiveX Block" MaskDescription "Displays ActiveX control in model. Use block bo" "rder to move/resize block. Right-click on block to edit properties. This bloc" "k works only on Windows platforms." MaskHelp "web(dnghelp);" MaskPromptString "Program ID:|Connections:|Input property:|Output" " property:|Event on which to output:|Initialization command:|Other events and" " handlers:|Handle location (function returning control handle or block name):" "|Update command:|In-block control|Border|Dial Output Value:|ParentList|Update" "Param" MaskStyleString "edit,popup(input|output|both|neither),edit,edit" ",edit,edit,edit,edit,edit,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,on,on,o" "n,on" MaskCallbackString "ax_block Dirty||||ax_block Dirty|ax_block Dirty" "|ax_block Dirty|ax_block Dirty||ax_block('InBlockCallback');|ax_block('MoveBl" "ockControl');|||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,off,off" MaskVisibilityString "on,on,on,on,on,on,on,off,on,on,on,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,," MaskVariables "progid=&1;connect=@2;input=&3;output=&4;dialOut" "Event=&5;init=&6;eventstr=&7;init_fcn=&8;update=&9;inblock=&10;border=&11;dia" "lOut=@12;parentList=&13;updateParam=@14;" MaskInitialization "str=sprintf('(Initialization\\nFailed');\n[hAct" "x,inputprops,outputprops,inblock,dialOut] = ax_block('ActiveXMaskInit',gcs,gc" "b);\nif isempty( hActx ) | strcmp(inblock,'off')\n str = 'ActiveX';\nelse\n " " str = '';\nend" MaskDisplay "disp(str)" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" MaskValueString "mwslider.sliderctrl.1|output||Value|Slide Chang" "e|hActx.configuration='Slider\\Big Numbers';||||on|on|0.000555555563374066||0" MaskRunInitForIconRedraw on } Block { BlockType SubSystem Name "GENERATOR" Ports [2, 2] Position [255, 84, 370, 226] TreatAsAtomicUnit off System { Name "GENERATOR" Location [100, 171, 565, 439] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "Mech Power" Position [20, 13, 50, 27] } Block { BlockType Inport Name "Electrical \nPower" Position [15, 53, 45, 67] Port "2" } Block { BlockType Gain Name "D\n(mech, damping due to friction/windage)" Position [145, 125, 175, 155] Orientation "left" Gain "0.1/2/pi/50" } Block { BlockType Constant Name "Infinite \nbus\nfrequency" Position [265, 60, 295, 90] Value "2*pi*50" } Block { BlockType Integrator Name "Integrator" Ports [1, 1] Position [195, 25, 225, 55] InitialCondition "2*pi*49" } Block { BlockType Integrator Name "Integrator1" Ports [1, 1] Position [340, 25, 370, 55] } Block { BlockType Sum Name "Sum" Ports [3, 1] Position [80, 30, 100, 50] ShowName off IconShape "round" Inputs "|+--" } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [290, 30, 310, 50] ShowName off IconShape "round" Inputs "|+-" } Block { BlockType Gain Name "wB/2/H" Position [140, 25, 170, 55] Gain "2*pi*50/2/3" } Block { BlockType Outport Name "delta" Position [395, 33, 425, 47] } Block { BlockType Outport Name "speed" Position [410, 160, 440, 180] NamePlacement "alternate" Port "2" } Line { SrcBlock "wB/2/H" SrcPort 1 DstBlock "Integrator" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "wB/2/H" DstPort 1 } Line { SrcBlock "Integrator" SrcPort 1 Points [20, 0] Branch { DstBlock "Sum1" DstPort 1 } Branch { Points [0, 100] Branch { DstBlock "D\n(mech, damping due to friction/winda" "ge)" DstPort 1 } Branch { Points [0, 25; 145, 0] DstBlock "speed" DstPort 1 } } } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Integrator1" DstPort 1 } Line { SrcBlock "Infinite \nbus\nfrequency" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Integrator1" SrcPort 1 DstBlock "delta" DstPort 1 } Line { SrcBlock "Mech Power" SrcPort 1 Points [14, 0] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Electrical \nPower" SrcPort 1 Points [19, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "D\n(mech, damping due to friction/windage)" SrcPort 1 Points [-50, 0] DstBlock "Sum" DstPort 3 } Annotation { Name "w" Position [247, 30] } Annotation { Name "SWING EQUATIONS : Note that there is an add" "itional retarding \npower due to friction windage which is proportional to sp" "eed " Position [236, 234] } Annotation { Name "Infinite bus frequency is assumed to be 50 " "Hz" Position [290, 277] } Annotation { Name "It is assumed that machine is already broug" "ht to a speed of 48 Hz " Position [238, 259] } } } Block { BlockType "S-Function" Name "GENERATOR SPEED (Hz)" Ports [1] Position [665, 171, 775, 279] CopyFcn "ax_block CopyFcn" DeleteFcn "ax_block('DeleteBlock',gcb);" UndoDeleteFcn "ax_block('UndeleteBlock',gcb);" LoadFcn "ax_block LoadFcn" ModelCloseFcn "ax_block('ModelClosing', gcb);" PreSaveFcn "ax_block('PreSaveFcn')" PostSaveFcn "ax_block('SaveBlockControl');" OpenFcn "ax_block('OpenFcn',gcbh);" ParentCloseFcn "ax_block('DeleteControl',gcb);" MoveFcn "ax_block('MoveBlockControl',gcb);" FunctionName "ax_sfun" Parameters "hActx, inputprops, outputprops, inblock, update" ", connect, dialOut" MaskType "ActiveX Block" MaskDescription "Displays ActiveX control in model. Use block bo" "rder to move/resize block. Right-click on block to edit properties. This bloc" "k works only on Windows platforms." MaskHelp "web(dnghelp);" MaskPromptString "Program ID:|Connections:|Input property:|Output" " property:|Event on which to output:|Initialization command:|Other events and" " handlers:|Handle location (function returning control handle or block name):" "|Update command:|In-block control|Border|Dial Output Value:|ParentList|Update" "Param" MaskStyleString "edit,popup(input|output|both|neither),edit,edit" ",edit,edit,edit,edit,edit,checkbox,checkbox,edit,edit,edit" MaskTunableValueString "off,off,off,off,off,off,off,off,off,off,on,on,o" "n,on" MaskCallbackString "ax_block Dirty||||ax_block Dirty|ax_block Dirty" "|ax_block Dirty|ax_block Dirty||ax_block('InBlockCallback');|ax_block('MoveBl" "ockControl');|||" MaskEnableString "on,on,on,on,on,on,on,on,on,on,on,on,off,off" MaskVisibilityString "on,on,on,on,on,on,on,off,on,on,on,off,off,off" MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,,,,,,," MaskVariables "progid=&1;connect=@2;input=&3;output=&4;dialOut" "Event=&5;init=&6;eventstr=&7;init_fcn=&8;update=&9;inblock=&10;border=&11;dia" "lOut=@12;parentList=&13;updateParam=@14;" MaskInitialization "str=sprintf('(Initialization\\nFailed');\n[hAct" "x,inputprops,outputprops,inblock,dialOut] = ax_block('ActiveXMaskInit',gcs,gc" "b);\nif isempty( hActx ) | strcmp(inblock,'off')\n str = 'ActiveX';\nelse\n " " str = '';\nend" MaskDisplay "disp(str)" MaskSelfModifiable on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" MaskValueString "mwagauge.agaugectrl.1|input|NeedleValue|||||||o" "n|on|0||0" MaskRunInitForIconRedraw on } Block { BlockType Display Name "MECH POWER" Ports [1] Position [215, 25, 305, 55] Decimation "1" } Block { BlockType Product Name "Product" Ports [4, 1] Position [550, 9, 580, 211] Inputs "***/" } Block { BlockType Sum Name "Sum" Ports [3, 1] Position [180, 105, 200, 125] ShowName off IconShape "round" Inputs "|+++" } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [465, 120, 495, 150] } Block { BlockType SubSystem Name "Wrap angle from 0 to 360 degrees" Ports [1, 1] Position [395, 374, 495, 436] TreatAsAtomicUnit off System { Name "Wrap angle from 0 to 360 degrees" Location [117, 192, 512, 399] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "In1" Position [15, 73, 45, 87] } Block { BlockType Constant Name "Constant" Position [260, 150, 290, 180] Value "180" } Block { BlockType Constant Name "Constant1" Position [55, 140, 85, 170] Value "pi" } Block { BlockType Gain Name "Gain" Position [245, 85, 275, 115] Gain "180/pi" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [295, 80, 315, 100] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [75, 70, 95, 90] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [125, 95, 155, 125] Operator "cos" } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [2, 1] Position [185, 87, 215, 118] Operator "atan2" } Block { BlockType Trigonometry Name "Trigonometric\nFunction2" Ports [1, 1] Position [130, 25, 160, 55] } Block { BlockType Outport Name "Out1" Position [340, 83, 370, 97] } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Out1" DstPort 1 } Line { SrcBlock "In1" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 Points [0, -50] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Trigonometric\nFunction2" SrcPort 1 Points [5, 0] DstBlock "Trigonometric\nFunction1" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 DstBlock "Trigonometric\nFunction1" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 Points [0, 0; 5, 0] Branch { Points [0, -40] DstBlock "Trigonometric\nFunction2" DstPort 1 } Branch { Points [0, 30] DstBlock "Trigonometric\nFunction" DstPort 1 } } Line { SrcBlock "Constant" SrcPort 1 Points [10, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [0, -5] DstBlock "Gain" DstPort 1 } } } Block { BlockType Constant Name "X_line+x_gen" Position [405, 300, 435, 330] Value "0.65" } Block { BlockType Constant Name "X_open_circuit" Position [405, 235, 435, 265] Value "inf" } Line { SrcBlock "E" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "Eb" SrcPort 1 DstBlock "Product" DstPort 2 } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 DstBlock "Product" DstPort 3 } Line { SrcBlock "Product" SrcPort 1 Points [20, 0] Branch { Points [0, 255; -365, 0] DstBlock "GENERATOR" DstPort 2 } Branch { Points [0, -55] DstBlock "Display1" DstPort 1 } } Line { SrcBlock "DOUBLE CLICK \nTO SYNCHRONISE" SrcPort 1 DstBlock "Product" DstPort 4 } Line { SrcBlock "X_open_circuit" SrcPort 1 Points [40, 0; 0, 15] DstBlock "DOUBLE CLICK \nTO SYNCHRONISE" DstPort 1 } Line { SrcBlock "X_line+x_gen" SrcPort 1 Points [15, 0; 0, -30] DstBlock "DOUBLE CLICK \nTO SYNCHRONISE" DstPort 2 } Line { SrcBlock "GENERATOR" SrcPort 2 Points [0, 35] DstBlock "1/2/pi" DstPort 1 } Line { SrcBlock "GENERATOR" SrcPort 1 Points [0, 20; 5, 0] Branch { Points [70, 0] DstBlock "Trigonometric\nFunction" DstPort 1 } Branch { DstBlock "Wrap angle from 0 to 360 degrees" DstPort 1 } } Line { SrcBlock "Wrap angle from 0 to 360 degrees" SrcPort 1 Points [0, -20; 130, 0] DstBlock "Angular Difference between\ngenerator internal " "voltage and infinite bus" DstPort 1 } Line { SrcBlock "1/2/pi" SrcPort 1 DstBlock "GENERATOR SPEED (Hz)" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 Points [10, 0] Branch { Points [25, 0] DstBlock "GENERATOR" DstPort 1 } Branch { Points [0, -20; -15, 0] DstBlock "MECH POWER" DstPort 1 } } Line { SrcBlock "Coarse Adjust\nMechanical Power" SrcPort 1 Points [65, 0; 0, 28] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Fine Adjust \nMechanical Power" SrcPort 1 Points [89, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Finer Adjust\nMechanical Power" SrcPort 1 Points [110, 0] DstBlock "Sum" DstPort 3 } Annotation { Name "Elec \nPower" Position [601, 86] } } }