{"id":1884,"date":"2019-09-28T23:18:36","date_gmt":"2019-09-28T23:18:36","guid":{"rendered":"http:\/\/bryceautomation.com\/?p=1884"},"modified":"2020-11-26T09:30:51","modified_gmt":"2020-11-26T09:30:51","slug":"slc-500-fifo-find-moving-average","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/","title":{"rendered":"SLC-500 FIFO Find Moving Average"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction to the SLC-500 FIFO Find Moving Average<\/h3>\n\n\n\n<p>We&#8217;ll use the SLC 500 FIFO to find the Moving Average of a value.  The SLC-500 FIFO (First In &#8211; First Out) can be used to store data that needs to be retrieved later.  For example:  We can read a product code from 15 parts on a conveyor.   When part goes down the line, we can later retrieve the product codes in order.   This can also be used for displaying alarm history on an HMI, or to keep a moving average of an analog signal.  I&#8217;ll use the moving average example in this post.   This will explain how the FIFO instruction itself works.  This post just shows an example on how to set up the FIFO instructions.   You must change the way the logic is written to meet your own needs.<\/p><div id=\"bryce-1584458622\" class=\"bryce-afterfirst bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"7728240895\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n\n\n\n<p>We use the FIFO Load instruction (FFL) to put data into our Data File.  Think of this data file as a container.  We will use the FIFO Unload instruction (FFU) to pull out the oldest data.   I will use the Compute (CPT) instruction to calculate the moving average of our analog signal.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Write the Logic<\/h3>\n\n\n\n<p>First, we&#8217;ll create a self-running timer.   The preset on this timer will be the sample rate for our FIFO.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"566\" height=\"108\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/SampleRate.png\" alt=\"\" class=\"wp-image-1885 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/SampleRate.png 566w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/SampleRate-300x57.png 300w\" data-sizes=\"(max-width: 566px) 100vw, 566px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 566px; --smush-placeholder-aspect-ratio: 566\/108;\" \/><\/figure>\n\n\n\n<p>The analog data is coming in on N7:0, so we will write the FIFO instruction as follows in this example.   This loads a sample of the analog signal into the FIFO every second.  We created file N50 (Integer file) with a length of at least 15 elements.  We are using the next available control element of the R6 file.  I&#8217;m using the R6:0 element to keep track of the length, position, and other bits related to the FIFO Load (FFL).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"568\" height=\"119\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FFL.png\" alt=\"\" class=\"wp-image-1886 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FFL.png 568w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FFL-300x63.png 300w\" data-sizes=\"(max-width: 568px) 100vw, 568px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 568px; --smush-placeholder-aspect-ratio: 568\/119;\" \/><\/figure>\n\n\n\n<p>Next, let&#8217;s all all of the values together and divide by 15.  This will calculate the average.  I&#8217;m using a CPT instruction for this, so you can visibly see the math.  Notice the &#8220;divide by&#8221; symbol is a vertical pipeline &#8220;|&#8221;.  The answer will be placed into F8:0.   This will represent our running average.  In order to prevent the CPT from Calculating an incorrect value after the FIFO unloads, we&#8217;ll set the DN bit on the timer as a condition.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"572\" height=\"165\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2020\/11\/image-29.png\" alt=\"\" class=\"wp-image-3364 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2020\/11\/image-29.png 572w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2020\/11\/image-29-300x87.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2020\/11\/image-29-570x165.png 570w\" data-sizes=\"(max-width: 572px) 100vw, 572px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 572px; --smush-placeholder-aspect-ratio: 572\/165;\" \/><\/figure>\n\n\n\n<p>Likewise, I&#8217;ll set up the FIFO Unload (FFU) instruction using the same control element.  We&#8217;ll wait until the FFL has loaded 15 elements before unloading it.  Let&#8217;s use the DN bit of the control word for this.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"531\" height=\"129\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FFU-1.png\" alt=\"\" class=\"wp-image-1890 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FFU-1.png 531w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FFU-1-300x73.png 300w\" data-sizes=\"(max-width: 531px) 100vw, 531px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 531px; --smush-placeholder-aspect-ratio: 531\/129;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Reset all data<\/h3>\n\n\n\n<p>Finally, I&#8217;ll write some logic to reset the control element and clear the FIFO, so we can start it all over again.  In this case, you can toggle B3:0\/1, or the first pass of the processor scan (S:1\/15) will reset the data.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"559\" height=\"228\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/RESETFIFO.png\" alt=\"\" class=\"wp-image-1891 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/RESETFIFO.png 559w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/RESETFIFO-300x122.png 300w\" data-sizes=\"(max-width: 559px) 100vw, 559px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 559px; --smush-placeholder-aspect-ratio: 559\/228;\" \/><\/figure>\n\n\n\n<p>For more information on the SLC-500 processors, visit the <a href=\"https:\/\/bryceautomation.com\/index.php\/category\/slc500\/\">Category Page!<\/a><\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-3618959014\" class=\"bryce-after-content bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"4667596182\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Introduction to the SLC-500 FIFO Find Moving Average We&#8217;ll use the SLC 500 FIFO to find the Moving Average of a value. The SLC-500 FIFO (First In &#8211; First Out) can be used to store data that needs to be retrieved later. For example: We can read a product code from 15 parts on a <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":1893,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[130],"tags":[150,151,149],"class_list":{"0":"post-1884","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-slc500","8":"tag-ffl","9":"tag-ffu","10":"tag-slc-500-fifo","11":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>FIFO to find Moving Average in the SLC 500 -- BryceAutomation.com<\/title>\n<meta name=\"description\" content=\"We will use the FIFO instructions to find Moving Average in the SLC-500 processor This can also be applied to ControlLogix.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FIFO to find Moving Average in the SLC 500 -- BryceAutomation.com\" \/>\n<meta property=\"og:description\" content=\"We will use the FIFO instructions to find Moving Average in the SLC-500 processor This can also be applied to ControlLogix.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/\" \/>\n<meta property=\"og:site_name\" content=\"Bryce Automation\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ricky.bryce.7\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-28T23:18:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-11-26T09:30:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FIFOOverview.png\" \/>\n\t<meta property=\"og:image:width\" content=\"735\" \/>\n\t<meta property=\"og:image:height\" content=\"411\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ricky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"SLC-500 FIFO Find Moving Average\",\"datePublished\":\"2019-09-28T23:18:36+00:00\",\"dateModified\":\"2020-11-26T09:30:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/\"},\"wordCount\":479,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/FIFOOverview.png\",\"keywords\":[\"FFL\",\"FFU\",\"SLC-500 FIFO\"],\"articleSection\":[\"SLC500\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/\",\"name\":\"FIFO to find Moving Average in the SLC 500 -- BryceAutomation.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/FIFOOverview.png\",\"datePublished\":\"2019-09-28T23:18:36+00:00\",\"dateModified\":\"2020-11-26T09:30:51+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"We will use the FIFO instructions to find Moving Average in the SLC-500 processor This can also be applied to ControlLogix.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/FIFOOverview.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/FIFOOverview.png\",\"width\":735,\"height\":411,\"caption\":\"FIFO Overview\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/09\\\/28\\\/slc-500-fifo-find-moving-average\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SLC-500 FIFO Find Moving Average\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/\",\"name\":\"Bryce Automation\",\"description\":\"Automating Home and Industry...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bryceautomation.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\",\"name\":\"Ricky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"caption\":\"Ricky\"},\"sameAs\":[\"http:\\\/\\\/bryceautomation.com\",\"https:\\\/\\\/www.facebook.com\\\/ricky.bryce.7\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ricky-bryce-4367a416\\\/\"],\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/author\\\/ricky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FIFO to find Moving Average in the SLC 500 -- BryceAutomation.com","description":"We will use the FIFO instructions to find Moving Average in the SLC-500 processor This can also be applied to ControlLogix.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/","og_locale":"en_US","og_type":"article","og_title":"FIFO to find Moving Average in the SLC 500 -- BryceAutomation.com","og_description":"We will use the FIFO instructions to find Moving Average in the SLC-500 processor This can also be applied to ControlLogix.","og_url":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2019-09-28T23:18:36+00:00","article_modified_time":"2020-11-26T09:30:51+00:00","og_image":[{"width":735,"height":411,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FIFOOverview.png","type":"image\/png"}],"author":"Ricky","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"SLC-500 FIFO Find Moving Average","datePublished":"2019-09-28T23:18:36+00:00","dateModified":"2020-11-26T09:30:51+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/"},"wordCount":479,"commentCount":1,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FIFOOverview.png","keywords":["FFL","FFU","SLC-500 FIFO"],"articleSection":["SLC500"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/","url":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/","name":"FIFO to find Moving Average in the SLC 500 -- BryceAutomation.com","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FIFOOverview.png","datePublished":"2019-09-28T23:18:36+00:00","dateModified":"2020-11-26T09:30:51+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"We will use the FIFO instructions to find Moving Average in the SLC-500 processor This can also be applied to ControlLogix.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FIFOOverview.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/09\/FIFOOverview.png","width":735,"height":411,"caption":"FIFO Overview"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/09\/28\/slc-500-fifo-find-moving-average\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"SLC-500 FIFO Find Moving Average"}]},{"@type":"WebSite","@id":"https:\/\/bryceautomation.com\/#website","url":"https:\/\/bryceautomation.com\/","name":"Bryce Automation","description":"Automating Home and Industry...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bryceautomation.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7","name":"Ricky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","url":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","caption":"Ricky"},"sameAs":["http:\/\/bryceautomation.com","https:\/\/www.facebook.com\/ricky.bryce.7","https:\/\/www.linkedin.com\/in\/ricky-bryce-4367a416\/"],"url":"https:\/\/bryceautomation.com\/index.php\/author\/ricky\/"}]}},"_links":{"self":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/1884","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/comments?post=1884"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/1884\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/1893"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=1884"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=1884"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=1884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}