CanaanP

MrPLC Member
  • Content count

    115
  • 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. How is logic stored in S7 PLCs?

    Excellent, thank you!
  3. How is logic stored in S7 PLCs?

    Hi, fairly new to Siemens platform but have been around PLCs in general for a long time. I have been told that some programming formats run more efficiently than others within the PLC (ie ST vs LAD). I find this contrary to what I thought I knew before. I was always led to believe that the different IEC 61131 formats were for the user's benefit, and that it's stored as machine code in the PLC (hence the need to compile?). Can anyone point me to a definitive source of documentation for this? Thanks in advance!
  4. DB vs PLC Tags

    Thanks, this was quite helpful!
  5. DB vs PLC Tags

    Hi, New to S7 but have a lot of experience with TIA Portal on HMI side from my automotive days. Now I'm working with Siemens PLC using TIA Portal v14 and 15 and struggling to understand the benefits of using DBs instead of traditional PLC tags. Can someone point me to a resource that's good for bring Allen Bradley guys over to the dark side of Siemens? Thanks
  6. 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.
  7. 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 Example.zip
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. Thanks b_carlton, I didn't realize that was possible. Now I have a ton of values to re-enter!
  14. 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.
  15. 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?
  16. 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!
  17. 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 :)
  18. 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?
  19. Excellent, thank you.
  20. I know how to add signature and disable modification, but how to password protect AOI?
  21. Yes, that is exactly right...
  22. 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.
  23. Figured it out - A return and B return needed to be tied back to common. Working great now.
  24. 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.
  25. 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