{"id":1986,"date":"2019-10-26T11:25:25","date_gmt":"2019-10-26T11:25:25","guid":{"rendered":"http:\/\/bryceautomation.com\/?p=1986"},"modified":"2020-11-30T00:08:25","modified_gmt":"2020-11-30T00:08:25","slug":"controllogix-modbus","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/","title":{"rendered":"ControlLogix Modbus"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction to ControlLogix Modbus<\/h3>\n\n\n\n<p>In this document, we will walk through ControlLogix Modbus examples using the 1756-MVI56E module.  The MVI56E-MCM modules allows connections between the Modbus network, and a ControlLogix processor.  Before using the MVI module, we will need to set up the configuration such as the IP address for the Configuration port, and the jumpers for the proper network protocol.   This MVM module is capable of RS232, RS485, and RS422 protocols.  This document is for example only, and the procedures, as always, must be modified for your needs.  <\/p><div id=\"bryce-3184306023\" 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<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"476\" height=\"1024\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-13-476x1024.png\" alt=\"\" class=\"wp-image-1987 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-13-476x1024.png 476w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-13-140x300.png 140w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-13-768x1651.png 768w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-13.png 465w\" data-sizes=\"(max-width: 476px) 100vw, 476px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 476px; --smush-placeholder-aspect-ratio: 476\/1024;\" \/><\/figure>\n\n\n\n<p>For this exercise, we will be setting\nup the jumpers for RS232, so we will be limited to a point-point\nconnection, and a distance of 50\u2019.   \n<\/p>\n\n\n\n<p>If multiple devices are required, RS422 or RS485 can be used, and the cable is limited to 4000\u2019, and typically limited to 32 nodes.  Termination resistors of 120 Ohms (\u00bd Watt should be used to terminate both ends of the network.)<\/p>\n\n\n\n<p>The module has several status lights to indicate the state of operation.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"504\" height=\"500\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-14.png\" alt=\"\" class=\"wp-image-1988 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-14.png 504w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-14-150x150.png 150w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-14-300x298.png 300w\" data-sizes=\"(max-width: 504px) 100vw, 504px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 504px; --smush-placeholder-aspect-ratio: 504\/500;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"281\" height=\"1024\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-15-281x1024.png\" alt=\"\" class=\"wp-image-1989 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-15-281x1024.png 281w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-15-82x300.png 82w\" data-sizes=\"(max-width: 281px) 100vw, 281px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 281px; --smush-placeholder-aspect-ratio: 281\/1024;\" \/><\/figure>\n\n\n\n<p>An\nalpha-numeric display will scroll information such as the IP address,\n the modes of each port, and the status of the module.  In addition\nto this display, there are 5 other types of status indicators:<\/p>\n\n\n\n<p>  A)  ERR \u2013  This is the battery status.  The internal battery should last the life of the module.<\/p>\n\n\n\n<p>  B)  APP \u2013 Application Status.  This indicates when the program has configured the module.<\/p>\n\n\n\n<p>  C)  OK \u2013 This indicates the status of the module, and should be solid green.  If the module is solid red, an error has been encountered in the program, or a hardware fault has occurred.<\/p>\n\n\n\n<p>  D)  The Ethernet status lights will indicate when a connection is made, and data is being transferred<\/p>\n\n\n\n<p>  E)  PRT1 and PRT2 indicates the status of the modbus ports.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configure the Module<\/h3>\n\n\n\n<p>1)  Set the jumpers on the module to RS232 for port 1 and port 2  Ensure the setup jumper is in the OFF position.  This will prevent the firmware from being changed on the module.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"744\" height=\"340\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-16.png\" alt=\"\" class=\"wp-image-1990 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-16.png 744w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-16-300x137.png 300w\" data-sizes=\"(max-width: 744px) 100vw, 744px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 744px; --smush-placeholder-aspect-ratio: 744\/340;\" \/><\/figure>\n\n\n\n<p>2)  Place the module into the chassis,\nand power up your work station.  You will notice the OK indicator is\nsolid green, and the APP indicator is off.  This indicates the module\nhas not been configured yet from the program in the processor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configuration Builder (Optional for this module)<\/h3>\n\n\n\n<p><em>Skip to step 16 if you are not interested in the utilities on the module itself.<\/em><\/p>\n\n\n\n<p>3)  Connect an Ethernet cable to the Modbus interface.  Notice the default IP address is 192.168.0.250. This will need to be changed because we cannot have more than one device on the network with the same IP address.<\/p>\n\n\n\n<p>4)  Open Prosoft configuration builder.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"509\" height=\"120\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-17.png\" alt=\"\" class=\"wp-image-1991 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-17.png 509w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-17-300x71.png 300w\" data-sizes=\"(max-width: 509px) 100vw, 509px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 509px; --smush-placeholder-aspect-ratio: 509\/120;\" \/><\/figure>\n\n\n\n<p>5)  Right-click the default module, and choose the module type.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"321\" height=\"147\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-18.png\" alt=\"\" class=\"wp-image-1992 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-18.png 321w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-18-300x137.png 300w\" data-sizes=\"(max-width: 321px) 100vw, 321px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 321px; --smush-placeholder-aspect-ratio: 321\/147;\" \/><\/figure>\n\n\n\n<p>6)  Select MVI56E, and then choose the MVI56E-MCM module.  Then press OK.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"528\" height=\"259\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-19.png\" alt=\"\" class=\"wp-image-1993 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-19.png 528w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-19-300x147.png 300w\" data-sizes=\"(max-width: 528px) 100vw, 528px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 528px; --smush-placeholder-aspect-ratio: 528\/259;\" \/><\/figure>\n\n\n\n<p>7)  Under Ethernet Configuration, enter the IP address for our module, then press OK.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"508\" height=\"216\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-20.png\" alt=\"\" class=\"wp-image-1994 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-20.png 508w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-20-300x128.png 300w\" data-sizes=\"(max-width: 508px) 100vw, 508px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 508px; --smush-placeholder-aspect-ratio: 508\/216;\" \/><\/figure>\n\n\n\n<p>8)  Download your settings to the module.  We will do this through the ENBT module in the chassis. Right click the module itself, and download from PC to device.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"276\" height=\"291\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-21.png\" alt=\"\" class=\"wp-image-1995 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 276px; --smush-placeholder-aspect-ratio: 276\/291;\" \/><\/figure>\n\n\n\n<p>9)  Chose the ENBT module, and then click RSWHO.  (The Ethernet driver for the ENBT module must first be configured in RSLinx)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"470\" height=\"148\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-22.png\" alt=\"\" class=\"wp-image-1996 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-22.png 470w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-22-300x94.png 300w\" data-sizes=\"(max-width: 470px) 100vw, 470px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 470px; --smush-placeholder-aspect-ratio: 470\/148;\" \/><\/figure>\n\n\n\n<p>10)  Browse to your MCM module, then press OK.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"266\" height=\"136\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-23.png\" alt=\"\" class=\"wp-image-1997 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 266px; --smush-placeholder-aspect-ratio: 266\/136;\" \/><\/figure>\n\n\n\n<p>11)  Now, click Download&#8230;.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"468\" height=\"79\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-24.png\" alt=\"\" class=\"wp-image-1998 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-24.png 468w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-24-300x51.png 300w\" data-sizes=\"(max-width: 468px) 100vw, 468px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 468px; --smush-placeholder-aspect-ratio: 468\/79;\" \/><\/figure>\n\n\n\n<p>12)  A progress bar will display the progress of your download, and the module will reboot.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"226\" height=\"76\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-25.png\" alt=\"\" class=\"wp-image-1999 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 226px; --smush-placeholder-aspect-ratio: 226\/76;\" \/><\/figure>\n\n\n\n<p>13)  Now, we will remove the temporary IP address.   Open the Prosoft discovery tool.  You can download this from the Prosoft website.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"504\" height=\"128\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-26.png\" alt=\"\" class=\"wp-image-2000 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-26.png 504w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-26-300x76.png 300w\" data-sizes=\"(max-width: 504px) 100vw, 504px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 504px; --smush-placeholder-aspect-ratio: 504\/128;\" \/><\/figure>\n\n\n\n<p>14)  Browse for the module, then right click the module, and choose \u201cRemove Temporary IP address\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"298\" height=\"187\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-27.png\" alt=\"\" class=\"wp-image-2001 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 298px; --smush-placeholder-aspect-ratio: 298\/187;\" \/><\/figure>\n\n\n\n<p>15)  Now you can bring up the web page for the module by typing the IP address into the browser\u2019s address bar.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"665\" height=\"421\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-28.png\" alt=\"\" class=\"wp-image-2002 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-28.png 665w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-28-300x190.png 300w\" data-sizes=\"(max-width: 665px) 100vw, 665px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 665px; --smush-placeholder-aspect-ratio: 665\/421;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">EDS &#8212; Electronic Data Sheet<\/h3>\n\n\n\n<p>16)  Next, we will run the EDS wizard to import the Electronic Data Sheet for the module.  The Electronic Data Sheet provides information about the module to RSLinx.  If the Icon of a question mark \u201c?\u201d appears on the module when browsing for the module across the ControlLogix backplane, then the EDS file has probably not been imported yet.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"383\" height=\"138\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-29.png\" alt=\"\" class=\"wp-image-2003 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-29.png 383w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-29-300x108.png 300w\" data-sizes=\"(max-width: 383px) 100vw, 383px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 383px; --smush-placeholder-aspect-ratio: 383\/138;\" \/><\/figure>\n\n\n\n<p>If the EDS File for this module is\nlocated in the module itself, you should be able to right-click the\nmodule, and upload the EDS file from the module, but if this does not\nwork, we can download the EDS file from the manuafacturer.<\/p>\n\n\n\n<p>Note:  At the time of this document the\nURL to download the EDS, Sample ladders, and Add-On rungs is located\nat:<\/p>\n\n\n\n<p><a href=\"http:\/\/www.prosoft-technology.com\/Products\/Rockwell-Automation-In-chassis\/Platform\/ControlLogix\/Modbus-Master-Slave-Enhanced-Network-Interface-Module-for-ControlLogix\">http:\/\/www.prosoft-technology.com\/Products\/Rockwell-Automation-In-chassis\/Platform\/ControlLogix\/Modbus-Master-Slave-Enhanced-Network-Interface-Module-for-ControlLogix<\/a><\/p>\n\n\n\n<p>17)  To run the EDS Wizard, go to Start\n| All Programs | Rockwell Software | RSLinx | Tools | and run the EDS\nHardware Installation tool.<\/p>\n\n\n\n<p>18)  We will be adding a device:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"504\" height=\"246\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-30.png\" alt=\"\" class=\"wp-image-2004 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-30.png 504w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-30-300x146.png 300w\" data-sizes=\"(max-width: 504px) 100vw, 504px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 504px; --smush-placeholder-aspect-ratio: 504\/246;\" \/><\/figure>\n\n\n\n<p>19)  Register a single file, then brows for the EDS file that you downloaded from the manufacturer. Then click Next.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"501\" height=\"386\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-31.png\" alt=\"\" class=\"wp-image-2005 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-31.png 501w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-31-300x231.png 300w\" data-sizes=\"(max-width: 501px) 100vw, 501px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 501px; --smush-placeholder-aspect-ratio: 501\/386;\" \/><\/figure>\n\n\n\n<p>21)  Now we will verify that RSLinx is viewing the module properly, by browsing across the backplane of your ControlLogix chassis using RSWHO.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"380\" height=\"152\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-32.png\" alt=\"\" class=\"wp-image-2006 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-32.png 380w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-32-300x120.png 300w\" data-sizes=\"(max-width: 380px) 100vw, 380px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 380px; --smush-placeholder-aspect-ratio: 380\/152;\" \/><\/figure>\n\n\n\n<p>22)  Next, launch RSLogix 5000, and create a new project.  For our classroom example, we will just name the L63 controller \u201cModbus\u201d, we have a 7 slot chassis, and the Controller is in Slot 0.  we are using version 20.  Press OK.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"584\" height=\"328\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-33.png\" alt=\"\" class=\"wp-image-2007 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-33.png 584w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-33-300x168.png 300w\" data-sizes=\"(max-width: 584px) 100vw, 584px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 584px; --smush-placeholder-aspect-ratio: 584\/328;\" \/><\/figure>\n\n\n\n<p>23)  Now we must add our MVi56E-MCM module to the backplane.  Right-click the backplane in the I\/O Configuration tree and select \u201cNew Module\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"237\" height=\"46\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-34.png\" alt=\"\" class=\"wp-image-2008 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 237px; --smush-placeholder-aspect-ratio: 237\/46;\" \/><\/figure>\n\n\n\n<p>24)  Because this is not an Allen-Bradley module, we will choose a generic module.  This will be \u201c1756-MODULE\u201d, then create a connection to this module.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"547\" height=\"160\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-35.png\" alt=\"\" class=\"wp-image-2010 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-35.png 547w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-35-300x88.png 300w\" data-sizes=\"(max-width: 547px) 100vw, 547px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 547px; --smush-placeholder-aspect-ratio: 547\/160;\" \/><\/figure>\n\n\n\n<p>25)  The documentation from the manufacturer tells us how to populate the fields for this module for proper operation.  Please press OK when finished.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"548\" height=\"301\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-36.png\" alt=\"\" class=\"wp-image-2011 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-36.png 548w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-36-300x165.png 300w\" data-sizes=\"(max-width: 548px) 100vw, 548px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 548px; --smush-placeholder-aspect-ratio: 548\/301;\" \/><\/figure>\n\n\n\n<p>26)  Be sure to extract the sample ladders that we downloaded earlier.  This will contain the Add-On rungs as well.<\/p>\n\n\n\n<p>27)  Next, we must import the Add-On Rungs.  These will be the rungs that pass data too and from the module, and allow the module to be configured for proper operation.  First, we will open the MainRoutine.  This is located in the MainProgram in the MainTask.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"448\" height=\"177\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-37.png\" alt=\"\" class=\"wp-image-2012 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-37.png 448w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-37-300x119.png 300w\" data-sizes=\"(max-width: 448px) 100vw, 448px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 448px; --smush-placeholder-aspect-ratio: 448\/177;\" \/><\/figure>\n\n\n\n<p>28)  Now we\u2019ll right click the margin of rung #0 (on the rung number), and choose to import rungs.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"311\" height=\"186\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-38.png\" alt=\"\" class=\"wp-image-2013 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-38.png 311w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-38-300x179.png 300w\" data-sizes=\"(max-width: 311px) 100vw, 311px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 311px; --smush-placeholder-aspect-ratio: 311\/186;\" \/><\/figure>\n\n\n\n<p>29)  Browse to the folder we extracted earlier that contains the sample logic, and the add-on rungs. Import the mandatory add-on rung first (non-optional).   <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"363\" height=\"113\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-39.png\" alt=\"\" class=\"wp-image-2014 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-39.png 363w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-39-300x93.png 300w\" data-sizes=\"(max-width: 363px) 100vw, 363px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 363px; --smush-placeholder-aspect-ratio: 363\/113;\" \/><\/figure>\n\n\n\n<p>30)  Press OK on the next screen, and the Add-On rung will appear in the main routine.  We will need to remove the extra rung.  To do this, right-click the rung number (#0) to delete.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"315\" height=\"174\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-40.png\" alt=\"\" class=\"wp-image-2015 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-40.png 315w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-40-300x166.png 300w\" data-sizes=\"(max-width: 315px) 100vw, 315px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 315px; --smush-placeholder-aspect-ratio: 315\/174;\" \/><\/figure>\n\n\n\n<p>31)  Next we will import the optional add-on rung to provide full functionality (for the Ethernet port, and clock configuration)  Right click the end rung, and choose \u201cImport Rungs\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"531\" height=\"281\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-41.png\" alt=\"\" class=\"wp-image-2016 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-41.png 531w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-41-300x159.png 300w\" data-sizes=\"(max-width: 531px) 100vw, 531px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 531px; --smush-placeholder-aspect-ratio: 531\/281;\" \/><\/figure>\n\n\n\n<p>32)  Browse to the folder we extracted earlier, and choose the optional add-on rung, then click \u201cImport\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"375\" height=\"107\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-42.png\" alt=\"\" class=\"wp-image-2017 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-42.png 375w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-42-300x86.png 300w\" data-sizes=\"(max-width: 375px) 100vw, 375px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 375px; --smush-placeholder-aspect-ratio: 375\/107;\" \/><\/figure>\n\n\n\n<p>33)  Click \u201cOK\u201d, and you will see that both rungs are now imported.  This also created, two Add-On instructions, tags, and the datatypes needed by the module.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"665\" height=\"413\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-43.png\" alt=\"\" class=\"wp-image-2018 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-43.png 665w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-43-300x186.png 300w\" data-sizes=\"(max-width: 665px) 100vw, 665px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 665px; --smush-placeholder-aspect-ratio: 665\/413;\" \/><\/figure>\n\n\n\n<p>34)  Now, we will download the project to your processor.  Click Communication | Who Active, select the path to your processor, and choose \u201cDownload\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"543\" height=\"240\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-44.png\" alt=\"\" class=\"wp-image-2019 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-44.png 543w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-44-300x133.png 300w\" data-sizes=\"(max-width: 543px) 100vw, 543px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 543px; --smush-placeholder-aspect-ratio: 543\/240;\" \/><\/figure>\n\n\n\n<p>35)  Place the processor into Remote Run mode.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"311\" height=\"161\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-45.png\" alt=\"\" class=\"wp-image-2020 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-45.png 311w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-45-300x155.png 300w\" data-sizes=\"(max-width: 311px) 100vw, 311px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 311px; --smush-placeholder-aspect-ratio: 311\/161;\" \/><\/figure>\n\n\n\n<p>36)  Next, open the tag, \u201cMCM.STATUS\u201d.  You will see the pass count incrementing.  This indicates communication has been set up to the processor across the backplane.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"400\" height=\"130\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-46.png\" alt=\"\" class=\"wp-image-2021 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-46.png 400w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-46-300x98.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\/130;\" \/><\/figure>\n\n\n\n<p>37)  Plug the serial port of your\nlaptop into PRT 1 of the MVI56E-MCM module.  This will be a NULL\nMODEM cable (or a standard serial cable with Null modem adapter.  You\nwill need to use the adapter, which comes with the module to adapt\nthe 9-pin D-Shell plug to the RJ45 port on the module.<\/p>\n\n\n\n<p>38)  Open Mod_RSSIM.  This software will simulate a slave device at Node 1.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"79\" height=\"86\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-47.png\" alt=\"\" class=\"wp-image-2022 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 79px; --smush-placeholder-aspect-ratio: 79\/86;\" \/><\/figure>\n\n\n\n<p>39)  You will notice there are 4 main types of data in a device:  Discrete Inputs (Digital Inputs), Discrete Outputs (Coil Outputs), Analog Inputs, and Analog Outputs (Holding Registers).  There are also Extended Registers here for extra data.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"329\" height=\"145\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-48.png\" alt=\"\" class=\"wp-image-2023 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-48.png 329w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-48-300x132.png 300w\" data-sizes=\"(max-width: 329px) 100vw, 329px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 329px; --smush-placeholder-aspect-ratio: 329\/145;\" \/><\/figure>\n\n\n\n<p>40)  Under \u201cEmulation Settings\u201d, for the purpose of this exercise we will allow 10 each.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"409\" height=\"189\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-49.png\" alt=\"\" class=\"wp-image-2024 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-49.png 409w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-49-300x139.png 300w\" data-sizes=\"(max-width: 409px) 100vw, 409px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 409px; --smush-placeholder-aspect-ratio: 409\/189;\" \/><\/figure>\n\n\n\n<p>41)  Under Digital Inputs, I\u2019ve turned on two bits.  Be aware that the actual address in the field device may differ from the bit number which will appear in your Controller Tag, because some vendors label the first bit as Bit #1, and Allen Bradley products start by naming the first bit as Bit #0.  In this case, if we use AB numbering, I\u2019ve energized bits 4 and 6.  Since these are digital inputs, they might represent switches on a field device, or discrete status bits.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"403\" height=\"130\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-50.png\" alt=\"\" class=\"wp-image-2025 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-50.png 403w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-50-300x97.png 300w\" data-sizes=\"(max-width: 403px) 100vw, 403px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 403px; --smush-placeholder-aspect-ratio: 403\/130;\" \/><\/figure>\n\n\n\n<p>42)  Next, we are ready to read these bits.  Let\u2019s check the communication parameters of our field device first.  Be sure RS232 is selected on the field device, and go to the serial port configuration. Note the Communication Parameters of the device.  We will need to configure Port 1 of our scanner to match these parameters (or vice-versa).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"659\" height=\"237\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-51.png\" alt=\"\" class=\"wp-image-2026 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-51.png 659w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-51-300x108.png 300w\" data-sizes=\"(max-width: 659px) 100vw, 659px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 659px; --smush-placeholder-aspect-ratio: 659\/237;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Master\nConfiguration<\/strong><\/h2>\n\n\n\n<p>43)  Now we must check the configuration of Port 1 on our MVI56E-MCM Module.  In RSLogix, we will find the tag MCM.CONFIG.Port1<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"378\" height=\"121\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-52.png\" alt=\"\" class=\"wp-image-2027 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-52.png 378w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-52-300x96.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\/121;\" \/><\/figure>\n\n\n\n<p>44)  Now we must configure Port 1&#8230;. \nThe most important settings for operation are as follows:<\/p>\n\n\n\n<p>     A)  <strong>Enabled<\/strong>:  1 will enable\nthe port&#8230;.  enter 0 to disable the port.<\/p>\n\n\n\n<p>     B)  <strong>Type<\/strong>:  0 for MASTER, 1 for SLAVE.  (other settings can be found in the manual for the module such as data swapping, and pass-through.<\/p>\n\n\n\n<p>     C)  <strong>Protocol<\/strong>:  0 for RTU mode, 1 for ASCII mode.  Typically, we will use RTU (Remote Terminal Unit)  RTU is a binary mode, and ASCII is a readable format)<\/p>\n\n\n\n<p>     D)  <strong>Baudrate<\/strong>:  This is the\ncommunication speed.  All devices must use the same baudrate which \nare on the same network.  Typical settings are 19,200 or 9,600.<\/p>\n\n\n\n<p>     E)  <strong>Parity<\/strong>:  0 for none, 1\nfor odd, and 2 for even.  Parity is the simplest form of error\nchecking.  All \ndevices should have the same parity setting.<\/p>\n\n\n\n<p>     F)  <strong>DataBits<\/strong>:  For RTU\nmode, set this to 8.  ASCII can be 7 or 8.  \n<\/p>\n\n\n\n<p>     G)  <strong>StopBits<\/strong>:  Valid\nsettings are 1 or 2 (bits that delineate a byte)  Typical setting is\n1.<\/p>\n\n\n\n<p><em><strong>Note:  Other settings can be found in the MVI56E-MCM manual, but we will leave these at the default settings for this post.<\/strong><\/em><\/p>\n\n\n\n<p> 44)  When finished, our settings will appear as follows:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"369\" height=\"248\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-53.png\" alt=\"\" class=\"wp-image-2028 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-53.png 369w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-53-300x202.png 300w\" data-sizes=\"(max-width: 369px) 100vw, 369px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 369px; --smush-placeholder-aspect-ratio: 369\/248;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"> Reading Coils (inputs from device)<\/h3>\n\n\n\n<p>45)  Now, we are ready to set up our first command.  Open the controller tag \u201cMCM.CONFIG.Port1MasterCMD[0]\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"481\" height=\"321\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-54.png\" alt=\"\" class=\"wp-image-2029 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-54.png 481w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-54-300x200.png 300w\" data-sizes=\"(max-width: 481px) 100vw, 481px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 481px; --smush-placeholder-aspect-ratio: 481\/321;\" \/><\/figure>\n\n\n\n<p>\n46)  The command structure is as follows:<\/p>\n\n\n\n<p>     A)  <strong>Enable<\/strong>:  Set to 1 to enable the command.  0 disables the command.  A value of 2 will be used for a conditional write (upon a value change in the master that is to be sent to a slave.<\/p>\n\n\n\n<p>     B)\n <strong>IntAddress<\/strong>:\n This is the memory location (in controller tags) that we will be\nstoring data.<\/p>\n\n\n\n<p>      <strong>     For bit level commands, you must define this at the bit level.  <\/strong><\/p>\n\n\n\n<p>Since MCM.ReadData[0] is register 1000 in our ControlLogix, we will specify 16000 (16 bits x 1000 words).<\/p>\n\n\n\n<p>     C)\n <strong>Pollint<\/strong>:\n Sets the number of seconds we wait before the command is issued.  \nWe will leave this at 0.<\/p>\n\n\n\n<p>     D)\n <strong>Count<\/strong>:\n Sets how many words or bits to read from the device.  Set this to 10<\/p>\n\n\n\n<p>     E)  <strong>Swap<\/strong>:  This is typically only used for floating point data.  We will leave this at 0.   The settings for swap are (each letter represents a byte (8 bits)):<\/p>\n\n\n\n<p>     0:  No Swapping (ABCD)<\/p>\n\n\n\n<p>     1:  Word Pairs are switched (CDAB)<\/p>\n\n\n\n<p>     2:  Byes and words switched (DCBA)<\/p>\n\n\n\n<p>     3:  Byes swapped (BADC)<\/p>\n\n\n\n<p>     F)\n <strong>Node<\/strong>:\n This is the node we are communicating with.  Our slave is at Node 1<\/p>\n\n\n\n<p>     G)\n <strong>Func<\/strong>:\n This is the function we wish to perform for this command.  We\nwill set this to 2.<\/p>\n\n\n\n<p>\n\tTypical functions are as follows:<\/p>\n\n\n\n<p>     1:  Read Coil Statuses (discrete output status)<\/p>\n\n\n\n<p>     2;  Read Input Coils (discrete input status)<\/p>\n\n\n\n<p>     3:  Read Holding Registers (analog out or in)<\/p>\n\n\n\n<p>     4:  Read Input Registers (analog inputs)<\/p>\n\n\n\n<p>     5:  Write single coil<\/p>\n\n\n\n<p>     6:  Write single register<\/p>\n\n\n\n<p>\n\t\t15:  Write multiple coils<\/p>\n\n\n\n<p>\n\t\t16:  Write multiple registers<\/p>\n\n\n\n<p>     H)  DevAddress:  This is the address of the device we want to read or write from.  We will set ours to 0 to begin reading data from the first bit..  From left to right we will number the bits 0 to 9.  We energized bits 4 and 6 (disregard the numbers in the address line)   <\/p>\n\n\n\n<p> 47)  When finished, our command structure should appear as follows:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"437\" height=\"168\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-55.png\" alt=\"\" class=\"wp-image-2031 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-55.png 437w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-55-300x115.png 300w\" data-sizes=\"(max-width: 437px) 100vw, 437px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 437px; --smush-placeholder-aspect-ratio: 437\/168;\" \/><\/figure>\n\n\n\n<p> 48)  Next, we must warm boot the module to re-write the new command list configuration.  Under the tag MCM.CONTROL, manually write a 1 onto the WarmBoot tag, then press enter.  The tag will automatically toggle back to 0.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"474\" height=\"65\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-56.png\" alt=\"\" class=\"wp-image-2032 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-56.png 474w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-56-300x41.png 300w\" data-sizes=\"(max-width: 474px) 100vw, 474px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 474px; --smush-placeholder-aspect-ratio: 474\/65;\" \/><\/figure>\n\n\n\n<p>49)  Now, open MCM.Data.ReadData[0], and you will see that we have successfully read the input status.  (Bits 4 and 6 are high as they were in the field device)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"451\" height=\"181\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-57.png\" alt=\"\" class=\"wp-image-2033 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-57.png 451w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-57-300x120.png 300w\" data-sizes=\"(max-width: 451px) 100vw, 451px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 451px; --smush-placeholder-aspect-ratio: 451\/181;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Writing Coils<\/h3>\n\n\n\n<p> 50)  Next, we will attempt to write multiple coils.  Open the tag MCM.Data.WriteData[0], and place the value of 1 into bits 2 and 5.  This will simulate our logic calling for a field device to energize.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"434\" height=\"94\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-58.png\" alt=\"\" class=\"wp-image-2034 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-58.png 434w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-58-300x65.png 300w\" data-sizes=\"(max-width: 434px) 100vw, 434px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 434px; --smush-placeholder-aspect-ratio: 434\/94;\" \/><\/figure>\n\n\n\n<p> 51)  Now open MCM.Config.Port1MasterCmd[0], and configure as follows:  (Refer to step 46 for function codes)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"430\" height=\"170\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-59.png\" alt=\"\" class=\"wp-image-2035 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-59.png 430w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-59-300x119.png 300w\" data-sizes=\"(max-width: 430px) 100vw, 430px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 430px; --smush-placeholder-aspect-ratio: 430\/170;\" \/><\/figure>\n\n\n\n<p><em><strong>Note:  If the value of enable is\nset to 2, then the coils will only be written when a change takes\nplace at the source.  This can reduce traffic on the modbus network.<\/strong><\/em><\/p>\n\n\n\n<p> 52)  Now perform a warm boot on the module again.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"474\" height=\"65\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-60.png\" alt=\"\" class=\"wp-image-2036 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-60.png 474w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-60-300x41.png 300w\" data-sizes=\"(max-width: 474px) 100vw, 474px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 474px; --smush-placeholder-aspect-ratio: 474\/65;\" \/><\/figure>\n\n\n\n<p> 53)  Now, back in the simulator project, you will find that bits 2 and 5 are energized as we predicted.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"390\" height=\"163\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-61.png\" alt=\"\" class=\"wp-image-2037 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-61.png 390w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-61-300x125.png 300w\" data-sizes=\"(max-width: 390px) 100vw, 390px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 390px; --smush-placeholder-aspect-ratio: 390\/163;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"> Reading Analog Inputs <\/h3>\n\n\n\n<p>54)  Next, we will read multiple analog inputs.  This will simulate a slave this is will provide analog inputs back to the processor.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"610\" height=\"140\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-62.png\" alt=\"\" class=\"wp-image-2038 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-62.png 610w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-62-300x69.png 300w\" data-sizes=\"(max-width: 610px) 100vw, 610px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 610px; --smush-placeholder-aspect-ratio: 610\/140;\" \/><\/figure>\n\n\n\n<p> 55)  Set up MCM.Config.Port1MasterCmd[2] as follows.  Recall that Register 1000 was already in use from reading the discrete inputs, so this time, we will map the internal address to 1001.  (Refer to step 46 for function codes)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"436\" height=\"169\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-63.png\" alt=\"\" class=\"wp-image-2039 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-63.png 436w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-63-300x116.png 300w\" data-sizes=\"(max-width: 436px) 100vw, 436px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 436px; --smush-placeholder-aspect-ratio: 436\/169;\" \/><\/figure>\n\n\n\n<p> 56)  Now, perform a warm boot of the module again.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"474\" height=\"65\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-64.png\" alt=\"\" class=\"wp-image-2040 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-64.png 474w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-64-300x41.png 300w\" data-sizes=\"(max-width: 474px) 100vw, 474px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 474px; --smush-placeholder-aspect-ratio: 474\/65;\" \/><\/figure>\n\n\n\n<p> 57)  Open MCM.Data.ReadData, and you will see that we are getting the analog inputs from the slave device at Node 1&#8230;.  Starting at Word 1 (Register 1001)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"459\" height=\"228\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-65.png\" alt=\"\" class=\"wp-image-2041 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-65.png 459w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-65-300x149.png 300w\" data-sizes=\"(max-width: 459px) 100vw, 459px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 459px; --smush-placeholder-aspect-ratio: 459\/228;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"> Writing Analog<\/h3>\n\n\n\n<p>58)  Now we will write analog data to the slave.  Open MCM.Data.WriteData&#8230;.  Populate words 1 to 10 with random values.  This will simulate data coming from logic that must be written to the slave.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"428\" height=\"193\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-66.png\" alt=\"\" class=\"wp-image-2042 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-66.png 428w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-66-300x135.png 300w\" data-sizes=\"(max-width: 428px) 100vw, 428px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 428px; --smush-placeholder-aspect-ratio: 428\/193;\" \/><\/figure>\n\n\n\n<p> 59)  Now, we will need to configure our MCM.CONFIG.Port1MasterCmd[3] as follows:  (Refer to step 46 for function does)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"440\" height=\"173\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-67.png\" alt=\"\" class=\"wp-image-2043 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-67.png 440w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-67-300x118.png 300w\" data-sizes=\"(max-width: 440px) 100vw, 440px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 440px; --smush-placeholder-aspect-ratio: 440\/173;\" \/><\/figure>\n\n\n\n<p>\n60)  Again, perform a warm boot of the module.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"474\" height=\"65\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-68.png\" alt=\"\" class=\"wp-image-2044 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-68.png 474w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-68-300x41.png 300w\" data-sizes=\"(max-width: 474px) 100vw, 474px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 474px; --smush-placeholder-aspect-ratio: 474\/65;\" \/><\/figure>\n\n\n\n<p> 61)  You will see our data is now getting to the field device:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"601\" height=\"141\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-69.png\" alt=\"\" class=\"wp-image-2045 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-69.png 601w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-69-300x70.png 300w\" data-sizes=\"(max-width: 601px) 100vw, 601px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 601px; --smush-placeholder-aspect-ratio: 601\/141;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"> Working with Floating Point<\/h3>\n\n\n\n<p>\nFloat 32 requires two 16 bit\nwords to develop a full floating point number.  For this section we\nwill receive the floating point number, and place the data into two\nwords.  We  will then copy those 2 words to a floating point tag, and\nthis should restore our floating point number back to near-original\nprecision.  \n<\/p>\n\n\n\n<p> 62)  Let\u2019s place our slave into floating point mode.  Then we will choose \u201cAnalog inputs\u201d and type \u201c1.654\u201d into the first register.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"471\" height=\"135\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-70.png\" alt=\"\" class=\"wp-image-2046 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-70.png 471w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-70-300x86.png 300w\" data-sizes=\"(max-width: 471px) 100vw, 471px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 471px; --smush-placeholder-aspect-ratio: 471\/135;\" \/><\/figure>\n\n\n\n<p> 63)  Next, we will set up our command structure as follows for MCM.CONFIG.Port1MasterCmd[4].  Notice that is swap code will be required because the floating point method of the device is different than the floating point method of our processor.   <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"464\" height=\"175\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-71.png\" alt=\"\" class=\"wp-image-2047 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-71.png 464w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-71-300x113.png 300w\" data-sizes=\"(max-width: 464px) 100vw, 464px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 464px; --smush-placeholder-aspect-ratio: 464\/175;\" \/><\/figure>\n\n\n\n<p> 64)  Now perform a warm boot on the module.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"474\" height=\"65\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-72.png\" alt=\"\" class=\"wp-image-2048 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-72.png 474w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-72-300x41.png 300w\" data-sizes=\"(max-width: 474px) 100vw, 474px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 474px; --smush-placeholder-aspect-ratio: 474\/65;\" \/><\/figure>\n\n\n\n<p> 65)  If we open MCM.Data.ReadData[20-21], we can see that this is not our original number, and it did take 32 bits to store the data.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"434\" height=\"40\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-73.png\" alt=\"\" class=\"wp-image-2049 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-73.png 434w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-73-300x28.png 300w\" data-sizes=\"(max-width: 434px) 100vw, 434px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 434px; --smush-placeholder-aspect-ratio: 434\/40;\" \/><\/figure>\n\n\n\n<p> 66)  Go to EditTags.  We will create a tag called \u201cMyFloat\u201d, and the type of this tag will be \u201cReal\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"423\" height=\"23\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-74.png\" alt=\"\" class=\"wp-image-2050 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-74.png 423w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-74-300x16.png 300w\" data-sizes=\"(max-width: 423px) 100vw, 423px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 423px; --smush-placeholder-aspect-ratio: 423\/23;\" \/><\/figure>\n\n\n\n<p>\n67)  Next we will go back to\nthe MainRoutine, and create a COP instruction as follows:<\/p>\n\n\n\n<p> Note:  The length is 1, because the copy instruction uses the Destination to determine how may bits to copy from the source&#8230;.  Since MyFloat consumes 32 bits of memory, and a length of 1 is specified, 32 bits will be pulled from the source.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"226\" height=\"113\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-75.png\" alt=\"\" class=\"wp-image-2051 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 226px; --smush-placeholder-aspect-ratio: 226\/113;\" \/><\/figure>\n\n\n\n<p> 68)  Now we\u2019ll go back to Controller Tags, and in the \u201cMonitor Tags\u201d mode, you can see we now have or original value restored again (with slight loss of precision)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"472\" height=\"27\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-76.png\" alt=\"\" class=\"wp-image-2052 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-76.png 472w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-76-300x17.png 300w\" data-sizes=\"(max-width: 472px) 100vw, 472px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 472px; --smush-placeholder-aspect-ratio: 472\/27;\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\n<strong>Slave Configuration<\/strong><\/h3>\n\n\n\n<p>\n69)  Now that you know now to configure the MVI56E-MCM\u2019s Port 1 as\na master, we will now configure Port 2 as a slave.  First, move your\ncable from Port 1 to Port 2 on the module.<\/p>\n\n\n\n<p> 70)  Open MCM.Config.Port2.  Set up port 2 as follows.  Note the type is 1 (slave) and the SlaveID is 1<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"444\" height=\"306\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-77.png\" alt=\"\" class=\"wp-image-2053 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-77.png 444w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-77-300x207.png 300w\" data-sizes=\"(max-width: 444px) 100vw, 444px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 444px; --smush-placeholder-aspect-ratio: 444\/306;\" \/><\/figure>\n\n\n\n<p> 71)  Perform a warm boot of the module<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"474\" height=\"65\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-78.png\" alt=\"\" class=\"wp-image-2054 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-78.png 474w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-78-300x41.png 300w\" data-sizes=\"(max-width: 474px) 100vw, 474px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 474px; --smush-placeholder-aspect-ratio: 474\/65;\" \/><\/figure>\n\n\n\n<p>\n72)  Open the Chipkin Modbus Scanner<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"610\" height=\"101\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-79.png\" alt=\"\" class=\"wp-image-2055 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-79.png 610w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-79-300x50.png 300w\" data-sizes=\"(max-width: 610px) 100vw, 610px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 610px; --smush-placeholder-aspect-ratio: 610\/101;\" \/><\/figure>\n\n\n\n<p> 73)  Click \u201cEdit Tasks\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"279\" height=\"180\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-80.png\" alt=\"\" class=\"wp-image-2057 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 279px; --smush-placeholder-aspect-ratio: 279\/180;\" \/><\/figure>\n\n\n\n<p> 74)  Next we will Click \u201cAdd Connection\u201d.  Set up the port as follows, then click \u201cAdd Serial Connection\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"550\" height=\"243\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-81.png\" alt=\"\" class=\"wp-image-2058 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-81.png 550w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-81-300x133.png 300w\" data-sizes=\"(max-width: 550px) 100vw, 550px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 550px; --smush-placeholder-aspect-ratio: 550\/243;\" \/><\/figure>\n\n\n\n<p> 75)  Next, we will add a device with the slave ID of 1<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"465\" height=\"186\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-82.png\" alt=\"\" class=\"wp-image-2059 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-82.png 465w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-82-300x120.png 300w\" data-sizes=\"(max-width: 465px) 100vw, 465px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 465px; --smush-placeholder-aspect-ratio: 465\/186;\" \/><\/figure>\n\n\n\n<p> 76)  Next, we will add a write task.  The preset will be 11, and enter the value to write to the slave.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"549\" height=\"221\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-83.png\" alt=\"\" class=\"wp-image-2060 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-83.png 549w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-83-300x121.png 300w\" data-sizes=\"(max-width: 549px) 100vw, 549px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 549px; --smush-placeholder-aspect-ratio: 549\/221;\" \/><\/figure>\n\n\n\n<p> 77)  Now, we will see our data is in our Controller Tag<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"449\" height=\"21\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-84.png\" alt=\"\" class=\"wp-image-2061 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-84.png 449w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-84-300x14.png 300w\" data-sizes=\"(max-width: 449px) 100vw, 449px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 449px; --smush-placeholder-aspect-ratio: 449\/21;\" \/><\/figure>\n\n\n\n<p>For more information on ControlLogix, 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-1036853910\" 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 Modbus In this document, we will walk through ControlLogix Modbus examples using the 1756-MVI56E module. The MVI56E-MCM modules allows connections between the Modbus network, and a ControlLogix processor. Before using the MVI module, we will need to set up the configuration such as the IP address for the Configuration port, and the <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":1997,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[11,164],"class_list":{"0":"post-1986","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"tag-controllogix","9":"tag-modbus","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 Modbus (MVI56E)-- Configuring the Prosoft Module<\/title>\n<meta name=\"description\" content=\"ControlLogix Modbus (MVI56E) -- set up the ports on the 1756-MVI56E, and issue commands to a simulated field device to send and receive 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\/2019\/10\/26\/controllogix-modbus\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ControlLogix Modbus (MVI56E)-- Configuring the Prosoft Module\" \/>\n<meta property=\"og:description\" content=\"ControlLogix Modbus (MVI56E) -- set up the ports on the 1756-MVI56E, and issue commands to a simulated field device to send and receive data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/\" \/>\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=\"2019-10-26T11:25:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-11-30T00:08:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-23.png\" \/>\n\t<meta property=\"og:image:width\" content=\"266\" \/>\n\t<meta property=\"og:image:height\" content=\"136\" \/>\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\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"ControlLogix Modbus\",\"datePublished\":\"2019-10-26T11:25:25+00:00\",\"dateModified\":\"2020-11-30T00:08:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/\"},\"wordCount\":2694,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/image-23.png\",\"keywords\":[\"ControlLogix\",\"Modbus\"],\"articleSection\":[\"ControlLogix\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/\",\"name\":\"ControlLogix Modbus (MVI56E)-- Configuring the Prosoft Module\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/image-23.png\",\"datePublished\":\"2019-10-26T11:25:25+00:00\",\"dateModified\":\"2020-11-30T00:08:25+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"ControlLogix Modbus (MVI56E) -- set up the ports on the 1756-MVI56E, and issue commands to a simulated field device to send and receive data.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/image-23.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/image-23.png\",\"width\":266,\"height\":136,\"caption\":\"Prosoft Modbus Module\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2019\\\/10\\\/26\\\/controllogix-modbus\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ControlLogix Modbus\"}]},{\"@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 Modbus (MVI56E)-- Configuring the Prosoft Module","description":"ControlLogix Modbus (MVI56E) -- set up the ports on the 1756-MVI56E, and issue commands to a simulated field device to send and receive 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\/2019\/10\/26\/controllogix-modbus\/","og_locale":"en_US","og_type":"article","og_title":"ControlLogix Modbus (MVI56E)-- Configuring the Prosoft Module","og_description":"ControlLogix Modbus (MVI56E) -- set up the ports on the 1756-MVI56E, and issue commands to a simulated field device to send and receive data.","og_url":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2019-10-26T11:25:25+00:00","article_modified_time":"2020-11-30T00:08:25+00:00","og_image":[{"width":266,"height":136,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-23.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\/2019\/10\/26\/controllogix-modbus\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"ControlLogix Modbus","datePublished":"2019-10-26T11:25:25+00:00","dateModified":"2020-11-30T00:08:25+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/"},"wordCount":2694,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-23.png","keywords":["ControlLogix","Modbus"],"articleSection":["ControlLogix"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/","url":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/","name":"ControlLogix Modbus (MVI56E)-- Configuring the Prosoft Module","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-23.png","datePublished":"2019-10-26T11:25:25+00:00","dateModified":"2020-11-30T00:08:25+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"ControlLogix Modbus (MVI56E) -- set up the ports on the 1756-MVI56E, and issue commands to a simulated field device to send and receive data.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-23.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2019\/10\/image-23.png","width":266,"height":136,"caption":"Prosoft Modbus Module"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2019\/10\/26\/controllogix-modbus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"ControlLogix Modbus"}]},{"@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\/1986","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=1986"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/1986\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/1997"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=1986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=1986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=1986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}