12
Table of Contents Overview ..................................................................1 Programming the X-STREAM XE PLC.................... 2 Input Signals Pool (Read Only)............................... 3 Input Signals Pool (programmable)......................... 4 Control Module Functions........................................ 4 Analyzer Module Functions..................................... 5 Output Signals Pool (programmable)...................... 6 Action....................................................................... 7 Analyzer Module Functions..................................... 8 Example of a Converted MLT PLC Program................................................................... 9 Timer Setup ........................................................11 Program Code Conversion .................................11 Technical Guide 51A-HAXXEE-MXPGC July 2010 Converting Existing MLT Programs to X-STREAM XE PLC Format Overview Emerson's MLT process gas analyzer includes an in- ternal programmable logic controller (PLC) capability that much of the MLT installed base uses in the op- eration of their MLT analyzers. A significant amount of work, time, and knowledge can be invested into the programming of MLT PLCs. Converting the exist- ing MLT PLC programs into the X-STREAM PLC language is simple, and allows users to take advan- tage of the power and usability of the X-STREAM XE without losing their significant investment in time and engineering of MLT PLC programming. The X-STREAM XE PLC is part of an optional soft- ware package offered with the X-STREAM process gas analyzer. An unlock code is required with the purchase of the X-STREAM process gas analyzer, and must be purchased separately. The unlock code will be entered into the X-STREAM XE's purchased separately and entered into the related section of ei- ther the analyzer's LOI or the web-browser interface. For more information: www.EmersonProcess.com/RAIhome http://twitter.com/RAIhome Follow our blog at http://www.analyticexpert.com X-STREAM XE

Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Table of ContentsOverview..................................................................1ProgrammingtheX-STREAMXEPLC....................2InputSignalsPool(ReadOnly)...............................3InputSignalsPool(programmable).........................4ControlModuleFunctions........................................4AnalyzerModuleFunctions.....................................5OutputSignalsPool(programmable)......................6Action.......................................................................7AnalyzerModuleFunctions.....................................8ExampleofaConvertedMLTPLCProgram...................................................................9TimerSetup........................................................11ProgramCodeConversion.................................11

Technical Guide51A-HAXXEE-MXPGCJuly2010

Converting Existing MLT Programs to X-STREAM XE PLC Format

OverviewEmerson'sMLTprocessgasanalyzerincludesanin-ternalprogrammablelogiccontroller(PLC)capabilitythatmuchoftheMLTinstalledbaseusesintheop-erationoftheirMLTanalyzers.Asignificantamountofwork,time,andknowledgecanbeinvestedintotheprogrammingofMLTPLCs.Convertingtheexist-ingMLTPLCprogramsintotheX-STREAMPLClanguageissimple,andallowsuserstotakeadvan-tageofthepowerandusabilityoftheX-STREAMXEwithoutlosingtheirsignificantinvestmentintimeandengineeringofMLTPLCprogramming.

TheX-STREAMXEPLCispartofanoptionalsoft-warepackageofferedwiththeX-STREAMprocessgasanalyzer.AnunlockcodeisrequiredwiththepurchaseoftheX-STREAMprocessgasanalyzer,andmustbepurchasedseparately.TheunlockcodewillbeenteredintotheX-STREAMXE'spurchasedseparatelyandenteredintotherelatedsectionofei-thertheanalyzer'sLOIortheweb-browserinterface.

For more information:www.EmersonProcess.com/RAIhomehttp://twitter.com/RAIhome Follow our blog at http://www.analyticexpert.com

X-STREAMXE

Page 2: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGC

July2010X-STREAMXE

Page2

X-STREAMXEPLCprovides:• Upto22digitalrelayoutputs• Upto14digitalinputs• SupportforinternalSHS• 8timers• Morethan100digitaloutputfunctions• Morethan35actions• 9operators• 10resultsregisters

Programming the X-STREAM XE PLCX-STREAMXEPLCprogramsaretobeeditedassimpletextfilesonaseparatecomputer,andthenuploadedintotheanalyzerviatheUSBportorwebbrowser.Thismakesiteasiertosetup,update,andextendaprogram,ortocorrectfailures.

Alsothelanguageisnowmorecomfortable,asitiscomparabletoothersoftwarelanguages:termsareeasytoreadandunderstand,withtheabilitytoaddcommentsandensurethattheprogramcanberead,evenifyearshavepassedsincethelastmodifica-tion.

MLT X-STREAM XE-1 nooperation(placeholder) -- n.a.-2 ORcombinetheinputsignalswithfollowingID;

storetoIROR LogicalORofregisterand<readoperands>

-3 ANDcombinetheinputsignalswithfollowingID;storetoIR

AND LogicalANDofregisterand<readoperands>

-4 inverttheIR NEG Negateregister-5 set/cleartheoutputsignalwiththefollowingIDac-

cordingIR

STO Storeregisterto<writeoperands>

-6 cleartheIR CLR SetregistertoFALSE-7 endofprogram END Endofprogram-8 settheIR SET SetregistertoTRUE-9 loadIRaccordinginputsignalwithfollowingID; LOAD loadregisterwithstateof<readoperands>-10 ifIR=True

thenIR=inputsignalwith1stfollowingIDelseIR=inputsignalwith2ndfollowingID

IF ifregister=TRUEthenloadregisterwithstateoffirst<readoper-and>elseloadregisterwithstateofsecond<readoperand>

-11 actionscallaccordingIRbyusingfollowingIDofactionspool

CALL ifregister=TRUEthencall<calloperand>

Structure of a Valid X-STREAM XE PLC Text FileThesyntaxstructuretobeusedis• linesstartingwith#arecommentlines• commandlinesstartwithavalidcommand(see

overview)• commandlinesmustendwitha“;”• commentsmaybeaddedtocommandlines

afterthe“;”

X-STREAMXEtimersaresetupinthefirstsectionofthetextfile,followedbyallothersections,whileMLTtimersaresetupinLOIsoftwaremenus.

Converting MLT PLC to X-STREAM PLCInthefollowingsections,youwillfindtheMLTCodeinthe1stcolumn,followedbyanexplanationinthe2nd.The3rd&4thcolumnsshowtherelatedX-STREAMXEsyntaxandagainexplanatorydescrip-tions.

ToconvertanexistingMLTprogram,simplylocatetherelatedcodewithintheleftcolumnsoftheseta-blesandwritedownthecodeoftheassociatedrightcolumn.Anexamplelaterinthisdocument(page11)indetailshowshowthisisdone.

Page 3: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGCJuly2010 X-STREAMXE

Page3

MLT X-STREAM XE1 PLCResult1 R1 PLCResult12 PLCResult2 R2 PLCResult23 PLCResult3 R3 PLCResult3.. ..10 PLCResult10 R10 PLCResult1011 PLCResult11 -- n.a... ..15 PLCResult15 -- n.a.16 PLCMemory1 M1 PLCMemory117 PLCMemory2 M2 PLCMemory2.. ..30 PLCMemory15 M15 PLCMemory1531 PLCTimer1Out T1 PLCTimer1Out32 PLCTimer2Out T2 PLCTimer2Out.. ..38 PLCTimer8Out T8 PLCTimer8Out39 Reserved --40 Reserved --41 System-DIO-Board1Input1 DI1 DigitalI/OBoard1,Input142 System-DIO-Board1Input2 DI2 DigitalI/OBoard1,Input2.. ..47 System-DIO-Board1Input7 DI7 DigitalI/OBoard1,Input748 System-DIO-Board1Input8 -- n.a.49 System-DIO-Board2Input1 DI8 DigitalI/OBoard2,Input150 System-DIO-Board2Input2 DI9 DigitalI/OBoard2,Input2.. ..55 System-DIO-Board2Input7 DI14 DigitalI/OBoard2,Input756 System-DIO-Board2Input8 -- n.a.57 System-Pump1 PU1 Pump1State58 Systemp-Pump2 PU2 Pump2State.. ..62 Reserved -- n.a.63 On-Signal TRU LogicalTRUEOperand64 Off-Signal FALSE LogicalFALSEOperand

Input Signals Pool (Read Only)

Page 4: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGC

July2010X-STREAMXE

MLT X-STREAM XE

freelyassignabletoanycodefrom65to128

AnyFunctionControl S07 AnyFunctionCheckAnyMaintenanceRequest S06 AnyMaintenanceRequestAnyFailure S04 AnyFailureAnyCal.inProgress S08 AnyCalibratingAnyZeroinProgress S09 AnyZeroingAnySpaninProgress S10 AnySpanningAnyZeroFailed S11 AnyZeroFailedAnySpanFailed S12 AnySpanFailedAnyRangeLow S13 AnyRangeLowAnyRangeHigh S14 AnyRangeHighAnyFlowLow

S19 AnyFlowAlarmAnyFlowHighAnyConc.Low-Low

S15 AnyConcentrationAlarmAnyConc.LowAnyConc.HighAnyConc.High-HighSYS:Valve-1 S21 ValveV1.. .. ..SYS:Valve-20 S40 ValveV20SYS:Valve-21 -- n.a... ..SYS:Valve-32 -- n.a.Ext.Switch-1 S43 ExtAlarm1Ext.Switch-2 S44 ExtAlarm2.. ..Ext.Switch-8 S50 ExtAlarm8SystemPump1 S41 Pump1

SystemPump2 S42 Pump2PLC-Result1 S51 PLCResult1PLC-Result2 S52 PLCResult2.. ..PLC-Result10 S60 PLCResult10PLC-Result11 -- n.a... ..PLC-Result15 -- n.a.

Input Signals Pool (programmable)MLTPLCwithcommandcodes65...128supportsvariable,programmablecommands,aslistedinthefollowingtables.

Control Module Functions

X-STREAMXEPLCdoesnotsupportsuchvariableassigment,soprovidesfixedcodesforcomparablefunctions.

Page4

Page 5: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGCJuly2010 X-STREAMXE

MLT X-STREAM XE

freelyassignabletoanycodefrom65to128

Functioncontrol Sx07 FunctionCheckMaintenancerequest Sx06 MaintenanceRequestFailure Sx04 FailureCal.inprogress Sx08 CalibratingZeroinprogress Sx09 ZeroingZerofailed Sx10 SpanningSpanfailed Sx11 ZeroFailedRangeLow Sx12 SpanFailedRangeHigh Sx13 RangeUnderflowFlowLow Sx14 RangeOverflowFlowHigh Sx36 FlowLoConc.Low-Low Sx19 Conc.LoLoConc.Low Sx20 Conc.LoConc.High Sx21 Conc.HiConc.High-High Sx22 Conc.HiHiRange1 Sx15 Range1Range2 Sx16 Range2Range3 Sx17 Range3Range4 Sx18 Range4Samplegas -- n.a.Zerogas -- n.a.Spangas -- n.a.Spangas-1 -- n.a.Spangas-2 -- n.a.Spangas-3 -- n.a.Spangas-4 -- n.a.Purgegas -- n.a.

Testgas -- n.a.Linearizergas -- n.a.AverageLow-Low Sx23 AverageLoLoAverageLow Sx24 AverageLoAverageHigh Sx25 AverageHiAverageHigh-High Sx26 AverageHiHiFlowLow-Low Sx35 FlowLoLoFlowLow Sx36 FlowLoFlowHigh Sx37 FlowHiFlowHigh-High Sx38 FlowHiHiTemp.Low-Low Sx27 TemperatureLoLoTemp.Low Sx28 TemperatureLoTemp.High Sx29 TemperatureHiTemp.High-High Sx30 TemperatureHiHi

Analyzer Module FunctionsForX-STREAM,thecodesforthesefunctionsarechannelspecific,soreplacethe'x'withinthecom-

mandcodebythenumberofthechannelofinterest,e.g.S107givesthefunction

Page 6: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGC

July2010X-STREAMXE

MLT X-STREAM XE1 PLCResult1 R1 PLCResult12 PLCResult2 R2 PLCResult23 PLCResult3 R3 PLCResult3.. ..10 PLC-Result10 R10 PLCResult1011 PLC-Result11 -- n.a... ..15 PLCResult15 -- n.a.16 Memory1 M1 Memory117 Memory2 M2 Memory2.. ..29 Memory14 M14 Memory1430 Memory15 M15 Memory1531 Timer1Input1 T1I1 Timer1Input1

32 Timer2Input1 T2I1 Timer2Input133 Timer3Input1 T3I1 Timer3Input134 Timer4Input1 T4I1 Timer4Input135 Timer5Input1 T5I1 Timer5Input136 Timer6Input1 T6I1 Timer6Input137 Timer7Input1 T7I1 Timer7Input138 Timer8Input1 T8I1 Timer8Input139 Reserved -- n.a.40 Reserved -- n.a.41 Timer1Input2 T1I2 Timer1Input242 Timer2Input2 T2I2 Timer2Input243 Timer3Input2 T3I2 Timer3Input244 Timer4Input2 T4I2 Timer4Input245 Timer5Input2 T5I2 Timer5Input246 Timer6Input2 T6I2 Timer6Input247 Timer7Input2 T7I2 Timer7Input248 Timer8Input2 T8I2 Timer8Input249 Reserved -- n.a... ..56 Reserved -- n.a.57 System-Pump1 A14 Pump1 DifferingfromtheMLT,theXErequires

aCALLfunctionforthesesignals.58 System-Pump2 A15 Pump259 Reserved -- n.a... ..70 Reserved -- n.a.

Output Signals Pool (programmable)

Page6

Page 7: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGCJuly2010 X-STREAMXE

MLT X-STREAM XE

noseparatecode

SYS:Zero-Cal A02 ZeroAllSYS:Zero/Span-Cal A04 Zero&SpanallSYS:Program-Cal A06 ProgramSequenceSYS:Cancel-Cal A05 CancelAllSYS:CAL-Test-Mode A08 CalCheckModExternalfunctioncontrol A13 FctCheckAM:HoldOutputs -- n.a.Externalfailure A10 FailureExternalmaintenance A12 MaintRequ

ActionControl Module Actions

Page7

Page 8: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGC

July2010X-STREAMXE

MLT X-STREAM XE

noseparatecode

AK-Error#8 -- n.a.AM:Range-1 Ax06 Range1AM:Range-2 Ax07 Range2AM:Range-3 Ax08 Range3AM:Range-4 Ax09 Range4AM:Span-Cal Ax03 SpanCalibrationAM:Zero-Cal Ax02 ZeroCalibrationAllZero+SpanCal -- n.a.Allpurgegas -- n.a.Allsamplegas -- n.a.Allspangas -- n.a.Allzerogas -- n.a.ExtStatus1 -- n.a... ..ExtStatus5 -- n.a.

FunctionControl Ax13 FctCheckHoldAnalogOutput -- n.a.ResetMaxMeas -- n.a.ResetMinMeas -- n.a.SYS:AM-Span-Gas1 Ax16SYS:AM-Span-Gas2 Ax17SYS:AM-Span-Gas3 Ax18SYS:AM-Span-Gas4 Ax19SYS:AM-Zero-Gas Ax15SYS:AM-closed-valves Ax20SYS-Blowback Ax21Spangas-1 -- n.a.Spangas-2 -- n.a.Spangas-3 -- n.a.Spangas-4 -- n.a.

Analyzer Module FunctionsForX-STREAMthecodesforthesefunctionsarechannelspecific,soreplacethe'x'withinthecom-

mandcodebythenumberofthechannelofinterest,e.g.S107givesthefunctioncheckstatusforchannel1

Page8

Page 9: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGCJuly2010 X-STREAMXE

Example of a Converted MLT PLC Program

Brief description of the application:Threesamplegaslinesaresequentiallyconnectedtoagasanalyzerssamplegasinlet,whilethesamplegasvalveoftheanalyzer'sinternalvalveblockisopen.

(Foramoredetailleddescription,andhowtofindtherightlogicdiagrams,seeTechnicalGuide51A-HASXEE-PPG)

Preparation:Theprogramisestablishedonthefollowingspecifi-cations(seeFigure1):

MLTSamplegasvalve=V1:Input-ID65=ControlModule:Sys.-Valve1

X-STREAM XEInternalsamplegasvalve=V3(factorydefaultset-ting)BothPLCResult1=Stream1valvecontrolsignalPLCResult2=Stream2valvecontrolsignalPLCResult3=Stream3valvecontrolsignalStreamswitchingisactivewhilethesamplevalveisopenTwotimersareusedtocontroltheprocedure:Firsttimerisoftype'RepeatedPulse",Secondtimerisoftype'Off-Delay"

Durationis60sPeriodis180s(3x60s)

Samplegasvalveandtimersignalsareconnectedasshown(Figure3):

Thesearethelogicdiagramsforthethreestreams(Figure4):

Figure1

Figure2

Figure3

Figure4Page9

Page 10: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGC

July2010X-STREAMXE

Timer SetupMLTrequirestosetuptimersinseparatesoftwaremenus,butnotinthePLCprogram.Enter

SYSTEMCONFIGURATIONANDDIAGNOSTICS...SYSTEMPROGRAMMABLELOGICCONTROL(PLC)...TIMERS..

tosetupthetimers:

X-STREAMPLCtimersareconfiguredwithinthePLCprogram:

Page10

Page 11: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Technical Guide51A-HAXXEE-MXPGCJuly2010 X-STREAMXE

MLT X-STREAM XE-9 LOAD Load S23; LoadthestateofvalveV3intoregister

65 Control-ModuleSYS:Valve-1(=Input-Signal65)-5 STOREto STO T1I1; AssigntheregisterstateasInput(trigger)for

Timer131 Timer1-Input1(=Output-Signal31)-9 LOAD LOAD T1; LoadthestateofTimer1outputintoregister31 Timer1-Input1(=Output-Signal31)-5 STOREto STO T2I1; AssigntheregisterstateasInput(trigger)for

Timer232 Timer2-Input1(=Output-Signal32)-1 placeholder -- placeholdersnotrequired-1 placeholder -- placeholdersnotrequired-9 LOAD Load S23; LoadthestateofvalveV3intoregister65 Control-ModuleSYS:Valve-1(=Input-Signal65)-3 AND AND T1,

T2;ANDconjuctitwithbothTimersoutputs

31 Timer1-Output

32 Timer2-Output-5 STOREto STO R1; StoretheANDgateoutputintoPLCResult1

register(=>Stream1)1 PLC-Result1(=Output-Signal1)=>Stream1-1 placeholder -- placeholdersnotrequired-1 placeholder -- placeholdersnotrequired-9 LOAD LOAD T1; LoadthestateofTimer1outpoutintotheregister31 Timer1-Output-4 INVERT NEG; Negateregister-3 AND AND S23,

T2; ANDconjunctitwithvalveV3stateandTimer2output65 Control-ModuleSYS:Valve-1

32 Timer2-Output-5 STOREto STO R2; StoretheANDgateoutputintothePLCResult2

register(=>Stream2)2 PLC-Result2(=Output-Signal2)=>Stream2-1 placeholder -- placeholdersnotrequired-1 placeholder -- placeholdersnotrequired-9 LOAD LOAD T1; LoadthestateofTimer1outpoutintoregister31 Timer1-Output-2 OR OR T2; ORconjunctTimer2outputwithregister32 Timer2-Output-4 INVERT(build:notTimer1-Outputandnot

Timer2-Output)NEG; Negateregister

-3 AND AND S23; ANDconjunctthestateofvalveV3withregister65 Control-ModuleSYS:Valve-1-5 STOREto STO R3; StoretheANDgateoutputintoPLCResult3

register(=>Stream3)-7 Endofprogram END; Endofprogram

Program Code ConversionThefollowingtable'sfirsttwocolumnsshowtheMLTPLCprogramcode,whilethe3rdand4thcolumnsshowhowthisisdonewithX-STREAMXEcode.

Page11

Page 12: Converting Existing MLT Programs to X-STREAM XE PLC Format · 2019-01-17 · PLC-Result 10 S60 PLC Result10 PLC-Result 11 -- n.a... .. PLC-Result 15 -- n.a. Input Signals Pool (programmable)

Rosemount Analytical Process Gas Analyzer Center of Excellence Emerson Process ManagementGmbH & Co. OHGIndustriestrasse 163594 HasselrothGermanyT 49 6055 884 0F 49 6055 884 209

Rosemount Analytical Inc.Gas Analyzer Service Center6565P Davis Industrial ParkwaySolon, OH 44139 USAT 440.914.1261Toll Free in US and Canada 800.433.6076F 440.914.1262e-mail: [email protected] Response Center 800.654.7768

LATIN AMERICA

Emerson Process Management Rosemount Analytical11100 Brittmoore Park RoadHouston, TX 77041 USAT 713.467.6000F 713.827.3328

EUROPE

Emerson Process ManagementShared Services LimitedHeath PlaceBognor RegisWest Sussex PO22 9SHEnglandT 44 1243 863121F 44 1243 845354

ASIA-PACIFIC

Emerson Process ManagementAsia Pacific Private Limited1 Pandan CrescentSingapore 128461Republic of SingaporeT 65 6 777 8211F 65 6 777 0947e-mail: [email protected]

MIDDLE EAST AND AFRICA

Emerson Process ManagementEPM BuildingP.O. Box 17033Jebel Ali Free ZoneDubai, United Arab EmiratesT 971 4 8835235F 971 4 8835312

The contents of this publication are presented for informational purposes only, and while every effort has been made to ensure their accuracy, they are not to be construed as warranties or guarantees, express or implied, regarding the products or services described herein or their use or applicability. All sales are governed by our terms and conditions, which are available on request. We reserve the right to modify or improve the designs or specifications of our products at any time without notice.

For more information:www.EmersonProcess.com/RAIhomehttp://twitter.com/RAIhome Follow our blog at http://www.analyticexpert.com