Sign in to follow this  
Followers 0
Thor Hammer

Compact Logix Tag Address for Omron NS5 HMI

18 posts in this topic

PLC: 1769-L32C

Input Cards: 2 Each 1769IQ16

Output cards: 1 Each 1769-QB16

This system has been in operation for 10 years. The client decided to have our company change out the old Panel View HMI for an Omron NS5 communicating via serial.

The problem I'm having is the tag names in the Omron touch screen. I cannot use the actual alphanumeric tag name as shown in the PLC in the Omron NS5. When I do it gives me an error message of "unused symbols in project" and I cant download. Turns out I have to use the numeric address. I don't know how to do this.

I attached two screen shots. One is symbol input which evidently is incorrect. the other is input direct address which is correct.

Problem is I don't know what to put in the "File No." field. In the example provided on the Omron website it is shown as a number. See attached screen shot. Where do I find the file no. for the input or output I am addressing to? I understand slot no. and bit no. of course.

Additionally, I can certainly input my physical I/O I am using in the HMI once I know what to put in the File no. field. But how do I assign a numeric address to the internal relays and inputs that are not attached to physical I/O in my PLC program to use in the HMI? Like turning on and off my pump for example.

Any help greatly appreciated. I miss the days of using C-More panels. Not as powerful but so easy to work with.

 

Input Direct Address.png

Symbol Programming_Wrong.png

Omron Address Example.png

Share this post


Link to post
Share on other sites

It looks like the Omron is designed to communicate with a Logix 5 or Logix 500 processor, which don't use tags. They use memory addresses instead. The default integer file, for example, is N7 (file #7). The elements are N7:0 through N7:x, where x is the last element in the file.

In RSLogix 5000, go to the "Tools" menu and select "Translate PLC5/SLC". You need to create a file for the HMI to read. In the above example, you might create an Integer array called "N7" of type INT[100] to get 100 elements. Your PLC would write to N7[5] while the HMI would read N7:5.

Binary addresses work the same. Create an integer array called "B3" of type INT[100]. Your PLC would write bits like B3[5].1 and the HMI would read B3:5/1.

You can then either alias the elements within the N7 and B3 tags in your ControlLogix to the existing tags that the PV is looking at, or write code to have the existing tags write to the N7 and B3 tags. Depending on the size of the project, this may be a painful task.

Make sense?

Is there a reason to use the Omron HMI? I know the Red Lion HMIs can read/write Logix 5000 tags natively. I guess if they have an installed base of Omron hardware it makes sense to stick with it.

1 person likes this

Share this post


Link to post
Share on other sites

Posted (edited)

Thor,

Any chance you could post a picture of the Host PLC settings for the serial port?  I'm goofing around in CX-Designer and can't find a driver type that would be similar to Allen-Bradley DF1.

Also, I did a quick search in the Omron forum and found exactly this topic and Joe is spot on.  You would need to map all the data needed for the HMI into the B*, N*, F*, L* files in the L32E then build your symbol table to reference them in the NS 

Edited by pcmccartney1

Share this post


Link to post
Share on other sites

Thanks Jay!

Share this post


Link to post
Share on other sites

Posted (edited)

On ‎1‎/‎4‎/‎2019 at 10:53 AM, Joe E. said:

It looks like the Omron is designed to communicate with a Logix 5 or Logix 500 processor, which don't use tags. They use memory addresses instead. The default integer file, for example, is N7 (file #7). The elements are N7:0 through N7:x, where x is the last element in the file.

In RSLogix 5000, go to the "Tools" menu and select "Translate PLC5/SLC". You need to create a file for the HMI to read. In the above example, you might create an Integer array called "N7" of type INT[100] to get 100 elements. Your PLC would write to N7[5] while the HMI would read N7:5.

Binary addresses work the same. Create an integer array called "B3" of type INT[100]. Your PLC would write bits like B3[5].1 and the HMI would read B3:5/1.

You can then either alias the elements within the N7 and B3 tags in your ControlLogix to the existing tags that the PV is looking at, or write code to have the existing tags write to the N7 and B3 tags. Depending on the size of the project, this may be a painful task.

Make sense?

Is there a reason to use the Omron HMI? I know the Red Lion HMIs can read/write Logix 5000 tags natively. I guess if they have an installed base of Omron hardware it makes sense to stick with it.

Thank you Joe. This is very helpful and yes, it all makes sense.  I didn't understand what the file number was or where to find it. Sorry for the late reply. Was on a job in New York all weekend.

I would happily use C-More or Red Lion. I didn't realize it would take mapping all my HMI tags in the PLC. We use Omron almost exclusively in all of our systems we build.

Anthony

Edited by Thor Hammer

Share this post


Link to post
Share on other sites

Posted (edited)

On ‎1‎/‎4‎/‎2019 at 1:13 PM, pcmccartney1 said:

Thor,

Any chance you could post a picture of the Host PLC settings for the serial port?  I'm goofing around in CX-Designer and can't find a driver type that would be similar to Allen-Bradley DF1.

Also, I did a quick search in the Omron forum and found exactly this topic and Joe is spot on.  You would need to map all the data needed for the HMI into the B*, N*, F*, L* files in the L32E then build your symbol table to reference them in the NS 

Attached is the Omron document on how to setup the serial port for AB. Is that what you're looking for?

Edit: Jay beat me to it. Duplicate file.

Omron NS Series Connection to AB PLC.pdf

Edited by Thor Hammer

Share this post


Link to post
Share on other sites

Posted (edited)

On ‎1‎/‎4‎/‎2019 at 10:53 AM, Joe E. said:

It looks like the Omron is designed to communicate with a Logix 5 or Logix 500 processor, which don't use tags. They use memory addresses instead. The default integer file, for example, is N7 (file #7). The elements are N7:0 through N7:x, where x is the last element in the file.

In RSLogix 5000, go to the "Tools" menu and select "Translate PLC5/SLC". You need to create a file for the HMI to read. In the above example, you might create an Integer array called "N7" of type INT[100] to get 100 elements. Your PLC would write to N7[5] while the HMI would read N7:5.

Binary addresses work the same. Create an integer array called "B3" of type INT[100]. Your PLC would write bits like B3[5].1 and the HMI would read B3:5/1.

You can then either alias the elements within the N7 and B3 tags in your ControlLogix to the existing tags that the PV is looking at, or write code to have the existing tags write to the N7 and B3 tags. Depending on the size of the project, this may be a painful task.

Make sense?

Is there a reason to use the Omron HMI? I know the Red Lion HMIs can read/write Logix 5000 tags natively. I guess if they have an installed base of Omron hardware it makes sense to stick with it.

Quick question: I found under the Logic drop down menu an option to Map PLC/SLC Messages. I created an N7 array and placed it in the table. Is this necessary?

I have created my N7 array in the edit tags table so not sure if I also need to have the above done as well. I am aliasing single bits of the integer word to my tags that are used in the HMI. Then inputting the N7 addresses in the HMI symbol table.

Courtesy of Automation Direct

https://www.automationdirect.com/microsites/c-more/software-help/Content/323.htm

Edited by Thor Hammer

Share this post


Link to post
Share on other sites

Posted (edited)

Thor,

Interestingly, the AutomationDirect document is the best I've seen on the subject.

I suggest that you have two N type files and map them both.  Use the N7Array (File 7) for PLC (Statuses) to HMI and then maybe N17Array (File 17) for HMI (Setpoints, collection of bits for operations) to PLC.  You can then either "alias" the tags in the PLC or write rungs of code to MOV or transfer the data from the NxArrays into and out of your normal tagging scheme.  In this way, you can ensure that neither the PLC nor the HMI are overwritting each others data. 

If you need reals consider F8Array and F18Array

Edited by pcmccartney1
1 person likes this

Share this post


Link to post
Share on other sites

Posted (edited)

He beat me to it. That is a really good summary from Automation Direct, better than I could throw together quickly. You do need to put the N7 array in the mapping table for this to work. The AD summary also makes it clear that you can call your array tag whatever you want. Instead of just "N7", you could call it "DataToHMI". I like the suggestion to segregate read/write data into different arrays.

You can then use aliasing or MOV/COP instructions to get word/int data from your existing tags. Binary data can use XIC-OTE code if they're not already in contiguous words.

Edited by Joe E.
1 person likes this

Share this post


Link to post
Share on other sites
1 hour ago, pcmccartney1 said:

Thor,

Interestingly, the AutomationDirect document is the best I've seen on the subject.

I suggest that you have two N type files and map them both.  Use the N7Array (File 7) for PLC (Statuses) to HMI and then maybe N17Array (File 17) for HMI (Setpoints, collection of bits for operations) to PLC.  You can then either "alias" the tags in the PLC or write rungs of code to MOV or transfer the data from the NxArrays into and out of your normal tagging scheme.  In this way, you can ensure that neither the PLC nor the HMI are overwritting each others data. 

If you need reals consider F8Array and F18Array

Thank you for this! Very much appreciated.

As I am not yet proficient in RSLogix 5000.... do I need to insert a JSR instruction in the Main Routine to execute my IO Mapping Routine? Or will it scan all routines? I didn't originally write this program. Just got stuck upgrading it and learning as I go. I am much better with RSLogix 500. Enjoying learning this software as well!

Share this post


Link to post
Share on other sites

Hard to answer your question, as I don't know the structure of your program.  Personally, I have a Main routine who's only function is to JSR to the subroutines.  The each subroutine has an END instruction to return to the routine or subroutine that called it.  Short answer is yes, if you create a new subroutine, then you need to JSR to it.

Share this post


Link to post
Share on other sites
On ‎1‎/‎8‎/‎2019 at 11:51 AM, pcmccartney1 said:

Hard to answer your question, as I don't know the structure of your program.  Personally, I have a Main routine who's only function is to JSR to the subroutines.  The each subroutine has an END instruction to return to the routine or subroutine that called it.  Short answer is yes, if you create a new subroutine, then you need to JSR to it.

Thought I had this all figured out. Went on site and connected the panel to the PLC. Downloaded the software and I get two errors on the touchscreen.

Timeout error for system memory allocation.

Timeout error for downloading HOST1 data.

I'm at a loss. I don't completely understand what I am supposed to put in the fields for system memory allocation under setup. Can someone point me in the right direction? I'm under the gun to get this done like yesterday.

Another question. If I am using full duplex DF1 serial comm does the node number in the panel need to match the station number in the PLC?

9621_SCR_V2.IPP

system memory allocation.png

timeout.jpg

Share this post


Link to post
Share on other sites

I've never worked with Omron hardware before, so i don't know about the memory allocation error.

You'll need to verify the COM port settings (baud rate, parity, etc.) on both devices to make sure they're identical. I could be wrong, but I don't think the node/station number is relevant when using DF1 Full Duplex, but generally devices need to be at different nodes for communications to work. I've never had to set/change that number when connecting devices using DF1 Full Duplex, but I may have just gotten lucky.

 

Share this post


Link to post
Share on other sites

I just spoke with Omron tech support. System memory allocation is not critical for my setup. I am not utilizing any of the status bits or words in my PLC program.

The error I'm experiencing points to communications issue. The tech stated the node addresses should be the same but he didn't sound certain. I currently have them both set to 1. I will try making them different and the same. I've also been told its ideal to set them to 0. Well, the PLC was set at 1 when the software was initially developed by other parties.

Beyond serial config settings it could be my cable I had made. I'll be checking it and may end up making a new one myself.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0