{"id":8023,"date":"2021-08-23T13:26:07","date_gmt":"2021-08-23T13:26:07","guid":{"rendered":"http:\/\/bryceautomation.com\/?p=8023"},"modified":"2021-08-23T13:26:08","modified_gmt":"2021-08-23T13:26:08","slug":"controllogix-fifo-instructions","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/","title":{"rendered":"ControlLogix FIFO Instructions"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Introduction to ControlLogix FIFO Instructions<\/h4>\n\n\n\n<p>The ControlLogix FIFO Instructions are a buffer that allow you to take snapshots of data.    The processor stores this data into an array.   When we unload the register, the first piece if information will unload first.  The processor will send this data to the destination tag.<\/p><div id=\"bryce-2995118127\" 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>There are several uses for the FIFO instruction.  For example, the FIFO might store alarm codes into it&#8217;s array.  The operator can then scroll through the codes to see the order in which alarms came in.   Another use would be for averaging.  If you only have access to ladder logic, you can take snapshots of data at regular intervals.  Your logic could then average the FIFO buffer.<\/p>\n\n\n\n<p>We&#8217;ll cover two instructions in this post:  The FIFO Load (FFL), as well as the FIFO Unload (FFU).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Create the Tags<\/h4>\n\n\n\n<p>There are a few tags well create at this time.  We&#8217;ll need a FIFO buffer array to store the data.  We also need a tag to get data from, which is the source tag.  Another tag we need is the destination tag.  This is where the processor places the data it unloads.  Additionally, we need a control tag.  The Control tag is simply a workspace for the instruction to operate.  This tag keeps the status of the FIFO such as EM (Empty), EN (Enabled), Position, and length.  We&#8217;ll also create a couple tags that we can toggle to test the operation of our FIFO.  Normally, you might use a timer for this, or a request from the operator.<\/p>\n\n\n\n<p>In this case, I&#8217;ll just use time.second as my source.  I already have a GSV command in logic that gets our system time.  We will, however create the other tags we need for logic.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"582\" height=\"102\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-163.png\" alt=\"\" class=\"wp-image-8026 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-163.png 582w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-163-300x53.png 300w\" data-sizes=\"(max-width: 582px) 100vw, 582px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 582px; --smush-placeholder-aspect-ratio: 582\/102;\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Add the Logic<\/h4>\n\n\n\n<p>At this point, we&#8217;ll just add the logic to our MainRoutine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"359\" height=\"270\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-164.png\" alt=\"\" class=\"wp-image-8028 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-164.png 359w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-164-300x226.png 300w\" data-sizes=\"(max-width: 359px) 100vw, 359px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 359px; --smush-placeholder-aspect-ratio: 359\/270;\" \/><\/figure>\n\n\n\n<p>As you can see, when we toggle the FifoLoad bit, the current second will enter the FIFO Array.  Likewise, when we toggle the FifoUnload bit, the first data that was placed into the FIFO will be sent to the destination tag.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Operation of ControlLogix FIFO Instructions<\/h4>\n\n\n\n<p>Before we do anything at all, you will see the Empty (EM) bit is set.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"437\" height=\"279\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-165.png\" alt=\"\" class=\"wp-image-8061 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-165.png 437w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-165-300x192.png 300w\" data-sizes=\"(max-width: 437px) 100vw, 437px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 437px; --smush-placeholder-aspect-ratio: 437\/279;\" \/><\/figure>\n\n\n\n<p>At this point, I&#8217;ll toggle the FifoLoad bit.  The current second (which is 16) will load into element 0 of the FifoRegister.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"286\" height=\"78\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-166.png\" alt=\"\" class=\"wp-image-8062 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 286px; --smush-placeholder-aspect-ratio: 286\/78;\" \/><\/figure>\n\n\n\n<p>When I toggle the FifoLoad bit again, the current seconds (which is 42) will load into element 1.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"279\" height=\"105\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-167.png\" alt=\"\" class=\"wp-image-8063 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 279px; --smush-placeholder-aspect-ratio: 279\/105;\" \/><\/figure>\n\n\n\n<p>Each time we toggle the fifo load bit, the current value of time.second loads into the FIFO array.  At this point, I&#8217;ll toggle the FifoUnload bit.  You will see that the first value that we loaded is removed from the FifoRegister.  This value (16) will move into the FifoDestination.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"287\" height=\"198\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-168.png\" alt=\"\" class=\"wp-image-8064 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 287px; --smush-placeholder-aspect-ratio: 287\/198;\" \/><\/figure>\n\n\n\n<p>If I toggle the FifoUnload bit again, then the only value left, which is 42, moves to the destination.  At this point, the FifoRegister is empty once again.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"751\" height=\"333\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169.png\" alt=\"\" class=\"wp-image-8065 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169.png 751w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169-300x133.png 300w\" data-sizes=\"(max-width: 751px) 100vw, 751px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 751px; --smush-placeholder-aspect-ratio: 751\/333;\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Filling the FIFO<\/h4>\n\n\n\n<p>Let&#8217;s see what happens when I toggle the FifoLoad bit 10 times.  As you can see, our FIFO is full.  The processor sets the Done (DN) Bit.  At this point, toggling FifoLoad appears to have no effect.  We must unload some values by toggling the FifoUnload bit if we wish to store new data into this FIFO.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"763\" height=\"350\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-170.png\" alt=\"\" class=\"wp-image-8066 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-170.png 763w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-170-300x138.png 300w\" data-sizes=\"(max-width: 763px) 100vw, 763px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 763px; --smush-placeholder-aspect-ratio: 763\/350;\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Summary<\/h4>\n\n\n\n<p>In Summary, when we load a value into the FifoRegister, this value goes to the next position in the FIFO Array.  On the other hand, when we unload values, all the data shifts upward (toward zero) in the array.  The value that was in element 0 is sent to the Destination tag.  This is setup in the FFU instruction.<\/p>\n\n\n\n<p>For more information on ControlLogix, visit the <a href=\"https:\/\/bryceautomation.com\/index.php\/category\/controllogix\/\">category page!<\/a><\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-348772632\" 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 ControlLogix FIFO Instructions The ControlLogix FIFO Instructions are a buffer that allow you to take snapshots of data. The processor stores this data into an array. When we unload the register, the first piece if information will unload first. The processor will send this data to the destination tag. There are several uses <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":8065,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[150,151,389],"class_list":{"0":"post-8023","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"tag-ffl","9":"tag-ffu","10":"tag-fifo","11":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ControlLogix FIFO Instructions - Bryce Automation<\/title>\n<meta name=\"description\" content=\"How to use ControlLogix FIFO Instructions for creating a moving average, or to log a history of data for an operator to view on an HMI.\" \/>\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\/2021\/08\/23\/controllogix-fifo-instructions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ControlLogix FIFO Instructions - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"How to use ControlLogix FIFO Instructions for creating a moving average, or to log a history of data for an operator to view on an HMI.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/\" \/>\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=\"2021-08-23T13:26:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-23T13:26:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169.png\" \/>\n\t<meta property=\"og:image:width\" content=\"751\" \/>\n\t<meta property=\"og:image:height\" content=\"333\" \/>\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\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"ControlLogix FIFO Instructions\",\"datePublished\":\"2021-08-23T13:26:07+00:00\",\"dateModified\":\"2021-08-23T13:26:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/\"},\"wordCount\":621,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/image-169.png\",\"keywords\":[\"FFL\",\"FFU\",\"fifo\"],\"articleSection\":[\"ControlLogix\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/\",\"name\":\"ControlLogix FIFO Instructions - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/image-169.png\",\"datePublished\":\"2021-08-23T13:26:07+00:00\",\"dateModified\":\"2021-08-23T13:26:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"How to use ControlLogix FIFO Instructions for creating a moving average, or to log a history of data for an operator to view on an HMI.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/image-169.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/image-169.png\",\"width\":751,\"height\":333,\"caption\":\"FFLFFU\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/08\\\/23\\\/controllogix-fifo-instructions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ControlLogix FIFO Instructions\"}]},{\"@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":"ControlLogix FIFO Instructions - Bryce Automation","description":"How to use ControlLogix FIFO Instructions for creating a moving average, or to log a history of data for an operator to view on an HMI.","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\/2021\/08\/23\/controllogix-fifo-instructions\/","og_locale":"en_US","og_type":"article","og_title":"ControlLogix FIFO Instructions - Bryce Automation","og_description":"How to use ControlLogix FIFO Instructions for creating a moving average, or to log a history of data for an operator to view on an HMI.","og_url":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2021-08-23T13:26:07+00:00","article_modified_time":"2021-08-23T13:26:08+00:00","og_image":[{"width":751,"height":333,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169.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\/2021\/08\/23\/controllogix-fifo-instructions\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"ControlLogix FIFO Instructions","datePublished":"2021-08-23T13:26:07+00:00","dateModified":"2021-08-23T13:26:08+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/"},"wordCount":621,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169.png","keywords":["FFL","FFU","fifo"],"articleSection":["ControlLogix"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/","url":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/","name":"ControlLogix FIFO Instructions - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169.png","datePublished":"2021-08-23T13:26:07+00:00","dateModified":"2021-08-23T13:26:08+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"How to use ControlLogix FIFO Instructions for creating a moving average, or to log a history of data for an operator to view on an HMI.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/08\/image-169.png","width":751,"height":333,"caption":"FFLFFU"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/08\/23\/controllogix-fifo-instructions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"ControlLogix FIFO Instructions"}]},{"@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\/8023","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=8023"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/8023\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/8065"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=8023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=8023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=8023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}