You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

---------->>>>>Get FREE PLC Programming Tips

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

PLC training tools sale

Reply
 
Thread Tools Display Modes
Old February 11th, 2018, 08:39 AM   #16
daba
Lifetime Supporting Member + Moderator
United Kingdom

daba is offline
 
daba's Avatar
 
Join Date: Jul 2004
Location: uk
Posts: 4,341
The RSLogix5000 Trend tool will allow 10mS timebase, but will only allow up to 8 tags per trend.

Two trends of 5 tags each ???
__________________
___________________________
ControlLogix & SLC Training
a-b train ltd.
abtrain@tiscali.co.uk
www.abtrain.co.uk
tel: 07506 73 9999
nil illegitimi carborundem


  Reply With Quote
Old February 11th, 2018, 08:42 AM   #17
daba
Lifetime Supporting Member + Moderator
United Kingdom

daba is offline
 
daba's Avatar
 
Join Date: Jul 2004
Location: uk
Posts: 4,341
Quote:
Originally Posted by Aardwizz View Post
The "PLC way" to disable code is to put a -|/|- contact on the rungs that you're interested in.
That doesn't "disable" the code at all, it will just make the rungs false (if the BOOL is TRUE), but the code will still be scanned, not the same as "disabling" it.
__________________
___________________________
ControlLogix & SLC Training
a-b train ltd.
abtrain@tiscali.co.uk
www.abtrain.co.uk
tel: 07506 73 9999
nil illegitimi carborundem


  Reply With Quote
Old February 12th, 2018, 10:34 PM   #18
skyfox
Member
United States

skyfox is offline
 
skyfox's Avatar
 
Join Date: Nov 2006
Location: CA
Posts: 178
Quote:
Originally Posted by daba View Post
Whoa !!

Hold on a minute.....

10 tags, sampled every 10mS isn't going to give you much recording time.

Say each tag was a DINT or a REAL, they are 32-bits, or 4 bytes each.

100 samples per second will therefore be 400 bytes per second.

400 bytes per second is 24,000 bytes per minute, or 1,440,000 bytes per hour.

But that is only 1 tag, you want to store 10 tags, so that would need 14,400,000 bytes per hour.

Your L43 Controller only has 2MB of memory, so clearly you are not going to be able to do this, even for 1 hour, let alone "... a few hours... ". A few minutes is all you are going to get, and that is with not much code and other tags in the controller. Also each data-point will need its own array tag, since the size limit of a single tag is 2MB.

You are going to need an external data capture/historian to achieve this.

Hi Daba,

I am doing this with a bit of trickery. I came upon the idea after looking at AB's code for logging data in to their CF and SD flash cards. However, I didn't like the idea of having to have the customer remove the Flash card from the CPU in order to get at the data. So I created a structured text routine (similar to AB example), that grabs Date, Time including milliseconds and data from 10 real tags and copying them to a string array which was sized to 1500 elements. Which gave me 15 seconds of data to work with and took 123K bytes of Memory from the CPU. (more on this a bit later). Each of the 10 Real tags holding data gets put thru an RTOS function in a structured text routine along with a string find instruction for locating the decimal place within the resulting string of each tag. Then I tell it to grab x number of digits after the decimal place. (This was done with a 10 element array of constants indicating the #of decimal places to grab for each data tag). I did it this way because all other methods yielded more than 1, 2, or 3 decimal places than what I needed. Then the final resulting string is copied to one element of my DataString[1500] element string array if the length of it is<= 82 bytes. If it was greater, data was simply ignored and a carriage return and a line feed was returned to that position of the array. Also, the sting is formatted so a comma is added between each field unless it is the last field where it gets carriage return and a line feed. So the data string is already CSV ready. Finally, the index variable that keeps track of the array position is incremented by one during each scan and when it reaches 1500, index is set to one again.

Grabbing the data.......

I created a custom HMI using VB Net and Automated Solutions Ascomm.Net control which allows you to communicate with AB and other PLC hardware with your .NET based applications. This thing is impressive. I can grab all 1500 elements of my string array from the Compactlogix and copy it to a single string in my VB application in less than 200ms and also dump it to a text file just as fast. However, I am pacing myself and only grabbing the data at 7.5 second intervals. In other words, PLC is telling my VB program via another tag that data is ready when my array index reaches 749 and at 1499 so I copy /append the data from this array (0 to 749 or 750 to 1499 elements) to a single string variable and allows it grow up to 100 KB in size before saving it to a text file. If the text file gets more than 2MB in size, a new one is created. If the customer stops the test in between the intervals of 749 and 1499, it just grabs the contents from 1 to stop time index or from 750 to stop time index and writes those values to the text file. Then finally, it changes the .TXT extension of the text file to .CSV extension. Now you can open up the data file in Excel and format the first column to date and the second column to time including milliseconds. The reason keeping the file in .TXT format until done was to allow the customer to open the file in a utility I wrote in VB along with a data grid control to view current data. If the file was in CSV format, I wouldn't have been able to do that and still allow the file to receive incoming data without other locking/unlocking mechanisms. So far, this has been working at my office without any issues for about a week now and it hasn't missed grabbing a line of data during that time.

Cheers

Last edited by skyfox; February 12th, 2018 at 10:38 PM.
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
Factorytalk Periodic Task Syntax jknott LIVE PLC Questions And Answers 11 December 10th, 2014 08:14 AM
Scaling Anlog Input Channel in a Periodic Task -L5K shiftedbits LIVE PLC Questions And Answers 6 August 24th, 2012 04:49 AM
PID Periodic Task & redundant system plcnovel LIVE PLC Questions And Answers 16 August 15th, 2007 10:30 AM
rslogic500 /controllogic 5500 mgomezov LIVE PLC Questions And Answers 23 June 14th, 2006 11:36 PM
Off the Wall Question just_lionel LIVE PLC Questions And Answers 6 June 6th, 2006 12:21 AM


All times are GMT -5. The time now is 12:08 AM.


.