G_DeMark

MrPLC Member
  • Content count

    69
  • Joined

  • Last visited

Everything posted by G_DeMark

  1. Hello All, Simple question I think.  What is the best way to take a DINT vale and convert it to a Real (floating point).  Here is what I did.  What do you think? is there a better way?  Thanks very much. In this application I am obtaining a resistance value from a meter via Modbus RTU (using a ProSoft module) and wanting to display the final value on the PV 1000.  
  2. I have an AB compact Logix controller that I need to communicate with a Laurel Digital Panel Meter (to measure resistance).  I am using software version 30.  The device communicates over ethernet using Modbus RTU.  I have no experience with Modbus.  I have been reading as much as possible to get up to speed.  I am looking for some help on how to get started.  I was thinking that I need to add/configure a generic communication module from the Logix software.  Not sure where to start.  I would appreciate any direction you could provide.
  3. I have a compact logix with a major fault. Please see my attached file for the complete fault message.  Code 20 array subscript too large. or control data type to large or invalid. Has anyone observed this issue before.  The PLC is a compact logix model.  Every time, the controller is switched from program to run the major fault occurs within 5 seconds.  The fault can be cleared but then it comes back in a few seconds.  I have been told by my tech that no program changes have been made.  Could there be a hardware/wiring issue? Thanks much Document_1234.pdf
  4. 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. 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!
  6. 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.
  7. 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.
  8. 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        
  9. 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
  10. I have an application where I would like to control a Cleco Torque control.  I simply need to send a Job selection, tool enable, and receive back a job pass/fail signal.  From what I have read so far it appears I need to install an Ethernet IP module into the Cleco controller (Anybus).  Cleco has EDS files available.  Does anyone have any experience in this regard?  I want to make sure I am headed in the correct direction.  Thanks I am using the following equipment:PLC:AB 5069-L306ER COMPACTLOGIX PLC.Studio 5000 version 30 software.CLECO:CLECO GLOBAL CONTROLLER      CLECO   1003-MPRO400GC-P
  11. I am using Studio 5000 V30 and  FT View ME Studio 9.0 to develop a solution for my current project.  For once I am ahead on the project and have already started developing the basic plc logic and panel view screens.  However, my hardware has just been ordered.  Therefore, I do not have the PLC or panel view in hand just yet. One of my HMI screens is a simple IO diagnostic screens with a several indicator objects that will show the "On" "Off" State of the IO.  I was hoping to link the indicators to the corresponding Tags I have created in the PLC program.  However, I can not seem to establish a connection between my PV software and my PLC offline tag file.  Naturally, without the hardware I can not expect to browse to the PLC in the communication tree.  So is there a way to expose the PLC Tags prior to having the PLC and PV hardware?  I did attempt to select the offline tag file as shown in my screen shot.  This did not seem to be sufficient.  Any suggestions would be appreciated. Thanks   Document1.pdf
  12. Perfect solution.  Thanks very much
  13. 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  
  14. 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
  15. 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
  16. 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
  17. 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  
  18. Interlaced MOV Instruction

    By the way guys, I am talking about Logix 5000, not 500.  Thanks
  19. 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
  20. In Logix 5000 you are allowed to put multiple output instructions in series.  I am curious how this works if you put two copy (COP) instructions in series at the end of a rung.  In this case will the first COP execute and finish before the second COP begins?  Or will they both execute in parallel?
  21. Thanks much, I think that will do the trick!
  22.   I am using a panel view plus 7 standard HMI (Factory Talk View studio 9).  In my application I would like to display an image (.jpeg) of the selected part.  In this case, I only have about 7 parts.  When the operator selects the part from a list I display the associated image.  However my method for doing this is not very elegant and I am hoping to find a better solution.  What I am doing is stacking all 7 part images on top of each other.  Then I am setting the animation --> visibility to 0 for all images except the selected image.  This method is working but a bit hard to work with and may get more difficult as additional parts are added.  Does anyone know of a better way to manage this application.  Thanks
  23. Cleco to PLC Communication

    Did you need to purchase the Anybus IP module?  (the module is about $626).  Or did you use a different method?  Thanks
  24. Major Fault

    Yes, you gentlemen were correct.  I increased the "MESSAGE_WORD_RESULTS" array to 32 elements and all is good.  Thanks very much for your help.  I would have had no idea without your help.
  25. FT View ME Studio 9.0

    Great suggestion.  Unfortunately, even after moving the .acd file to the local drive I could not see any of my TAGs.  Thanks