Filthy McNasty

MrPLC Member
  • Content count

    77
  • Joined

  • Last visited

Everything posted by Filthy McNasty

  1. PLC Keyswitch Default Position

    Bob,   The company that I have been doing contract work in since 2011 adopted the policy to leave the keyswitch in the RUN position at all times unless online edits (or downloads) are to be performed. It's been in effect for about 2 years. I do remote support so I have to call the facility to have the operator/technician move the key to RemoteRun and then call them back when my work is finished. There is an Enterprise scanner (an -L83) that as one of it's responsibilities is to scan the network for all of the PACs (>250 of them) to report if the key is in any position other than RUN. When a PAC has had its mode changed, it is logged and if the key remains in a position other than RUN, that PAC is included in the next day's report which is then sent out to the manager of that location to advise them of the situation. 
  2. Você pode usar um evento na FTView para alterar o valor de uma marca de memória IHM que está vinculada a uma entrada numérica em uma tela que está sempre em segundo plano (ela precisa permanecer carregada na memória). O evento _Change na entrada numérica seria usado para executar seu script.
  3. That sounds like a great exercise for a PLC/PAC Programming course.
  4. Go into the I/O Configuration section and map in the existing I/O module(s). Be sure to identify the exact Rack, Group, and Slot number that the module is using and be sure to use the correct Control (Usually an 'N' file or 'BT' file address) and Data (Usually an "N' file though some newer analog cards allowed 'F' (floating point) file addresses) in the configuration. Once that is done, the Setup Screen should be available. Remember to identify the Control/Address files for both BTW/BTR for analog input modules and at least the BTW for analog output modules.
  5. The conversion tool has always been a "ball park" tool. Typically, a programmer has to determine the difference in time that it would take to rewrite the code from scratch vs. using the tools and then mopping up dozens...hundreds..perhaps thousands of PCE errors and dealing with the new "aliased I/O" and incomplete (due to controller differences) MSG, BTR/BTW, ans unsupported instructions ie., . the PLC-5/SLC500 have an SCL instruction that is not part of the native Logix5000 language set.   And has been previously mentioned, the conversion tool lacks the ability to leverage improved methods of doing things in the Logix5000 platform.
  6. As this logic is in a  SLC500, the I/O scan is synchronous. Ordinarily, the physical output would have to wait until the Program Scan is finished before the state of the output bit is transferred to the I/O module. In this case, the output is a bit is in the DeviceNet transfer block for the Mapped I/O scanlist. The data is still treated as physical I/O because it has to be transferred down the backplane to the DeviceNet Scanner in the chassis. The DeviceNet configuration in the scanner would dictate when its value is sent over the DeviceNet network. To the SLC500 controller, it is still seen (and treated) as physical I/O I agree with JJackson on the need to determine where N15:201 gets its value (including HMI, external Write messages, etc.) which leads to my agreeing with Michael Loyd in that on the surface, the top rung seems redundant....but there's always something lurking in the woods.
  7. I can vouch for RSLinx 3.81 doing that. Could have used this feature 4 years ago, 
  8. I use the MOD function on an irreducible fraction such as 1/773469. A true random number generator is next to impossible for a computer without reseeding it before every sample. I use arrays I've loaded with random numbers generated by random.org where they use atmospheric noise as a source.
  9. 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.    
  10. 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.
  11. 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    
  12. Control Logix Memory Allocation

    Why respond to an almost 9-year old post?  
  13. 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.
  14. 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.
  15. Be sure to use realistic update rates on the Consuming tag(s)
  16. Allen Bradley ACD File

    Based on that project file, the PDF file will be huge
  17. 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.
  18. 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.
  19. 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.  
  20. Find password from .mer or .apa

    Is the Manufacturer of the Sterilizer, Primus by chance?
  21. 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.)  
  22. L32E On board temperature sensor

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

    Verify comes before Accept in the edit process.
  24. L32E On board temperature sensor

    A 1 foot length of Type E or T thermocouple wire twisted at the end would suffice.
  25. Bit Shift Left BSL

    Not sure of the platform or software you're using but Version 21 of RSLogix5000 software has 2 examples in the help file.