Friday, March 9, 2012

RSView Enterprise File Viewer Utility

How do I read and save ME, SE Datalog files, ME Alarm Log files, RecipePlus files and dBASE files with the RSView Enterprise File Viewer Utility?
Note: With this Viewer, once the log file is open the file can be saved as a CSV file. You can only access the datalog files if they are closed, as a result you must stop a running RSView ME application or RSView SE Datalog in order to be able to access the file.
This utility is used on Win32 (desktop) only. To read ME files from PanelView Plus CE or PanelView Plus terminals, copy the files to a compact flash card or SD card and move them to the desktop where the utility resides. These log files are in a non-standard format.
The RSView Enterprise File Viewer utility can be used to read and save the following files:
  • SE Datalog file (*.DAT, *.OBF)
  • ME Datalog file (*.LOG)
  • ME Alarm Log file (HISTORY.ALM)
  • dBASE file (*.DBF)
  • ME RecipePlus file (*.RPP)
The SE Datalog files, ME Datalog files, RecipePlus files and ME Alarm Log file can be saved as CSV or DBF files.

SE Datalog File

  1. Pick SE Datalog file in Files of Type
  2. Select the DAT or OBF file to open in the Viewer.

ME Datalog File (ME Station)

  1. Pick ME Datalog File in Files of Type.
  2. Select the LOG file to open in the Viewer.
  3. In the Set Time Zone dialog, select the time zone you would like the file to be converted in.

ME Alarm Log File 

Note: During runtime, four .ALM files are generated from an ME application with alarms: embedded.alm, history.alm, reset.alm and status.alm. Of these files only the history.alm can be opened by the File Viewer. The history.alm file is the main data table for alarm information, some additional information is saved to other .ALM files. If information is needed from the other files, such as embedded variable information, the File Viewer will automatically open the required files after opening the history.alm file. Any attempt to open the other .ALM files results in This ME Alarm File cannot be open and Convert log file error error messages.

FactoryTalk View Machine Edition Data Logging Best Practices.

FactoryTalk View Machine Edition Data Logging Best Practices - Understanding Data Logging

This information is applicable only to the native Data Logging of RSView Machine Edition and does not apply to the DataStore or DataStore Plus ActiveX controls.
NOTE: The following information applies to version 5.x and older terminals. Testing has shown that a current, typical application will run faster and have less memory constraints on the 6.x platform.

What Does the RSView ME Data Log Model Do?

  • Logs tag data to a storage file during runtime
  • Historical Trending

Data Log Model (Design Time)

  • Studio allows the creation of multiple Data Log Models. However, only 1 Data Log Model can be configured during runtime.
  • Maximum number of tags allowed in a model is 100:
    • The model will not log data for string tags, array tags, parameters or expressions, and you cannot use tag placeholders in your data log model.
    • External Compact flash path is configured as \Storage Card2\log.
    • USB drive path is configured as \USB Storage\log.

Sunday, February 26, 2012

Logix PIDE Function Block Information

Information on the PIDE function block and how it works.  Includes information on  using it in Cascade and Ratio Control applications.  This is a two part document which covers the majority of functions incorporated in the PIDE block.
Catalog Number: 1756 Generic
DocFullNum: G9057916
Fixed in Revision:
File Attachments
 Source :


ControlLogix RMPS / PIDE Instruction Example.

How to use the Ramp/Soak (RMPS) Instruction with the PIDE block?
The RSLogix 5000 v13 sample file attached below contains a very basic application with a RMPS and PIDE. A process simulator Task is also included for simulation purposes.
  • While in Manual mode the user program directly controls the instruction's Out. The CurrentSegProg, SoakTimeProg and OutProg inputs are transferred to the CurrentSeg, SoakTimeLeft and Out outputs.
  • When instruction is placed in auto mode, the ramp/soak functions resumes with the values last input from the user program.
  • CurrentSegProg and SoakTimeProg are not transferred if they are invalid. This will explain a SoakTimeLeft at zero after a manual to auto transition and SoakTimeProg was zero.
More information can be found in RSLogix 5000 software Instruction Help file or in the Logix5000 Controllers Process Control and Drives Instructions  manual.
File Attachments
 Source :


Saturday, February 25, 2012

Obtaining Ethernet IP information from a 1756-ENET

  1. First create a USER DEFINED tag called IP, and configure it as shown below:

  2. Create a CIP message instruction like the one shown below.

    NOTE: Tag B3.0 is not required.

  3. Configure the CIP message as shown below.  Note that the destination tag ENET_IP_INFO
    is a tag of type IP (User Defined).

  4. Also note that the values that come back into IPx will be in reverse order.

Link Status from a Logix Ethernet module via CIP Generic Message in RSLogix 5000

Example below shows 1756-ENBT, but can be used with any Logix modules
Link Loss Status can be obtained from the 1756-ENBT by configuring a CIP Generic message to the module.If the Ethernet connection is broken the status can be monitored in the ControlLogix processor.
1)  Configure a MSG instruction as CIP Generic in RSLogix 5000 for the ControlLogix processor that is to monitor the 1756-ENBT status.

2)  Create the Destination tag (LinkStatusWord in this example) with data type of DINT. The communications path will need to point to the ENBT that you want to get status from, with the Class, Instance and Attribute as shown below.
CIP Generic Message Setup Screen:
3)  When the MSG instruction is executed the Link Status data will be written to the Destination word bit 0, in this example LinkStatusWord.0

Access IP information of 1756-ENBT/1788-ENBT modules with MSG instruction

The following steps describe how to access the IP Address for the 1756-ENBT via the user program. This also works with 1788-ENBT module.
The Source or Destination tag ipinfo is a SINT array of 22 elements, but may be longer if a Domain Name is included - see the Notes at the end.

To GET the module IP Address, configure a CIP generic message instruction, as shown below:

To SET the module IP Address, configure a CIP generic message instruction, as shown below:

If a Domain Name is included in the SINT array, the source length may have to be up to 70 bytes long:
SINT[20..21] Word value containing number of characters in Domain Name
SINT[22..69] Domain Name - 48 ASCII characters

Read Array length should always be 70 bytes:
  • 20 for addresses
  • 2 for length
  • 48 for possible ASCII domain name

Write Array length should be 22 plus the length value in ipinfo[20], padded to an even number of bytes (pad not included in the length).

Friday, February 24, 2012

RSLogix 5000: PIDE - Function Block Enhanced PID.

PIDE - Function Block Enhanced PID
This technote demonstrates the use of the PIDE function block instruction.
It uses two modes of automatic operation: program setpoint and operator setpoint.
To toggle between program setpoint and operator setpoint simply toggle the ProgOperReq bit in the PIDE instruction which is accomplished with the PROG_MODE_1 bit in the Main Routine.
When in program mode it gets the setpoint from the SPProg word in the PIDE instruction.
When in Operator mode it gets the setpoint from the SPOper word in the PIDE instruction
To toggle between automatic and manual mode simply set the ProgramManualReq bit and clear the ProgAutoReq bit in the PIDE instruction which is accomplished by toggling the AUTO_1 bit in the Main Routine.
The CVEU will track the value at CVProg when in manual mode
This Project has 3 tasks:
  1. Main Task:
    The Main Task allows the user to set bits and put the PIDE in Program mode, Operator mode , Manual mode and to use Independent or dependent gains.
  2. PID_Functions:
    The PID_FUNCTIONS task is a scheduled task that executes every 100 mS.   It contains the PIDE function block instruction and it has a task called Proc_lag which contains function block instructions that lag the PV from the CV to simulate a process variable.  
    The SETPOINT_GENERATOR scheduled task executes every 10 seconds.  It simply changes the program setpoint every 10 seconds with the FAL instruction.  The setpoints are contained in the tag ARRAY1 which are 10, 15, 20, 30, 40, 60,80, 70, 50, and 30. 
The .ACD file is Called PIDS_FUN_BLK_DEMO and is attached below

This .ACD file was created using RSLogix 5000 ver 8.02 and a 1756-L1 firmware ver. 8.20.   It requires no I/O modules.

File Attachments
Source :

Thursday, February 23, 2012

ControlLogix Message to PLC-5 Over Ethernet

How do I configure a ControlLogix message to a PLC-5 processor over Ethernet?
For communications between the ControlLogix and PLC-5, it's easier to execute the message on the ControlLogix side. This is because there is no tag mapping required, and the RSLogix 5000 software has predefined choices for the type of PLC-5 message.
  • PLC5 Typed Read
  • PLC5 Typed Write
  • PLC5 Word Range Read
  • PLC5 Word Range Write
NOTE: The allowable data types for PLC5 type read/write from ControlLogix are:   B, F, N, S, ST
The following is an example focuses on setting up a single message. Knowledgebase AID 39998 - How to manage multiple un-cached messages in ControlLogix for details on how to sequence multiple messages in order to avoid filling up the ControlLogix unconnected buffer.
  1. First open a RSLogix 5000 project and add a MSG instruction. Right click the "?" (Question Mark), and create a new MESSAGE control tag for it. We named the control tag Message1 and inserted the normally closed XIO with the .EN bit to run this message continuously.


  1. Now, click the ellipse to enter the message setup dialog. In this example we will use the PLC-5 Typed Read message.


The MSG above is configured to read an integer value from the PLC-5. It's going to read the first element in data table register N7:0 and place the value into an integer tag named My_INT_Tag within the ControlLogix.
  1. Once the Configuration tab is completed, proceed to the Communication tab. The path describes the route the message takes to get to the destination. It uses either names from the I/O configuration, numbers you type, or both:
  • When building your message path, use the following as a guideline to simplify your task: All paths are of the following form: x  , y 
  • Where x is the port  or direction you want to transmit out of. (This could be the port to the Backplane, Ethernet, ControlNet, Serial Port, or DH+.)
  • And where y is the next address to send to depending upon the media. (This could be a slot number, IP address, ControlNet node, serial address, or DH+ node address.)
The example below is derived as follows:
  • 1 indicates the port of the Controller for direction to the Backplane.
  • 1 indicates the next address or slot number of the Ethernet module in the local chassis.
  • 2 indicates the port of the Ethernet module for direction out on the Network.
  • is the next address on the network which is the IP address of the PLC-5.
Since the Ethernet channel is built directly into the PLC-5 this is as far as the path needs to go.
  1. Keep the default Communication Method at CIP. This means the ControlLogix will encapsulate the data into CIP packets and send it that way. Because of the encapsulation, the PLC-5 firmware needs to be of a certain revision to decode the packets once received. If not, the message will error. Minimum revisions are below:
  • Series E, revision D.1 and higher
  • Series D, revision E.1 and higher
  • Series C, revision N.1 and higher
  • All Series F

1785-ENET (Sidecar)
  • Series B, any revision
  • Series A, revision D and higher
The Series is based on the circuit board design and will remain the same. The Revision can be updated by contacting your local Rockwell Automation distributor and ordering firmware updates. Firmware update kits typically consist of a software flash and new EPROM's to be installed.


Messaging from PLC-5 via Ethernet to ControlLogix

How do I set up messaging from PLC-5 via Ethernet to ControlLogix?

Messaging from PLC-5 via Ethernet to ControlLogix

For successful communication:
  • Check that the PLC-5 in question is of the correct Series and Revision. Refer to Answer link 19325 to determine this.
  • Ensure both the PLC-5 and ControlLogix Ethernet modules are correctly configured on the Ethernet.

PLC-5 MSG Configuration Overview

The ladder below shows a simple MSG instruction. For Ethernet messages, the MSG instruction uses 2 consecutive MG elements. In the case below, these are MG9:0 and MG9:1.
NOTE:  If an integer file is used in place of the MG file, the message will be directed to the 1A port only Classis PLC5 issue. The Port Number will not be visible.  RGW.

Configuring PLC-5 MSG

  1. Configure the message by clicking on the Setup Screen text in the instruction. The following dialog box is displayed.

  2. As fields in this dialog are filled in. the fields that are left change, depending on what has been selected. Work through the dialog from the top to the bottom in field order. When complete the dialog should match the one above.
  3. This message is configured to perform a PLC-5 Typed Read of 10 integers words and place them in N7:0 onwards. This will ultimately be from a ControlLogix processor. The port number is changed to specify the Ethernet port of the processor. In this case 3A is the 1785-ENET module, for an Ethernet processor this will be 2.
  4. In the Target Device section the data will be read from N7:0. For communications to a ControlLogix processor it is important that MultiHop is set to Yes. When this value is entered, the MultiHop tab will appear. Select the MultiHop tab.


    MultiHop allows you to configure where the message has to go once it reaches the ControlLogix Ethernet module. We want to read from the processor. The path from the Ethernet module to the processor is defined here.
  5. The first line of the configuration defines the IP address for the ControlLogix Ethernet module. To get a second line press the Insert key on the keyboard. The value that has to be entered in this second row is the slot in the ControlLogix chassis that the processor resides. In this case it's slot 0.

ControlLogix Configuration Overview

We have created an array of ten elements of type INT called "technote_data" in the controller scope of the ControlLogix project.  The PLC-5 will  read from this array.  Notice that the array has to be of type INT, otherwise the message instruction will fail and display an "illegal target file type" error message.

Configuring ControlLogix 

  1. From the main menu of RSLogix 5000 select Logic -> Map PLC/SLC messages.  In order to map all messages targeted to addresses in file 7 (as in N7:0) to our newly created array of INT's, as shown below.

This completes both of the required steps. For additional details on mapping see Technote 7355, titled Setting up PLC/SLC Mapping in Logix controllers.