MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About CanaanP

  • Rank

Contact Methods

  • Website URL http://

Profile Information

  • Gender Male
  • Location Missouri
  • Country United States

Recent Profile Visitors

2323 profile views
  1. How is logic stored in S7 PLCs?

    Excellent, thank you!
  2. 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!
  3. DB vs PLC Tags

    Thanks, this was quite helpful!
  4. 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
  5. 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
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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
  12. Thanks b_carlton, I didn't realize that was possible. Now I have a ton of values to re-enter!
  13. 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.
  14. 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?
  15. 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!