{"id":10675,"date":"2022-03-16T22:46:15","date_gmt":"2022-03-16T22:46:15","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=10675"},"modified":"2022-03-16T22:46:17","modified_gmt":"2022-03-16T22:46:17","slug":"structured-text-counter-ctud","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/","title":{"rendered":"Structured Text Counter (CTUD)"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction to the Structured Text Counter (CTUD)<\/h3>\n\n\n\n<p>We use the CTUD in Structured Text, or in Function block to count up or down.  CTUD is the instruction for the Count Up\/Down Counter.  One instruction will work both ways.   Each time the CUEnable bit goes true, the counter increments.  On the other hand, when the CD bit goes true, the counter decrements.  The counter will count transitions.  You might use this to count parts or machine cycles.  Additionally, you might use the CTUD to track bit transitions in other parts of logic.  You would use it this way for troubleshooting.<\/p><div id=\"bryce-2552868415\" 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<h3 class=\"wp-block-heading\">Add your Tags<\/h3>\n\n\n\n<p>I&#8217;ll add two program tags.  We&#8217;ll use &#8220;MyTimer&#8221; to generate a pulse to test our counter.  This will have the counter data type.  Likewise, we&#8217;ll add &#8220;MyCounter&#8221;.  This will have the FBD_Counter data type.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"457\" height=\"129\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-134.png\" alt=\"\" class=\"wp-image-10676 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-134.png 457w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-134-300x85.png 300w\" data-sizes=\"(max-width: 457px) 100vw, 457px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 457px; --smush-placeholder-aspect-ratio: 457\/129;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Add a Structured Text Routine<\/h3>\n\n\n\n<p>I&#8217;m going to right-click on a program to add a subroutine.  I&#8217;ll name it &#8220;STXRoutine&#8221;.  Obviously, the type of this subroutine will be &#8220;Structured Text&#8221;.  Keep in mind that since this is a subroutine, we will need to add a JSR instruction into the Main Routine for the logic to execute.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Add a Timer in Logic<\/h3>\n\n\n\n<p>In order to test the CTUD&#8217;s operation, we will use a self-running timer.  Basically, this timer generates a pulse.  In reality though, you might use a limit switch or photo eye for the CTUD.  Before we begin,  let&#8217;s add the JSR instruction and our timer to the MainRoutine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"388\" height=\"169\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-135.png\" alt=\"\" class=\"wp-image-10677 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-135.png 388w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-135-300x131.png 300w\" data-sizes=\"(max-width: 388px) 100vw, 388px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 388px; --smush-placeholder-aspect-ratio: 388\/169;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Add your Counter<\/h3>\n\n\n\n<p>At this point, we are ready to add the counter to the subroutine.   If you do this online, you will need to start the routine edits.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-136.png\" alt=\"\" class=\"wp-image-10678 lazyload\" width=\"324\" height=\"106\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-136.png 324w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-136-300x98.png 300w\" data-sizes=\"(max-width: 324px) 100vw, 324px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 324px; --smush-placeholder-aspect-ratio: 324\/106;\" \/><\/figure>\n\n\n\n<p>Next, let&#8217;s take a look at our tag for the counter.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"362\" height=\"343\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-137.png\" alt=\"\" class=\"wp-image-10680 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-137.png 362w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-137-300x284.png 300w\" data-sizes=\"(max-width: 362px) 100vw, 362px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 362px; --smush-placeholder-aspect-ratio: 362\/343;\" \/><\/figure>\n\n\n\n<p>Whenever Enable is high, the instruction updates it&#8217;s outputs.  CUEnable and CDEnable will be our inputs to the instruction.  In other words, when CUEnable goes true, the accumulator increments.  By the same token when the CDEnable bit goes true, the instruction decrements.  PRE is our preset, and ACC is our accumulator.  When the Preset is at or above the accumulator, our DN (DONE) bit goes high.  Obviously, Reset will reset the counter back to zero.  CU and CD Bits indicate when the corresponding Enable bits are true.  OV is Overflow and UN is underflow.  EnableOut is high when the instruction produced a valid result.<\/p>\n\n\n\n<p>It&#8217;s important to realize that the overflow (OV) bit does not go true when the accumulator passes the preset.  The instruction will continue to count.  Keep in mind that the PRE and ACC are both of the DINT datatype.  For this reason, the maximum value for the counter is 2147483647.   That is to say, all bits are high except for the sign bit.  Once the counter crosses this number, it sets the OV bit.  At this point the number will go negative, and continue counting upward.<\/p>\n\n\n\n<p>On the other hand, if we go in the negative direction, and keep going past -2147483648 (and the OV is already clear), the counter will underflow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Add the logic for our Structured Text Counter (CTUD)<\/h3>\n\n\n\n<p>In brief, if we want the counter to count up, we need to turn on the CU Enable bit.  Let&#8217;s do this in our structured text routine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"431\" height=\"127\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-138.png\" alt=\"\" class=\"wp-image-10681 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-138.png 431w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-138-300x88.png 300w\" data-sizes=\"(max-width: 431px) 100vw, 431px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 431px; --smush-placeholder-aspect-ratio: 431\/127;\" \/><\/figure>\n\n\n\n<p>Notice that we needed to use a := (colon and equal) to assign a value to the CUEnable bit.  Equally important is that we end our commands with the simicolon ( ; ).<\/p>\n\n\n\n<p>Finally, we&#8217;ll finalize our edits, and watch the accumulator on the counter.  Click View | Watch to open the watch window.  This will display the value of our tags that are in this routine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"522\" height=\"400\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139.png\" alt=\"\" class=\"wp-image-10682 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139.png 522w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139-300x230.png 300w\" data-sizes=\"(max-width: 522px) 100vw, 522px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 522px; --smush-placeholder-aspect-ratio: 522\/400;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<p>In short, Structured Text Counters are very easy.  We simply have the CTUD instruction followed by it&#8217;s tag in parenthesis.  After that, we just set the CUEnable bit to count up, or the CDEnable bit to count down.  The Reset member will reset the counter back to zero.<\/p>\n\n\n\n<p>At this point, I would recommend checking out the post on the <a href=\"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/\">Structured Text Timer!<\/a><\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-3831324940\" 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 Structured Text Counter (CTUD) We use the CTUD in Structured Text, or in Function block to count up or down. CTUD is the instruction for the Count Up\/Down Counter. One instruction will work both ways. Each time the CUEnable bit goes true, the counter increments. On the other hand, when the CD <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":10682,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[223,433],"class_list":{"0":"post-10675","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"tag-counter","9":"tag-structured-text","10":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Structured Text Counter (CTUD) - Bryce Automation<\/title>\n<meta name=\"description\" content=\"Create tags and set up the logic for the Structured Text Counter (CTUD). We&#039;ll walk through an explanation of each member of the CTUD.\" \/>\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\/03\/16\/structured-text-counter-ctud\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Structured Text Counter (CTUD) - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"Create tags and set up the logic for the Structured Text Counter (CTUD). We&#039;ll walk through an explanation of each member of the CTUD.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/\" \/>\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-03-16T22:46:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-16T22:46:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139.png\" \/>\n\t<meta property=\"og:image:width\" content=\"522\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\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\\\/03\\\/16\\\/structured-text-counter-ctud\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"Structured Text Counter (CTUD)\",\"datePublished\":\"2022-03-16T22:46:15+00:00\",\"dateModified\":\"2022-03-16T22:46:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/\"},\"wordCount\":684,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/image-139.png\",\"keywords\":[\"counter\",\"structured text\"],\"articleSection\":[\"ControlLogix\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/\",\"name\":\"Structured Text Counter (CTUD) - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/image-139.png\",\"datePublished\":\"2022-03-16T22:46:15+00:00\",\"dateModified\":\"2022-03-16T22:46:17+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"Create tags and set up the logic for the Structured Text Counter (CTUD). We'll walk through an explanation of each member of the CTUD.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/image-139.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/image-139.png\",\"width\":522,\"height\":400,\"caption\":\"CTUD\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/03\\\/16\\\/structured-text-counter-ctud\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Structured Text Counter (CTUD)\"}]},{\"@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":"Structured Text Counter (CTUD) - Bryce Automation","description":"Create tags and set up the logic for the Structured Text Counter (CTUD). We'll walk through an explanation of each member of the CTUD.","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\/03\/16\/structured-text-counter-ctud\/","og_locale":"en_US","og_type":"article","og_title":"Structured Text Counter (CTUD) - Bryce Automation","og_description":"Create tags and set up the logic for the Structured Text Counter (CTUD). We'll walk through an explanation of each member of the CTUD.","og_url":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2022-03-16T22:46:15+00:00","article_modified_time":"2022-03-16T22:46:17+00:00","og_image":[{"width":522,"height":400,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139.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\/03\/16\/structured-text-counter-ctud\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"Structured Text Counter (CTUD)","datePublished":"2022-03-16T22:46:15+00:00","dateModified":"2022-03-16T22:46:17+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/"},"wordCount":684,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139.png","keywords":["counter","structured text"],"articleSection":["ControlLogix"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/","url":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/","name":"Structured Text Counter (CTUD) - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139.png","datePublished":"2022-03-16T22:46:15+00:00","dateModified":"2022-03-16T22:46:17+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"Create tags and set up the logic for the Structured Text Counter (CTUD). We'll walk through an explanation of each member of the CTUD.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/03\/image-139.png","width":522,"height":400,"caption":"CTUD"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/03\/16\/structured-text-counter-ctud\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"Structured Text Counter (CTUD)"}]},{"@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\/10675","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=10675"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/10675\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/10682"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=10675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=10675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=10675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}