{"id":10201,"date":"2022-02-21T17:35:44","date_gmt":"2022-02-21T17:35:44","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=10201"},"modified":"2022-02-21T17:35:46","modified_gmt":"2022-02-21T17:35:46","slug":"structured-text-timer","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/","title":{"rendered":"Structured Text Timer"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\" id=\"introduction-to-controllogix-structured-text-timer\">Introduction to ControlLogix Structured Text Timer<\/h3>\n\n\n\n<p>In this post, we&#8217;ll cover the ControlLogix Structured Text Timer.  ControlLogix supports 4 programming languages:  Ladder, Structured Text, Function Blocks, and Sequential Flow Charts.  Some vendors prefer structured text over ladder.  One reason for this is that they can develop the program without a license for Studio 5000.   They might simply write the logic in a text editor.  After that, they will paste it into the ControlLogix project.<\/p><div id=\"bryce-1099394931\" 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>The Structured text timer works similar to other timers.  In this case, we&#8217;ll cover the on-delay with reset (TONR).   <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tonr-operation\">TONR Operation<\/h3>\n\n\n\n<p>Basically, the TONR works a lot like the TON instruction.  We enable the timer.  Once the accumulator reaches the preset, the done (DN) bit goes high.  When the enable bit goes low, the timer resets.   Another way to reset the timer is with it&#8217;s reset bit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"create-a-structrued-text-routine\">Create a Structrued Text Routine<\/h3>\n\n\n\n<p>Basically, I&#8217;ve just created a new subroutine called &#8220;Example&#8221;.   The type of routine is structured text.   As you can see, I created this example in it&#8217;s own task.  Don&#8217;t forget to add a JSR to the main routine.  This allows the Example routine to execute.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"185\" height=\"92\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-13.png\" alt=\"\" class=\"wp-image-10202 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 185px; --smush-placeholder-aspect-ratio: 185\/92;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"create-the-tags\">Create the Tags<\/h3>\n\n\n\n<p>First, we need to create a new tag for our timer.  I&#8217;ll simply name the tag &#8220;MyTimer&#8221;.   This timer will have the FBD_Timer Data Type.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"382\" height=\"333\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-14.png\" alt=\"\" class=\"wp-image-10203 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-14.png 382w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-14-300x262.png 300w\" data-sizes=\"(max-width: 382px) 100vw, 382px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 382px; --smush-placeholder-aspect-ratio: 382\/333;\" \/><\/figure>\n\n\n\n<p>We use this same data type in function blocks as well, so we won&#8217;t concentrate on every single bit of the data type.  However, there are a few members that we will look at.  TimerEnable will enable the timer.  This is similar to applying power to the timer.  Once the timer becomes enabled, it starts timing.   The PRE member is the preset.  Notice that I&#8217;ve entered 15000 for the preset.  Since the preset is in milliseconds, the timer will time for 15 seconds.<\/p>\n\n\n\n<p>The reset member resets the timer to zero.  ACC is the accumulated value.  This is the value that will increase by 1000 counts per seconds when we enable the timer.<\/p>\n\n\n\n<p>The TT Bit is true as long as the accumulator is running.  The DN bit goes true once the accumulator reaches the preset.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"add-the-logic\">Add the Logic<\/h3>\n\n\n\n<p>At this point, we&#8217;ll open the example routine, and add the logic for our structured text timer.  We&#8217;ll keep this simple.  We don&#8217;t need a lot of logic for the timer to operate.  I&#8217;ve added a couple extra bits to the controller tag database.  This allows  you to see the logic you might use to control the timer.  In this case, I&#8217;m adding &#8220;MyInput&#8221; and &#8220;MyOutput&#8221;.  Both of these tags are BOOL.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"463\" height=\"48\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-15.png\" alt=\"\" class=\"wp-image-10204 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-15.png 463w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-15-300x31.png 300w\" data-sizes=\"(max-width: 463px) 100vw, 463px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 463px; --smush-placeholder-aspect-ratio: 463\/48;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"256\" height=\"233\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-16.png\" alt=\"\" class=\"wp-image-10205 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 256px; --smush-placeholder-aspect-ratio: 256\/233;\" \/><\/figure>\n\n\n\n<p>First, we set up our timer using the TONR instruction.  Next, we look at MyInput.   If MyInput goes true, then we will set the enable bit for the timer.  Otherwise, if MyInput is off, we shut off the enable bit for the timer.<\/p>\n\n\n\n<p>In the next structure, we control the output.  We simply look at MyTimer.DN.  When MyTimer.DN is high, then we turn on the output.  Otherwise, we shut off the output.<\/p>\n\n\n\n<p>Now, I&#8217;ve finalized the routine edits.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"test-the-logic\">Test the Logic<\/h3>\n\n\n\n<p>To test this logic, I&#8217;ll simply turn on MyInput.  you will notice the timer begins to time.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"378\" height=\"342\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-17.png\" alt=\"\" class=\"wp-image-10206 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-17.png 378w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-17-300x271.png 300w\" data-sizes=\"(max-width: 378px) 100vw, 378px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 378px; --smush-placeholder-aspect-ratio: 378\/342;\" \/><\/figure>\n\n\n\n<p>We also see that the EN bit is high, and the TT bit is high.  <\/p>\n\n\n\n<p>Once the ACC value reaches the PRE, the timer stops timing, the DN bit goes true, and MyOutput energizes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"384\" height=\"340\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-18.png\" alt=\"\" class=\"wp-image-10207 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-18.png 384w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-18-300x266.png 300w\" data-sizes=\"(max-width: 384px) 100vw, 384px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 384px; --smush-placeholder-aspect-ratio: 384\/340;\" \/><\/figure>\n\n\n\n<p>As you would expect, when I shut off MyInput, then our output shuts off, and the timer resets automatically.  It&#8217;s important to realize, however, that we could reset the timer at any time by setting MyTimer.Reset.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"379\" height=\"379\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-19.png\" alt=\"\" class=\"wp-image-10208 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-19.png 379w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-19-300x300.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-19-150x150.png 150w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-19-144x144.png 144w\" data-sizes=\"(max-width: 379px) 100vw, 379px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 379px; --smush-placeholder-aspect-ratio: 379\/379;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"summary\">Summary<\/h3>\n\n\n\n<p>In short, we simply add the timer to our structured text routine using the TONR instruction.  After that, we turn on the TimerEnable bit to enable the timer.  Once the accumulator reaches the preset, the Done (DN) bit goes high.  We can use this DN bit to control other logic.   When we shut off the TimerEnable bit, the timer resets back to zero.  <\/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-1395109529\" 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 Structured Text Timer In this post, we&#8217;ll cover the ControlLogix Structured Text Timer. ControlLogix supports 4 programming languages: Ladder, Structured Text, Function Blocks, and Sequential Flow Charts. Some vendors prefer structured text over ladder. One reason for this is that they can develop the program without a license for Studio 5000. They <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":10205,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[433,291],"class_list":{"0":"post-10201","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"tag-structured-text","9":"tag-timer","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 Timer - Bryce Automation<\/title>\n<meta name=\"description\" content=\"How to set up a structured text timer in the ControlLogix processor. We&#039;ll also cover the operation and usage of the timer bits.\" \/>\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\/02\/21\/structured-text-timer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Structured Text Timer - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"How to set up a structured text timer in the ControlLogix processor. We&#039;ll also cover the operation and usage of the timer bits.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/\" \/>\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-02-21T17:35:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-21T17:35:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-16.png\" \/>\n\t<meta property=\"og:image:width\" content=\"256\" \/>\n\t<meta property=\"og:image:height\" content=\"233\" \/>\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\\\/02\\\/21\\\/structured-text-timer\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"Structured Text Timer\",\"datePublished\":\"2022-02-21T17:35:44+00:00\",\"dateModified\":\"2022-02-21T17:35:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/\"},\"wordCount\":692,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/image-16.png\",\"keywords\":[\"structured text\",\"timer\"],\"articleSection\":[\"ControlLogix\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/\",\"name\":\"Structured Text Timer - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/image-16.png\",\"datePublished\":\"2022-02-21T17:35:44+00:00\",\"dateModified\":\"2022-02-21T17:35:46+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"How to set up a structured text timer in the ControlLogix processor. We'll also cover the operation and usage of the timer bits.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/image-16.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/image-16.png\",\"width\":256,\"height\":233,\"caption\":\"stx timer\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2022\\\/02\\\/21\\\/structured-text-timer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Structured Text Timer\"}]},{\"@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 Timer - Bryce Automation","description":"How to set up a structured text timer in the ControlLogix processor. We'll also cover the operation and usage of the timer bits.","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\/02\/21\/structured-text-timer\/","og_locale":"en_US","og_type":"article","og_title":"Structured Text Timer - Bryce Automation","og_description":"How to set up a structured text timer in the ControlLogix processor. We'll also cover the operation and usage of the timer bits.","og_url":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2022-02-21T17:35:44+00:00","article_modified_time":"2022-02-21T17:35:46+00:00","og_image":[{"width":256,"height":233,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-16.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\/02\/21\/structured-text-timer\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"Structured Text Timer","datePublished":"2022-02-21T17:35:44+00:00","dateModified":"2022-02-21T17:35:46+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/"},"wordCount":692,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-16.png","keywords":["structured text","timer"],"articleSection":["ControlLogix"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/","url":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/","name":"Structured Text Timer - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-16.png","datePublished":"2022-02-21T17:35:44+00:00","dateModified":"2022-02-21T17:35:46+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"How to set up a structured text timer in the ControlLogix processor. We'll also cover the operation and usage of the timer bits.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-16.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2022\/02\/image-16.png","width":256,"height":233,"caption":"stx timer"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2022\/02\/21\/structured-text-timer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"Structured Text Timer"}]},{"@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\/10201","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=10201"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/10201\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/10205"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=10201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=10201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=10201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}