For Allen Bradley PLCs, Lookout uses a different PLC addressing system than Allen Bradley for I and O registers (Input and Output).
* Lookout uses underscore, "_", in place of a slash, "/", used by Allen Bradley because "/" is reserved for division in Lookout. For instance, register I177/17 would be I:177_17 in Lookout.
* Lookout employs "flat addressing" for Allen Bradley PLCs; regardless of which slot a module is in, it will be counted as 1 if it is the first of its type. This information can also be found on our KnowledgeBase Entry.
* Lookout starts counting modules from 0 and Allen Bradley starts the counting from 1. For example, if your Allen Bradley PLC contains an 8-bit input module in the first slot and an 8-bit output module in the second slot, then the second bit of the output module would be O:2/1 in Allen Bradley addressing (since the output module is on the second slot of the PLC), but it would be O:0_1 in Lookout (since the output module is the first output module on the PLC). If there is another 8-bit output module in the third slot, then the second bit of the output module would be O:3/1 in Allen Bradley addressing (since the output module is the third module on the PLC) and O:1_1 in Lookout (since the output module is the second output module on the PLC).
You may be wondering how this would affect PLC addressing in ServerExplorer. We conducted an experiment using an Allen Bradley SLC 5/04 PLC with an 8-bit discrete input module in slot 1, an 8-bit discrete in slot 2, and an analog I/O in slot 3 (the CPU is in slot 0). We focused our investigation on how to address the fifth bit of the discrete output module, which is O:0_4 in Lookout or O:2/4 in Allen Bradley addressing. This experiment had two parts:
Part 1: We connected the PLC to RSLinx, then connect ServerExplorer to RSLinx OPC Server. To read the fifth bit of the discrete output module, we had to specify the item name to be O:2_4 or O:2/4. Also, we connected Lookout to RSLinx through the OPCClient object. To read the same register, we had to use O:2_4 or O:2/4. From this we concluded that when connecting to the PLC through RSLinx from Lookout or ServerExplorer, there is no difference between underscore "_" and slash "/". However, you have to follow the Allen Bradley addressing system to address the module; you must use O:2_4 instead of O:0_4. In our experiment, O:0_4 did not work.
Part 2: For the second part, we created a direct connection between the PLC and Lookout, then connected ServerExplorer to the Lookout OPC Server and tried to read the same register. Neither O:0_4 nor O:2/4 worked. Using O:0/4 and O:2_4 also failed. The only way to read and write data correctly to the register was to create an alias of the register O:0_4 in Lookout (by choosing Edit Database) and connect to the alias from ServerExplorer. Here are the steps for the workaround:
1. Right-click the PLC object in Object Explorer and select Edit Database.
2. Locate or type in the data member that you want to create an alias of in the Member textbox. Specify the alias for that register and click Save. In the following illustration Output is set to be an alias of O:0_4. Click Save to create the alias.
You should see the alias you just created under Configured points.
3. Expand the PLC object in Object Explorer, and you should see the alias you just created as one of the data members
4. Open ServerExplorer, connect to LookoutOPCServer, and add a new item.
5. Under Item Definition, browse to find the PLC object and the Output member. Make sure the Item ID textbox contains the correct item. Click Add to add the item.
6. Validate the item. Click OK when you are done.
Now you should be able to read and write to the Output data member, which is the same as register O:2/4 in Allen Bradley addressing system, or O:0_4 in Lookout.