{"id":1194,"date":"2024-09-04T15:04:11","date_gmt":"2024-09-04T15:04:11","guid":{"rendered":"https:\/\/www.iipdglobal.com\/blog\/?p=1194"},"modified":"2024-09-05T10:41:07","modified_gmt":"2024-09-05T10:41:07","slug":"advanced-plc-programming-techniques","status":"publish","type":"post","link":"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/","title":{"rendered":"Advanced PLC Programming Techniques"},"content":{"rendered":"\n<p>Modern industries need solutions better and faster to keep pace with the rapidly evolving technological landscape. Engineers are faced with challenges like shorter development times with higher quality. Add to it flexibility and intuitive control. There is a high demand for code reusability as well. Existing technologies and programming techniques fall short of these requirements. For effective coding and rapid product enhancement, new approaches are crucial.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"375\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image.png\" alt=\"\" class=\"wp-image-1195\" style=\"width:878px;height:auto\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image.png 650w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-300x173.png 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Programmable Logic Controllers are ahead in the game because they can be optimized for peak efficiency with advanced programming techniques. By leveraging modernized codes and strategies, businesses can unlock new levels of advancement in their automation control and factory operations. Let us deep dive into advancements in PLCs and how they can turn the tables for PLC utilization and applications.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#ADVANCED_PROGRAMMING_TECHNIQUES\" >ADVANCED PROGRAMMING TECHNIQUES<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Function_Blocks\" >Function Blocks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Data_Structures_and_User-Defined_Data_Types\" >Data Structures and User-Defined Data Types<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Communication_Protocols_and_Networking\" >Communication Protocols and Networking<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Modbus\" >Modbus<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Profibus\" >Profibus<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Motion_Control_and_Robotics_Integration\" >Motion Control and Robotics Integration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Advanced_Debugging_Tools\" >Advanced Debugging Tools<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#State-based_control\" >State-based control<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Advanced_algorithms\" >Advanced algorithms&nbsp;<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/#Conclusion\" >Conclusion:<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ADVANCED_PROGRAMMING_TECHNIQUES\"><\/span>ADVANCED PROGRAMMING TECHNIQUES<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"362\" height=\"487\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-1.png\" alt=\"\" class=\"wp-image-1196\" style=\"width:876px;height:auto\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-1.png 362w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-1-223x300.png 223w\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>This text-based language allows for complex logic statements like those found in traditional programming languages (C, Pascal). The structured approach allows programmers to break down long and complex tasks into shorter segments. These segments are coded easily and strung together to perform complicated actions. It is easier to understand, maintain and execute. Another advantage is minimized errors, flexibility, and scalability. Troubleshooting errors is far easier because corrections can be made in a smaller segment.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Function_Blocks\"><\/span><strong>Function Blocks<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"328\" height=\"247\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-2.png\" alt=\"\" class=\"wp-image-1197\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-2.png 328w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-2-300x226.png 300w\" sizes=\"auto, (max-width: 328px) 100vw, 328px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"323\" height=\"176\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-3.png\" alt=\"\" class=\"wp-image-1198\" style=\"width:406px;height:auto\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-3.png 323w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/image-3-300x163.png 300w\" sizes=\"auto, (max-width: 323px) 100vw, 323px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Function blocks are pre-written code modules that perform specific tasks.&nbsp; They encapsulate functionality, making your code more modular and easier to maintain.<strong><em> Function blocks <\/em><\/strong>are graphical representations of executable code. A function block can take one or more inputs make decisions or calculations and then generate one or more outputs.&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p>There are many different types of function blocks included in the programming software to perform various common tasks. In addition, customized Add-On instructions can be created by the programmer for sets of commonly used logic. Once an Add-On instruction is defined in a project, it appears on the instruction toolbar and behaves like the standard instructions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Data_Structures_and_User-Defined_Data_Types\"><\/span>Data Structures and User-Defined Data Types<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>As data management becomes more critical in PLCs, these techniques come into play. Data structures organize information efficiently, while user-defined data types allow you to create custom data types specific to your application. Inside a PLC, data tags are the addresses and memory storage locations separated into different functions. Inputs and outputs usually consist of boolean tags, which can only support on\/off signals. More complex analog signals are floating-point real decimal tags. Calculations and processes often use whole-number integers of various sizes.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"591\" height=\"294\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/77095eaa-ec45-4988-8d7f-925fd2e80881.png\" alt=\"\" class=\"wp-image-1199\" style=\"width:591px;height:auto\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/77095eaa-ec45-4988-8d7f-925fd2e80881.png 591w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/77095eaa-ec45-4988-8d7f-925fd2e80881-300x149.png 300w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Communication_Protocols_and_Networking\"><\/span>Communication Protocols and Networking<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Modern industrial environments involve interconnected devices.&nbsp; PLCs with communication abilities can exchange data and coordinate tasks seamlessly across these networks. Advanced PLC programming concepts include implementing various communication protocols such as Modbus, Ethernet\/IP, Profibus, or OPC to exchange data between PLCs, HMIs, databases, or external devices.&nbsp;&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"508\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/83c0755d-7476-4e5b-a056-10b290856305.png\" alt=\"\" class=\"wp-image-1200\" style=\"width:661px;height:auto\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/83c0755d-7476-4e5b-a056-10b290856305.png 661w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/83c0755d-7476-4e5b-a056-10b290856305-300x231.png 300w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Modbus\"><\/span>Modbus<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Modbus is a protocol that is used for transmitting information over serial lines or Ethernet, based on master-slave technology. In this, we have two types of devices for communication. The devices that request information are called Modbus Master and the devices that provide the information are called <strong>Modbus Slaves<\/strong>. It is again classified into Modbus RTU, Modbus ASCII, and Modbus TCPIP. This protocol was developed by Modicon.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Profibus\"><\/span>Profibus<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>It is similar to Modbus RTU, which also works on serial line communication. The only difference is that it is owned by Siemens Automation.&nbsp;<\/p>\n\n\n\n<p>When developing advanced automation systems, <strong><a href=\"https:\/\/www.iipdglobal.com\/blog\/troubleshooting-and-debugging-plc-programs\/\" target=\"_blank\" rel=\"noreferrer noopener\">troubleshooting and debugging PLC programs<\/a><\/strong> are crucial steps in ensuring the smooth operation of industrial processes. Effective debugging helps identify and fix issues quickly, reducing downtime and improving efficiency. <\/p>\n\n\n\n<p>Equally important is understanding <strong><a href=\"https:\/\/www.iipdglobal.com\/blog\/list-of-communication-protocols-in-plcs\/\" target=\"_blank\" rel=\"noreferrer noopener\">different communication protocols in PLCs<\/a><\/strong>, such as Modbus and Profibus, which facilitate seamless data exchange between various devices. By mastering both debugging techniques and communication protocols, engineers can optimize PLC systems for greater flexibility and performance, ensuring a well-integrated and responsive network of automated machinery.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Motion_Control_and_Robotics_Integration\"><\/span>Motion Control and Robotics Integration<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"442\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/Motion-Control-and-Robotics-Integration-.png\" alt=\"Motion Control and Robotics Integration\u00a0\" class=\"wp-image-1201\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/Motion-Control-and-Robotics-Integration-.png 633w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/Motion-Control-and-Robotics-Integration--300x209.png 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Advanced PLCs can handle motion control for precise positioning and manipulation of equipment. This is particularly valuable in manufacturing and robotics applications. Separate robot and motion programming. Robots operate with the robot vendor control system and kinematic software.<\/p>\n\n\n\n<p>Nonrobotic motion control would be controlled by separate hardware and separate software. Communication capabilities may vary according to the capabilities of vendors\u2019 products and the sophistication of the machine builder and system integrators involved.<\/p>\n\n\n\n<p>A line\/machine controller (programmable logic controller, PLC) connects via a network (typically Ethernet) to a dedicated robot controller (typically the robotic arm vendor\u2019s control\/drive system), which manages robot operations. Robotic programming is accomplished with the robot vendor\u2019s programming software and teach-n-learn devices. <\/p>\n\n\n\n<p>The robot controller is often networked to a separate machine\/line controller (such as a PLC). The machine\/line controller manages the overall machine operation and sequencing manages the motion of other general motion control (GMC) axes, and coordinates its operation with the robot controller through the network interface. <\/p>\n\n\n\n<p>This architecture does not have tight synchronization of the robot arm and the PLC\u2019s GMC axes. (In some cases, GMC axes that require tight coordination with the robot may have to be controlled by the robot controller.&nbsp;<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Advanced_Debugging_Tools\"><\/span>Advanced Debugging Tools<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"288\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/a9ae47f8-ed16-4a30-a40d-325616dc6ba1.png\" alt=\"\" class=\"wp-image-1202\" style=\"width:628px;height:auto\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/a9ae47f8-ed16-4a30-a40d-325616dc6ba1.png 630w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/a9ae47f8-ed16-4a30-a40d-325616dc6ba1-300x137.png 300w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>This involves analyzing the program&#8217;s behavior, examining the values of variables and the state of the PLC&#8217;s inputs and outputs, and stepping through the program&#8217;s execution to identify the cause of any issues. Debugging can be performed using the debugging tools provided by the PLC programming software, such as breakpoints, watch variables, and single-stepping.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"State-based_control\"><\/span>State-based control<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Advanced PLC programming also implements state-based control. This novel programming technique is more dynamic and flexible. Straying away from traditional sequential programming that relies on sequential logic, state-based control allows PLCs to run based on the current state of the system. This allows for intuitive control where operations need not be executed in a predefined sequence and can change dynamically based on user needs.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"518\" height=\"315\" src=\"https:\/\/www.iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/State-based-control-.png\" alt=\"\" class=\"wp-image-1203\" style=\"width:878px;height:auto\" srcset=\"https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/State-based-control-.png 518w, https:\/\/iipdglobal.com\/blog\/wp-content\/uploads\/2024\/09\/State-based-control--300x182.png 300w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>When multiple states and transitions are included in the requirement, the sequential logic is often inadequate. Instead, engineers can define states, transitions, and other situations for the program to respond according to atmospheric changes or alterations in real-time conditions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Advanced_algorithms\"><\/span><strong>Advanced algorithms<\/strong>&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>PLC programming can be integrated with mathematical algorithms and data processing capabilities to give it a competitive edge. Programmers input mathematical functions and data analytical capacities while developing enabling the PLC to perform complex calculations, data analysis, and statistical computations enhancing the overall performance of the industry it is equipped.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion:<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>As industries evolve and the demand for efficient automation solutions grows, Programmable Logic Controllers (PLCs) are pivotal in modernizing factory operations. The use of advanced programming techniques, such as function blocks, state-based control, and communication protocols, not only enhances the flexibility and scalability of systems but also minimizes errors and downtime. <\/p>\n\n\n\n<p>With the integration of data structures, motion control, and powerful debugging tools, PLCs offer a reliable solution to keep up with the rapid pace of technological advancements. These innovations empower engineers to meet the ever-increasing need for faster, more reliable, and intuitive control systems, ultimately leading to enhanced productivity and performance.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Modern industries need solutions better and faster to keep pace with the rapidly evolving technological landscape. Engineers are faced with challenges like shorter development times with higher quality. Add to it flexibility and intuitive control. There is a high demand for code reusability as well. Existing technologies and programming techniques fall short of these requirements. &#8230; <a title=\"Advanced PLC Programming Techniques\" class=\"read-more\" href=\"https:\/\/iipdglobal.com\/blog\/advanced-plc-programming-techniques\/\" aria-label=\"More on Advanced PLC Programming Techniques\">Read more<\/a><\/p>\n","protected":false},"author":5,"featured_media":1195,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,19],"tags":[],"class_list":["post-1194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-industrial-automation","category-plc"],"_links":{"self":[{"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/posts\/1194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/comments?post=1194"}],"version-history":[{"count":2,"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/posts\/1194\/revisions"}],"predecessor-version":[{"id":1205,"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/posts\/1194\/revisions\/1205"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/media\/1195"}],"wp:attachment":[{"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/media?parent=1194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/categories?post=1194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iipdglobal.com\/blog\/wp-json\/wp\/v2\/tags?post=1194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}