G_DeMark

MrPLC Member
  • Content count

    67
  • Joined

  • Last visited

Community Reputation

1 Neutral

About G_DeMark

  • Rank
    Sparky

Profile Information

  • Gender Male
  • Location Waukesha Wisconsin
  • Country United States
  • Interests Automation, Sports, my Kids
  1. Tag Data Update

    Great example.  I really appreciate all of the help/feedback.  I will attempt to apply this lessons to my project soon.   Thanks again!
  2. Tag Data Update

    My current method is as follows: I created a UDT that has several members corresponding to the various part parameters.  Then I made an array consisting of these UDTs.  Next, I expand out each array element and enter the parameter values for each part.  When new parts/edits are needed I must access the PLC file, open the Tag editor and make the changes. I have heard about using recipes within the HMI but I have never used them.  Sounds like I need to research recipes as this may provide a better method for managing my part parameter data. Ultimately, I want to provide a better interface for the user so they can make basic edits without directly accessing the PLC.  In many cases the users either don't have the logix 5000 software or do not know how to use it. Some of my colleagues that use PC based programming (like VB or LabView) typically can just use some sort of text file that can be loaded to extract part parameters, so they have an advantage in that regard. I appreciate the good discussion.
  3. Tag Data Update

    1) Adding a tag from a .csv import seems like a reasonable option.  I will need to look into this option as it is completely new to me. 2) Any thoughts on if you can save tag edits after they are made from the HMI screen? Thanks for your reply.
  4. Tag Data Update

    Hello All, I have a PLC program (AB Logix 5000) where I have an array of my custom UDT.  My UDT contains all the parameters for the various parts that will be run at my station.  When a new part needs to be added I go into the tags table and fill in the new values.  This is easy for me.  However, my customer is not very PLC trained.  I am wondering if there is a way to streamline this process.  My first though was to setup some sort of Add/Edit screen using the Panel View HMI.  However, I fear that any changes made to Tags from the HMI at runtime would be lost after a power cycle.  I am not sure if there is a way to save tag values from the HMI screen. My second thought is to find some way to import Tag values from a CSV/excel file.   Perhaps even from a database using Ignition software down the road. Does anyone have any suggestions for this case? Thanks Figure 1 - Array of Part UDT.
  5. Dynamic String Size

    That is a really great way to handle it when you are using a handheld barcode reader.  I plan to use that method in the future. However, in my case I have an Cognex Insight (fixed scanner).  The AOP for Insight does not have a member for  TAG.ResultLength.  At least not that I can find. In the case of Insight I believe you have to pre-define the length of data that you will be sending out even if you do not end up using each reserved character.  This is why I need to analyze the read data to determine how many characters are valid (not null). Thanks        
  6. Dynamic String Size

    I have a Cognex Insight Camera that is reading a barcode and sending it to my PLC (Logix 5000).  I am using Cognex add on profile for communication.  I have the first 32 bits of the TAG:"camera.I.InspectionResults" designated for the read barcode.   I then copy this data into a local TAG "Read_String" for further processing. Typically the barcode is a fixed length of 24 characters.  In this case I adjust the length of my "Read_String" TAG to 24 and everything works fine.  If I set the length to more than 24 then I get Null characters included on the end of my "Read_String" which causes me issues later.  So I need to make certain to set the length correctly. Recently, my customer is starting to change the barcode length. I am wondering what my options are for a more dynamic method of determining the barcode length. I was going to experiment with an FSC instruction to find where the first null character is (Based on a previous tip I was given).  However, I am curious about using a SIZE instruction.  Would the size instruction tell me the length of all characters including the Null characters?  Or would it just give me the length of the string and not count the Null characters.  That would be nice. I would experiment with this myself but I do not have a access to PLC at the moment. Does anyone have a thought on this potential solution path. Thanks   Figure_1.pdf
  7. How to check for a Null value

    Perfect solution.  Thanks very much
  8. How to check for a Null value

    I am reading in a data matrix string from a Cognex camera.  On one occasion there was an error with the barcode (it was missing some data).  Does anyone know if there is a way to check for Null values.  For example, how would I check 'READ[1].DM_HSG.DATA[0]' to see if it is holding the null value ($00)?  I am using Logix 5000 version 30. Any ideas? Thanks  
  9. PV Language Switching

    I was able to get it work by changing my fonts to Arial Unicode MS.  Apparently some fonts work better than others for language switching.  Thanks
  10. PV Language Switching

    Hello All,   I am using the language switch functionality on my PV plus. Everything seems to be working on my laptop side.  However, when I transfer the program to the PV some of the text strings do not get translated.  They are translated correctly on my Laptop “test” view but something is different when the file is loaded on the actual hardware.  It seems like some of the Chinese characters are just changed to squares on the HMI view.   Please see the attached PDF and let me know if you have any ideas.   1st page is the English 2nd page is the Chinese as viewed from my laptop when running the display in test mode. 3rd page is the Chinese as viewed from the actual HMI screen.   Thanks very much hmi.pdf
  11. Preserving FIFO Data

    I have an application (Logix 5000) where I am using a FIFO instruction to load/unload an array of tags.  Essentially the array holds the last 100 part numbers run in the process.   My question is how do I preserve the FIFO data when I download periodic program changes. What I have noted is that if I make some program edits tonight and go to download the program tomorrow, I will overwrite the FIFO data that accumulated while I was making changes. I am sure there must be a better method.  Should I export/import the ladder routines rather that do a download?  What options do I have? Thanks much
  12. Interlaced MOV Instruction

    By the way guys, I am talking about Logix 5000, not 500.  Thanks
  13. Interlaced MOV Instruction

    I would prefer not to use a compare instruction because in my real application I am using a great many MOV and COP instructions and I would hate to couple a compare instruction with each of them.  That seems very inefficient if you are working in bulk.  However, I am interested to learn more about the CPS.  I will need to do some research as I am not clear on how that one works.  Thanks very much
  14. Interlaced MOV Instruction

    How can I ensure that the MOV instructions are complete before taking a follow up action.  Initially I was guessing that if I simply put an output energize (OTE) instruction after the MOV instructions I could just wait for the OTE to go high.  However, I do not believe that instruction is correct.  Could anyone comment on this assumption as well as offer a recommendation to achieve my objective.  Thanks  
  15. Panel View Plus 7 - Image Display

    Thanks much, I think that will do the trick!