PLCMentor.com

MrPLC Member
  • Content count

    376
  • Joined

  • Last visited

Posts posted by PLCMentor.com


  1. There is no advantage to doing that.   I have seen it before and it screams poor programming practices.  Keep in mind that if you are using a PLC5 or SLC the outputs are not updated until the ladder scan is complete.  In your case, the last unlatch wins.  That can get very ugly.  If you move a rung in your program you can possibly break the program so be very careful with what you do in that program.  That said, I would be looking into the program to see how I could eliminate the OTU's if it were my program.  Keep in mind that depending on the program it could get very tricky. 

    1 person likes this

  2. I would think that even if the registers were different in the PLC5 versus SLC (ie swapped bytes or something), you would at least get a garbled number.  As I understand you are not getting anything.  That said, even though the cable he posted is wrong, he mentions getting online via RSLinx with autoconfig.  If he has been online with the PLC5 via his cable, then it should be correct. 


  3. Ideally you would have some sort of SCADA system that would log downtime events and be setup with scheduled runtime for your machine.  As has been mentioned, you are basically being asked to achieve a poor mans OEE.  As you mention, keeping track of machine run versus stop time is pretty easy.  Joe mentions using the system clock to avoid issues with powering down the controller.  You may also want to add an additional variable to be stored.  Possibly a daily expected runtime number that would allow you to calculate some basic OEE number that has some meaning.  Just logging up and downtimes doesn't let you know if the machine is operating outside its expected run periods (ie, planned downtime versus unplanned downtime). 


  4. Are you sure your communication parameters are correct.  It looks from your text that you are sure about the cable.  The periodic comm light flashing seems to me like a comm port that is trying to connect but not achieving a good connection.  Can you connect up a PC to this port and get online just to insure the cable and comm parameters are correct?


  5. If you are using the PLC5 you have to scale old school.  Since both of your ranges start at 0 (raw and scaled) then it makes things a little easier.  You can scale at the card level but you lose resolution.  Just use a compute block.  The raw input from an IFE defaults to 0-4095.  0 for 4 ma and 4095 for 20ma.  Hopefully you already have the data transfer from the IFE in the program or it gets a lot harder.  The data from the IFE transfers via a Block Transfer Read (BTR).  You should be able to go into the BTR setup and see the data address associated with your input.  It will be an integer data file such as N7:0.  You can use a compute block (CPT) to do the math.  You will divide your input by 4095 and multiply the result times 50 for your new scale (N7:0/4095*50).  Your destination should go to a floating point such as F8:0.  If your block transfers are not setup then you will probably need to spend some time with the books to get that one figured out. 


  6. Sounds like you are going in the right direction.  The flex is an older remote i/o system but it is solid and I prefer it over point I/O or remote racks.  If you use the AENT communication module then you can just drop it off of an ethernet I/P connection which is fairly straight forward.  In addition to the I/O modules, you will need compatible terminal bases such as the TB3.  Each I/O module will need to be evaluated for compatibility to the proper terminal module, but the I/O documentation is detailed about which modules pair with which terminal blocks.  I would stay away from the 32 point modules as the wiring is less straight forward.  The 16 point discrete modules and 8 point analog modules make wiring pretty intuitive.  You get 8 modules per drop so you will need to plan accordingly on that. 

    1 person likes this

  7. Yeah I guess part of the problem is that none of us can figure out why the logic you have shown would not do what you say you need.  If what you shown is not working then you need to take a another look at armadillo's post.  Maybe you have used the timer somewhere else in your logic? 

    In addition to the deadband you can also just latch in or better yet seal in your alarm output once it trips.  Reset it with an alarm acknowledge button or something.  Also your logic shown does not compare the float with 20 it compares with the value in N7:2 which is shown on your pic to be 0.


  8. So the timer does time, but the signal still bounces?  Are you saying that the signal will never be under 20% for 5 seconds due to noise or some other factor?  The logic you have shown should be timing given what you have in the pic.  Does it time if N7:0 is set to 20?  Have you tried as Armadillo mentioned jumpering around the leq instruction?  That would eliminate other issues as he mentioned if the timer starts timing.  If not then the problem is with duplicate timers or other issues he mentions.

    If your signal is jumping to the point that it will not stay below 20 for 5 seconds then you could use two different values for hysteresis.  Say go below 20 to start the timer and go above 25 for it to stop.  Or maybe something needs to be done to fix a noise problem?  I think we need more info on this.


  9. Kaiser,

    The problem I have with Rockwell's labs is that they are designed to get you in and out in an hour thus they hold your hand through the entire process.  I think that works ok for us experienced guys, but new programmers have to learn the struggle and work through creating a program without all the hand holding.  That't the biggest problem I have with all of the manufacturer's training programs.  They lead you through everything to make sure they can cover the material in the time allotted.  For me and you that's OK.  I know I am generally just looking for the new stuff that has come out when going through one of those labs.  New programmers end up being as lost at the end as they were in the beginning.  Having to program with a nudge or two is the only way I know for someone to actually learn to really program.  That's why we offer the mentoring approach.  I think most experienced programmers on here can point to at least one mentor that has helped us along the way. 

    1 person likes this

  10. You are welcome to checkout our PLCMentor site.  We have training in the ControlLogix with programming exercises.  We allow you to submit a number of programs for review which allows you to get expert advice on your progress.  We also have a good library arranged by instructions or topic so that it is easy to review an instruction or learn about a new instruction.  Our site was designed for guys like you that either can't get away for a week or do get to go for a 3-5 day training session and come back to all the stuff that piled up while gone.  Generally by the time that new knowledge gets a chance to be applied, half of it has leaked out!  Our training is all self paced and there is a weekly web class for our Stage 3 subscribers that is used as a question and answer session.  In that class you can bring programs from your facility to discuss or just ask for help with something you are programming or trying to figure out. 


  11. So I guess I'm missing how this is a solution.  If the 1500 comms lock up then how would using a PV to transfer the number help since the comms would be locked up to the PV also?  If necessary I think you could trigger a simple macro to transfer the value of one tag to another.  Tag1 on 1100  and Tag 2 on 1500. 

    Alternatively, as kaiser suggests, you may want to delve into your comms problem some more.  Do you have a managed switch on your network?  I have used eni's with 1500's in the past without communications drops.  Without a managed switch the eni may be getting flooded with unnecessary messages that such a switch would filter out.  I know that VFD's have a low tolerance for this and will just stop communicating.  The eni may be siimilar though I have not seen it personally. 


  12. 8 minutes ago, pcmccartney1 said:

    I still don't think I understand what you are trying to accomplish.

    What is the L19ER talking to or with and exchanging data?

    Where did you get the "Module-Defined" data types?  Even if you where using the "Module-Defined" datatypes, you would need to define the module in the I/O Configuration.  It would then reference the "Module-Defined" data type and create the tags in the database, rather than you simply adding the ENode_1 in the controller tags.

    Yeah I never could figure out what the purpose was behind this and never saw any real answers to the questions being asked so I just threw in the towel. 


  13. I think you are missing my request concerning what you want to achieve.  Are you trying to edit an existing EDS file from a device manufacturer to make it format the data in a different way?  Your EDS doesn't list a vendor.  Or are you trying to use an EDS for something entirely different?  I really don't get why you would be trying to make a custom EDS file for this.  It seems to me that what you want to do is achievable by some simple logic.  Maybe if you are worried about customer interface, making a simple AOI would be better suited.  Maybe someone else here gets what you are trying to achieve better than me.


  14. Adam, looks like you have been left hanging.  I would suggest Inductive Automation's Ignition for a SCADA to learn.  It seems to be gaining market share and is a very capable system.  It is also very different from WW so it would give you a feel for something different.  With HMI's I would recommend RedLion HMI's.  Great interface at good prices.  The best thing about learning for both of these is that the configuration software is available for free (2 hour limit on Ignition).  Inductive Automation also has a online University with free access to their training. 

    1 person likes this

  15. The processor was running in Remote-Run before the fault.  This allows swapping mode from the software and allows online programming changes.  Many programmers will leave the processor in Remote-Run if there is a secure environment.  I have never heard of a processor changing from Run to remote, but a major fault will always stop the program unless captured in some sort of fault routine.  As Mickey indicated, you will see this again if you have not resolved what caused the fault in the first place.


  16. You just so happened to grab an AB without a real time clock.  You should still be able to get an accurate 4 hour delay with a timer and a counter.  Just setup a 60 second timer and count 240 minutes.  Run your process - rinse and repeat.  I would suggest a minimum of the micro1100 for anything work related in the future.  Ethernet interface and RTC.