{"id":14416,"date":"2022-11-19T11:40:11","date_gmt":"2022-11-19T11:40:11","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=14416"},"modified":"2022-11-19T11:40:16","modified_gmt":"2022-11-19T11:40:16","slug":"relocating-array-data-in-controllogix","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/","title":{"rendered":"Relocating Array Data in ControlLogix"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction to Relocating Array Data in ControlLogix<\/h2>\n\n\n\n<p>In this post, we&#8217;ll be Relocating Array Data in ControlLogix by one element.  For example, if we have a fault log, we might want to move all of the array data down one element.  Our newest data will be at element zero.  It&#8217;s important to realize that your scan time will jump if you need to relocate large arrays.<\/p><div id=\"bryce-3438623073\" 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>Basically, for this post, we&#8217;ll have an array of 200 elements.  I&#8217;ll demonstrate how to move all of this data down by one element.  Element 198 will go to element 199.  Element 197 will go to element 198, etc.  We will need to start at the last element, so we don&#8217;t overwrite valuable data as we go.  In this case, we will always overwrite the oldest data (element 199).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tags we need for Relocating Array Data in ControlLogix<\/h2>\n\n\n\n<p>In this case, I&#8217;ll have a FaultLog.  I&#8217;ve already populated the fault log with the value of the element number.  That way, we can see how our data is moving.  My FaultLog contains 200 elements.  If you have more than one dimension, then you just need to change your step size, and the amount of data you copy.  For example, if you have FaultLog [200,7], then your step size will be -7, and you will be copying 7 elements each loop.  For this example, though, we&#8217;ll keep it simple so we can concentrate on what is happening in our logic.<\/p>\n\n\n\n<p>I&#8217;ll also create some tags to act as our pointers for indirect addressing.  The Pointer tag runs the loop.  For clarification, I&#8217;m also creating PointerS, and PointerD.  This will represent the Source and Destination elements.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"554\" height=\"101\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-14.png\" alt=\"\" class=\"wp-image-14420 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-14.png 554w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-14-300x55.png 300w\" data-sizes=\"(max-width: 554px) 100vw, 554px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 554px; --smush-placeholder-aspect-ratio: 554\/101;\" \/><\/figure>\n\n\n\n<p>Here are some initial values of my fault log:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"360\" height=\"249\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-15.png\" alt=\"\" class=\"wp-image-14421 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-15.png 360w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-15-300x208.png 300w\" data-sizes=\"(max-width: 360px) 100vw, 360px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 360px; --smush-placeholder-aspect-ratio: 360\/249;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Create Your Subroutine<\/h2>\n\n\n\n<p>We&#8217;re going to create a subroutine to move the data.  Although this would be easier in structured text, not everyone has this functionality.  I&#8217;ll just use Ladder for this demonstration.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"367\" height=\"231\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-16.png\" alt=\"\" class=\"wp-image-14422 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-16.png 367w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-16-300x189.png 300w\" data-sizes=\"(max-width: 367px) 100vw, 367px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 367px; --smush-placeholder-aspect-ratio: 367\/231;\" \/><\/figure>\n\n\n\n<p>Do not add a JSR to this subroutine.   In the next section, we&#8217;ll be calling this routine with a FOR instruction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Add the FOR instruction to your Main Routine<\/h2>\n\n\n\n<p>At this point, we&#8217;ll add a FOR instruction to the MainRoutine.  We&#8217;ll want to put a condition on this, and an ONS instruction.  When our condition goes true, we don&#8217;t want to move the data every single scan.  You will need to create a tag for the OneShot instruction, which is BOOL.  The FOR instruction will execute 199 times each time the &#8220;Relocate&#8221; bit goes true.  The pointer will start off at 199, and execute the &#8220;Relocate&#8221; 199 times as well.  The first time, the pointer will start off at 199.  Since our Step size is -1, this value will decrement each time it calls the &#8220;Relocate&#8221; subroutine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"432\" height=\"218\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-18.png\" alt=\"\" class=\"wp-image-14426 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-18.png 432w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-18-300x151.png 300w\" data-sizes=\"(max-width: 432px) 100vw, 432px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 432px; --smush-placeholder-aspect-ratio: 432\/218;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Main Logic for Relocating Array Data in ControlLogix<\/h2>\n\n\n\n<p>At this point, we are ready to move the data.  We&#8217;ll go into the &#8220;Relocate&#8221; subroutine.  Recall that the Pointer tag will start off at 199, and decrement each time this routine executes.  We&#8217;ll use this pointer to determine our source and destination element.  The value of &#8220;Pointer&#8221; itself will be our destination element.  Pointer &#8211; 1 will be the element that we need to copy data from.  This will be our source.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"434\" height=\"326\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19.png\" alt=\"\" class=\"wp-image-14427 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19.png 434w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19-300x225.png 300w\" data-sizes=\"(max-width: 434px) 100vw, 434px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 434px; --smush-placeholder-aspect-ratio: 434\/326;\" \/><\/figure>\n\n\n\n<p>Remember, I could have used the value of pointer instead of PointerD, but I created the extra tag just for clarification within the COPy instruction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Test Your Work<\/h2>\n\n\n\n<p>Let&#8217;s toggle the &#8220;Relocate&#8221; Tag, and observe what happens within our array.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"356\" height=\"303\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-20.png\" alt=\"\" class=\"wp-image-14428 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-20.png 356w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-20-300x255.png 300w\" data-sizes=\"(max-width: 356px) 100vw, 356px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 356px; --smush-placeholder-aspect-ratio: 356\/303;\" \/><\/figure>\n\n\n\n<p>As you can see, all of our data moved down one element.  You can now log your latest data to element zero.  Let&#8217;s try it again<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"361\" height=\"310\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-21.png\" alt=\"\" class=\"wp-image-14429 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-21.png 361w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-21-300x258.png 300w\" data-sizes=\"(max-width: 361px) 100vw, 361px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 361px; --smush-placeholder-aspect-ratio: 361\/310;\" \/><\/figure>\n\n\n\n<p>Just keep in mind that we will loose any data at the bottom of our array, which is element 199.<\/p>\n\n\n\n<p>For more information, visit the <a href=\"https:\/\/bryceautomation.com\/index.php\/category\/controllogix\/\">ControlLogix Category Page!<\/a><\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-2476486089\" 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 Relocating Array Data in ControlLogix In this post, we&#8217;ll be Relocating Array Data in ControlLogix by one element. For example, if we have a fault log, we might want to move all of the array data down one element. Our newest data will be at element zero. It&#8217;s important to realize that your <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":14427,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[726,867,868],"class_list":{"0":"post-14416","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"tag-arrays","9":"tag-for","10":"tag-relocate","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>Relocating Array Data in ControlLogix with FOR - Bryce Automation<\/title>\n<meta name=\"description\" content=\"Relocating Array Data in ControlLogix using the Ladder Logic FOR instruction. We&#039;ll move all data down by one element.\" \/>\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\/2022\/11\/19\/relocating-array-data-in-controllogix\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Relocating Array Data in ControlLogix with FOR - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"Relocating Array Data in ControlLogix using the Ladder Logic FOR instruction. We&#039;ll move all data down by one element.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/\" \/>\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=\"2022-11-19T11:40:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-19T11:40:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19.png\" \/>\n\t<meta property=\"og:image:width\" content=\"434\" \/>\n\t<meta property=\"og:image:height\" content=\"326\" \/>\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\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"Relocating Array Data in ControlLogix\",\"datePublished\":\"2022-11-19T11:40:11+00:00\",\"dateModified\":\"2022-11-19T11:40:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/\"},\"wordCount\":645,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/image-19.png\",\"keywords\":[\"arrays\",\"FOR\",\"Relocate\"],\"articleSection\":[\"ControlLogix\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/\",\"name\":\"Relocating Array Data in ControlLogix with FOR - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/image-19.png\",\"datePublished\":\"2022-11-19T11:40:11+00:00\",\"dateModified\":\"2022-11-19T11:40:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"Relocating Array Data in ControlLogix using the Ladder Logic FOR instruction. We'll move all data down by one element.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/image-19.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/image-19.png\",\"width\":434,\"height\":326,\"caption\":\"Relocating Array Data in ControlLogix\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/11\\\/19\\\/relocating-array-data-in-controllogix\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Relocating Array Data in ControlLogix\"}]},{\"@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":"Relocating Array Data in ControlLogix with FOR - Bryce Automation","description":"Relocating Array Data in ControlLogix using the Ladder Logic FOR instruction. We'll move all data down by one element.","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\/2022\/11\/19\/relocating-array-data-in-controllogix\/","og_locale":"en_US","og_type":"article","og_title":"Relocating Array Data in ControlLogix with FOR - Bryce Automation","og_description":"Relocating Array Data in ControlLogix using the Ladder Logic FOR instruction. We'll move all data down by one element.","og_url":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2022-11-19T11:40:11+00:00","article_modified_time":"2022-11-19T11:40:16+00:00","og_image":[{"width":434,"height":326,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19.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\/2022\/11\/19\/relocating-array-data-in-controllogix\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"Relocating Array Data in ControlLogix","datePublished":"2022-11-19T11:40:11+00:00","dateModified":"2022-11-19T11:40:16+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/"},"wordCount":645,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19.png","keywords":["arrays","FOR","Relocate"],"articleSection":["ControlLogix"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/","url":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/","name":"Relocating Array Data in ControlLogix with FOR - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19.png","datePublished":"2022-11-19T11:40:11+00:00","dateModified":"2022-11-19T11:40:16+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"Relocating Array Data in ControlLogix using the Ladder Logic FOR instruction. We'll move all data down by one element.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/11\/image-19.png","width":434,"height":326,"caption":"Relocating Array Data in ControlLogix"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/11\/19\/relocating-array-data-in-controllogix\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"Relocating Array Data in ControlLogix"}]},{"@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\/14416","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=14416"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/14416\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/14427"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=14416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=14416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=14416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}