PLCMentor.com

MrPLC Member
  • Content count

    317
  • Joined

  • Last visited

Posts posted by PLCMentor.com


  1. Yes those scan times can limit or knock you off of online programming.  Early on, I inadvertently changed my scan time at one of Rockwell's road shows to 1ms and completely locked myself out of the PLC.  Had to take the PLC to program mode to be able to get online and change it back.  The 3ms scan time is probably the one that is killing you as there is very little time in between for comms.  You may want to see if one of your routines might be better served by an event rather than fast scan times.  Rockwell does recommend using periodic tasks, but they do need to be setup with realistic scan times.


  2. Are you referring to the S2 file with the first scan bit, error bits and such?  If so there is not really a comparable group of data like that in the logix.  There are ways to get information that is similar in the logix.


  3. I have run across a Mitsubishi FX2N with a battery light on.  I have never worked with Mitsubishi before, but the manual describes changing the battery and indicates the controller must be powered down for the change.  You have to beat the clock and change the battery within 20 seconds.  Has anyone changed these batteries while powered?  Used to do that with PLC5's but I have never dealt with this processor before. 


  4. 4 hours ago, Nyame Ephraim said:

    Hello Sir thanks for the contribution. i need to understand the ladder logic diagrams first. looking at ladder 5 you will see real world outputs as indicated in the electrical diagrams. now looking at the inputs of the ladder diagrams they are made up of registers , in this situation how do i figure out the real time input. coz if you check the input data file, it show some inputs are ON but i cant figure their locations on the diagrams.

     

     

     

    Ok, a quick way to evaluate this is to go to your input data file and click on usage to see if any inputs are used.  Doing this I see 4 inputs used in the program.  I can right click on any of those inputs and select cross reference or find all and I will get information on exactly where in the program those inputs are located.  I find inputs in program files 6 and 8.  Keep in mind that the PanelView can also directly access such inputs so such inputs may be directly accessed by the PV screen.


  5. The COP instruction is the correct instruction for this.  You were on the right track with Array1[0] to Array2[0].  You just need to put in the number of elements to copy as the length.  You cant leave off the [0]  part as the starting location.  Array1 is not a valid location  - Array1[0] is.

    2 people like this

  6. So if that is the PLC program that they forwarded to you then that is unfortunate as it also does not have any descriptions in it.  I would again request they send you a copy of the program with descriptions.  If you get it, make sure you put it somewhere safe so that it will be available in the future.  In addition, I would ask them to send you a copy of the Panelview configuration or backup.  With that you can restore the existing HMI configuration to a new Panelview.  While panic is a little harsh, his primary points are valid.  I understand that your facility probably does not have experienced controls people that might have been aware that this was an issue.  Now that you do understand this, I would suggest you go through your plant and catalog other machines that may be lacking proper documentation.  Get ahead of the next problem by making sure there is a documented copy of each program and configuration files for all of the configured electronics in your facility.  On this system, if you cannot get a documented copy of the program, you at least have a copy of the drawings so documentation can be added.  Your fist step there is to go to each input and each output in your program and add the description shown in the electrical prints.  Nobody on this forum is going to do that for you.  They will answer questions and some may be willing to take care of it for a fee.  I would suggest locating a local integrator to help you work through this issue.  It sounds like you really need someone to look over your shoulder as you work through this.

    1 person likes this

  7. Ok I'm not really sure what the exact method Ron proposed way back when as it is no longer available.  In fact I'm kinda surprised that his posts all have "Guest" by them.  All of that aside, they do discuss something that I was going to suggest you try and it looks like one person has used it successfully in the PLC5.  Keep in mind that as we have mentioned earlier, all memory locations associated with OTE instructions will be reset upon power up or return from program mode.  The way you may get around this is to store all of your outputs in INT tags continuously in order to save their operating value.  Upon return from power up or run mode, you would use the first scan bit to copy from those storage registers into your output registers effectively restoring the output word values to your outputs.  Obviously this move instruction would need to be processed before any output instructions to work properly but otherwise it should work.  I've never tried this before and it sounds like a good way to get into trouble from a safety point of view.  You generally dont want things starting up from a power outage without some sort of operator intervention.  If you only have a few outputs that you need to do this with you could use a masked move to only enable the outputs you are interested in restoring on power up. 

    1 person likes this

  8. I'm not sure what you are looking for, but I see a program with absolutely no documentation.   That usually happens when someone uploads from the PLC without having an existing program file on the PC.  Until recently with the later Logix controllers, all documentation was stored in the program file created in the programming software.  Uploading without that will just give what you have shown.  I would suggest trying to find an existing program file on a PC.  If this was contracted out, you may be able to contact the integrator.  Most of us keep files from our previous projects.  Other than that, your only option is to go to (hopefully existing) drawings.  You will have to methodically go to each real world input/output and document their purpose.  From there you have to work backwards in the program determining what each register and bit does and documenting along the way.  I did notice real world outputs in ladder 5 and many of the N register bits are just buffer bits and directly activate those outputs.  Figure out one and you get the other!  Two for the price of one.  Unfortunately this is a long and drawn out process that could take days to complete.   In addition, without information on the real world I/O there is no way for anyone to really be able to help you figure out what does what.  Unfortunately you have a lot of work ahead of you!   I'm sure if you get stuck anyone on this forum would be happy to help.  The program looks to be fairly straight forward so you dont have to worry about complexity.  Could be a good learning experience.  I'm sure that's what you wanted to hear!


  9. Yes you can change the value of a data table item by placing your cursor on the value in a statement as you have shown and just changing the value.  As Armadillo points out, you should do a cross reference of that value to make sure it is not overwritten somewhere else.  Keep in mind that it may be overwritten conditionally and may not immediately overwrite the value you put there but may do so when required by other logic. 


  10. Yeah I'm not sure about that.  We have a custom AOI where I am using this so it would not be the same.  If you are using a Yaskawa AOI, then it should be documented in one of their manuals.  It should not care about the size of your drive or any about your motor characteristics.  That is all stuff that is configured in the drive.  You just care about start, stop, speed, faults, etc.


  11. What AB PLC are you using and what Yaskawa drive?  Third party drives are actually pretty easy to setup on the logix platforms also - you just need to use a generic ethernet module.  All the settings in the module are in the Yaskawa Ethernet I/P manual if you are interfacing with a compact or controllogix.  You will have to get out the manual to discover the best way to start/stop and control speed as well as how to get feedback information.  Attached is an example of the Ethernet module setup for the A1000.  Pay careful attention to the comm format data time.  Choose the wrong one and you will have problems.   Not that I have ever done that....

    Screen Shot 2018-12-14 at 9.39.36 PM.png


  12. Given the age of your system, I wouldn't be surprised if the power supply was already going.  They can die in weird ways and one of the things that can happen is that the PLC will drop the program.  Not real fond of the SLC power supplies as they can cause pain and suffering.  They don't seem to just die and that's it.  Every one I've dealt with caused weird problems such as program drops that went away when the power supply was changed.


  13. Sorry I have to respectfully disagree on this.  There is nothing that can be done with the OTU in the situation you mention that could not be done on the rung with the OTE. 


  14. I agree that are uses for the OTU with HMI and SCADA interfaces, but there would be no need for an OTE in such a case.  In addition there should be one OTU with all the conditions grouped on that rung.  That's why OTL/OTU's can be evil!  People place them all over the program and it ends up making one giant mess.  Unfortunately he probably has one of these programs that has evolved over the years with a little here and a little there programming and no attention to the program as a whole.  Nothing like the patched patch of a patch to make your day interesting.


  15. 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

  16. 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. 


  17. 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). 


  18. 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?


  19. 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. 


  20. Ack!  I guess I have been using micrologix controllers too much lately!  I did a quick check before my post but didn't realize that project was a micro.  Glad Mickey stepped up to cover my tracks!  (or any other appropriate word that might go there)


  21. Just go into the I/O configuration and click on advanced config for the module that is not there (or double click on it).  You will see a check box "ignore configuration error."  Check that box and you should be able to run your program without faults.