{"id":11889,"date":"2022-06-26T20:31:21","date_gmt":"2022-06-26T20:31:21","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=11889"},"modified":"2022-06-26T20:31:24","modified_gmt":"2022-06-26T20:31:24","slug":"working-with-controllogix-strings","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/","title":{"rendered":"Working with ControlLogix Strings"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction to Working with ControlLogix Strings<\/h3>\n\n\n\n<p>In this post, we&#8217;ll be Working with ControlLogix Strings.  String manipulation is becoming an important part of programming.  You can display strings directly to the operator on an HMI.  You might display machine status, and even troubleshooting information by manipulating strings.<\/p><div id=\"bryce-1917502326\" 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>In the past, memory was an important concern, and most of the string manipulation was on the HMI.  As memory becomes cheaper, and processors become more powerful, programmers are starting to use strings more frequently in the ControlLogix processor itself.<\/p>\n\n\n\n<p>Basically, the ControlLogix supports several commands for string manipulation.  First, we can find text in a string.  Additionally, we can insert characters into a string.  Another command allows us to add strings together.  Other commands allow us to extract parts of a string, and delete parts of a string.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Create Tags for Working with ControlLogix Strings<\/h3>\n\n\n\n<p>Before we begin, we&#8217;ll create some strings.  We&#8217;ll use these strings to demonstrate the ASCII manipulation instructions.  In this case, I&#8217;ll just add them to the program tags.  I&#8217;m adding the following tags.  We will have four String tags, Likewise, we&#8217;ll have two DINT tags.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"565\" height=\"207\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-17.png\" alt=\"\" class=\"wp-image-11905 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-17.png 565w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-17-300x110.png 300w\" data-sizes=\"(max-width: 565px) 100vw, 565px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 565px; --smush-placeholder-aspect-ratio: 565\/207;\" \/><\/figure>\n\n\n\n<p>Under &#8220;Monitor Tags&#8221;, I&#8217;m placing the following values into the tags:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"304\" height=\"184\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-18.png\" alt=\"\" class=\"wp-image-11906 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-18.png 304w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-18-300x182.png 300w\" data-sizes=\"(max-width: 304px) 100vw, 304px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 304px; --smush-placeholder-aspect-ratio: 304\/184;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">FIND Instruction<\/h3>\n\n\n\n<p>The first command we&#8217;ll test is the FIND command.   Occasionally, programmers use special characters to delineate parts of a string.  Additionally, if we read a string over ASCII, some special characters in the string might indicate the type of data it is.  For example, H followed by a number might indicate the type of data is humidity.  Likewise, T followed by a number might indicate the data is for temperature.  The find command allows us to search for these characters to determine the type of data the string contains.<\/p>\n\n\n\n<p>Let&#8217;s take a look ant an example using the strings and values from our tags.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"404\" height=\"288\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-19.png\" alt=\"\" class=\"wp-image-11907 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-19.png 404w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-19-300x214.png 300w\" data-sizes=\"(max-width: 404px) 100vw, 404px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 404px; --smush-placeholder-aspect-ratio: 404\/288;\" \/><\/figure>\n\n\n\n<p>As you can see, MyThirdString contains the value &#8220;THREE&#8221;.  Keep in mind that strings are case sensitive.  In the search field, we are searching to see if the string contains the characters &#8220;EE&#8221;.  We&#8217;ll start on the first character.  This is position 1.  When the FIND instruction executes, it finds the characters &#8220;EE&#8221; in our source string.  Obviously, these characters begin at position #4.  Basically, if the result is a non-zero value, we know the string contains the characters we are searching for.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">INSERT Instruction<\/h3>\n\n\n\n<p>Occasionally, we may want to insert one string into another string at a particular location.  We might do this to display alarms or machine status.  This allows us to manipulate text on the fly that the operator will see.  In this case, we&#8217;ll do a simple demonstration of this command.  We&#8217;ll insert MySecondString into MyFirstString at position four.  We store the result to &#8220;MyThirdString&#8221;.  As you can see, the result is &#8220;ONETWO&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"406\" height=\"288\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-20.png\" alt=\"\" class=\"wp-image-11909 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-20.png 406w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-20-300x213.png 300w\" data-sizes=\"(max-width: 406px) 100vw, 406px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 406px; --smush-placeholder-aspect-ratio: 406\/288;\" \/><\/figure>\n\n\n\n<p>Since MyThirdString is different now, we no longer have &#8220;EE&#8221; in MyThirdString.  As a result, the FIND statement returned a 0.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"400\" height=\"290\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21.png\" alt=\"\" class=\"wp-image-11910 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21.png 400w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21-300x218.png 300w\" data-sizes=\"(max-width: 400px) 100vw, 400px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 400px; --smush-placeholder-aspect-ratio: 400\/290;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">CONCAT Instruction<\/h3>\n\n\n\n<p>The CONCAT Instructionis similarly to the INSERT instruction.  The difference is that it simply adds a string to the end of another string.  Basically, this is regardless of the length.  Keep in mind the maximum length of a string is 82 characters though.  In this case, we&#8217;ll simply add MySearchString to MyFirstString.  The result will be &#8220;ONEEE&#8221;.  Again, a practical application might be to add an alarm condition to another statement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"401\" height=\"294\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-22.png\" alt=\"\" class=\"wp-image-11912 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-22.png 401w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-22-300x220.png 300w\" data-sizes=\"(max-width: 401px) 100vw, 401px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 401px; --smush-placeholder-aspect-ratio: 401\/294;\" \/><\/figure>\n\n\n\n<p>At this point, our FIND result changed to position #3.  This is the first instance of the characters &#8220;EE&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"410\" height=\"286\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-23.png\" alt=\"\" class=\"wp-image-11913 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-23.png 410w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-23-300x209.png 300w\" data-sizes=\"(max-width: 410px) 100vw, 410px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 410px; --smush-placeholder-aspect-ratio: 410\/286;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">MID Instruction<\/h3>\n\n\n\n<p>Basically, the MID instruction allows us to extract a certain part of a string.  To use the MID instruction, we must know the starting position within the string.  Additionally, we must know how many characters we want to retrieve.  As you can see, I&#8217;m extracting the letter &#8220;N&#8221; from the text &#8220;ONE&#8221;.    Starting at position 2, we&#8217;re getting 1 character.  You might use this on known bar codes.  Certain parts of the bar code represent a certain property of a product.  For example, the first four characters might represent a line number.  The next four characters might represent a product code.  Using the MID instruction, we can extract the parts of the bar code that we need in logic.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"401\" height=\"291\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-24.png\" alt=\"\" class=\"wp-image-11914 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-24.png 401w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-24-300x218.png 300w\" data-sizes=\"(max-width: 401px) 100vw, 401px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 401px; --smush-placeholder-aspect-ratio: 401\/291;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">DELETE Instruction<\/h3>\n\n\n\n<p>Lastly, we have the DELETE Instruction.  This allows us to delete part of a string, and store the result to another string.  It does not manipulate the original string.  In this case, I&#8217;ve deleted the letter N from &#8220;ONE&#8221;.  The N is at position 2, and I&#8217;m deleting one character.  Again, an example of this would be for a bar code.  We might delete parts of a bar code, so the operator only has pertinent information.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"392\" height=\"290\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-25.png\" alt=\"\" class=\"wp-image-11915 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-25.png 392w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-25-300x222.png 300w\" data-sizes=\"(max-width: 392px) 100vw, 392px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 392px; --smush-placeholder-aspect-ratio: 392\/290;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Summary for Working with ControlLogix Strings<\/h3>\n\n\n\n<p>ASCII string manipulation is easy.  We just need to know the right commands to use for the right purpose.  Basically, we can insert, delete, and extract parts of a string with the ASCII Manipulation commands.  Just be careful not to manipulate any existing strings with important data.  Also, keep in mind, the maximum default length of a string is 82 characters.  Keep an eye on your processor memory.  ASCII Strings can use a lot of memory if you use the irresponsibly.<\/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>&#8211;Ricky Bryce<\/p>\n<div id=\"bryce-2552318005\" 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 Working with ControlLogix Strings In this post, we&#8217;ll be Working with ControlLogix Strings. String manipulation is becoming an important part of programming. You can display strings directly to the operator on an HMI. You might display machine status, and even troubleshooting information by manipulating strings. In the past, memory was an important concern, <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":11910,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[230,721,719],"class_list":{"0":"post-11889","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"tag-ascii","9":"tag-concat","10":"tag-strings","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>Working with ControlLogix Strings - Bryce Automation<\/title>\n<meta name=\"description\" content=\"Working with ControlLogix Strings by using the INSERT, DELETE, MID, CONCAT, and FIND instructions to manipulate string data.\" \/>\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\/06\/26\/working-with-controllogix-strings\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Working with ControlLogix Strings - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"Working with ControlLogix Strings by using the INSERT, DELETE, MID, CONCAT, and FIND instructions to manipulate string data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/\" \/>\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-06-26T20:31:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-26T20:31:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21.png\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"290\" \/>\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\\\/06\\\/26\\\/working-with-controllogix-strings\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"Working with ControlLogix Strings\",\"datePublished\":\"2022-06-26T20:31:21+00:00\",\"dateModified\":\"2022-06-26T20:31:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/\"},\"wordCount\":883,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/image-21.png\",\"keywords\":[\"ASCII\",\"CONCAT\",\"Strings\"],\"articleSection\":[\"ControlLogix\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/\",\"name\":\"Working with ControlLogix Strings - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/image-21.png\",\"datePublished\":\"2022-06-26T20:31:21+00:00\",\"dateModified\":\"2022-06-26T20:31:24+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"Working with ControlLogix Strings by using the INSERT, DELETE, MID, CONCAT, and FIND instructions to manipulate string data.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/image-21.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/image-21.png\",\"width\":400,\"height\":290,\"caption\":\"ControlLogix FIND Instruction\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/06\\\/26\\\/working-with-controllogix-strings\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Working with ControlLogix Strings\"}]},{\"@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":"Working with ControlLogix Strings - Bryce Automation","description":"Working with ControlLogix Strings by using the INSERT, DELETE, MID, CONCAT, and FIND instructions to manipulate string data.","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\/06\/26\/working-with-controllogix-strings\/","og_locale":"en_US","og_type":"article","og_title":"Working with ControlLogix Strings - Bryce Automation","og_description":"Working with ControlLogix Strings by using the INSERT, DELETE, MID, CONCAT, and FIND instructions to manipulate string data.","og_url":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2022-06-26T20:31:21+00:00","article_modified_time":"2022-06-26T20:31:24+00:00","og_image":[{"width":400,"height":290,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21.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\/06\/26\/working-with-controllogix-strings\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"Working with ControlLogix Strings","datePublished":"2022-06-26T20:31:21+00:00","dateModified":"2022-06-26T20:31:24+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/"},"wordCount":883,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21.png","keywords":["ASCII","CONCAT","Strings"],"articleSection":["ControlLogix"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/","url":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/","name":"Working with ControlLogix Strings - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21.png","datePublished":"2022-06-26T20:31:21+00:00","dateModified":"2022-06-26T20:31:24+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"Working with ControlLogix Strings by using the INSERT, DELETE, MID, CONCAT, and FIND instructions to manipulate string data.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/06\/image-21.png","width":400,"height":290,"caption":"ControlLogix FIND Instruction"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/06\/26\/working-with-controllogix-strings\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"Working with ControlLogix Strings"}]},{"@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\/11889","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=11889"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/11889\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/11910"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=11889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=11889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=11889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}