Changing UDTs Online Problem

Kalagaraz

Member
Join Date
Dec 2011
Location
Kentucky
Posts
24
Wondering if anyone else has run into this problem.

Processor: 1756-L73S GuardLogix

Following steps:
1. Create a UDT online that consists of BOOL, DINT, STRING.
2. Create a tag which is an array of those UDTs.
3. Delete the tag, so that nothing references the UDT
4. Change BOOL to DINT.
5. Recreate tag array
6. Watch processor behave funny including completely locking up and shutting off ethernet connections.

What happens is the RSLogix5000 program correctly sees the new UDT variable as a DINT, but the processor still treats it as a BOOL. You can verify this by looking at it in FactoryTalk view, shows datatype as a BOOL even though it's a DINT now. So if you try do to anything with the tag in program, it starts writing to memory outside the UDT and doing funky things.

I've not tried it on a non-safety processor so wondering if it has something to do with tag memory being stored in both redundant processors?
 
Try deleting the UDT and then re-create it.

Don't know why it would lock up an L7#.

Can you explain the bool array to dint array and how they are referred to in FactoryTalk?

TEST[0] BOOL = TEST[0].0 DINT but TEST[0] can equal 1 and still be "correct".
 
You've found a bug. You're not supposed to be able to edit UDT structure online.

I think after version 16 it's allowed so long as the UDT isn't being used (referenced) by anything.

Try deleting the UDT and then re-create it.

Don't know why it would lock up an L7#.

Can you explain the bool array to dint array and how they are referred to in FactoryTalk?

TEST[0] BOOL = TEST[0].0 DINT but TEST[0] can equal 1 and still be "correct".

I'm afraid to really do anything right now in fear of locking up processor on a running line which happened before when I was editting UDTs on this line. Literally locked up, shut down ethernet connections, and lost program.

What I had was this UDT:
SensorBypassList
- PB (BOOL)
- Enabled (DINT)
- Name ( STRING )

Then the tag SensorBypassList[10000]. Well in order to write the toggle logic easier, couldn't really loop through the BOOLs, I deleted the array tag, and changed UDT to this:

SensorBypassList
-PB ( DINT )
-Enabled ( DINT )
-Name ( String )

Then I just do a FSC on the PBs to find which ones are pressed and toggle the correct enable bit based on control.POS.

The first funny thing that happened was FactoryTalk was then whining about me doing (SensorBypassList[1].PB.0), when I right clicked PB in FactoryTalk view, it says the datatype is BOOL, which is incorrect, its a DINT now. RSLogix 5000 correctly shows it as a DINT, and doesn't give rung errors using it as so. However, I'm 99% confident if I try to write a number (SensorBypassList[9999].PB = 320000) that it will overrun the UDT and crash the processor as I've ran into this before.
 
Following steps:
1. Create a UDT online that consists of BOOL, DINT, STRING.
2. Create a tag which is an array of those UDTs.
3. Delete the tag, so that nothing references the UDT
4. Change BOOL to DINT.
5. Recreate tag array
6. Watch processor behave funny including completely locking up and shutting off ethernet connections.

Tried this with an -L61 rev 20, and did not see anything unusual with network or memory. However, I did not have any external communications such as FTView or OPC. RSL5K was connected via Ethernet.

In the past I have experienced problems with RS-Linx Classic not correctly dealing with tags via OPC that had been deleted and re-created as a different simple data type (probably related to cached data access). The external application continued to reference the original memory until RS-Linx had been shutdown and restarted. Sounds a bit different from what was described here.
 
If you can provide a reference that says you can edit UDT definitions online, I would be interested to read it. In my experience, the only way this works is to delete the tag, delete the UDT definition, recreate the UDT definition and recreate the tag. It's only one more step, and it works.

With FTView SE, you sometimes get your tag locked (even if it is not referenced anywhere in FTView) and you can't delete it. In that case, make a new one with a slightly different name and you can work it that way.
 
Tried this with an -L61 rev 20, and did not see anything unusual with network or memory. However, I did not have any external communications such as FTView or OPC. RSL5K was connected via Ethernet.

In the past I have experienced problems with RS-Linx Classic not correctly dealing with tags via OPC that had been deleted and re-created as a different simple data type (probably related to cached data access). The external application continued to reference the original memory until RS-Linx had been shutdown and restarted. Sounds a bit different from what was described here.

Give me a minute and I will see if I can reproduce and make it consistently crash on my test rack.

EDIT: Yeah could not reproduce on my test rack L72 version 20.13 (same as production line but L73).

Could be related to some funky stuff I've had to do with this processor before. Including exporting to L5K file, opening in wordpad, changing "SafetyLocked := Yes," to "SafetyLocked := No,". Force wiping processor. Reimporting and redownloading modified file to bypass safety password which no one had. Let's just chalk it up to user error :)

If you can provide a reference that says you can edit UDT definitions online, I would be interested to read it. In my experience, the only way this works is to delete the tag, delete the UDT definition, recreate the UDT definition and recreate the tag. It's only one more step, and it works.

With FTView SE, you sometimes get your tag locked (even if it is not referenced anywhere in FTView) and you can't delete it. In that case, make a new one with a slightly different name and you can work it that way.

Not sure on any reference. Just know it's been allowable since version 16 I think. Simply delete all references to that UDT and you can change it online.
 
Last edited:

Similar Topics

Hi to all. We need to change a bad powerFlex 525 to a new one. How do you save the configuration to install in the new one? Thank you all for...
Replies
5
Views
229
Hi all, I am having an issue where some of my HMI push Buttons and Indicators go in to error when I navigate to a new screen. I am using a...
Replies
16
Views
452
We have a new machine that uses an armor block to transfer input signals for conveyor position that continuously alarms out on no position change...
Replies
0
Views
87
Hello everyone, I am trying to change the IP address of the Omron PLC (NJ30-1200) and HMI (NB7W-TW01B) to fetch the network on our network...
Replies
7
Views
285
Dear Experts, I'm just started working with GEO SCADA and I need your valuable help. Currently, I'm trying to edit the alarm limits on MIMIC...
Replies
0
Views
208
Back
Top Bottom