Filthy McNasty

MrPLC Member
  • Content count

    69
  • Joined

  • Last visited

Community Reputation

25 Excellent

About Filthy McNasty

  • Rank
    Sparky

Profile Information

  • Country United States
  1. Sequence Instructions question

    If you decide to use Sequencer instructions in one or more routines or embed them in an AOI, some tips... If you've worked with SQI and SQO before you know that after the Position value reaches the Length value (the last step) and the last step values are written to the Destination (through the mask)..... the next false-to-true rung transition in front of an SQO moves the bit values of Word 1 to the Destination word (through the mask.) In other words, the word 0 bits are not used again (except as laid out below). If you need to reset the sequencer instruction before it reaches the last step, be aware that how and when you reset it dictates the operation of the Destination. To wit: Scenario ---                   Reset Method                            True/False status of the rung the SQO is on at time of reset                               1.                                    RES instruction                                           False                                                              2.                                   RES instruction                                            True 3.                               CLR or MOV instruction                                  False                               setting the Position value to 0 (zero) 4.                               CLR or MOV instruction                                  True                               setting the Position value to 0 (zero) Outcome ------ 1. SQO Position is set to 0 (Step 0) but Destination value remains at value dictated by the value of the Stack word (based on Position value) that was last moved to the Destination. It will take a False-to-True rung transition on the SQO rung to move the SQO Position to Step 1. 2. SQO Position is set to 1 (Step 1) and Destination value changes to value in Stack for Word 1. Obviously a different outcome from Scenario 1.    The next False-to-True rung transition for the SQO rung will move the Position value to 2 and the Destination will reflect the Stack word value for Step 2. 3. SQO Position is set to 0 (Step 0) but Destination value remains at value dictated by the value of the Stack word that was last moved to the Destination. It will take a False-to-True rung transition on the SQO rung to move the SQO Position to Step 1. (Same outcome as Scenario 1.) 4. SQO Position is set to 0 (Step 1) AND Destination value changes to value in Stack for Word 0. Obviously a different outcome from all of the scenarios. This would be one way to get the SQO back to your "safe state" if you've used Position 0 in the Stack for that purpose. NOTE: This is nothing the other scenarios do. ------- If you're going to be using sequencer instructions much, I would recommend saving this Scenario list as Rockwell has never explained this well in the Logix5000, PLC-5, and SLC 500 software help files. Hope this helps.   ADDENDA: I would actually use logic external to the SQO to put the process in a "safe" state and use Position 0 (zero) for a "home" or "initialized" state.    
  2. After a power outage, Logix5561 lost the program?

    Go on line into the Controller properties to the Minor Faults tab and hit the 'Clear Minors' button. Also, if you have a new Power Supply like the existing one, swap them out to see if the problem happens again.
  3. Sequence Instructions question

    Are you using a PLC-5 or Logix5000 platform? Either one allows for indexing through mask values as the SQI transitions through steps If PLC-5------------- Use an N (integer) or B (binary) file to hold the different mask values. Using the the same R (Control)  element you used for the SQO instruction insures that both instructions are at the same step. You would need another integer stack to store the max. time limit for each step. Each member of the stack would also correspond to the position of the sequencer instructions. So in the end you might have something like this.... B10:0 - B10:15     (16 output positions where each B10 element has its 16 bits set or reset as you desire the outputs to be.) for the SQO File B11:0 - B11:15     (16 output positions where each B10 element has its 16 bits set or reset as you desire the mask to be.) for the SQI File N12:0 - N12:15  (16 time limit value positions where each N12 element has the max. time limit you want a particular step to be in) for the SQO File. You would need a MOV instruction to move the new time limit in your step timer at each step change. R6:5  The R (Control) address element used for the SQI and SQO instructions if you desire to keep them in lockstep at all time. If there are times or situations where such a thing is undesirable, you'll use different Control elements for each instruction and add logic to manage their .POS values as necessary. I've always been leery about using SQI & SQO instructions when somebody "thinks" there will never be a need to add steps in between...add additional outputs beyond the original number of outputs...allow an operator to change the mask values...etc.You need to make sure that whatever solution you use, there is relative ease for modifications down the road If Logix5000 ------- Substitute tags & tag arrays where elements and data files are mentioned above in the PLC-5 area. However...I would use UDTs for the operational/status membbrs of the sequencer... So my tags for the operation of the sequencer would look like (using a tag named 'MySEQ' in my example) MySEQ.Position MySEQ.Output MySEQ.Input MySEQ.Mask MySEQ.StepTimeLimit etc. If this is something I thought I would do at other locations/machines  or need to change with an HMI, I would create a sequencer AOI (Add-on Instruction). ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- A few things you didn't mention..... When the timer times out for a particular step, does the sequencer automatically advance to the next step? Or do the outputs for that step change to a "safe state" until the sequencer advances? What starts and stops the sequencer? Is there a desire to be able to put the sequencer in a "Hold" state manually? If so, how are the outputs controlled while in that step? This is another reason why I would use UDT's and possibly an AOI instruction. This would afford me access to monitoring .... MySEQ.Start MySEQ.Stop MySEQ.Reset MySEQ.Hold MySEQ.ClearOutputs MySEQ.Resume The AOI would be a lot more flexible than using SQI and SQO instructions as the core of the sequncer    
  4. Control Logix Memory Allocation

    Why respond to an almost 9-year old post?  
  5. I prefer MSG instructions because I can control the transfer enabling/time. In addition, I rarely use MSG Writes because people can get confused about why data is changing in a PAC if there isn't documentation to mention this fact.   Finally, Produce & Consume can get you in trouble. If PAC A is producing data and PAC B is consuming it but I decide later to produce an additional tag in PAC A for PAC B to consume and I make a mistake in trying to consume it in PAC B by misspelling the produced tag's name in PAC A while creating the consumed tag, not only will this new consumed tag fail, but so will the first consumed tag that was previously working.
  6. Configure a Logix5000 Message?

    I usually only map in a PAC if I'm going to be producing/consuming tags (which is rare) so use the numeric path but either way works.
  7. Be sure to use realistic update rates on the Consuming tag(s)
  8. Allen Bradley ACD File

    Based on that project file, the PDF file will be huge
  9. 5/03

    There may also be some configuration differences in the project file on the EEPROM so it changes the port configurations as it's loading the stored program.
  10. 6200 to RSLogix5

    All you will need to do is upload to get all of the current logic into the project file so it will be the latest & greatest. NOTE: You will not get any new/edited rung comments, address descriptions, instruction comments, symbols, and page titles that may have been added to the project after the older version you found... but it wouldn't take long to add the new documentation as you determine its use.
  11. New to PLC's

    I would recommend taking both classes as they are 2-day classes each and many distributor/Rockwell locations put them on in the same week. I would not recommend taking them out of order. Take CCP146   then CCP 151  nor would I split them up with a long period between each. CCP146 is for people that are new to PACs in general or are coming over from a different company's platform). There is also CD based RS Trainer. If you know the path you're heading ...be it Programmer...or Maintenance, you can take Rockwell classes specifically geared to one or the other. The 4-day Maintenance & Troubleshooting class would be good after spending time with the RSTrainer learning fundamental terms and ideas. The advantage of going to the class is getting immediate feedback from a demo workstation and an instructor to give that feedback.  
  12. Find password from .mer or .apa

    Is the Manufacturer of the Sterilizer, Primus by chance?
  13. Program could not compile!

    You're right. I'm not sure what Armadillo's KB article has to say on the matter, but for all of the time I've used the software...     When online, Verify checks for proper syntax, instruction placement, shorted output branches, non-addressed/incomplete instructions, etc. If errors exist, the rung marker remain as is (lower case). If no errors exist, the software acknowledges that fact BUT the edit(s) remain(s) in the RAM of the computer that the edit is being performed on. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- When online, Accept does a Verify (checks for proper syntax, instruction placement, shorted output branches, non-addressed/incomplete instructions etc.) If errors exist, the rung marker remain as is (lower case). If no errors exist, the software acknowledges that fact BUT the edit(s) are copied from the RAM of the computer that the edit is being performed on into the controller In addition, if the controller is in Program or Remote Program. The edit(s) are now a permanent part of the project file in the controller and nothing else is required. They won't be getting scanned though. If the controller is in Remote Run when there is a successful Accept of the edit(s), the edit(s) in the RAM of the computer performing the edit(s) are copied into the controller and the rungs affected by the edit(s) change to Upper case letters that are either "I" (if the rung is a new addition) or "I" & "R" (if the rung is an edit made to an existing rung.) At this point a Test of the edits is performed and if everything is successful, an Assemble is performed. The changes are then permanently part of the project file in the controller.   Later Edit: After having reviewed the Knowledgebase article that Armadillo referenced, I can see where the confusion lies. The term Verify is the culprit. If you use the Verify buttons at the top of the screen, they are Verifying the current ladder file or entire project file. I'm not sure why anyone would use either one while online but...different strokes. I use the Verify Project button when offline and about to download so I know if the project is correct. The Verify Rung option is selected in the context menu immediately to the left of the ladder rung. It can be used online or offline. (But as I referenced above, using it online is redundant as the Accept verifies AND transfers the changes to the controller.)  
  14. L32E On board temperature sensor

    But, of course!
  15. Program could not compile!

    Verify comes before Accept in the edit process.