pumpkins

MrPLC Member
  • Content count

    7
  • Joined

  • Last visited

Community Reputation

0 Neutral

About pumpkins

  • Rank
    Newbie

Contact Methods

  • ICQ 0
  1. I used long descriptive tagnames on my first RSL5k project, but got fed up with all my rungs looping 3 times to fit in all the tagname lengths. A good abbreviation standard works a charm. And as already noted, these processors have heaps of memory - why not add the abbreviations to a set of working-bit rung comments at the start of the code? Regarding the Tag Editor defaulting to the top of the tag list when switching - keep in mind that when you double-click on "Controller Tags" in the project browser it actually closes your old tag editor and opens a new one. To switch back to your existing tag editor at the same tag you were looking at, use the Window menu. Or even easier - try the amazing Ctrl-Tab combo! Another nice shortcut - Ctrl-PageUp and Ctrl-PageDown which switches between the open routines. Personally, i think RSL5k takes a bit of getting used to but once you've used it a few times - wow. Just wait until you have to go back to a RSL5 or RSL500 project!!
  2. Working with UINTs - Why so hard?

    Yeah, I'd now like to know if you can turn that warning off - had a look but couldn't find it anywhere. I'm using a CS1G-CPU43H. Which means I can't use ADB or SBB as they're not available in this PLC.
  3. Working with UINTs - Why so hard?

    Thanks for the feedback - I have searched this site regarding the problem but didn't find anything specific relating to this. I have tried using the FIX and + instructions for UINTs, but the compiler gives me warnings such as: WARNING: Symbol XXX_XXX's data type (UINT) is not compatible with the data type (INT) for this instruction operand at rung 9 ( 8, 0 ). I take it warnings are just that - a warning but the compiler will still compile the code? The only way i can see of removing the warnings is either using a MOV after the FIX, or using temporary registers. If you can in fact use UINTs for any operand stated as INT and just have to put up with the warnings, then that's fine. In that case, should my code check that my UINT will convert directly to a INT (ie. in the range 0 to 32767)? Otherwise i may get any numbers greater than 32767 being treated as a negative in the calculation.
  4. Working with UINTs - Why so hard?

    I'm currently working on an application that uses UINT data exclusively. The reason for this is that the server/driver used to communicate to the SCADA package (Wonderware) natively accepts UINTs. All the SCADA addresses would require suffixes to be added to interpret them as signed integers, which is messy and confusing for maintenance. That's the reasoning - now the method. Why is it so hard to work with UINTs in CX-Programmer? Or am i missing a whole set of instructions? Fair enough that I had to do two instructions to convert a Float via Profibus to a UINT (FIX, then MOV). But is there an elegant way of adding two UINTs and putting the result in a UINT, without having to use a bunch of temporary registers? I really hope I'm missing something here - either that or I feel very sorry for anyone using Omron's on an Oil and Gas project...
  5. Not sure if you're aware of this, but there is a problem with using the find function in PLC-5s. If you search for the addresses B201:7/1 or B46:7/1, it will not find these within COP instructions. I.e. if there is a rung containing COP B201:0 to B46:0 with length of 8, searching for B201:7/1 will not pick this rung up. You may have to search for all COP instructions or for all references of "B201:" to fully check the program. If the RSView32 node is correct then i think what the others have said is the only possibility - there is some form of SCADA buffering being performed within the PLC code using a COPY or similar array-based instruction (pretty common practice for several reasons, including holding alarms on for a minimum period of time so SCADA can detect them).
  6. Not sure for the other versions, but i'm using Logix5000 rev 13 and it has a thing called "quick key" under Tools -> options -> Ladder Editor. Basically allows you to configure almost any key to any instruction (including branches etc). For example, once enabled i can just press "b" on the keyboard and a branch is created. Same for XIC, XIO, OTE and any other instruction. Very helpful once you memorize the keys. There are a finite number of fixed keys (about 33) you can assign instructions to, but there's plenty enough for your most common instructions. hope this helps your decision to try AB.
  7. I have an application that requires me to add a certain number of minutes to the current time and display this in a scada package. I'm using a ControlLogix 5000 processor programming with RSLogix 5000. Due to the fact that when adding these minutes the clock may tick over an hour or even a new day, my question is as follows: Is there any easy way to add the minutes (in microsecond format) to the base WallClockTime counter and convert that to the hours / minutes / seconds i require to display? I have written a structured text routine to add minutes to the current clock and check if a day or hour has ticked over, but i was wondering if anyone had a better way of doing it. Cheers.