MrPLC Member
  • Content count

  • Joined

  • Last visited

Everything posted by CanaanP

  1. Not sure if there is a solution to this, but I would like to have a multilingual panelview project with a language switch button EN/ES. When user changes selected language, can I share that somehow with the PLC so that in logic I may know which language is chosen? I have searched global connections, etc but cannot find a place where this is possible? Any ideas would be appreciated. Thanks
  2. Does anyone know if there is a way to print information history as you can print alarm history? I have setup the program to monitor a DINT in the plc program, and based on that value will determine messages to display. Could it be possible to print, say the last 100 items of the history? I know for printing alarm history there is a specific print object to use, but I can't find anything that seems like it's intended for information messages.
  3. Multi language PV, selected language to PLC?

    Hema, I would recommend using the Excel Spreadsheet option when exporting/importing languages. The reason being is that you will see each language represented by its own column in the spreadsheet and each object in your project will be on its own row. You can easily scroll down through the objects, find the objects that need translating by reading the English (en-US) text, then enter the translated version into the Spanish column (es-ES). Re-import that file back into your project and you will be good to go. I have included a small example, which contains some items on an alarm screen. I hope it helps. Spanish Translation
  4. Multi language PV, selected language to PLC?

    Yes, I have this working and it is now a standard part of our systems. We use a standard language switch button on the Panelview, in the ME project we have both English and Spanish. I then setup a controller tag on the PLC called CurrentLanguage, which is DINT. I created the following expression in Global Connections section of the ME project to execute remote macro 1: (CurrentLanguage( ) = "en-US") AND ({[PLC]CurrentLanguage}<>0)OR(CurrentLanguage( ) = "es-ES") AND ({[PLC]CurrentLanguage}<>1)Macro 1 ties to the same PLC tag, {[PLC]CurrentLanguage} and the expression is simply: If CurrentLanguage()="en-US" then 0Else 1This way, whenever the Panelview language is switched, the controller tag is updated automatically. Value of 0 for English, 1 for Spanish. I used this as a mechanism to achieve my end goal, which was to allow a service tech or operator to change the text of any item in the HMI. Now all text labels are stored in the PLC, and using the CurrentLanguage tag in the PLC, I can set the visibility of which string to show, English or Spanish. I created an editing screen in which all string tags can be navigated and edited, thus displaying the desired text for any HMI element.
  5. Bridging the gap between PLC and Smartphone

    I was also going to suggest AdvancedHMI as gbradley did. I have worked with it quite a bit and loved it. The problem is that it yields a desktop application only. If it were able to be deployed as ASP.NET somehow that would be better. Having said that, I would advise a change in direction. AndrewG mentioned the arduino, that is probably going to work out better. You can check those out, as well as raspberry pi. That in conjunction with what's called Node RED can yield great results. Node Red is a java based server that can run on the raspberry pi and control outputs and inputs based messages from http, twitter, other inputs, etc. It is a flow diagram style interface and very easy to work with. All open source. There are relay boards and ADC boards on amazon for very cheap as well.
  6. Check out chapter 6 of the user manual for the embedded Ethernet adapter on the 525. The document name is 520com-um001_-en-e. Chapter 6 is about using explicit messaging with the 525. There are a lot of examples to follow for doing the reading or writing of individual or groups of parameters.
  7. Multi language PV, selected language to PLC?

    Thanks Arlen, I had actually just read that in the FactoryTalk ME user's guide. I setup a quick test with a macro button and it does work. I just need to figure out how to execute that macro when the language is changed. DERP, guess I should have read more thoroughly, remote macro does seem the best way - thanks again.
  8. Multi language PV, selected language to PLC?

    Thanks, I'm familiar with the standard multi-lingual setup in factorytalk projects, that's not what I'm asking though. I would like to let the PLC know which language is actually selected, that's all.
  9. Persistent array values in AOI?

    Thanks b_carlton, I didn't realize that was possible. Now I have a ton of values to re-enter!
  10. Hello, I would like to store an array of real values as a local tag inside an add on instruction in an RSLogix 5000 project. My problem is that I am working with pre-existing values for the array and I need to keep that information. I want to use a local tag so that the values remain hidden. I am performing a lookup in the AOI logic, and just need to pass the result out to the output value of the AOI. To get the values into my array, I added a parameter tag with usage set to In/Out so that I could access my controller scoped array that already had the values. I then performed a copy inside the AOI to populate the array in the local tags. I then removed the external reference to the controller scoped tag and exported the AOI to a new, clean project. The internal array was all 0's as I had feared. So my question to the forum is... is there a way to store values in an array and have that array maintain the values from project to project as the AOI is exported/imported, etc.? Thanks in advance to anyone who can help out.
  11. CLX Method to identify if program has changed?

    Ok, so if I'm looking at this correctly, I use SSV to set ChangesToDetect and set the flags I want to monitor. Then I use GSV to retrieve the AuditValue, which should change based on an event occurring that matches what flags I had set? I created a tag, ChangesToDetect, DINT[2] and set ChangesToDetect[0].1 to 1, as per table 4 this should monitor online edits. I created the tag AuditValue, DINT[2], and setup my SSV and GSV instructions. I performed an online edit, just added a rung with a contact and coil and accepted. My AuditValue never changed, so I am I looking at this all wrong?
  12. Hi, I'm trying to implement a method to where I could easily tell if the program currently in a processor matches my latest copy or not - without having to connect to find out. We typically use the new L24's in our projects, and I was thinking maybe there is a way for me to write a checksum value of the program to a tag, which can then be displayed on the HMI. Sort of like a "Hi, my version is ..." in the bottom corner of the screen. Does anyone think this is possible? I sure would appreciate any input available - thanks!
  13. Hello, I have seen in the Rockwell code samples library a sample that can write log files in csv format directly to a memory card in the PLC. Does anyone know of a way to read such a file? I would like to be able to have a series of values in a csv file that could be loaded into the CLX program, sort of saving a recipe into an array. If anyone could point me in the right direction that would be great. Thanks :)
  14. Hello, I am wanting to design a type of drop in AOI that can be used to disable a system within 30 days for example unless a proper code is entered into HMI. I have no problem doing this, but I figure the best way to verify a code entry is to just store a DINT value and say when entered code equals stored code, then system can run. Is there a way to prevent anyone from seeing the stored DINT value though? If not, all it would take is for someone to be able to go online with PLC and search tags to find the code. I don't necessarily want to prevent the entire program from being viewed, but just a tag or two. Is this possible?
  15. RSL5000 non-viewable/hidden tag?

    Excellent, thank you.
  16. RSL5000 non-viewable/hidden tag?

    I know how to add signature and disable modification, but how to password protect AOI?
  17. RSL5000 non-viewable/hidden tag?

    Yes, that is exactly right...
  18. First project using encoders, and I'm completely lost. I've got a Red Lion ZCH 0500C, which is a quadrature output rotary pulse generator. I thought the wiring for this would be simple, but I am unable to get any kind of signal in the HSC. I have been looking through the 1756-um007_-en-p document, but can't seem to find the answers I need.. The RedLion documentation states that the red wire is +VDC, black is common, white is channel A output, and green is channel B output. Ok, so I wire up red to +24, black to common. I have white hooked to terminal 14 on HSC card, and green hooked to terminal 8. I have my common jumped to terminal 30. I only see the OK lit up on the front of the card, everything else is dark. I think that's a bad sign. I also read in the Red Lion documentation that this is an NPN open collector transistor, with 30V max on high and 1V max on low @ 40mA. Incremental - two square waves in quadrature with channel A leading channel B for clockwise rotation. So, I pulled up document 37072 on the RA knowledge base which refers to pull up resistors. I am using a 24VDC power supply, so it says I need 3124 ohm resistor value. All I could find at the moment was 3.3k ohm resistors. I suppose that this could be part of my problem, but I am unsure of so many factors here that I don't know where to start... Anyway, I wired a resistor in parallel from my +24 to channel A input going to HSC card, and another resistor from +24 to channel B input. Now, in the PLC when I have the card configured as encoder x4 mode, I can only see a 1 or a 2 in the PresentValue tag of that input. As I turn the encoder shaft, the value changes from 1 to 2 and back, that is all. The shaft must be turned quite a bit to effect a change however, more than 3 complete revolutions as far as I can tell. This is the farthest I have gotten, as previously without the resistors there was no change in the PLC tags. It seems to me that the resistors have made an improvement, but obviously something is not right? Can someone please advise me on this issue? In case it matters, I intend to have these encoders measure distance - one will measure distance on a radial travel, which will be in total maybe 150 feet or more. The other will measure distance on the extension of a boom, which will be quite a bit less distance but accuracy to the inch would probably be all that I require.
  19. RedLion ZCH 0500C with 1756-HSC Problems

    Figured it out - A return and B return needed to be tied back to common. Working great now.
  20. Ultrasonic for aggregate material?

    Well I don't think the entire width would be necessary... this is a quarry style conveyor - not sure what the official term would be, but it dips in the middle because of the way the rollers are configured. The material will be centered on the belt. I don't think lasers would be appropriate in this case because of the dust. I have been looking at SIC sensors today. I used one on a job before that the customer supplied, and I ended up really liking it.
  21. I'm starting up a job for an automated radial tele-stacking conveyor. It's PLC driven, and the previous model used a paddle switch for detecting when material was on the conveyor. That broke immediately, and replacements have all broken. The customer wants to consider an ultrasonic sensor of some kind as an alternative. Can anyone recommend something that will look at a 36" wide conveyor belt and tell if there is material present or not? The material is crushed rock, like 1/2 inch base. Preferred option would have a contact that fires back to a digital input on PLC. Thanks
  22. SIN/COS Encoder issue - HELP!

    Well, that trend was taken after we removed the encoder from the first feed roller and built an arm that holds the encoder against the wood, which was located pretty close to the cutter head. There was a spring in the arm mechanism that allow the encoder to float with about 1/4 - 1/2 inch travel. The encoder is set to 960000 counts per aux rev, which the new roller we put on the encoder was a knurled 12" aluminum roller.
  23. Ok, here's my setup: L43 with sercos card, ethernet, 6in/4out combo card. Kinetix 2000 with a 842HR-SJDZ115FWYD (sin/cos encoder), and a MPAI-A3150EM32A (heavy duty electric cylinder). The encoder is mounted to a feed roller on a machine that will accept boards and cut radial arcs into them at specified intervals. The boards are used for stacking pipe. I'm using an MAPC instruction to control the movement of the actuator based on encoder feedback. This has worked great in the shop as I was testing the PLC equipment, without being mounted on the machine itself. This project is a retro-fit of sorts, and I am now on site with all equipment installed. My issue is that as I feed boards through, I never get two that look the same. This is exactly opposite of what PCAM is supposed to do. My only lead is that the slower I run the infeed, the more accurate the system is. At full speed, 60 feet/minute, the arcs are different from each other, they are spaced incorrectly, and no two boards that come out will even be the same. I could understand if it was wrong, but wrong in the same way each time... this is wrong, but randomly. Half of that speed was supposed to be used for boards that will require deeper cuts, so I tried that, but with the same cuts that I was using before, only 3/8" deep. At 30 feet/minute the results were a little better, but far from acceptable to the specifications requested. At 1/4 full speed, 15 feet/minute we got the best results, but still not quite acceptable. I am not sure that I have the proper settings entered for the encoder resolution and conversion constant... My feed roller that the encoder is mounted on has a circumference of 12.89" according to the customer. So I go to Calculate Position Parameters window in the encoder properties of the motion group. I enter in 12.89" for Position Unit Scaling, Per 1 Aux Rev. Then for Position Unit Unwind I enter 150", per 1 Unwind Cycle. When I hit calculate, I get a popup warning that says "Possible truncation error calculating position unwind. Allow Update?" I say yes and it plugs in a drive resolution of 902300, and a conversion constant of 70000. Position unwind is set to 8400000. Ok so to test to see if the measured value from the encoder is accurate, I devised this system: 1. With cutter head retracted and out of the way, I manually jog the feed roller to grab a new board. 2. I make a pencil mark on the side of the board against a piece of the machine frame. 3. I issue MRP command to set encoder to 0.0 4. I then manually jog feed roller again until about 6 or 7 feet of the board has entered the machine. 5. I then make a second mark on the board against the same piece of the machine frame. 6. I take note of the encoder value, then roll the board the rest of the way out. 7. Measure distance between marks on the board and compare to encoder value. Now, at my best trial, the difference was maybe an 1/8" off. But never twice in a row, even when leaving all settings intact. In other words, running a board through this test twice in a row will yield different values between the encoder and actual measurement, and yes - I made new marks the second time and made sure to use them, and not the first ones. I was told that if you are using 70000 as a conversion constant, you can multiply that by the value the encoder claims it traveled, then divide by what it actually traveled and that should be a good value to use as a new conversion constant. Well, I tried this many times, redoing my test after each change. The results were always the same. I may get very close on one run, within an 1/8", but if I run it again without changing anything, I may be 1" off. I contacted rockwell support and explained all of this. All I was told was, email me your project and I will take a look at it. Of course, it was about 4pm est at that time and I'm sure the guy was ready to leave or getting close. So I may not hear anything back until tomorrow afternoon at best. This issue is a deal breaker for this project. We cannot accurately cut arcs into a board repeatedly if our encoder reads different each time. I don't know what to do. Can anyone offer some ray of hope on this issue for me? PLEASE? Thanks for taking the time to read this :)
  24. SIN/COS Encoder issue - HELP!

    We had the machine here most of last week, and our vendor sent a motion guru to help us out... he set up this trend, and it shows a board going through with cuts being made. We have determined that the feed chains that tie all the rollers together is what is causing the encoder noise. You can literally count the spikes in this trend and they coincide with sprocket teeth on the feed system. The customer has picked the machine up, and on our recommendation is going to change to either a cog belt system or possibly individual motors on each roller, controlled by a single VFD. I will be headed back out there to Ohio once they have modified the machine and then we'll see what can be done on this project. Thanks everybody for the advice and for listening :) I'll post an update when there is one.
  25. SIN/COS Encoder issue - HELP!

    I setup a trend on the encoder actual velocity, with default sampling settings. Here is a screenshot I took of it: I don't know if this is normal or not, but as you can see there is a pretty big spike there, and that occurs randomly about once a second or more (average). Could this be my problem? I tried disconnecting the shield in the encoder cable on the Kinectix 2000 end, but it did not seem to change the trend, so I put it back. This speed is about 5 feet per minute.