{"id":865,"date":"2023-02-01T07:41:34","date_gmt":"2023-02-01T07:41:34","guid":{"rendered":"http:\/\/bryceautomation.com\/?p=865"},"modified":"2023-02-01T07:41:37","modified_gmt":"2023-02-01T07:41:37","slug":"controllogix-messaging","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/","title":{"rendered":"ControlLogix Messaging"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction to ControlLogix Messaging<\/h2>\n\n\n\n<p>ControlLogix messaging is used to send or receive information to another processor. &nbsp; &nbsp;In this post, we will receive data from a tag in another ControlLogix processor. &nbsp; Messaging can be used to send or receive information from an SLC-500 or PLC-5 as well. &nbsp; &nbsp;I always recommend <strong>reading<\/strong> values from another processor (vs writing). &nbsp;The reason for this is for troubleshooting. &nbsp; If a troubleshooter is tracing through logic, and values are being dumped into the processor, it&#8217;s hard to trace where the data is coming from. &nbsp; If the processor is going out to get the data, the troubleshooter will find the MSG instruction when doing a cross-reference.<\/p><div id=\"bryce-2909784562\" 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>Another way to transfer data between processors is with the <a href=\"https:\/\/bryceautomation.com\/index.php\/2017\/06\/02\/controllogix-producerconsumer-model\/\">producer\/consumer model<\/a>. &nbsp;The producer\/consumer model is scheduled. &nbsp;This means that it updates at regular intervals. &nbsp;Also, it is more efficient with using multi-cast communication when communicating with more than one processor.<\/p>\n\n\n\n<p>The MSG instruction is still used, though when sending or receiving data from older processors. &nbsp; Also, if we only need to gather data one time per day, we would use the MSG instruction. &nbsp;Producer\/Consumer update intervals are a maximum of 750ms. &nbsp; Another advantage of the message instruction is that no I\/O Configuration is required to make it work. &nbsp; We will specify a path to our target processor without the target processor being in our I\/O Configuration tree.<\/p>\n\n\n\n<p>Here is our goal: &nbsp;We will read the target&#8217;s &#8220;Outbox&#8221; tag into our &#8220;Inbox&#8221; tag.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"422\" height=\"350\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MSGDiagram.png\" alt=\"MSG Diagram\" class=\"wp-image-867 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MSGDiagram.png 422w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MSGDiagram-300x249.png 300w\" data-sizes=\"(max-width: 422px) 100vw, 422px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 422px; --smush-placeholder-aspect-ratio: 422\/350;\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Configuring the Target Processor<\/h2>\n\n\n\n<p>No configuration is required for the <strong>target<\/strong> processor (where the &#8220;Outbox&#8221; tag resides). &nbsp; All we need is a tag that we can read data from (or send data to). &nbsp;For this example, we need a tag in the target processor named &#8220;Outbox&#8221;. &nbsp;Go to the controller tag database, and in &#8220;Edit Tags&#8221;, create the Outbox tag as a DINT. &nbsp;I&#8217;m also going to place a random value into the outbox tag (in &#8220;Monitor Tags&#8221; mode), and download the project to the <strong>target<\/strong> processor. &nbsp; The <strong>target<\/strong> processor is the lower processor in the diagram above. &nbsp;Do <strong>not<\/strong> mark it as produced. &nbsp; It&#8217;s just a standard DINT that we will be reading a value from. &nbsp; Remember that when you download, your processor will stop executing it&#8217;s program! &nbsp; &nbsp;If you are working with a running system, the tag can be created while you are online without the need to download.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"553\" height=\"61\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/OutboxTag.png\" alt=\"Outbox Tag\" class=\"wp-image-868 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/OutboxTag.png 553w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/OutboxTag-300x33.png 300w\" data-sizes=\"(max-width: 553px) 100vw, 553px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 553px; --smush-placeholder-aspect-ratio: 553\/61;\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Setting up the Initiating Processor<\/h2>\n\n\n\n<p>The <strong>initiating<\/strong> processor is the processor on the top of the diagram above. &nbsp; &nbsp;Here, we&#8217;ll be working with the project of the <strong>Initiating<\/strong> processor which will contain the MSG instruction that is getting the data.<\/p>\n\n\n\n<p>Before we start, let&#8217;s create some tags that we will need for this example. &nbsp; Open the controller tag database, and in &#8220;Edit Tags&#8221; mode, add the following tags. &nbsp;Please pay attention to the data types when you add these tags:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"475\" height=\"181\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageTags.png\" alt=\"Message Tags\" class=\"wp-image-869 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageTags.png 475w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageTags-300x114.png 300w\" data-sizes=\"(max-width: 475px) 100vw, 475px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 475px; --smush-placeholder-aspect-ratio: 475\/181;\" \/><\/figure>\n<\/div>\n\n\n<p>The Inbox is the tag that we will place data into that we get from the target&#8217;s Outbox. &nbsp;The MessageTimer will be used in logic to give the message instruction a pulse at regular intervals. &nbsp; MessageControl is the &#8220;workspace&#8221; for the message instruction. &nbsp; This tag will store the status of the&nbsp;data transfer.<\/p>\n\n\n\n<p>Now, let&#8217;s write the logic:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: &nbsp;Add a&nbsp;self-running timer for ControlLogix Messaging<\/h3>\n\n\n\n<p>A self-running timer is a timer that resets itself at regular intervals. &nbsp; I will add this logic to the MainRoutine:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"513\" height=\"89\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageTimer.png\" alt=\"Message Timer\" class=\"wp-image-871 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageTimer.png 513w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageTimer-300x52.png 300w\" data-sizes=\"(max-width: 513px) 100vw, 513px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 513px; --smush-placeholder-aspect-ratio: 513\/89;\" \/><\/figure>\n<\/div>\n\n\n<p>This timer will set it&#8217;s DN bit when the accumulator reaches 40ms. &nbsp; When the DN bit is set, the timer resets.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: &nbsp;Add the MSG instruction<\/h3>\n\n\n\n<p>Add the MSG instruction as follows:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"512\" height=\"86\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageLogic.png\" alt=\"Message Logic\" class=\"wp-image-872 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageLogic.png 512w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageLogic-300x50.png 300w\" data-sizes=\"(max-width: 512px) 100vw, 512px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 512px; --smush-placeholder-aspect-ratio: 512\/86;\" \/><\/figure>\n<\/div>\n\n\n<p>You will notice the Enable (EN) bit, the Done (DN) bit, and the Error (ER) bits to the right. &nbsp; The purpose of the MessageControl tag is to store the status of these bits, as well as other information about the MSG instruction.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: &nbsp;Set up the message instruction<\/h3>\n\n\n\n<p>Click the &#8220;Setup&#8221; button within the message instruction. &nbsp;This will bring up the configuration screen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"512\" height=\"86\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageLogic-1.png\" alt=\"Message Setup Button\" class=\"wp-image-873 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageLogic-1.png 512w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageLogic-1-300x50.png 300w\" data-sizes=\"(max-width: 512px) 100vw, 512px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 512px; --smush-placeholder-aspect-ratio: 512\/86;\" \/><\/figure>\n<\/div>\n\n\n<p>Set up the MSG instruction as follows: &nbsp; We will do a CIP data table read. &nbsp; The source element is &#8220;Outbox&#8221;. &nbsp; This is the tag in the target processor that we are receiving data from. &nbsp; The destination tag is &#8220;Inbox&#8221; &nbsp; This is where we place the data we receive from the target&#8217;s Outbox tag. &nbsp; When finished, click the &#8220;Communication&#8221; tab of the setup screen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"522\" height=\"400\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageConfiguration.png\" alt=\"Message Setup Dialog\" class=\"wp-image-875 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageConfiguration.png 522w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/MessageConfiguration-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<\/div>\n\n\n<h3 class=\"wp-block-heading\">Configure the path for ControlLogix Messaging<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"520\" height=\"104\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/CommPathBlank.png\" alt=\"Blank Comm Path\" class=\"wp-image-877 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/CommPathBlank.png 520w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/CommPathBlank-300x60.png 300w\" data-sizes=\"(max-width: 520px) 100vw, 520px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 520px; --smush-placeholder-aspect-ratio: 520\/104;\" \/><\/figure>\n<\/div>\n\n\n<p>This is the most difficult part of messaging. &nbsp;If the target processor is already in your I\/O configuration tree, you could just browse for the processor. &nbsp;In our case, we cannot browse for the processor because it is not in our I\/O configuration tree. &nbsp; We will build the path manually.<\/p>\n\n\n\n<p>The problem with placing the target processor in the I\/O tree is that communication is constantly on-going to check the health of the modules along the path. &nbsp;Therefore it&#8217;s generally more efficient to build the path manually. &nbsp;Once you are used to how the path works, it&#8217;s very easy to understand.<\/p>\n\n\n\n<p>Look at our path for the Message Instruction:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"759\" height=\"581\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram.png\" alt=\"Message Path\" class=\"wp-image-880 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram.png 759w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram-300x230.png 300w\" data-sizes=\"(max-width: 759px) 100vw, 759px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 759px; --smush-placeholder-aspect-ratio: 759\/581;\" \/><\/figure>\n<\/div>\n\n\n<p>Now look at this diagram to develop our path<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"798\" height=\"464\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/StepAB.png\" alt=\"Steps for Messaging\" class=\"wp-image-882 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/StepAB.png 798w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/StepAB-300x174.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/StepAB-768x447.png 768w\" data-sizes=\"(max-width: 798px) 100vw, 798px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 798px; --smush-placeholder-aspect-ratio: 798\/464;\" \/><\/figure>\n<\/div>\n\n\n<p>When we build the path, we MUST go from Step A to Step B, then repeat the process until we are at the target.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>&nbsp;From the Initiating L71 processor, look at Step &#8220;A&#8221;. &nbsp; We must specify &#8220;1&#8221; to get to the backplane.<\/li>\n\n\n\n<li>Now that we are on the backplane, look at Step &#8220;B&#8221;. &nbsp; We specify &#8220;3&#8221; because that is the Slot # of our ENBT module.<\/li>\n\n\n\n<li>We are on the ENBT module now, and back on Step &#8220;A&#8221;, so we specify &#8220;2&#8221; to come out the front port.<\/li>\n\n\n\n<li>Back on Step &#8220;B&#8221;, we will be going into the ENBT on the target chassis, so specify the IP of the target module, &#8220;192.168.0.6&#8221;<\/li>\n\n\n\n<li>Now that we are on the ENBT module, back on Step &#8220;A&#8221;, specify &#8220;1&#8221; to get to the backplane.<\/li>\n\n\n\n<li>To enter the processor from the backplane (Step &#8220;B&#8221;), specify &#8220;0&#8221; for the processor slot #.<\/li>\n<\/ol>\n\n\n\n<p>The&nbsp;path will be &#8220;1, 3, 2, 192.168.0.6, 1, 0&#8221; &nbsp;Go through those steps a few more times until you are comfortable and understand how we got this path. &nbsp;Each of the green arrows represent a step in building the path to the target processor.<\/p>\n\n\n\n<p>Now let&#8217;s enter this path into our MSG Instruction.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"522\" height=\"140\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathInMessage.png\" alt=\"Path In Message\" class=\"wp-image-883 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathInMessage.png 522w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathInMessage-300x80.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\/140;\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Test your work for ControlLogix Messaging<\/h3>\n\n\n\n<p>Next, I&#8217;ll download to the processor, then we&#8217;ll verify the Inbox tag of the Initiating processor matches the Outbox tag of the target processor.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"559\" height=\"179\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/VerifyMatch.png\" alt=\"Verify Match\" class=\"wp-image-884 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/VerifyMatch.png 559w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/VerifyMatch-300x96.png 300w\" data-sizes=\"(max-width: 559px) 100vw, 559px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 559px; --smush-placeholder-aspect-ratio: 559\/179;\" \/><\/figure>\n<\/div>\n\n\n<p><em><strong>Hint: &nbsp;to transfer larger amounts of data, you could use an Array. &nbsp; Instead of a single DINT for the inbox and outbox, we could use DINT[10] as the data type, and change our number of elements&nbsp;to 10 on the &#8220;Configuration&#8221; tab of the MSG instruction.<\/strong><\/em><\/p>\n\n\n\n<p>Check out <a href=\"https:\/\/bryceautomation.com\/index.php\/2020\/09\/11\/controllogix-messaging-over-dh\/\">this link <\/a>if you are interested in learning how to message over DH+ to the older processors.  Another resource to check out is <a href=\"https:\/\/bryceautomation.com\/index.php\/2020\/09\/08\/controllogix-df1-messaging\/\">DF1 Messaging<\/a>.   Additionally, you can check out the post on <a href=\"https:\/\/bryceautomation.com\/index.php\/2020\/08\/15\/slc-500-messaging\/\">SLC-500 Messaging<\/a>.   On the other hand, if your SLC-500 needs to initiate a message to the ControlLogix, <a href=\"https:\/\/bryceautomation.com\/index.php\/2019\/04\/15\/slc-to-controllogix-messaging\/\">I have a post <\/a>for that as well.   Lastly, I&#8217;ve done a <a href=\"https:\/\/bryceautomation.com\/index.php\/2020\/09\/08\/controllogix-message-speed\/\">speed test <\/a>on the message response time.<\/p>\n\n\n\n<p>For more information, visit the <a href=\"https:\/\/bryceautomation.com\/index.php\/category\/controllogix\/\">ControlLogix post<\/a> page!<\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-3012556384\" 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 Messaging ControlLogix messaging is used to send or receive information to another processor. &nbsp; &nbsp;In this post, we will receive data from a tag in another ControlLogix processor. &nbsp; Messaging can be used to send or receive information from an SLC-500 or PLC-5 as well. &nbsp; &nbsp;I always recommend reading values from <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":880,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[11,33],"class_list":{"0":"post-865","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"tag-controllogix","9":"tag-message","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>ControlLogix Messaging (MSG) Instruction<\/title>\n<meta name=\"description\" content=\"Peer to peer communication in a ControlLogix Messaging. This step by step guide includes manual configuration of the path.\" \/>\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\/2023\/02\/01\/controllogix-messaging\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ControlLogix Messaging (MSG) Instruction\" \/>\n<meta property=\"og:description\" content=\"Peer to peer communication in a ControlLogix Messaging. This step by step guide includes manual configuration of the path.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/\" \/>\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=\"2023-02-01T07:41:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-01T07:41:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram.png\" \/>\n\t<meta property=\"og:image:width\" content=\"759\" \/>\n\t<meta property=\"og:image:height\" content=\"581\" \/>\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\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"ControlLogix Messaging\",\"datePublished\":\"2023-02-01T07:41:34+00:00\",\"dateModified\":\"2023-02-01T07:41:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/\"},\"wordCount\":1274,\"commentCount\":13,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/PathDiagram.png\",\"keywords\":[\"ControlLogix\",\"Message\"],\"articleSection\":[\"ControlLogix\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/\",\"name\":\"ControlLogix Messaging (MSG) Instruction\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/PathDiagram.png\",\"datePublished\":\"2023-02-01T07:41:34+00:00\",\"dateModified\":\"2023-02-01T07:41:37+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"Peer to peer communication in a ControlLogix Messaging. This step by step guide includes manual configuration of the path.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/PathDiagram.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/PathDiagram.png\",\"width\":759,\"height\":581,\"caption\":\"Message Path\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2023\\\/02\\\/01\\\/controllogix-messaging\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ControlLogix Messaging\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/\",\"name\":\"Bryce Automation\",\"description\":\"Automating Home and Industry...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bryceautomation.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\",\"name\":\"Ricky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"caption\":\"Ricky\"},\"sameAs\":[\"http:\\\/\\\/bryceautomation.com\",\"https:\\\/\\\/www.facebook.com\\\/ricky.bryce.7\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ricky-bryce-4367a416\\\/\"],\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/author\\\/ricky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ControlLogix Messaging (MSG) Instruction","description":"Peer to peer communication in a ControlLogix Messaging. This step by step guide includes manual configuration of the path.","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\/2023\/02\/01\/controllogix-messaging\/","og_locale":"en_US","og_type":"article","og_title":"ControlLogix Messaging (MSG) Instruction","og_description":"Peer to peer communication in a ControlLogix Messaging. This step by step guide includes manual configuration of the path.","og_url":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2023-02-01T07:41:34+00:00","article_modified_time":"2023-02-01T07:41:37+00:00","og_image":[{"width":759,"height":581,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram.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\/2023\/02\/01\/controllogix-messaging\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"ControlLogix Messaging","datePublished":"2023-02-01T07:41:34+00:00","dateModified":"2023-02-01T07:41:37+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/"},"wordCount":1274,"commentCount":13,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram.png","keywords":["ControlLogix","Message"],"articleSection":["ControlLogix"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/","url":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/","name":"ControlLogix Messaging (MSG) Instruction","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram.png","datePublished":"2023-02-01T07:41:34+00:00","dateModified":"2023-02-01T07:41:37+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"Peer to peer communication in a ControlLogix Messaging. This step by step guide includes manual configuration of the path.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2017\/06\/PathDiagram.png","width":759,"height":581,"caption":"Message Path"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2023\/02\/01\/controllogix-messaging\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"ControlLogix Messaging"}]},{"@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\/865","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=865"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/865\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/880"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}