RSLogix 5000 Programmers Guide For Integrated Condition Monitoring Data .

Transcription

RSLogix 5000Programmer’s Guide forIntegrated Condition MonitoringData CollectionPurpose and ScopeThis guide is intended for the programmer or software engineer responsible for programming theLogix family of controllers (Programmable Automation Controllers - PACs) to get data from anysupported I/O device. This guide contains an explanation of some of the settings needed to movedata from a Logix controller into Emonitor. This guide uses the Allen-Bradley XM-120 DynamicVibration Module as the example; however a PAC can accept condition monitoring data from othersources as well.This guide does not cover using any of the software or other hardware components of an Emonitorsystem. For information on using an Emonitor program, refer to the online help for that program.

2 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesIntroductionThe new Logix family of controllers provides a way to retrieve data from XM modules usingprogrammable automation controllers (PACs). The PAC reads data from the XM module, and makesthat data available to RSLinx Classic (which functions as an OPC server). The Emonitor softwareimports the data from RSLinx Classic into the Emonitor database, where it can be analyzed inEmonitor.This guide is divided into several sections. The first section defines the UDTs required to get datafrom an XM module using a PAC. The remaining sections describe the handshaking routine to protectdata integrity, the sample project file, and the details of reading data from XM modules.Terms used in this guideEmonitor Program: Refers to the software programs in the Emonitor family, such as those in theEmonitor Workstation, Emonitor Factory, and Emonitor Enterprise. Emonitor includes a database forstoring condition monitoring data and powerful tools for alarming, reporting, and data analysis.PAC: A programmable automation controller; specifically one of the Logix family of controllers.UDT: User defined data type; a data structure that lets you create customized memory records thatconsolidate multiple fields (members) of data into a single contiguous group with a hierarchical layout.ICM: Integrated Condition Monitoring, which includes capturing, analyzing and effectively usingmachine condition information to reduce maintenance costs and increase uptime and productivity.Emonitor Online Data Management Console: An Emonitor software component that starts andstops data acquisition through the XM/DYN Online Data and Logix Online Data data sources.Logix Online Data data source: An Emonitor software component that gets data from a Logix PAC.

3 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesSample project fileThere is a sample project file that shows how the information in this guide can be used in an RSLogix5000 project. The project is located on the Emonitor version 3.50 software installation disk:\extras\RSLogix Application\ICM DATA APP.ACDRSLogix 5000 programming manualsFor more information on the topics covered in this guide, refer to the RSLogix 5000 Programmingmanuals, found on the Rockwell Literature Library, ication TitlePublication NumberLogix5000 Controllers Add-on Instructions Programming Manual1756-PM010C-EN-PLogix5000 Controllers ASCII Strings Programming Manual1756-PM013B-EN-PLogix5000 Controllers Common Procedures Programming Manual1756-PM001M-EN-ELogix5000 Controllers Controller Information and Status ProgrammingManual1756-PM015C-EN-PLogix5000 Controllers Function Block Diagram Programming Manual1756-PM009C-EN-PLogix5000 Controllers I/O and Tag Data Programming Manual1756-PM004C-EN-PLogix5000 Controllers IEC 61131-3 Compliance Programming Manual1756-PM018B-EN-PLogix5000 Controllers Ladder Diagram Programming Manual1756-PM008C-EN-PLogix5000 Controllers Major, Minor, and I/O Faults Programming Manual1756-PM014D-EN-PLogix5000 Controllers Messages Programming Manual1756-PM012C-EN-PLogix5000 Controllers Nonvolatile Memory Programming Manual1756-PM017D-EN-PLogix5000 Controllers Produced and Consumed Tags Programming Manual1756-PM011C-EN-P

4 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesOverview of ICM data types in RSLogix 5000In the integrated condition monitoring world, each piece of data that is collected contains numerouselements. Some of the elements are time stamps, data units, signal detection, actual values andmore. To ensure data integrity, each element of the data must be read before any updates in thecontroller.ICM data typesBased on the data structure and the need for data integrity, it is necessary to create user defined datatypes to hold the different types of data. There are seven different data types that are used inintegrated condition monitoring.Data TypeDescriptionUDTValuesThis data is normal single value data that can benumeric, magnitude, or enumerated (Emonitordata types)ICM Data ValueVectorsThis data is considered single value data thatcontains a magnitude and phase. It can only be oftype magnitude (Emonitor data type).ICM Data VectorSpectrum –NormalizedThis data is considered multi-value data and itcontains the spectrum data in a normalized form.The normalized form indicates that there is a denormalizing factor and a set of normalized integervalues.ICM Data Spectrum NormalizedSpectrum –ActualThis data is considered multi-value data and itcontains the spectrum data in a de-normalizedform. Instead of a de-normalizing factor and a setof normalized integers, there is a set of realvalues.ICM Data Spectrum ActualTimeWaveforms –NormalizedThis data is considered multi-value data and itcontains the time waveform data in a normalizedform. The normalized form indicates that there is ade-normalizing factor and a set of normalizedinteger values.ICM Data TimeWaveform NormalizedTimeWaveforms ActualThis data is considered multi-value data and itcontains the time waveform data in a denormalized form. Instead of a de-normalizingfactor and a set of normalized integers, there is aset of real values.ICM Data TimeWaveform ActualDate and TimeStampThis data consists of the date and time informationin UTC time. It is used in each of the data typeslisted in this table as a nested UDTICM WallClockType

5 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesThe names of the user defined types must match the information in the table above. If you need todefine multiple UDTs for each data type, a suffix can be attached to the names. Multiple UDTs wouldbe required if you want different sizes of arrays for more efficient memory allocation.Also there must be two user defined string types created:DataTypeDescriptionString 16This string is a 16 character string. In the ICM data UDT elements, this is used as the data typefor the units. Emonitor can have unit names of up to 16 characters.String 32This string is a 32 character string. In the ICM data UDT elements, this is used as the data typefor the Item Name. Emonitor can have item names of up to 32 characters.ICM Data Value UDTThe ICM Data Value user defined type consists of the following elements:NameNumberOfDataValuesItemNameData TypeDINTString 32[ xx ]StyleDecimalUnitsDataValueTypeString 16[ xx ]SINT[ xx ]Controller UTC DateTimeICM WallClockTimeDevice UTC DateTimeICM WallClockTimeRTROTRSignalDetectionBOOLBOOLSINT[ xx ]DecimalDecimalDecimalDataValuesREAL[ xx ]FloatDecimalDescriptionNUMBER OF VALUES PRESENT IN DATA ARRAYEMONITOR DATA TAG NAME FOR THIS DATAITEMDATA VALUE UNITS0 NONE, 1 MAGNITUDE, 2 NUMERIC,3 ENUMERATED.CONTROLLER’S DATE/TIME IN UTC AT THE TIMEOF DATA COLLECTIONDEVICE’S DATE/TIME IN UTC AT THE TIME OFDATA COLLECTIONREQUEST TO READ HANDSHAKE BITOK TO READ HANDSHAKE BIT0 NONE, 1 RMS, 2 CALCULATED PK,3 CALCULATED PK-PK, 4 TRUE PK, 5 TRUE PKPKDATA ITEM VALUEExternal /WriteA deviation to this UDT can be the following as indicated by the bold text in the Data Type column ofthe last row. This replaces the REAL array with DINT array.DataValuesDINT[ xx ]FloatDATA ITEM VALUERead/WriteIn the table above the “[ xx ]” will be replaced with the actual array size. Array sizes in Logix are static,meaning that memory is allocated, whether it is actually used or not.

6 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesICM Data Vector UDTThe ICM Data Vector user defined type consists of the following elements:NameData itudeUnitsString 32[ xx ]String 16[ xx ]PhaseUnitsDataValueTypeBOOL[32]SINT[ xx ]Controller UTC DateTimeICM WallClockTimeDevice UTC DateTimeRTROTRICM MagnitudeValuesPhaseValuesSINT[ xx ]REAL[ xx ]REAL[ xx ]DecimalFloatFloatDecimalDecimalDescriptionNUMBER OF DATA VALUES PRESENT IN DATAARRAYEMONITOR DATA TAG NAME FOR THIS DATAITEMDATA VALUE MAGNITUDE UNITSDATA VALUE PHASE UNITS (0 DEGREES, 1 RADIANS) FOR DATA ALIGN ON RSLOGIX5000,BOOL ARRAY SIZE MAY BE GREATER THANNUMBEROFDATAVALUES. (IFNUMBEROFDATAVALUES IS 50, BOOL ARRAYSIZE MUST BE 64 ON RSLOGIX5000.)ONLY CAN BE 1 MAGNITUDECONTROLLER’S DATE/TIME IN UTC AT THE TIMEOF DATA COLLECTIONDEVICE’S DATE/TIME IN UTC AT THE TIME OFDATA COLLECTIONREQUEST TO READ HANDSHAKE BITOK TO READ HANDSHAKE BIT0 NONE, 1 RMS, 2 CALCULATED PK,3 CALCULATED PK-PK, 4 TRUE PK, 5 TRUE PKPKMAGNITUDE DATA VALUESPHASE DATA VALUESExternal /WriteRead/WriteRead/WriteIn the table above the “[ xx ]” will be replaced with the actual array size. Array sizes in Logix are static,meaning that memory is allocated, whether it is actually used or not.

7 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesICM Data Spectrum NormalizedThe ICM Data Spectrum Normalized user defined type consists of the following elements:NameItemNameData TypeString 32StyleAmplitudeUnitsController UTC DateTimeString 16ICM WallClockTimeDevice UTC DateTimeICM ersionFactorDataValuesREALDINTINT[ xxxx ]FloatDecimalDecimalDescriptionEMONITOR DATA TAG NAME FOR THISSPECTRUMSPECTRUM AMPLITUDE UNITSCONTROLLER’S DATE/TIME IN UTC AT THE TIMEOF SPECTRUM COLLECTIONDEVICE’S DATE/TIME IN UTC AT THE TIME OFSPECTRUM COLLECTIONREQUEST TO READ HANDSHAKE BITOK TO READ HANDSHAKE BITSPEED FEEDBACK UNITS (0 HZ, 1 CPM)FREQUENCY UNITS AS HERTZ OR ORDERS(1 ORDERS, 0 HZ)CPB OR NONE (1 CPB, 0 NONE)NORMALIZED SPECTRUM DATA FORMAT(1 POWER, 0 NONE)NORMALIZED SPECTRUM DATA(1 COMPLEX,0 REAL/POWER)0 NONE, 1 RMS, 2 CALCULATED PK,3 CALCULATED PK-PK,4 TRUE PK, 5 TRUE PKPKWINDOWTYPE: (1 RECTANGULAR,2 HANNING, 3 FLAT TOP, 4 HAMMING,5 KAISER-BESSEL, 6 COS).WINDOW LINE TYPE FACTORAVERAGETYPEENUMERATION: (0 USED IN XMONLINE DATA, 1 LINEAR, 2 TIMESYNCHRONOUS, 3 EXPONENTIAL, 4 PEAKHOLD).SPEED FEEDBACK AT TIME OF SPECTRUMCOLLECTIONNUMBER OF SPECTRUM LINESMAXIMUM FREQUENCY OR ORDERS OFSPECTRUM DATA.MINIMUM FREQUENCY OR ORDERS OFSPECTRUM DATAAMPLITUDE NORMALIZATION REFERENCEAMPLITUDE CONVERSION FACTORNORMALIZED SPECTRUM DATA, IFCOMPLEXFLAG IS 1, ARRAYSIZE 2 *NUMBEROFLINES, IF COMPLEXFLAG IS 0,ARRAYSIZE NUMBEROFLINES.External /WriteRead/WriteRead/WriteIn the table above the “[ xxxx ]” will be replaced with the actual array size that will hold either thequantity of lines or two times the number of lines. Array sizes in Logix are static, meaning thatmemory is allocated, whether it is actually used or not.

8 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesICM Data Spectrum ActualThe ICM Data Spectrum Actual user defined type consists of the following elements:NameData TypeStyleItemNameAmplitudeUnitsString 32String 16Controller UTC DateTimeICM WallClockTimeDevice UTC DateTimeRTROTRSpeedUnitsICM tDataValuesREAL[ xxxx ]DecimalDescriptionEMONITOR DATA TAG NAME FOR THISSPECTRUMSPECTRUM AMPLITUDE UNITSCONTROLLER’S DATE/TIME IN UTC AT THE TIMEOF SPECTRUM COLLECTIONDEVICE’S DATE/TIME IN UTC AT THE TIME OFSPECTRUM COLLECTIONREQUEST TO READ HANDSHAKE BITOK TO READ HANDSHAKE BITSPEED FEEDBACK UNITS (0 HZ, 1 CPM)FREQUENCY UNITS AS HERTZ OR ORDERS(1 ORDERS, 0 HZ)CPB OR NONE (1 CPB, 0 NONE)ACTUAL SPECTRUM DATA FORMAT (1 POWER,0 NONE)ACTUAL SPECTRUM DATA(1 COMPLEX,0 REAL/POWER)0 NONE, 1 RMS, 2 CALCULATED PK,3 CALCULATED PK-PK,4 TRUE PK, 5 TRUE PKPKWINDOWTYPE: (1 RECTANGULAR,2 HANNING, 3 FLAT TOP, 4 HAMMING,5 KAISER-BESSEL, 6 COS).WINDOW LINE TYPE FACTORAVERAGETYPEENUMERATION: (0 USED IN XMONLINE DATA, 1 LINEAR, 2 TIMESYNCHRONOUS, 3 EXPONENTIAL, 4 PEAKHOLD).SPEED FEEDBACK AT TIME OF SPECTRUMCOLLECTIONNUMBER OF SPECTRUM LINESMAXIMUM FREQUENCY OR ORDERS OFSPECTRUM DATA.MINIMUM FREQUENCY OR ORDERS OFSPECTRUM DATAACTUAL SPECTRUM DATA, IF COMPLEXFLAG IS1, ARRAYSIZE 2 * NUMBEROFLINES, IFCOMPLEXFLAG IS 0, ARRAYSIZE NUMBEROFLINES.External /WriteIn the table above the “[ xxxx ]” will be replaced with the actual array size that will hold either thequantity of lines or two times the number of lines. Array sizes in Logix are static, meaning thatmemory is allocated, whether it is actually used or not.

9 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesICM Data TimeWaveform NormalizedThe ICM Data TimeWaveform Normalized user defined type consists of the following elements:NameData TypeStyleItemNameAmplitudeUnitsString 32String 16Controller UTC DateTimeICM WallClockTimeDevice UTC DateTimeRTROTRSpeedUnitsPeriodFlagSamplingModeICM TINT[xxxx ONITOR DATA TAG NAME FOR THIS TIMEWAVEFORMWAVEFORM AMPLITUDE UNITSCONTROLLER’S DATE/TIME IN UTC AT THE TIMEOF WAVEFORM COLLECTIONDEVICE’S DATE/TIME IN UTC AT THE TIME OFWAVEFORM COLLECTIONREQUEST TO READ HANDSHAKE BITOK TO READ HANDSHAKE BITSPEED FEEDBACK UNITS (0 HZ, 1 CPM)0 SECONDS, 1 CYCLES0 ASYNCHRONOUS, 1 SYNCHRONOUSAVERAGETYPEENUMERATION: (0 USED IN XMONLINE DATA, 1 LINEAR, 2 TIMESYNCHRONOUS, 3 EXPONENTIAL, 4 PEAKHOLD).SPEED FEEDBACK AT TIME OF WAVEFORMCOLLECTIONNUMBER OF TIME WAVEFORM DATA POINTSTIME WAVEFORM PERIODAMPLITUDE NORMALIZATION REFERENCEAMPLITUDE CONVERSION FACTORNORMALIZED TIME WAVEFORM DATAExternal /WriteRead/WriteIn the table above the “[ xxxx ]” will be replaced with the actual array size that will hold either thequantity of points in the waveform. Array sizes in Logix are static, meaning that memory is allocated,whether it is actually used or not.

10 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesICM Data TimeWaveform ActualThe ICM Data TimeWaveform Actual user defined type consists of the following elements:NameData TypeStyleItemNameAmplitudeUnitsString 32String 16Controller UTC DateTimeICM WallClockTimeDevice UTC DateTimeRTROTRSpeedUnitsPeriodFlagSamplingModeICM AL[ xxxx ]FloatDecimalFloatFloatDescriptionEMONITOR DATA TAG NAME FOR THIS TIMEWAVEFORMWAVEFORM AMPLITUDE UNITSCONTROLLER’S DATE/TIME IN UTC AT THE TIMEOF WAVEFORM COLLECTIONDEVICE’S DATE/TIME IN UTC AT THE TIME OFWAVEFORM COLLECTIONREQUEST TO READ HANDSHAKE BITOK TO READ HANDSHAKE BITSPEED FEEDBACK UNITS (0 HZ, 1 CPM)(0 SECONDS 1 CYCLES)(0 ASYNCHRONOUS, 1 SYNCHRONOUS)AVERAGETYPEENUMERATION: (0 USED IN XMONLINE DATA, 1 LINEAR, 2 TIMESYNCHRONOUS, 3 EXPONENTIAL, 4 PEAKHOLD).SPEED FEEDBACK AT TIME OF WAVEFORMCOLLECTIONNUMBER OF TIME WAVEFORM DATA POINTSTIME WAVEFORM PERIODWAVEFORM DATA ACTUAL VALUESExternal /WriteRead/WriteRead/WriteRead/WriteRead/WriteIn the table above the “[ xxxx ]” will be replaced with the actual array size that will hold either thequantity of points in the waveform. Array sizes in Logix are static, meaning that memory is allocated,whether it is actually used or not.ICM WallClockTimeThe ICM WallClockTime user defined type consists of the following ndsData R (FOUR DIGIT NUMBER)MONTH (1-12)DAY (1-31)HOUR (0-23)MINUTE (0-59)SECOND (0-59)MICROSECONDS (0-999,999)External /WriteRead/WriteRead/Write

11 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesHandshaking mechanism and ICM data valuesICM handshaking mechanismSince the data contains multiple elements, there needs to be a mechanism in place to ensure that thedata does not change as it is being read from the controller. This is the purpose of the handshakingelements (RTR and OTR) in the user defined types.There is also a need to time out the hand shaking if there is a communication loss. By default the timeout should be twenty (20) seconds. This is the default on the Emonitor side.The normal handshake process between Emonitor and Logix for scheduled data collection is asfollows:1. Emonitor (or other application) sets the ready to read (RTR) flag.2. The Logix application then verifies that data is not being writte, or finishes writing to the datapoints.3. Logix sets the ok to read (OTR) flag.4. Emonitor reads the data.5. When Emonitor is done reading the data, it clears the ready to read (RTR) flag.6. When Logix sees the ready to read (RTR) flag cleared, it clears the ok to read (OTR) flag.7. Once the ok to read (OTR) flag is cleared, Logix can update data.The normal handshake process between Emonitor and Logix for triggered data collection is asfollows:1. Logix sets the trigger.2. When trigger is true, Emonitor (or other application) sets the ready to read (RTR) flag.3. Logix application then verifies that data is not being writte, or finishes writing to the datapoints.4. Logix sets the ok to read (OTR) flag.5. Emonitor reads the data.6. When Emonitor is done reading the data, it clears the ready to read (RTR) flag7. When Logix sees the ready to read (RTR) flag cleared, it clears the ok to read (OTR) flag.8. Once the ok to read (OTR) flag is cleared, Logix can reset the trigger if necessary and updatethe data.Timeout functionality:1. If the RTR flag is set true, and in twenty seconds, Emonitor does not see the OTR flag, theRTR and OTR flags are cleared.2. If the RTR flag is set true, and in twenty seconds, Logix does not see the OTR flag, the RTRand OTR flags are cleared.

12 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesEach tag defined as an ICM data type must have a handshake set up for it. In the sample ACD file,there is an Add On Instruction (AOI) that is defined for this purpose. The add-on instruction functionsas described above, but has an added mechanism to handle the asynchronous multi-taskingenvironment on the Logix side.Hand Shaking AOI - ICM HandshakingThe name of the instruction is ICM Handshaking. The parameters for the instruction are defined as:NameUsageData TypeDescriptionEnableInInputBOOLEnable Input - System Defined ParameterEnableOutOutputBOOLEnable Output - System Defined ParameterBlockDataUpdatesOutputBOOLFLAG TO BLOCK THE DATA UPDATES FOR THE DATATHAT IS TO BE READDataUpdatesBlockedInputBOOLFLAG THAT THE DATA UPDATE HAS BEEN BLOCKED.TimedOutOutputBOOLFLAG TO INDICATE THAT THE HANDSHAKE TIMED OUT.TimeoutTimeInputDINTTIME OUT PRESET (DEFAULTS TO 20 SECONDS (20000ms) IF NOT CHANGED)ReadyToReadInOutBOOLREADY TO READ FLAG FROM DEVICE THAT IS TO READTHE DATAOkToReadInOutBOOLOK TO READ DATA FROM THIS CONTROLLER SENT TOTHE DEVICE THAT IS TO READ THE DATAWhen using the instruction, there will be a backing tag created for it. This backing tag will be createdas data type “ICM Handshaking” which is the same name as the instruction.The elements of the backing tag will consist of the parameters that are either input or output but notthe InOut type.NameUsageData TypeDescriptionEnableInInputBOOLEnable Input - System Defined ParameterEnableOutOutputBOOLEnable Output - System Defined ParameterBlockDataUpdatesOutputBOOLFLAG TO BLOCK THE DATA UPDATES FOR THEDATA THAT IS TO BE READDataUpdatesBlockedInputBOOLFLAG THAT THE DATA UPDATE HAS BEEN BLOCKED.TimedOutOutputBOOLFLAG TO INDICATE THAT THE HANDSHAKE TIMEDOUT.TimeoutTimeInputDINTTIME OUT PRESET (DEFAULTS TO 20 SECONDS(20000 ms) IF NOT CHANGED)

13 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesThe purpose of the handshaking instruction is to isolate the code and functionality so the programmerdoes not have to repeat all of it for each tag.A structured text call to the instruction looks like the following:ICM Handshaking(handShaking[ index1 ], icmNode 01 XM120 Spectrum[ index1 ].RTR,icmNode 01 XM120 Spectrum[ index1 ].OTR );Where handshaking[ index1 ] is an indexed array element of the type ICM Handshaking icmNode 01 XM120 Spectrum[ index1 ] is an indexed array element of the typeICM Data Sprectrum Normalized.When the instruction is executed, the following happens: If the ready to read parameter transitions from true to false,oThe ok to read parameter is clearedoBlockDataUpdates parameter is clearedoThe DataUpdatesBlocked parameter is clearedIf the ready to read parameter is false ( no transition )o Nothing happensIf the ready to read parameter is trueoEnable the time out timeroIf the time out timer is not done timingo If the BlockDataUpdates parameter is false then set the BlockDataUpdatesparameter If the BlockDataUpdates parameter is true and the DataUpdatesBlockedparameter is true, set the ok to read parameter.If the time out timer is done timing Clear the ready to read parameter Clear the ok to read parameter Clear the BlockDataUpdates parameter Clear the DataUpdatesBlocked parameter Set the time out parameter Reset the time out timer.The BlockDataUpdates parameter allows for the programmer to place the handshake call in any taskand handle the asynchronous behavior of multi-tasking environment. So when the BlockDataUpdatesparameter is set, the user routine finishes updating the data and/or makes sure that the data is notupdated again, and then sets the DataUpdatesBlocked parameter. See the sample Logix project filefor details.

14 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesICM data valuesData in the ICM Data ValuesThe ICM Data Value user defined type consists of the following elements:NameNumberOfDataValuesItemNameData TypeDINTString 32[ xx ]StyleDecimalUnitsDataValueTypeString 16[ xx ]SINT[ xx ]Controller UTC DateTimeICM WallClockTimeDevice UTC DateTimeICM WallClockTimeRTROTRSignalDetectionBOOLBOOLSINT[ xx ]DecimalDecimalDecimalDataValuesREAL[ xx ]FloatDecimalDescriptionNUMBER OF VALUES PRESENT IN DATA ARRAYEMONITOR DATA TAG NAME FOR THIS DATAITEMDATA VALUE UNITS0 NONE, 1 MAGNITUDE, 2 NUMERIC,3 ENUMERATED.CONTROLLER’S DATE/TIME IN UTC AT THE TIMEOF DATA COLLECTIONDEVICE’S DATE/TIME IN UTC AT THE TIME OFDATA COLLECTIONREQUEST TO READ HANDSHAKE BITOK TO READ HANDSHAKE BIT0 NONE, 1 RMS, 2 CALCULATED PK,3 CALCULATED PK-PK, 4 TRUE PK, 5 TRUE PKPKDATA ITEM VALUEExternal /WriteThe ICM Data Value user defined type consists of the following elements: The value of the xx in the elements that are arrays must be greater than or equal to thenumber of data values to use. When a tag of type ICM Data Value is to be used to collect data, certain elements must beinitialized, and some are optional.NumberOfDataValuesThe initialization of the NumberOfDataValues is required. When attached to an Emonitor OnlineSystem, the number of data values to use controls what the engineer can map. If not initialized,defaults to zero in the controller. Emonitor Online System does not display items associated with thistag unless it contains a value greater than zero.ItemNameThe initialization of the ItemName array elements is optional. When used, the item name arrayelements can help identify the data. When attached to an Emonitor online system and item namearray elements contain values, Emonitor uses the item name to create measurement definitionsduring auto-mapping.UnitsThe initialization of the Units array elements is required. When attached to an Emonitor OnlineSystem, Emonitor uses the units in the mapping rules.DataValueTypeThe initialization of the DataValueType array elements is required. When attached to an EmonitorOnline System, the data value types are used in the mapping rules. During runtime, the data valuetype is used to determine the value to store in the database based on signal detection settings.

15 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesController UTC DateTimeThe initialization of the Controller UTC DateTime elements is not required. During runtime theelements of this field must be updated. This structure contains the time (UTC) that the data wascollected on the controller side. Use the GSV command for WallClockTime to get the elements fromthe controller.Device UTC DateTimeThe initialization of the Device UTC DateTime elements is not required. During runtime the elementsof this field are updated, depending on the device that is collecting the data. This structure containsthe time (UTC) that the data was collected on the device side.RTR (Ready to Read)The initialization of the RTR (Ready to Read) element is not required. When attached to an EmonitorOnline System, the ready to read element is written to by the Logix Online Data driver. It is onlywritten to by the controller when there is a time-out in the handshaking mechanism.OTR (Ok to Read)The initialization of the OTR (Ok to Read) element is not required. When attached to an EmonitorOnline System, the ok to read element is written to by the controller during the handshaking to ensuredata is being written to while it is being read.SignalDetectionThe initialization of the SignalDetection array elements is required. When attached to an EmonitorOnline System, the data is stored in the database as RMS. Signal Detection setting and data type willdetermine how the value is transformed into an RMS value. Signal Detection is used for data typemagnitude only, being ignored when the data type is numeric or enumerated.DataValuesThe initialization of the DataValues element is not required. During runtime, the data collected fromthe device must be placed into this array.

16 Emonitor Version 3.5 RSLogix 5000 Interface Guide for XM modulesData in the ICM Data VectorsThe ICM Data Vector user defined type consists of the following elements:NameData itudeUnitsString 32[ xx ]String 16[ xx ]PhaseUnitsDataValueTypeBOOL[32]SINT[ xx ]Controller UTC DateTimeICM WallClockTimeDevice UTC DateTimeRTROTRICM MagnitudeValuesPhaseValuesSINT[ xx ]REAL[ xx ]REAL[ xx ]DecimalFloatFloatDecimalDecimalDescriptionNUMBER OF DATA VALUES PRESENTIN DATA ARRAYEMONITOR DATA TAG NAME FORTHIS DATA ITEMDATA VALUE MAGNITUDE UNITSDATA VALUE PHASE UNITS(0 DEGREES, 1 RADIANS) FORDATA ALIGN ON RSLOGIX5000,BOOL ARRAY SIZE MAY BE GREATERTHAN NUMBEROFDATAVALUES. (IFNUMBEROFDATAVALUES IS 50,BOOL ARRAY SIZE MUST BE 64 ONRSLOGIX5000.)ONLY CAN BE 1 MAGNITUDECONTROLLER’S DATE/TIME IN UTCAT THE TIME OF DATA COLLECTIONDEVICE’S DATE/TIME IN UTC AT THETIME OF DATA COLLECTIONREQUEST TO READ HANDSHAKE BITOK TO READ HANDSHAKE BIT0 NONE, 1 RMS, 2 CALCULATEDPK, 3 CALCULATED PK-PK, 4 TRUEPK, 5 TRUE PK-PKMAGNITUDE DATA VALUESPHASE DATA Read/WriteRead/WriteRead/WriteRead/Write The value of the xx in the elements that are arrays must be greater than or equal to thenumber of data values to use. When a tag of type ICM Data Vector is to be used to collect data, certain elements must beinitialized, and some are optional.NumberOfDataValuesThe initialization of the NumberOfDataValues is required. When attached to an Emonitor OnlineSystem, the number of data values to use controls what the engineer can map. If not initialized,defaults to zero in the controller. Emonitor Online System does not display items associated with thistag unless it contains a value greater than zero.ItemNameThe initialization of the ItemName array elements is optional. When used, the item name arrayelements can help identify the data. When attached to an Emonitor online system and item namearray elements contain values, Emonitor uses the item name to create measurement definitionsduring auto-mapping.

17 Emonitor Version 3.5 RSLogix 5000 Interface Guide fo

There is a sample project file that shows how the information in this guide can be used in an RSLogix 5000 project. The project is located on the Emonitor version 3.50 software installation disk: \extras\RSLogix Application\ICM DATA APP.ACD RSLogix 5000 programming manuals