RSLogix 5000 UDT tags & C-More

sacsac

Member
Join Date
Jan 2008
Location
Mississippi
Posts
37
Apparently, the Automation Direct C-More HMIs do not support AB UDT type tags. I couldn't read or write with the UDT tags, while all other tag types worked. I kept getting a PLC-498 error on the HMI. I went into the system screen and viewed the error events. All of the errors were caused by UDT tags. I called Automation Direct tech support and the guy I spoke to didn't know what a User Defined was. That was not a good sign. I wound up mapping my UDT tags into internal tags just for the HMI to use. I guess you get what you pay for.
 
Actually they do support UDTs. I use them all the time. I 'think' they have supported them since they released the EIP Tag driver.

What exactly are you trying to read from the PLC into C-more?
 
I was using several UDT tags over ethernet. They were integers. I kept getting a PLC-498 error caused by the UDT tags. The objects with those tags were dead. I called AD tech support. We went around the world looking for a solution and never found one. I created a dummy project with no UDT tags and the error went away. I had the latest firmware and software from the AD website. What version were you using? Actually, one of the suggestions from the tech support guy was to downgrade to an earlier version, which I didn't have on site. With him suggesting that I figured that the version I had didn't support the UDT tags. And honestly, I thought he was just blowing smoke when he suggested the downgrade.
 
I have no experience with the c-more HMI, but your post had me inquisitive.

Did your UDT have INT or DINT data types?
How about your sample program?

This leading to the question if there was a type mismatch between the HMI and the PLC.
 
The UDT tags were mostly INT, some Float. The tags I wound up creating to work with the HMI were the same, just not UDT type.
 
Maybe you could post an example of one that didn't work.
I am using the latest version but have seen no problems with other versions either.
 
Temp_Zone <normal> UDT_Temp_Zone[9] Standard
Temp_Zone[0] UDT_Temp_Zone Standard
Temp_Zone[1] UDT_Temp_Zone Standard
Temp_Zone[1].Setpoint INT Standard Decimal Entered at HMI (50-400 degrees)
Temp_Zone[1].Actual INT Standard Decimal Thermocouple Input
Temp_Zone[1].Deviation INT Standard Decimal Difference between Actual and Setpoint

I copied these from my controller tags. The Setpoint, Actual, and Deviation were some of the ones that didn't work on the HMI. Plus, other UDT tags for my vfd amps, rpms, etc.
 
This is one of them in the HMI.

tag name: TEMP_ZONE[1].DEVIATION

PLC Address:
Memory type: INT, Address: Temp_Zone[1].Deviation
 
It looks like a problem in the tag database. If I open the tag to edit it, but then just hit apply-ok then it will work fine with the PLC. Additionally, taking a peek at the exported tag database shows that DINT and INT tags have a "DataCount" of 2, but my "edited" tags have been changed to a value of 1. Maybe that's a quick workaround that will work for you also?
 
I would try that if I hadn't already mapped my UDT tags to simple internal tags. Thanks for looking in to it.

Give me a Panelview Plus anyday. I guess I drink the AB kool-aid.
 
are your tags that use the UDT, defined as controller-level tags or program-level tags?
The program-level ones have to be preceded by the program name.
 
They are controller tags.

I have noticed something strange with this C-more screen. While pressing an increment/decrement button, any floating point tags on the screen other than the one being inc/dec'd stop updating until you release the button. It only happens with floating point tags, not integers.
 
I know this is an older thread but has anyone had anymore luck with this?

I can access UDT's as long as they are not an instance of an Add-on Instruction,

I have come from Siemens programming and so use AOI like a function block.

If I have to map every tag to another location it defeats the purpose a little.

Whats the difference between a UDT and an Instance of an Add-on Instruction?
or What is the difference between accessing the instance of my own AOI and accessing the instance of say a timer instruction, I can access the timer instruction.
 
I just used this thread to troubleshoot a C-more/ControlLogix problem and wanted to add my findings.

I stumbled across the solution because some of my add-on instructions were working and some were not. All ContolLogix tags have a property called external access including tags inside of an add-on instruction. If this property is set to 'none' external connections will not see the tag. The external access column is easy to spot in the normal tag database but inside add-on instructions you need to select the parameters tab and scroll all the way to the right to see the settings. The plc must be offline to make changes to the external access settings.
 

Similar Topics

Ok, I am having a tough time with an application and figuring out how the best way would be for me. So here is what I would like to accomplish: I...
Replies
28
Views
9,118
Greetings, I'm here in my home lab trying to acquire a working knowledge of UDT's. I've had to work with them in the past in large existing...
Replies
13
Views
10,078
Hi all, I'm designing UDTs for a RSlogix 5000 project and I would like your valuable comments about this topic. I have around 10 tanks to control...
Replies
6
Views
7,095
I am trying to clean up a project by creating a UDT that I will reuse, and while I was creating the UDT tags I got to a 2 dimensional array, and...
Replies
6
Views
7,284
Hi all, I'm working on my first RSLogix 5000 program. Thanks to the help of some of you guys I am taking advantage of the AOIs (add on...
Replies
14
Views
18,591
Back
Top Bottom