Sign in to follow this  
Followers 0
jkrom

Data Storage?

9 posts in this topic

I am working on a new project (MicroLogix 1500 w/ Net-ENI and PView 600) in which I would like to store test data without (hopefully) having a PC permanently attached. The only way I can think to do this within the PLC is to create a seperate string address for each test and having a ton of ladder logic to move from the latest to the oldest - doesn't sound like fun. I am envisioning a seperate device that would just hold strings of data until such a time (weekly? monthly?) that a laptop can be plugged in to extract it. Does such a device exist? Hope the question is clear enough (this is my first post) - please ask if you're unclear. __________________

Share this post


Link to post
Share on other sites
Boy, sounds like you almost need a Compact Flash card, but it has to have a serial port on it, where you could dump serial strings from the PLC direct to say a compact flash card. I checked on google for a second, but couldn't find anything. They had Compact Flash adapters that you plug into a PDAs then it gives you a serial port, but you want the other way around. Interesting idea....

Share this post


Link to post
Share on other sites
Greetings jkrom, first of all ... welcome to the forum ... next ... why don't you tell us exactly what type of data you're trying to store? ... you mentioned "strings" but maybe integers or floating point would do instead? ... if it really HAS to be string data, how many characters are required for each record? ... also, how many data records do you need to store? ... if you'll give us these types of details, then maybe we can come up with some ideas that would help make it happen ... good idea: give specific examples of what the data looks like ... it's usually a lot easier to interpret an example than to decipher a description ... best regards, Ron PS Edit: you said: actually that operation (often called a "ratchet") generally only takes one COP (Copy) instruction ... here's a quick example of "ratcheting" ten integers ... notice that the "Source" address is GREATER THAN the "Destination" address ... Edited by Ron Beaufort

Share this post


Link to post
Share on other sites
Be advised that for the COP instruction, the SLC instruction help says "you can specify a maximum length of 128 words". So, since strings are 41 words long (and they take this much space no matter what the indicated length), the COP instruction becomes all but useless when dealing with strings. The most you could copy would be three strings, then you're done. You may be able to do it with indirect or indexed addressing, I'm not very familiar with ulogix.

Share this post


Link to post
Share on other sites
Allow me to clarify: When attempting to copy large numbers of strings the COP instruction becomes all but useless. It'll still work great for onesy-twosy operations, ie. copy string1 to string2.

Share this post


Link to post
Share on other sites
Sorry if I was a little too vague before, but this project is just in the design phase and most of the specifics are not yet known. I wanted to know, now, whether I would need to add a PC to the system (and add to the quoted budget accordingly - but I really want to avoid if possible). Anyway, here is what I can tell you. This will be an end-of-line full function tester for automotive seats. It will test various aspects of the completely built seat just before it is bagged and sent to the OEM (GM). Data that would need to be saved may include; BSN (String - usually around 12 characters) Component Serial # (String - usually less than 20 characters) Max current draw from each motor (Integer) Heater pad resistance (integer) Thermistor resistance (integer) Seat belt buckle mA (integer) Side Air Bag resistance (integer) plus a few other pass/fail indicators Normally, all of this data would be sent to the plant's host network at the end of each cycle and they would store it, so that it can be retrieved later in the event of a seat related end-customer complaint or safety law suit. This particular tester, however, is for a pre-production model and was originally supposed to be a complete stand-alone unit that would just print a pass/fail label from a Zebra printer. Last week, after design was well underway, they changed their mind and wanted to be able to log data in the tester itself for a short period of time - until they copy it into a laptop. I would envision needing to store 200 - 300 records for a week's worth of testing. I mentioned strings specifically in my original question only because I think that it would be easier to put all of the data together in one string and use an AWT to send it through the serial port (or possibly use a print only tag to send it from the PView). I came across some info on the "DLG" command in the MicroLogix 1500 last night, but I'm a little fuzzy on how it actually works - does anyone have any experience?

Share this post


Link to post
Share on other sites
I will explain how I would approach the problem with a ControlLogix as I haven't used MicroLogix, and you may be able to convert it if some of the functions aren't suitable. 1) Make a User Defined Type with the strings, ints and bools flags you need. 2) Make array of this type (200-300 long) and a two single instances of this type (Data_In and Data_out). 3) As the data comes in for your seat you write it to Data_In 4) Once complete for that seat you use a LIFO Load (LFL) to move into your array, and the next data goes into Data_In again. 5) When the HMI is connected get it set a data request bit 6) When data request bit is set use a LIFO Unload (LFU) to move the oldest data to Data_Out and clear the the data request bit in the PLC. 6) Once the HMI has read the single Data_Out get it set the data request in the PLC again. This way the PLC stores data while the HMI is not connect and retieves it when it is. If you dont have a HMI as such you could queue the data as specified, set up RSLinx-Excel DDE links to all the items in the array. Then you could just connect with the laptop copy from the DDE links and paste values to where you want to store it and clear all the data for next time. I am not sure if uLogix have UDT's, or LFL and LFU instructions that could operate on UDT's. Edited by b2barker

Share this post


Link to post
Share on other sites
Someone on another forum told me about the DataBridge from Acumen Products which sounds like exactly what I'm looking for. I'll let you guys know how it works once I try it.

Share this post


Link to post
Share on other sites
I heard Lear has a lot of networked lines. What about connecting your Micrologix via ethernet DDE and RX Linx Professional to a VBA file? If you already own RS Linx Pro then the only cost is the programming time. I've done this before with Omron but I would suggest linking to a custom VB program, not VBA for Excel. Not sure of the network capabilities of the Micrologix line. Edited by Rebuke

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0