kcox1980

MrPLC Member
  • Content count

    35
  • Joined

  • Last visited

Everything posted by kcox1980

  1. So I've been asked to trigger an alarm condition when we see a sudden deviation in some data. The numbers themselves don't really matter and are constantly changing. Management has asked me to take a running average of the data over a small period of time and compare it to either the most recent single data point or a smaller running average. I know I can do this by moving the data into a bunch of DINT tags and doing the math, but is there an instruction specifically designed for something like this? Seems like it would be a common thing so I'm hopeful. *Edit* Woops, forgot to mention this is an RSLogix5000 project.
  2. Sure, I'll give it a look.
  3. Looking at the description of the ALM instruction I don't know if this will work, though it might. It looks like the Rate of Change for an ALM instruction seems like it is based on a time reference. The example they gave uses a ROC of 2 degrees/second to trigger the alarm. I'm measuring the width of our material on the fly, and the alarm should trigger if we see if we see a sudden change of more than 1/2" off the running average. I was looking at the MAVE instruction too, would it work here?
  4. Is there a freeware platform out there that can run on a PC? I only need to monitor about 10-20 tags at the most from a Logix5000 processor.
  5. Our roll winder process uses a mathematical formula called the Pulley Calculation to measure the diameter of our rolls. If you know the speed and diameter of another roller, and the speed at which your spool is turning, you can calculate the diameter of the spool on the fly. We use it to trigger an alarm if the roll gets too big for our machine to handle and it works really well for that. I've also seen this same calculation in the code on our raw material unwinder which sounds like it works exactly like your spool but this was originally intended to be used for an auto-splice mechanism that never really worked so that chunk of code isn't really used for anything. Here's a link that explains the formula And a calculator that might help visualize the concept. The LR-T series all-purpose laser sensors manufactured by Keyence can also be used to measure roll diameter according to our local sales rep but I can't really vouch for that since we couldn't see a way to justify the cost instead of sticking with our existing method. 
  6. Thanks again man. I ran into a couple of snags but I was able to figure it all out. This method worked perfectly.
  7. I'm working on integrating a Keyence CV-X400 vision system controller in with our PLC, an Allen Bradley 1756-L62. I have the camera controller set up to recognize a character string and pass this information along to the PLC where I will make a comparison to verify that the data in the string is correct. The string is in the format of "XXX-Y-XXXX" most of the time but occasionally it is in the format "XXX-YY-XXXX" the "Y" characters are the only ones I care about for the sake of comparison as those are the only ones that change from day to day via manual user input. Attached is a screen cap of what I have right now, which works for the first format (The 56 currently stored in the tag represents an 8 in ASCII) but I don't know how I should go about programming for the second format. Basically what I'm doing right now is passing the entire string to the PLC, and then using a NEQ instruction on the 5th character over. This won't work when using the "YY" because in those cases I'll need to compare the 5th and 6th character. The CV-X by default send the characters individually though I can set it up to send 4 at a time. I'm not sure if that would help here though.
  8. This is definitely not something I would have thought of on my own. Thanks!
  9. I am currently acting as my plants' maintenance supervisor. As such, will be involved in conducting interviews to fill a Tech Level 2 position which requires a basic level of PLC knowledge and troubleshooting ability. While we don't require a formal test, I would like to ask a few technical questions to gauge the candidate's overall technical knowledge. The one PLC related question I came up with was this: "There is an error in the following logic, can you identify it and how would you fix it?" Then I would show them a printout of the logic(attached below) that I wrote specifically for this question. If they get stumped I will offer the hint "The problem is that the motor will not stop running, even when all operating conditions that should make it stop are met". My concern is with the difficulty level of the question. Since I came up with the problem the solution is obvious to me. I don't have anyone else in the plant to run this by because the existing crew are mostly old school mechanics with little to no electrical or PLC experience. I'm not so much concerned with the "correct" answer as I am with getting a feel for how they approach a problem. For example, it stumped on of our engineers who claims to know ladder logic programming but instead of admitting it he tried to BS his way through it saying that the logic didn't make any sense at all and there had to be another routine that I wasn't showing him. That is not the answer I am looking for. So what do you guys think? Is this an appropriate question to ask of someone who would be asked to troubleshoot logic from time to time or is it too much?    
  10. Interview Question

    That's one answer I'm looking for, probably the most obvious one. You could also say that there isn't any way to break the seal in circuit. Finally, you shouldn't have a seal in circuit on a latch instruction at all.  I'm kind of winging it here. Never been in a position to conduct an interview for a technician.
  11. New to PLC's

    We have a local community college that offers different types of training courses for the purpose of developing the skillset of employees that live in the state. This training is state funded so there is no cost to the attendee as long as they live and are employed in the state. The instructors they hire are all experienced experts in their respective fields. The guy that teaches the Allen Bradley courses, for example, was employed by Allen Bradley as a field tech and instructor for years. You might want to see if Ohio has something like that.  Echoing what the above poster said though, you have to really want to learn. I'm responsible for the training of our technical staff here where I work and I tell these guys all the time "if you don't use it, you lose it". PLC programming is not something you can take a class on and not touch it for 6 months then expect to be able to log on and troubleshoot or program. I suggest spending time with the programs and the machines. Go online with one and just watch it run. Try to correlate what you see on the screen with what you see the machine doing.  The best people in this field are not people who took a class and suddenly the skies opened and they knew everything they needed to know. You have to have a real interest in learning how a PLC does what it does.
  12. PanelView Question

    And after all that work it turns out there is a button to bring it out to the Config Menu. It isn't exactly hidden per se, but it is labeled as "PC Reboot", which is a little confusing since that machine has a PC inside it that runs another HMI for for a sonic welder in the same machine.    Thanks for the help anyway guys. This forum is pretty much my first stop when I get stumped on something AB related.
  13. I have a PanelView Plus 1000 Cat # 2711P-RDT10C of which I need to edit the project. However, the integrator did not do me the courtesy of including a "go to config" button anywhere in the project. I'm not sure what firmware version it's running but I did a little bit of research about how to get to the config screen and I know that the firmware is old enough that it doesn't have the little white box during boot up to force the HMI into the config mode. I found an article that said I would have to dismantle the HMI and remove the internal Compact Flash card in order to make changes. Is there any other option?
  14. My company recently purchased a copy of FactoryTalk View Studio ME v8.20 so that we can edit our HMI applications in house. I contacted the integrator to get the .apa files and he mentioned that when I edit a file and create a new runtime to be sure to compile it to "version 4", however the Studio version we have will only compile down to version 5.0. What do I need to do to bridge that gap? I've contacted AB support and they told me that the PanelView models we have can be flashed to version 5 but is that the best option? Are there any risks associated with flashing the PanelView? Would it be better to just downgrade our Studio version?
  15. You're off to a good start to learning PLC's. The fact that you're even a little concerned about doing things the right way and seeking help from outside sources puts you way ahead of the curve.
  16. I have a somewhat interesting problem. I have a tag that stores a value that represents the total number if linear feet ran off our line for an entire shift. This value is stored as a REAL data type on the Winder PLC where it is primarily needed. However, we also pass this information both to the main line's PLC and to a Historian database, both of which store the value as a 32 bit integer. Now here's where it gets interesting. Whenever the value of the REAL tag at the winder passes 32,768(which you may recognize as the maximum value of a 16 bit integer, I feel that has to be significant) the main PLC and the Historian database both show the value instantly double to 65,536 and then start counting backwards. There is no way possible for this machine to go backwards fyi. Again, keep in mind that on the Winder HMI it displays just fine, there is only an issue when it gets passed to one of the systems that stores it as a DINT.  So what is going on here? I assume it has something to do with the conversion from REAL to DINT, but how exactly?
  17. Converting REAL to DINT

    While I'm not aware of any NDA policies that would prevent me from doing so, I probably shouldn't post the entire code. I can provide some screen shots if there's something particular you're looking for though.
  18. Converting REAL to DINT

    Wouldn't it be easier to change the original tag to be a DINT? Assuming no other conflicts of course. I'll double check before changing it but I believe this tag is only being used to display the Winder totals. You've given an excellent explanation but I'm still not completely clear as to why it works up until the value crosses the 16 bit integer maximum value. Maybe just an odd quirk?
  19. The integrator is recommending that we downgrade Studio as opposed to flashing the firmware, however I'm leaning more towards the latter. The only thing giving me pause is that I have this vague memory going all the way back to my first PLC class in college that a firmware upgrade can run the risk of bricking the device if not done correctly, so I've always shied away from firmware upgrades. So if I were to start a firmware upgrade and something goes wrong, such as the power going out midway through or something like that, what's the worst case scenario here? 
  20. When using an ABS(absolute value) instruction, can I use the same tag for the source and destination or do they have to be entirely separate tags?  I assume they would need to be different but I thought it would be worth asking.
  21. ABS Instruction

    Haha it's funny you mention that about tag names. Mitsubishi doesn't use a tag system, only a non-descriptive address, so tags are fairly unfamiliar to me. That long tag you're referring to, Wdr_Len_Wheel_Laser_Diff, was actually one of the first ones I created a couple weeks after I started here(I was using it for something else). The other tag there, HMI_REALS was actually the most recent tag I've created. So you look at the difference there and I think that's a pretty good metaphor for my progression since I've been here. CLX isn't totally new to me, in college I had 2 semesters of Logix500, then about a year after I graduated I worked at an integrator that used 5000. The only thing I had to do there that was PLC related though was to download a pre-made project after I wired up the machines. I spent about a year and a half there and then I got a job in maintenance at a place that exclusively used Mitsubishi PLC's and there I had a lot of freedom to hook up a machine and watch the logic run. Eventually I got confident enough to start making changes and after 3 years or so I had grown to one of the top PLC guys we had there. So I feel like I know the fundamentals of how ladder logic works, but I'm still adapting my skill set over to the different platform.
  22. ABS Instruction

    I'm not at the level to be messing around with Structured Text. My main PLC background is with Mitsubishi and I've only been at this job for about 3 months so I'm basically self-taught as far as Allen Bradley is concerned at this point. I don't even have anyone to bounce ideas off of because I'm the only Process Technician we have which is why you'll see me here from time to time asking basic questions like this. I'm actually starting my Basic class next week though and I've got the Intermediate and Advanced classes all next month to get me caught up though.
  23. ABS Instruction

    We run rolls of a flat extruded rubber product. At our Winder machine we use two different devices to measure the length of our rolls, one is a laser pointed at the material and the other is a physical encoder wheel. The point of the logic I'm working with is to subtract the values from each device and use that result to set up a trigger point in case one of them starts to exhibit problems. So I wrote some logic to do the math and obviously I needed to be sure I have a positive number all the time. This is what I wound up doing: My thought was that maybe I could skip having to use that HMI_REALS[10] tag.
  24. ABS Instruction

    Yeah I knew with something like an ADD instruction like what you mentioned(X=X+1) would cause an infinite loop though presumably it would error out and not compile that in the first place, but since all the ABS instruction is doing is essentially just stripping off the negative symbol I don't see how(logically speaking) that would cause a problem.  But yeah I didn't want to experiment on a running process so that's why I asked first :)