

xiangjinjiao
Staff group-
Content Count
110 -
Joined
-
Last visited
Content Type
Profiles
Forums
PLC programming technology and HMI interface design Simplified Chinese database
- PLC AND HMI SIMPLIFIED CHINESE ARTICLES
- PLC AND HMI SIMPLIFIED CHINESE ARTICLE Comments
- PLC AND HMI SIMPLIFIED CHINESE ARTICLE Reviews
PLC and HMI Brand Database
- PLC AND HMI BRANDS INTRODUCTIONS
- PLC AND HMI BRAND INTRODUCTION Comments
- PLC AND HMI BRAND INTRODUCTION Reviews
PLC programming technology and HMI interface design English database
- PLC AND HMI ENGLISH ARTICLES
- PLC AND HMI ENGLISH ARTICLE Comments
- PLC AND HMI ENGLISH ARTICLE Reviews
PLC programming technology and HMI interface design Russian database
- PLC AND HMI RUSSIAN ARTICLES
- PLC AND HMI RUSSIAN ARTICLE Comments
- PLC AND HMI RUSSIAN ARTICLE Reviews
Spanish database on PLC programming techniques and HMI interface design
- PLC AND HMI SPANISH ARTICLES
- PLC AND HMI SPANISH ARTICLE Comments
- PLC AND HMI SPANISH ARTICLE Reviews
German database on PLC programming technology and HMI interface design
- PLC AND HMI ARTICLES IN GERMAN
- PLC AND HMI ARTICLE IN GERMAN Comments
- PLC AND HMI ARTICLE IN GERMAN Reviews
Downloads
Store
Gallery
Blogs
Calendar
Videos
Everything posted by xiangjinjiao
-
SPS-Systemdokumentation
xiangjinjiao posted A plc and hmi article in German in PLC programming learning
Die SPS-Dokumentation ist eine sehr wichtige technische Aufzeichnung der Prozesssteuerungsschritte, und wie bei allen technischen Beschreibungen sind genaue, detaillierte technische Aufzeichnungen unerlässlich. Ohne genaue Zeichnungen sind Änderungen und Modifikationen, die für Upgrades und Diagnosen erforderlich sind, äußerst schwierig oder unmöglich. SPS-Systemdokumentation Jedes Kabel von der SPS zur Überwachungs- und Steuerungsausrüstung muss an beiden Enden deutlich gekennzeichnet und nummeriert und im Schaltplan aufgezeichnet sein. Die SPS muss über vollständige, aktuelle Leiterdiagramme (oder eine andere zugelassene Sprache) verfügen, und jede Sprosse muss mit einer vollständigen Beschreibung ihrer Funktion gekennzeichnet sein. Die wesentlichen Dokumente in einem SPS-System sind: 1. Systemübersicht und vollständige Beschreibung des Steuerungsbetriebs; 2. Blockdiagramm der Einheiten im System; 3. Vollständige Liste aller Ein- und Ausgänge, Ziele und Nummern; 4. Schaltplan der E/A-Module, Adressidentifikation für jeden E/A-Punkt und Rack-Standorte; 5. Leiterdiagramm mit Sprossebeschreibung, Nummer und Funktion. Außerdem muss die Möglichkeit bestehen, das Kontaktplanprogramm offline auf einem PC oder im Hintergrundmodus in der SPS zu simulieren, damit Änderungen, Upgrades und Fehlersimulationen ohne Unterbrechung des normalen Betriebs der SPS durchgeführt werden können und die Auswirkungen von Änderungen und Upgrades vor ihrer Einbindung bewertet werden können. -
Beispiele für SPS-Programmierung zur industriellen Automatisierung
xiangjinjiao posted A plc and hmi article in German in PLC programming learning
Entwickeln Sie Beispiele für SPS-Programmierung zur industriellen Automatisierung gemäß der unten angegebenen Logik. Eine Säge, ein Lüfter und eine Ölpumpe werden eingeschaltet, wenn ein Startknopf gedrückt wird. Wenn die Säge weniger als 20 s in Betrieb war, sollte die Ölpumpe ausgeschaltet werden, wenn die Säge ausgeschaltet wird, und der Lüfter sollte nach dem Herunterfahren der Säge weitere 5 s laufen. Wenn die Säge länger als 20 s in Betrieb war, sollte der Lüfter eingeschaltet bleiben, bis er durch einen separaten Lüfter-Reset-Knopf zurückgesetzt wird, und die Ölpumpe sollte nach dem Ausschalten der Säge weitere 10 s laufen. Schreiben Sie ein SPS-Programm, das diesen Prozess implementiert. Beispiele für SPS-Programmierung Programmbeschreibung: Sprosse 0000: Start/Not-Aus PB mit Speicher B3:0/0 verriegelt. Sprosse 0001: B3:0/0 aktiviert, um Säge (O: 0/0), Lüfter (O: 0/1) und Ölpumpe (O:0/2) einzuschalten. Der normalerweise geschlossene Kontakt des Stoppschalters ist in Reihe mit dem Sägeausgang, um ihn auszuschalten. Der Lüfterrücksetzschalter und der Timer T4:0 sind angeschlossen, um den Lüfter auszuschalten, wenn die Bedingung erfüllt ist. Der Timer T4:2 hat ein Bit ausgeführt und das Speicherbit dient zum Ausschalten der Ölpumpe. Sprosse 0002: Wenn der Stopp gedrückt wird, muss der Lüfterausgang (O: 0/2) gemäß der in Punkt 2 genannten Logik nach 5 s ausgeschaltet werden. Der Komparatorblock beschränkt den Timer T4:0 auf das Laufen nach 20 s Sägebetrieb. Sprosse 0003: Der Timer T4:1 läuft, wenn der Start gedrückt wird. Wenn der Stopp zu irgendeinem Zeitpunkt nach 20 s gedrückt wird, wird der Sägeausgang ausgeschaltet. Nach 10 s wird die Ölpumpe ausgeschaltet. Dieser Vorgang wird von Timer T4:2 ausgeführt. Das Fertigbit von Timer T4:0 wird verwendet, um den Vorgang von Timer T4:1 einzuschränken, wenn T4:0 eingeschaltet ist. Sprosse 0004: Weniger als ein Komparatorblock wird verwendet, um die in Punkt 2 erwähnte Logik auszuführen, um den Lüfter auszuschalten, wenn der Sägeausgangsvorgang weniger als 20 s dauerte. Programmausgabe: Jetzt sehen wir die Simulation der obigen Leiterlogik für verschiedene Bedingungen, wie unten erwähnt. Wenn Start PB gedrückt wird Wenn der Stoppschalter vor 20 s gedrückt wird Wenn der Stoppschalter nach 20 s gedrückt wird Wenn der Lüfter-Reset-Schalter gedrückt wird Fazit: Wir können dieses Beispiel verwenden, um die Programmierlogik in Allen Bradley PLC zu verstehen. -
Programación avanzada de PLC para clasificación de piezas defectuosas
xiangjinjiao posted A plc and hmi article in Spanish in PLC programming learning
Programación avanzada de PLC para clasificación de piezas defectuosas para distinguir entre piezas buenas y malas y luego transportarlas mediante transportadores. Programación avanzada de PLC para clasificación de piezas defectuosas La siguiente simulación muestra la identificación de productos buenos y malos y la clasificación de los productos según su calidad utilizando la lógica de escalera PLC. Los transportadores se utilizan para mover los productos. Los transportadores se ponen en marcha y se detienen cuando los productos se entregan en el transportador y durante la operación de perforación. La máquina perforadora se utiliza para perforar los productos según el diseño. En ocasiones, la operación de perforación puede dañar los productos. Un sensor detecta la calidad de los productos y se utiliza un empujador para empujar los productos defectuosos a otro contenedor de almacenamiento. Entradas y salidas del PLC La siguiente tabla enumera las entradas y salidas requeridas del sistema PLC. Tipo Dispositivo No. Nombre del dispositivo Operación Aporte X0 Perforación ON durante la perforación. Aporte X1 Parte bajo taladro Se suministra una pieza cuando Y0 está en ON: un gran cubo de metal. Aporte X2 Perforado correctamente ON cuando la pieza está perforada correctamente. El resultado anterior se borra cuando comienza la perforación. Aporte X3 perforado mal ON cuando la pieza se detecta en el extremo izquierdo. Aporte X4 Sensor ON cuando la pieza se detecta en el extremo derecho. Aporte X5 Sensor ON cuando la pieza se detecta delante del empujador. Aporte X10 Sensor ON cuando la pieza no está perforada correctamente. El resultado anterior se borra cuando comienza la perforación. Producción Y0 comando de suministro El transportador avanza cuando Y1 está activado. Producción Y1 transportador hacia adelante El transportador avanza cuando Y3 está activado. Producción Y2 Empezar a perforar Comienza a perforar cuando Y2 está activado (un ciclo de proceso que no se puede detener parcialmente). Producción Y3 transportador hacia adelante Se extiende cuando Y5 está activado y se retrae cuando Y5 está desactivado. El empujador no se puede detener a mitad de carrera. Producción Y5 Arribista Se extiende cuando Y5 está activado y se retrae cuando Y5 está desactivado. El empujador no se puede detener a mitad de carrera. Descripción del programa Este proyecto tiene como objetivo diferenciar entre piezas buenas y defectuosas mediante sensores y clasificarlas en consecuencia. El proyecto consta de dos áreas clave: control general y control de perforación. Control general Hay un pulsador llamado PB1 (X20) en el panel de control. Cuando presiona PB1, activa el comando de suministro (Y0) para la tolva, lo que hace que suministre piezas. Al soltar PB1 se desactiva el comando de Suministro, deteniéndose la tolva. En el panel de control hay un interruptor SW1 (X24). Cuando enciende SW1, los transportadores comienzan a avanzar. Al apagar SW1 se detiene los transportadores. Control de perforación Ahora analicemos el control del taladro: Cuando se activa la pieza debajo del sensor de perforación (X1) dentro del taladro, el transportador se detiene. El proceso de perforación comienza cuando se activa el comando Iniciar perforación (Y2). Se detiene cuando se activa el sensor de perforación (X0). Después de un ciclo completo de operación de perforación, si se activa Iniciar perforación (Y2), se activa el sensor Perforado correctamente (X2) o Perforado incorrectamente (X3). Tenga en cuenta que el taladro no se puede detener a mitad de operación. En esta simulación de PLC, una de cada tres piezas se considera defectuosa (una pieza con múltiples agujeros también entra en la categoría defectuosa). Cuando el sensor de detección de pieza (X10) en el empujador identifica una pieza defectuosa, el transportador se detiene y el empujador mueve la pieza a la bandeja "defectuosa". Recuerde que cuando el mando de accionamiento del empujador está en ON, éste se extiende completamente. Cuando el comando está en OFF, el empujador se retrae completamente. Una pieza que pasa la inspección continúa a lo largo del transportador hasta la bandeja "OK" ubicada en el extremo derecho. Programación de PLC -
SIEMENS Overview of SIEMENS PLC – S7-1500, S7-1200, S7-400, S7-300
xiangjinjiao posted A plc and hmi english article in PLC programming learning
Siemens is a well-known multinational company that operates in a variety of industries, including energy, healthcare, transportation, and industrial automation. Siemens was founded in 1847 and has since grown into a global corporation with operations in many countries. Siemens is known for its innovative products and services, and it has been recognized as one of the world’s most sustainable companies. In this article, we will give an overview of Siemens PLC which is a very small portion of Siemens’s various products in the industrial automation sector. Contents: Siemens in industrial automation. Siemens Different PLCs families. Overview of Siemens S7 PLCs. Simatic S7-1200. Simatic S7-1500. Simatic S7-300. Simatic S7-400. Simatic S7-ET 200 CPU Why are there a lot of different models? How to decide which type of S7 PLCs best fits my application? Conclusion. Siemens in Industrial Automation Siemens is a leader in the field of industrial automation and is known for its high-quality products and solutions. The company offers a wide range of industrial automation products, including programmable logic controllers (PLCs), human-machine interfaces (HMIs), variable frequency drives (VFDs), and industrial communication networks. Siemens also provides software solutions for industrial automation, such as the Totally Integrated Automation TIA Portal, which is an engineering framework that integrates all automation software tools in one platform. Also, Siemens has developed its own Industrial Internet of Things (IIoT) platform called MindSphere, which enables the collection and analysis of data from connected devices in industrial environments. Siemens Different PLCs families Siemens have two main families of PLCs that were developed and they are: Simatic S5 family of PLCs Simatic S7 family of PLCs The Simatic S5 series was Siemens’ previous generation of PLCs, and it is still in use in some older industrial systems. But is no longer manufactured. The Simatic S7 series is the current Siemens PLC. It offers a wide range of CPUs with varying levels of performance and functionality to meet different automation needs. The S7 series is known for its reliability, robustness, and flexibility, and is widely used in industries such as automotive, food and beverage, and pharmaceuticals. Overview of Siemens S7 PLC Siemens S7 generation of PLCs offers a wide range of CPUs with different levels of performance and functionality to meet the demands of different industrial automation processes, these CPUs will belong to one of the below sub-families: Simatic S7-1200 The Simatic S7-1200 is a compact PLC designed for small to medium-sized applications. It offers a flexible and cost-effective automation solution with its compact design, integrated communication, and programming options. Simatic S7-1500 The Simatic S7-1500 is a high-performance PLC designed for medium to large-scale applications. It offers advanced functionality such as motion control, safety, and security, making it suitable for complex automation tasks. Simatic S7-300 The Simatic S7-300 is a modular PLC that can be easily adapted to a wide range of applications. It offers high processing power, extensive communication options, and a wide range of I/O modules, making it a popular choice for many industries. Simatic S7-400 The Simatic S7-400 is a high-performance PLC designed for demanding applications that require high processing power and extensive communication capabilities. It offers a large number of I/O modules, redundancy options, and advanced diagnostics, making it suitable for complex automation tasks. Simatic S7-ET 200SP The Simatic S7-ET 200SP is a compact remote I/O system that can be easily integrated with other Simatic S7 PLCs. It offers a high degree of flexibility, scalability, and modularity, making it suitable for various automation applications. When you create a new project in TIA Portal and try to add a new device, you can find all the available and supported CPUs from different S7 families. See picture 1. Picture 1 – Different PLCs are available in the Simatic S7 generation S7-1200 PLC The Simatic S7-1200 is a versatile and cost-effective PLC that offers a range of models to meet different automation needs, making it a popular choice for small to medium-sized applications. Here’s an overview of the different models in the S7-1200 series: Simatic S7-1200 CPUs: These are the standard CPUs in the S7-1200 series, and they come in different versions, including CPU 1211C, CPU 1212C, CPU 1214C, CPU 1215C, and CPU 1217C. They offer more advanced functionality than the Basic Controllers, including built-in communication interfaces and additional I/O options. They also come in different versions, including DC/DC/DC, DC/DC/RLY, AC/DC/RLY, and AC/DC/TC. They have limited functionality but are ideal for simple control tasks. Simatic S7-1200 Safety Integrated: This is a safety-certified version of the S7-1200 that includes safety-related functions, such as safety inputs, safety outputs, and safety communication, to enhance the safety of the automation system. Simatic S7-1200 SIPLUS: This is a ruggedized version of the S7-1200 that is designed to operate in harsh environments with extreme temperatures, humidity, and vibration. See picture 2 for different models of S7-1200. Picture 2 – Different models of S7-1200 CPU S7-1500 PLC the Simatic S7-1500 is a powerful PLC that offers a range of models to meet different automation needs, making it a popular choice for demanding applications. Here’s an overview of the different models in the S7-1500 series: Simatic S7-1500 Standard CPUs: These are the standard CPUs in the S7-1500 series, and they come in different versions, including CPU 1511-1 PN, CPU 1513-1 PN, CPU 1515-2 PN, and CPU 1518-4 PN. They offer high-speed processing and advanced communication options, such as Profinet, Profibus, and Industrial Ethernet. Simatic S7-1500 Safety Integrated: This is a safety-certified version of the S7-1500 that includes safety-related functions, such as safety inputs, safety outputs, and safety communication, to enhance the safety of the automation system. Simatic S7-1500 Advanced Controllers: These are advanced versions of the S7-1500 that offer additional functionality, such as motion control, high-speed counting, and advanced communication options. Simatic S7-1500 T-CPU: This is an advanced version of the S7-1500 CPUs that have extended motion control functions such as Kinematic functions and Gearing and camming functions. Simatic S7-1500 TM NPU: This is a neural processing unit (NPU) that is designed for machine learning and artificial intelligence (AI) applications, such as predictive maintenance, quality control, and process optimization. See picture 3 for different models of S7-1500. Picture 3 – Different models of S7-1500 S7-300 PLC Simatic S7-300 CPUs: These are the standard CPUs in the S7-300 series, and they come in different versions, including CPU 312C, CPU 313C, CPU 314C, CPU 315-2DP, CPU 317-2DP, and CPU 319-3PN/DP. They offer high processing power, advanced communication options, and a wide range of I/O options. Simatic S7-300 Fail-Safe CPUs: These are safety-certified versions of the S7-300 CPUs that include safety-related functions, such as safety inputs, safety outputs, and safety communication, to enhance the safety of the automation system. Simatic S7-300 Compact CPUs: These are compact versions of the S7-300 CPUs that offer reduced size and power consumption, making them ideal for applications with limited space and power supply. Simatic S7-300 Technology CPUs: These are specialized CPUs that are designed for specific automation applications, such as motion control, temperature control, and process control. Simatic S7-300 Distributed Controllers: These are modular controllers that offer distributed I/O and communication options, making them ideal for applications that require distributed automation. See picture 4 for different models of S7-300. Picture 4 – Different models of S7-300 S7-400 PLC Simatic S7-400 CPUs: These are the standard CPUs in the S7-400 series, and they come in different versions, including CPU 412-1, CPU 414-1, CPU 414-2, CPU 416-2, and CPU 417-4. They offer high processing power, advanced communication options, and a wide range of I/O options. Simatic S7-400H CPUs: These are high-availability CPUs that offer redundancy options to enhance the availability and reliability of the automation system. Simatic S7-400F/FH CPUs: These are safety-certified CPUs that include safety-related functions, such as safety inputs, safety outputs, and safety communication, to enhance the safety of the automation system. Simatic S7-400 Distributed Controllers: These are modular controllers that offer distributed I/O and communication options, making them ideal for applications that require distributed automation. See picture 5 for different models of S7-400. Picture 5 – Different models of S7-400 Simatic S7-ET 200 PLC Simatic S7-ET 200 CPUs: These are the standard CPUs in the S7-ET 200 series, and they come in different versions, including CPU 1511C-1 PN, CPU 1513-1 PN, and CPU 1515-2 PN. They offer high processing power, advanced communication options, and a wide range of I/O options. Simatic S7-ET 200F CPUs: These are safety-certified CPUs that include safety-related functions, such as safety inputs, safety outputs, and safety communication, to enhance the safety of the automation system. Simatic S7-ET 200SP CPUs: These are compact CPUs that offer reduced size and power consumption, making them ideal for applications with limited space and power supply. See picture 6 for different models of S7-ET200. Picture 6 – Different models of S7-ET200 Why are there a lot of different models? There are many different models of Siemens S7 PLCs to provide customers with a wide range of options and features to choose from, allowing them to select the PLC that best suits their specific automation needs. Different models offer different features, processing power, memory, communication options, and I/O capabilities. Some models are designed for specific applications, such as motion control, temperature control, and process control, others are designed for general-purpose automation systems. Also, as technology advances and new automation requirements arise, Siemens continues to develop and release new models and versions of S7 PLCs with enhanced features and capabilities, providing customers with the latest automation technology to help them improve their productivity, reduce their costs, and enhance their system’s performance. How to decide which type of S7 PLCs best fits my application? Choosing the right type of S7 PLC for your application requires careful consideration of several factors. Here are some general steps to help you decide which type of S7 PLCs best fit your application: Determine the size and complexity of your automation system: If you have a large and complex automation system, you may need a high-performance PLC, such as the S7-400 or S7-1500 that can handle a large number of I/O points and advanced communication options. If your system is smaller and less complex, a smaller PLC, such as the S7-1200 or S7-300, may be sufficient. Identify the required I/O types and count: Each S7 PLC has a different range of I/O options and capacity. You need to determine the type and number of I/O points that you need for your application and select the PLC that can support them. Consider the required processing speed and performance: Different S7 PLCs have different processing speeds and performance capabilities. You need to determine the required processing speed and select the PLC that can meet your performance requirements. Evaluate the required communication options: Different S7 PLCs offer different communication options, such as Ethernet, Profibus, Profinet, and AS-i. You need to determine the required communication protocols for your application and select the PLC that can support them. Consider the required safety features: If your application requires safety functions, such as safety inputs, safety outputs, and safety communication, you may need a safety-certified PLC, such as the S7-1500F or S7-400F. Conclusion Siemens provides a wide range of industrial automation products including various models of PLCs with different functionality and performance capabilities including the S7-1200, S7-1500, S7-300, and S7-400 CPUs. The many different models of Siemens S7 PLCs are there to provide customers with a wide range of options and features to choose from. Choosing the PLC model that best fits your Process requires some points to consider before selecting the PLC, some of these points are IOs count, safety requirements, and communication options. -
Pneumatic valve sequence PLC programming
xiangjinjiao posted A plc and hmi english article in PLC programming learning
This is a PLC program for pneumatic valve operation in sequence mode. Sequential PLC Programming for the Pneumatic Valves Write a ladder logic for sequential PLC programming for the pneumatic valves to operate cylinders in sequential mode. Solution: Here in this system, there are two cylinders and two push buttons that are connected to the PLC. The push buttons are connected to the PLC inputs and the cylinders are connected to the Outputs of the PLC. There are the following condition for the system to work which are as follows: – When START PB is pushed, cylinder A should start, and Cylinder B should start after 5 seconds of Cylinder A. When STOP PB is pushed, both cylinders A & B are to be stopped. Now to meet the following conditions, we must use a timer which delays the operation of cylinder B. List of inputs/outputs Inputs: X1 -START PB X2 -STOP PB Outputs: Y0 -Cylinder A Y1 -Cylinder B Ladder Diagram for the Sequential Operation of Cylinders Program Explanation: In rung 1, we used STRAT PB (X1) to start Cylinder A (Y0). Here we used NC contact of STOP PB (X2) to stop cylinder A (Y0). In parallel with X1 contact, we used NO contact of Y0 to latch the output. In rung 2, we used Timer T0 to count the delay for cylinder B (Y1). In rung 3, we used NO contact of T0 so once time delay over the Cylinder B (Y1) will ON. -
SIEMENS Siemens PLC using clock memory bits in TIA Portal
xiangjinjiao posted A plc and hmi english article in PLC programming learning
In this article, we will take about clock memory bits in TIA Portal and Siemens PLC. And we will show how to enable the use of the memory bits and how it can help you avoid coding a lot of logic lines to obtain a simple function that your PLC already do it internally. Contents: What are clock memory bits? The need for clock memory bits. Enable clock memory in my project. Simple program example. Program simulation. Conclusion. What are Clock Memory Bits? A clock memory is a bit memory that changes its binary status periodically in the ratio of 1:1. That simply means it changes its status periodically between true and false with a pre-defined frequency. There are 8 clock memory bits pre-defined in the CPU which is why they are also called clock memory byte. You decide which memory byte of the CPU will become the clock memory byte when you enable the use of the memory byte and assign the clock memory parameters. The Need for Clock Memory Bits You don’t necessarily need the clock memory as you can create your own logic and achieve the same functionality. However, it is a good thing to have in your pocket when you need such functionality. As creating 8 separate logic for 8 clock memory bits will take some of your time and effort and might make your program unnecessarily large. You can use clock memory, for example, to activate flashing indicator lamps or to initiate periodically recurring operations such as recording actual values. Each bit of the clock bit memory byte is assigned a frequency. See the following table. Bit of the clock memory byte 7 6 5 4 3 2 1 0 Period (s) 2.0 1.6 1.0 0.8 0.5 0.4 0.2 0.1 Frequency (Hz) 0.5 0.625 1 1.25 2 2.5 5 10 Table 1. Clock memory bits frequencies according to the TIA Portal help manual. Enable Clock Memory in Siemens PLC To use the clock memory bits in your logic, you need to enable the use of the clock memory byte from the properties of the CPU. See picture 1. Picture 1 – Enable the use of clock memory byte You can choose the address of the byte you want to assign for the clock memory, just make sure it doesn’t conflict with any other memory bytes in your PLC logic. As you see from the picture, we chose the address 0, so if you need to use the 2Hz clock bit you will use the bit %M0.3 Tia Portal Conveyor Belt Example Program In a previous article, we used a simple example of a conveyor belt moving a product between the start and end of the belt. There was an indication LED that turns ON when the Belt is running. See picture 2. Picture 2 – Simple conveyor belt system We will use the same example, but this time we will make the LED more intuitive using the clock memory bits. This time we will use the clock memory bits with the LED to give an indication of different cases of the process. Process Description In a conveyor belt system controlled by a PLC, there are two presence sensors at the two ends of the belt to detect the presence of a product, when the product is detected at the start of the belt, the conveyor can be started through a start Pushbutton and when the product reaches the end the belt will stop automatically and it will not run again until a new product is detected once again at the start and the START push button is pressed. The indication LED should have more than one behavior depending on the current case of the system. These cases are as follows: If there is a product at the start of the belt but START is not pressed yet, the LED should be flashing by a frequency of 0.5Hz. If the conveyor is moving the product the LED should be flashing by a 2Hz frequency. When the product reaches the end of the belt the LED should be ON When the product is removed from the end the LED will go OFF. Project IOs We have 4 digital inputs as follows: START: start push button to run the Conveyor. STOP: stop push button to stop the conveyor at any moment. P1: Presence sensor at the start of the belt. P2: Presence sensor at the end of the belt. We also have 2 digital outputs as follows: MOTOR: when activated the Conveyor belt will start running. LED: will be activated according to the sequence mentioned before. Program Code First, we select our PLC and assign the IO tags. See picture 3 Picture 3 – Assign inputs and outputs tags Don’t forget to enable the use of the clock memory byte as shown in picture 1. We will have two networks of code, one for the control of the conveyor belt and another for the LED logic. See pictures 4 and 5 for the logic. Picture 4 – The control logic of the conveyor belt Picture 5 – The control logic of the LED As you can see, using the clock memory bits made the logic simple and easy to read. Imagine if you would create the same logic without the use of these bits, you would have used a lot of timers and your logic would have been fairly complicated. Program Simulation We explained before how to use the PLCSim to simulate our code. In this example, we will use the simulation sequence to create the same sequence of the actual process and we will see if the LED behavior will match the intended functionality or not. Start by compiling our code and start a new simulation. See picture 6. Picture 6 – Program simulation As you can see, the LED is now OFF; there are no products presences at the start or the end of the conveyor. We created a simulation sequence and see how the LED will react to different process conditions. See the following animation. See if you can notice how the LED behavior changes with different process conditions. Conclusion Clock memory bits turn on and off with a pre-defined frequency. They are very useful when you need to activate flashing indicator lamps or to initiate periodically recurring operations. Using clock memory bits will save you the time and effort consumed to obtain the same functionality through your own logic. -
MITSUBISHI PLC Programming: Sorting and Distribution of Boxes by Height
xiangjinjiao posted A plc and hmi english article in PLC programming learning
In this PLC programming, we do sorting and distribution of boxes by height into the designated storage bins using sensors and conveyors. This PLC program distributes the specified number of parts according to their size. PLC Sorting Boxes by Height The below simulation shows the working principle of PLC logic for sorting boxes based on their height. Here we have 3 different size boxes like small, medium, and large sizes. There are three storage bins for each box size. There are three pushers and three conveyors. Each box size has one pusher and one conveyor. The robot places the boxes randomly on the conveyor. The sensors are used to detect the box’s size. The conveyors are started and stopped when the respective box size reaches there using the sensors. The respective pusher is activated and moves the respective box size to the dedicated storage bins. PLC I/O List The below table lists the inputs and outputs of this system. Type Device No. evice Name Operation Input X0 Starting point ON when the robot is at starting point. Input X1 Upper ON when the part is detected. Input X2 Middle ON when the part is detected. Input X3 Lower ON when the part is detected. Input X4 Sensor ON when the part is detected on the incline. Input X5 Sensor ON when the part is detected on the incline. Input X6 Sensor ON when the part is detected on the incline. Input X7 Sensor ON when the part is detected at the right end. Input X10 Detect part ON when the part is detected in front of the pusher. Input X11 Detect part ON when the part is detected in front of the pusher. Input X12 Detect part ON when the part is detected in front of the pusher. Output Y0 Supply command One part is supplied When Y0 is ON. A process cycle begins: Wooden part repeats in order M, S, L, M, M, L, S, S, L, L. Output Y1 Conveyor forward The conveyor moves forward when Y1 is ON. Output Y2 Conveyor forward The conveyor moves forward when Y2 is ON. Output Y3 Conveyor forward The conveyor moves forward when Y3 is ON. Output Y4 Conveyor forward The conveyor moves forward when Y4 is ON. Output Y5 Pusher Extends when Y5 is ON and retracts when Y5 is OFF. The pusher cannot be stopped in the mid-stroke. Output Y6 Pusher Extends when Y6 is ON and retracts when Y6 is OFF. The pusher cannot be stopped in the mid-stroke. Output Y7 Pusher Extends when Y7 is ON and retracts when Y7 is OFF. The pusher cannot be stopped in the mid-stroke. Program Description Programming a Programmable Logic Controller (PLC) for Box Sorting Based on Height and Component Distribution. Initiating the robot’s operation involves pressing the pushbutton PB1 (X20) located on the control panel, which activates the Robot Supply Command (Y0). The Robot Supply Command (Y0) is deactivated upon the robot completing the part movement and returning to its initial position. The Conveyor Movement Command is controlled by the Switch SW1 (X24) on the control panel. Activating the switch (turning it ON) propels the conveyor’s movement forward while deactivating it (turning it OFF) brings the conveyor to a halt. Sorting of parts, segregated into large, medium, and small sizes, is executed through the input from the Upper (X1), Middle (X2), and Lower (X3) sensors. Post-sorting, the parts are conveyed to their designated trays. The presence of a part in the pusher is identified by the activation (turning ON) of the Part Detection Sensors (X10, X11, or X12). Upon part detection, the conveyor is brought to a halt, and the detected part is displaced onto the tray. Note: The operation of the pusher is governed by the Pusher Actuation Command. Upon receiving an ON signal, the pusher fully extends, while an OFF signal causes the pusher to retract. Each tray is to contain a specific number of parts, depending on their size. Any parts exceeding these specified numbers bypass the pusher and are ejected from the conveyor at the right end. The designated number of parts per size is as follows: Large: 3 parts Medium: 2 parts Small: 2 parts PLC Ladder Logic -
Safety Considerations in PLC System Design
xiangjinjiao posted A plc and hmi english article in PLC programming learning
PLC is a very important part of industrial automation. It is the base of automation and every PLC programmer or automation engineer must design it properly so that it works properly. It is not just about programming, but ultimately how you design the PLC system. Safety Considerations in PLC System Design We all think that if write a program properly with all the interlocks, sequence, and flow properly, then our PLC system is ready to use. But, it must be noted that one of the most important parameters in designing any system is safety. So, similarly, a PLC system must be designed considering safety in mind. In this article, we will learn the safety considerations when designing a PLC system. Power Supply This is the first and foremost parameter in considering PLC design. There are two types of power supplies in the panel – DC and AC. DC is usually 12-24V DC and AC is usually 110V AC or 230V AC. PLC is powered up by either of the supplies and the field instruments too are powered up by either of the supplies. If a panel has a single SMPS or 230V single bus bar, then it becomes easy for designers to wire the system. If a panel has multiple power supplies, then there are chances that you will connect a positive wire from one supply and a negative wire from another supply by mistake. This will instead complex your system and make troubleshooting harder. So, a single power supply also minimizes line interference and prevents faulty input signals coming from a stable AC source to the power supply and CPU. Multiple power supplies are unwanted and also create more chances of short circuits and frequent breakdowns. So, power supply design is a very important factor for safely operating the PLC system. Earthing Earthing, as we all know, is required to pass any leakage current to the ground. This prevents electric shock, noise, and electromagnetic interference. The standard neutral to earthing voltage must be less than 0.5V in industrial areas. A slightly higher side of 1V is acceptable, but if it is above that, then it means the earthing is not proper and leakage happening in electrical signals will hamper the performance. PLC power supply, and IO channels, must be properly grounded and connected to the earth bus bar in the panel. Also, instrument earthing and power earthing must be separate; otherwise, any merge in the earthing will create short circuits or interference in signals. Critical Digital Input Signals Every PLC system must have critical inputs like emergency stop, panel power failure, and air pressure. Also, all these signals must be connected in NC (normally closed) format. The emergency stop is used to stop the system suddenly when an operator presses this button, panel power failure is used to stop the system when there is any problem in the phase power supply, and the air pressure signal denotes whether air is required to operate valves or other pneumatic outputs is proper or not. All actions should stop immediately if any of these inputs fail. In some large systems, it is also observed that if the emergency is pressed, then instead of stopping the whole system, provide an emergency stop for individual large rating outputs. Due to this, the operator can isolate every system easily and operate other systems instead of stopping the whole system. Manual Mode Interlocks Programmers always take manual mode logic lightly. Just turning on or off the outputs is their motive. However, it must be noted that any irregular operation of outputs manually can hamper the system’s performance. If the system is very critical, then it can cause life-threatening issues to the personnel nearby. So, it is recommended to apply alarms or other critical interlocks in manual mode too. This prevents the operator from operating the system randomly. Also, the safety of the PLC system is ensured due to this logic. Alarms All alarms given in a control logic document are usually taken by the programmers in the program. However, PLC programmers must provide some additional safety alarms in the system, according to IO’s taken in the PLC. These are usually run feedback alarms, trip feedback alarms, over or under travel alarms, sensor failure alarms, PLC channel failure alarms, thermal overload alarms, thermostat alarms, over or under voltage alarms, etc. These alarms vary from system to system, based on the actual inputs taken. But, if any of these inputs are not there, then it is recommended that programmers suggest the same to customers for considering them. This prevents the system from operating in a malfunctioning way. In this way, we saw some general safety considerations when designing a PLC system. -
Implement UDT in PLC Programming: User-Defined Data Type
xiangjinjiao posted A plc and hmi english article in PLC programming learning
In the previous article, we talked about what a UDT is, how to create User-Defined Data Types (UDT), and the advantages of using UDTs in your project. In this article, we will show one way to use UDT in your PLC programming. Contents: Old tank simulator function block. New tank simulation FB with UDT. Calling the new tank simulation FB. Adding a new tag to the UDT. Conclusions. UDT in PLC Programming In our last few articles, we used the same tank simulator system to explain many concepts, like closed-loop control and PID controllers. In this article, we will use the same tank simulator to show how we can use the concept of UDTs in our programming. Old Tank Simulator Function Block In the old tank simulator system we defined some internal parameters for the sake of reusing the function block as many times as we wanted. See picture 1. picture 1. Tank simulator FB. As you see from the picture, in the function block interface we defined some inputs and some InOuts, these parameters should be provided when the FB is called. For example, if we called the FB to simulate tank 1 and called it again to represent tank 2, we need to provide the parameters for each tank to the related called function block. See picture 2. picture 2. Simulation of tank 1 and tank 2. You can see that for each FB call, we have to assign the related tags. For tank 1 simulation we should assign tags of tank 1 to the called FB. And the same for the tank 2 simulation. New tank simulation FB with UDT: Now, we want to use the UDT “Tank” that we defined in the last article to simulate our tanks. We will create a new simulation function block. See picture 3. picture 3. Add new tank simulation FB. The new simulation function block has the same logic as the old FB, but in this simulation function, we will use the defined UDT “Tank” as an InOut internal tag as you see from the picture. So instead of having your function block parameters declared in the different areas of the FB interface, now it will be just one tag that carries all needed information of the tank. Calling the new tank simulation FB: To call the new simulation function, we choose to call it inside a cyclic interrupt OB, to make sure the execution of the function block is not affected by the main logic OB1 cycle time as we explained with PIDs. So we need to first create a new cyclic interrupt OB. See picture 4. picture 4. Adding a cyclic interrupt to call tanks 3 and 4. You can choose the cyclic time as you see fit, in our case we set it to 3000 microseconds or 3 milliseconds. Now, you can drag and drop your “Tank Simulator with UDT” FB into your cyclic interrupt to call the FB. A call option window will appear, giving the FB data instance whatever name you like. See picture 5. Picture 5. Call your FB. After calling the FB, you know need to assign the parameters related to the tank you want to simulate. See picture 6. picture 6. Assign tank parameters to the FB call. Notice that you have only one parameter to fill for the function block. And it is the UDT tag that you have created. Which already contain all tank parameters that the function block needs. We want to simulate Tank_03 so we will assign the tag to the FB call. See picture 7. picture 7. Drag and drop your tag. The function block call for tank 3 looks simpler than the call of tank 1 with the old simulator FB without UDTs. See picture 8. picture 8. Tank 1 and tank 3 calling differences. Can you see the difference between the two tanks calls? You have to provide all the parameters of the function block in the case of without UDTs. imagine if you have to simulate 50 tanks with this simulator. It will be very boring and time-consuming to assign all these parameters, not to mention, to declare them first for each tank. But in the case of the simulator with UDTs, you can call as many as you want and it won’t take much time or effort. See picture 9. picture 9. Calling many other tanks. Now, imagine that you have to add a new variable to your simulation. For example, you want to add an Outflow Warning signal. With the old simulator function block without UDT, This will mean that you have to declare this new tag for each tank and you have to add it one by one to each time you call a tank. But with UDTs, you only need to update the UDT you created and add the new tag you want. See picture 10. picture 10. Adding a new tag to the UDT. When you make any changes to the UDT, you won’t even need to update the function call. Because the call parameter is the same, the changes were made inside the parameter itself. See picture 11. picture 11. No need to recall the FB. However, you still need to recompile your PLC project or at least the data block so the changes to the UDT can be updated. See picture 12. picture 12. Recompile to update the changes to the UDT. After you compile all the changes to the UDT will be automatically updated to all declared tags of this UDT. See picture 13. picture 13. All tags are now updated. Conclusion You can use the UDTs in your project to make your programming faster and easier to follow. Using UDTs will also make it easier to make changes to your functions and function blocks. -
What is a PLC programming instruction list?
xiangjinjiao posted A plc and hmi english article in PLC programming learning
PLC programming has five types of languages – ladder logic, instruction list, structured text, functional block diagram, and sequential flow chart. Each type of PLC language has its own merits and demerits. While some of the languages look good visually and are easy to troubleshoot, other languages have lower memory consumption and faster processing speed. One of the most basic PLC languages used is the instruction list. It is not as famous as other languages and is used only by a few PLC programmers due to outdated technology, but still available in almost all the software of PLC manufacturers. In this post, we will see the concept of instruction list language in PLC. What is an Instruction List? A PLC program written in Instruction List language consists of a series of instructions that are executed sequentially by the logic controller. Each instruction is represented by a single program line and consists of the following components: Line number Current value (in online mode only) Instruction operator Operand(s) Optional comment Basically, if you have seen traditional assembly language used in microprocessors, then you would easily relate to this language. It can also be termed as a mixture of ladder logic and structured text. Ladder logic in the sense that instructions must be written in a linear way, and structured text in the sense that mnemonics are used in words. Refer to the below image for more understanding. The first image shows a PLC logic written in ladder language. The logic is – %M3 will turn on if %M0 is on and %M1 is on or %M2 is on. Now, refer to the below logic for the instruction list. You can see that each line has only one component – the first line has %M0, and the second line has %M1 doing AND logic with the next line. The third line has %M2 doing OR logic with the previous line, the fourth line closes the commands and the fifth line turns on the output %M3. It is thus a representation of both the ladder logic and structured text. Components of Instruction List The main components of a PLC instruction list are mentioned below. Line number – Four-digit line numbers are generated when you create a new program line and are managed automatically by the software. It can be seen in the above figure as 0000 to 0004. Current values – In online mode, you can see the current values of each element, as shown in the below figure. It is indicated as true or false in the below image during online animation. Instruction operators – This operator is a type of command for executing an instruction. It can also be termed as the input side and output side of the logic written. It is a mnemonic symbol that is used to denote the type of command to be performed on the output side, and also how the output side will execute it. For example, in the above image, LD stands for load which starts the execution by loading the value of the first bit, AND / OR denotes logical instructions and ST denotes storing values of the result in the destination bit. Comment – This is optional. It allows the programmer to write any comment to help him troubleshoot the logic easily. Instruction List in PLC Programming Some of the instructions list of PLC are mentioned below. LD – Loads the Boolean value of the operand into the accumulator. LDN – Loads the negated Boolean value of the operand into the accumulator. LDR – Loads the Boolean value of the operand into the accumulator when the value changes from 0 to 1 (rising edge). LDF – Loads the Boolean value of the operand into the accumulator when the value changes from 1 to 0 (falling edge). AND – It performs an AND operation between the previous result and the current operand. ANDN – It performs an AND operation between the previous result and the inverse of the current operand. ANDR – It performs AND operation between the previous result and the rising edge of the current operand. ANDF – It performs an AND operation between the previous result and the falling edge of the current operand. OR – It performs OR operation between the previous result and the current operand. NOT – It performs the inverse operation of the operand. ST – It takes the value of the result generated. STN – It takes the inverse value of the result generated. S – It does the set operation of the operand. R – It does the reset operation of the operand. Apart from these, it has other instructions too like jump, subroutine, end, AND with, OR with, etc. depending on the PLC manufacturer. In this way, we saw the concept of the instruction list in PLC programming. -
Tools Required for PLC Programmer to Carry at Site
xiangjinjiao posted A plc and hmi english article in PLC programming learning
Whenever a PLC programmer visits a site for commissioning or for some service call, he must know what tools he must have with him before beginning work. This is because most of the sites are very remote and not all materials will be easily accessible if forgotten to be taken along. So, if he takes proper care and takes the necessary materials along with him, then he can get his work done easily. There is generally a lot of confusion when programmers read the to-do list; so, I thought to mention it simply so that they can grasp it quickly. PLC Programmer Tools The main tools required for a PLC programmer are mentioned below. Laptop with PLC Software Installed USB to PLC Interface Cables Ethernet Cables Screwdriver Set Electrical Test Meters (Multimeter) Wire Strippers Wire Cutters Terminal Block Screwdriver Electrical Tape Portable Hard Drive or USB Flash Drive RJ45 Crimping Tool Serial Converters (RS232 to USB, etc.) IP Configuration Tools (optional) Label Maker for Tagging Wires Industrial Ethernet Switch Loop Calibrator for Analog Signals Insulated Pliers Notebook and Pen for Documentation Portable Printer for On-Site Labels Anti-static Wrist Strap Note: The tools required can vary depending on the specific PLC brand, model, and the nature of the site work. Always ensure to also carry the necessary personal protective equipment (PPE). In this post, we will see the tools required for a PLC programmer to carry at the site. Proper Laptop This is the first and foremost basic requirement. A poor laptop with a broken screen/hardware or slow RAM performance or low in memory can hamper the work of the programmer badly. All the pre-requisite software must be present in the laptop, which the programmer has used of. Any incorrectly installed software can break down his work in a very bad way. All his communication ports must function properly. The laptop charger must be proper. Apart from this, the network adapters like Wi-Fi must be functioning properly. Programming Cables When a PLC programmer goes to the site, he is basically going to connect to some automation device. For that, all the pre-requisite programming cables must be present along with him. He must check these cables at the office before going to the site. For example, if a PLC has a USB port, LAN port, and RS485 port, then he must at least carry USB and LAN cables, which are easily available. Carrying only one cable is risky. Pen drive / Portable Hard Disk External storage is a must requirement because you can require it anytime for transferring files or storing backups. The storage must have adequate free space for storing data whenever required. Nowadays, many automation devices come with a USB (pen-drive) port; so carrying it is an added advantage for safety, if the cables don’t work. Mouse At the site, PLC programmers most of the time face pressure to complete tasks on time. Working with laptop touchpads consumes a lot of time. Also, graphic designing becomes hectic with a laptop touchpad. So, carrying a USB mouse along helps them to complete the task very easily. Screwdriver Set A screwdriver is a very important tool for a PLC programmer. If he faces any wiring issues at the site or if the wireman needs some extra help from him, then screwdrivers of various sizes will be very useful. Also, the PLC programmer can independently work on some electrical wiring without the help of someone, to quickly resolve any issue. Wire Stripper Similar to screwdrivers, wire strippers also play an important role. If there comes a sudden requirement for a lot of wiring to be done, then a PLC programmer can independently do it by just stripping wire ends and doing the wiring as required. Network Connectivity As a PLC programmer can require online support access many times, it is required that the SIM card has enough data and the speed must be good enough to support it. Usually, there are chances too that the SIM card you have will have limited access to the site. In this case, take the help of local engineers for their data, or even better, you can carry a network dongle for optimum usage. Stationary Items It would be good if the PLC programmers carries stationery items like notepads, pens, markers, etc. for their writing purposes. Many times, writing something during work helps programmers remember things during stressful conditions. Also, as there is constant pressure from customers to get the work done, writing things makes the work easier for programmers. In this way, we saw the necessary tools required for a PLC programmer to carry at the site. -
SCHNEIDER CRA Module in Schneider PLC – Remote IO Adapter Module
xiangjinjiao posted A plc and hmi english article in PLC programming learning
In industrial automation, there are situations where IO instruments are located very far away from the panel and it cannot be interfaced with the local PLC due to the distance involved. For this reason, remote IO modules are available which just communicate the data of these IOs with the main PLC. This makes communication easier as well as provides flexibility for instrument engineers to place the instrument anywhere required. Remote IO Adapter Module The communication between the remote adapter and the main PLC is mostly done through Ethernet, which is the fastest and the most efficient mode of communication. Such remote IO modules are available in many PLC brands. Out of that, Schneider Electric is such a brand and in that, a BMXCRA or BMECRA module is available for use. In this post, we will see the concept of CRA modules in Schneider PLC. CRA Module in Schneider PLC Image: BMXCRA31210, Modicon X80 RIO Module CRA is a remote IO adapter module in the Schneider PLC automation range. It does not have any CPU for writing logic; it is just a data communicator. It takes IO values and updates them to the main CPU continuously. The module works on Ethernet IP protocol. It has three LAN ports for working. Apart from standard IO values, the module also provides various types of diagnostics for troubleshooting. This helps the programmers in writing the logic more flexibly. For example, you have three IO modules at a very fast distance from the CPU. Then, just configure these three modules in the CRA module in the software; and the CRA will then use it for data communication with the CPU. Module Configuration The module has two rotary switches on it. They define the ID of the module. For example, there are 4 CRA modules used in the system. All four are located at far distances from each other. Then, each module must be given a separate identity so that it can be distinguished easily by the CPU logic. Also, the module IP is set in the CPU program. There is no configuration in the CRA module. Just properly configure the IP addresses in the PLC logic for the CRA modules, set the ID by rotary switches, and your CRA modules will start functioning accordingly. The module has four LEDs in it for troubleshooting – Run, IO, Module status, and Network status. Read the catalog of the module in detail for proper description. Schneider PLC Communication Module The module is supported only in M580 and Quantum range of Schneider PLC’s. One interesting thing about this module is that it has a large number of communication services like SNMP agent, SNTP client, FDR client, FTP client, TFTP client, DHCP client, CIP explicit messages, and Quality of Service. All these are a part of cybersecurity features and help in protecting the module from cyberattacks. The CRA modules are completely redundant. It depends on how you network the system. The level of redundancy depends on how you cable the wires and how you decide the topology. Based on that, you can safely operate the logic without the fear of IO data loss. For example, you have two CRA modules and want IO redundancy. Based on the topology it supports, you can design the network in such a way that if one LAN port of the first CRA module fails, then you can take data via the second LAN port to the second CRA module and then to the main PLC. Various routing options are available. In this way, we saw the concept of the CRA module in Schneider PLC. -
ALLEN BRADLEY AENT Module in Rockwell PLC – Remote IO Adapter
xiangjinjiao posted A plc and hmi english article in PLC programming learning
In industrial automation, there are three types of IOs – Local, Remote, and Distributed. It defines whether the IOs are in a local electrical panel or a remote network panel. It is decided based on the location of field instruments from the panel. Different types of automation manufacturers have corresponding modules in their make, for working with remote IOs. One such famous brand is Rockwell. In Rockwell PLC, the most used network adapter for IO communication is the AENT module. This module can be connected at a location other than the local PLC and is connected to it through Ethernet communication. The corresponding IOs are interfaced with the AENT module. In this post, we will see the concept of the AENT module in Rockwell PLC. AENT Module in Rockwell PLC As discussed earlier, an AENT module is a type of remote IO adapter. The module does not have any CPU in it; it is just a network interface used to communicate field IO’s with the main PLC through Ethernet IP protocol. That means no logic can be written in the module as it will only read and write data of IO modules configured with it to the main PLC CPU. You can connect a maximum of 64 IO modules with an AENT module, for interfacing. It is generally identified by the 1734-AENT series. Not only IO data, but you also get each and every diagnostic of the IO’s through this module. This makes troubleshooting much easier. The module communication takes place through Ethernet IP protocol, and it has RJ45 ports in it for this. It can communicate in either half-duplex or full-duplex mode. The standard power supply for this module is 24V DC. IP Address Configuration There are three general methods through which IP address is set in the module – By setting the switches on it (it has three numbers which denote the last three digits of the IP address) Using BootP/DHCP software available from Rockwell Using IP configuration software available from Rockwell. Once you set the IP address, you can then use the module for your communication with the main PLC. In the PLC software (Studio 5000), the IO modules must be configured in this AENT module. These modules then communicate their IO status to the main CPU through the AENT module. This module can be used in star topology or tree topology. LED Diagnostics The module has the following LED in it for diagnostics – module status, network status, network activity, POINT Bus status, System power, and Field power. You can get a detailed description of each of the LEDs by reading its catalog. This helps in the detailed troubleshooting of the module. One thing to be noted is that the power supply connected to the module can drive only a maximum of 10 IO modules; so, a power supply module is required after every 10 modules connected in the AENT. Chassis Size One of the most important terms related to this module is chassis size. Chassis size means the number of modules connected with AENT. For example, if 19 IO modules are used, then you must set the chassis size in the AENT configuration to 20. The adapter stores this chassis size setting in non-volatile storage. When the adapter’s non-volatile chassis size does not match the actual number of modules present on its backplane, the adapter will not make any I/O connections. Also, once you are online, you are required to set this size online apart from offline configuration. After this step only you can use the module for communicating IO values with the main CPU. AENT module is a higher range of adapter and so, is used only with three types of PLCs – Control Logix, Compact Logix, and Flex Logix. In this way, we saw the concept of the AENT module used in Rockwell PLC. -
ALLEN BRADLEY One-Shot Rising and Falling Edge Instructions in Rockwell PLC
xiangjinjiao posted A plc and hmi english article in PLC programming learning
In any PLC, it is important to understand how its instructions have been written. The basic understanding is the same in all the languages; the difference is how it is illustrated. If we are clear with the instructions, then we can work with any type of PLC software. One of the most widely used brands in automation is Rockwell. There are many different types of instructions in it for programming. In that, there are two instructions that are mostly required in any PLC logic. They are – One-shot rising edge and one-shot falling edge. In this post, we will see the working of these two instructions. One Shot Rising Edge (OSR) In PLC programming, you must have heard two common types of objects – positive peak and negative peak. A positive peak means that it takes a trigger only when the variable changes from 0 to 1. The output of this object comes in a trigger pulse type. Now, instead of the variable state, there is one additional instruction in PLCs where you get the trigger output of the whole rung. This means, that when the whole rung or condition changes its state from 0 to 1, then the output will come in a pulse-type trigger condition. This is rising trigger instruction in PLC. In Rockwell PLC, it is called one-shot rising edge instruction. Refer to the below image for understanding. As you can see, the instruction takes two inputs in its condition. Both are written as NO logic; meaning when both are on, then only the condition is true. Now, when this happens, the instruction has two variables in it – storage bit and output bit. The function of the storage bit is to store the condition state. When both the bits turn on and the condition changes from 0 to 1, then the storage bit gets updated as 1 and passes on this value to the output bit. The output bit turns on for a very short duration of time, in milliseconds. This pulse output can then be used by the PLC programmer in his logic. As long as the condition is true, the storage bit does not change. As soon as the condition becomes false, the storage bit is updated with 0. When again the condition becomes true, then the output bit turns on as a pulse. This shows that this instruction is very useful when you want to turn an output by only a pulse, and this pulse must be generated only when the whole condition is true, and not when a single variable becomes true. One Shot Falling Edge (OSF) Now, take an example where it is required to take action when the system is stopped. This means, that when the condition becomes false from true, then some action must be taken. And the action must be done in a trigger type; it should not be continuously on. This is called a negative peak. To execute this function, either a negative peak must be taken from the variable or the negative peak must be taken from the whole condition as discussed earlier. For the second type, one-shot falling edge instruction is used in Rockwell PLC. Refer to the above image. There are 2 NO conditions in the rung, and the output of this rung is connected to the OSF block. The block has two bits – storage and output. The storage bit is used to store the condition of the rung. When the condition becomes true, then the storage bit is updated to 1. When the condition becomes false from true, then the storage bit is updated to 0 and the output bit becomes 1 in a pulse form. The cycle repeats again when the condition becomes true once again. The output bit is in pulse form and is on for a very short time, in milliseconds. This shows that this instruction is very useful when you want to turn an output by only a pulse, and this pulse must be generated only when the whole condition is false, and not when a single variable becomes false. In this way, we saw the one-shot rising edge and one-shot falling edge instructions in Rockwell PLC. -
PLC Program for Blinking Lamp on 5 Seconds Interval
xiangjinjiao posted A plc and hmi english article in PLC programming learning
This is a PLC Program for Blinking (ON/OFF) lamp at 5 seconds interval. Blinking Lamp Problem Description Make the Indicator or lamp ON after five seconds and OFF after five seconds. Make a program which switch ON lamp for 5 seconds, then OFF for 5 seconds, then ON for 5 seconds & again OFF for 5 seconds, and so on. Problem Diagram Problem Solution This problem can be solved by using timers. In this case we will use TON (ON Delay Timer). For explanation we consider one SWITCH for enabling the ON/OFF cycle and one lamp for output. When user presses the SWITCH then lamp will energize and remains ON for 5 seconds after that it will OFF for 5 seconds. This cycle will repeat itself. List of Inputs & Outputs Inputs List SWITCH : I0.0 Outputs List Lamp : Q0.0 M Memory M0.0 : bit memory for lamp OFF condition. PLC Ladder Diagram for Blinking Lamp Program Explanation In this problem, we will consider S7-1200 PLC and TIA portal software for programming. Network 1: In this network when SWITCH (I0.0) is pressed, when the lamp OFF condition is not present then the lamp (Q0.0) will be ON. So here we used NO contact of SWITCH (I0.0) and NC contact of lamp OFF condition (M0.0). Network 2: In this network when lamp (Q0.0) is ON then TON (ON delay timer) instruction will be executed and it will set the lamp OFF condition. So we have taken here NO contact of lamp (Q0.0), TON timer and programmed time is 5 seconds. Network 3: As per our condition, lamp OFF condition (M0.0) should be OFF after 5 seconds delay, so we have used TON again. So we used NO contact of lamp OFF condition (M0.0) and TON with 5s programmed time. Result -
PLC Program for Alternate Output Circuit with Latched Function
xiangjinjiao posted A plc and hmi english article in PLC programming learning
Design a PLC program for an alternate output circuit with a latched function and explain the ladder logic with a solution. Alternate Output Circuit Problem Description Setting the light ON by pressing a SWITCH on 1st time, 3rd time, 5th time etc. and setting the same light OFF by pressing the SWITCH by 2nd time , 4th time, 6th time etc. Restore the output status to “0” when system or cycle power up. Output can be START by pressing a BUTTON in ODD number of times and can be STOP by pressing the same BUTTON by EVEN number of times. Problem Diagram Problem Solution We can solve this problem by using simple Ladder logic. In this we consider one simple example of alternate LED operation. Here we consider one LED and one BUTTON. Press the BUTTON alternately and output should be ON/OFF alternately, here during the Button pressed odd number times then output should be ON and during the button pressing even number of times then the output should be OFF. List of PLC Inputs & Outputs Inputs List SWITCH : I0.0 Output List LED : Q0.0 M Memory M0.0 for LED reset condition M0.1 for counter reset M11.0 & M11.1 – Positive edge Ladder Diagram for alternate output circuit (with latched function) PLC Program Description In this application, we have used Siemens S7-300 PLC and TIA Portal Software for programming. Network 1: In network 1 we have used SET instruction to set the LED (Q0.0). Here we have taken NO contact of BUTTON (I0.0) so LED (Q0.0) can be activated by pressing BUTTON (I0.0). Network 2: Here we used a counter so it will count the switching times of the BUTTON (I0.0). This counter will tell us about the number of times the button is pressed, its value or the value is a EVEN number or ODD number. Network 3: When counter will reach its preset value (2) or say EVEN number of times, NO contact of the counter will set the M0.0 (LED reset condition). Network 4: In this network NO contact of the M0.0 will RESET the LED and counter. Here M0.1 (counter reset memory) will RESET the counter. Network 5: If M0.0 is ON and negative transition (from 1 to 0) of button (I0.0) will be triggered then RESET condition of LED will be OFF. Note : This example is provided to understand the basic concept of alternate output circuit, it is not full application but we can use this concept in any automation application or any system. Test Cases -
PLC program for alarm indication during control
xiangjinjiao posted A plc and hmi english article in PLC programming learning
Create a PLC program for alarm indication in the process control industry. Learn the PLC programming with this industrial example. Alarm Indication in Process Control In many industries there are lots of machines which are performing many tasks automatically. There are many sensors and components used in system or process. Sometimes operator may not be identify the problems of machine or system by visual observations. And also sometimes there will be a chance that machine stops working due to some problem in it. Problem Diagram PLC Solution We can solve this problem by adding alarms in system or process. Alarms are added to alert operator to monitor that machine/process about to cross its limit values or already crossed the limit. Alarms are indicated to the operator by annunciator or horns, and lights of different colors on the panel. (For example, green lights meant OK, Yellow meant not OK, and Red meant BAD.) The purpose of alarms is to use automation to help human operators as they monitor and control processes, and alert them regarding abnormal situations of the plant. Incoming/Input process signals are continuously monitored, and if the value of a given signal moves into an abnormal condition, a visual and/or audio alarm informs the operator regarding the situation. We can configure alarms for system by different ways, such as MIMIC, indication lamps on panel board, SCADA, HMI etc. For our problem discussions, we considered one simple system and configure alarms for the system. For example consider one filling and discharging process and in this system we want to consider some alarms, we will show alarm by using lamps on panel board. For example, consider following alarms for our system, Emergency stop pressed Feed valve open error Feed valve close error Discharge valve open error Discharge valve close error Here all are errors, so we take all red color indication as shown in above figure. List of Inputs & Outputs in PLC Inputs List Cycle START : I0.0 Cycle STOP : I0.1 Low Level Switch, LL : I0.2 High Level Switch, LH : I0.3 Feed VLV open LS : I0.4 Feed VLV close LS : I0.5 Disc. VLV open LS : I0.6 Disc. VLV close LS : I0.7 Emergency STOP : I1.0 RESET : I1.1 Output List Cycle ON : Q0.0 Feed valve : Q0.1 Disc valve : Q0.2 BUZZER : Q0.3 Emergency STOP pressed : Q0.4 (Indication lamp) Feed VLV open error : Q0.5 (Indication lamp) Feed VLV close error : Q0.6 (Indication lamp) Disc VLV open error : Q0.7 (Indication lamp) Disc VLV close error : Q1.0 (Indication lamp) PLC Program for Alarm indication in Process Control Logic Explained In this application, we have used Siemens S7-300 PLC and TIA Portal Software for programming. Network 1: In network 1, we used latching circuit for cycle ON (Q0.0) output. It can be started by pressing cycle START PB (I0.0) and STOP by pressing STOP PB (I0.1). When cycle will be START then system checks level of the tank. If tank level is low then the feeding process will start and if tank level reaches high then Discharge cycle will START. Network 2: When tank reaches low level then LL (I0.2) will be activated and feeding cycle will be ON. Here we have taken NC contact of LH (I0.3) so when PLC will detect high level then it will STOP feeding cycle. Network 3: When tank reaches high level then LH (I0.3) will be activated and discharging cycle will be ON. Here we have taken NC contact of LL (I0.2) so when PLC will detect low level then it will STOP discharge cycle. Network 4: When system receives Emergency STOP (I1.0) input then it will activate the Emergency STOP pressed output (Q0.4) and alarm indication will be provided to the operator. Network 5: In this network we have configured feed VLV open error alarm (Q0.5), when feed valve is ON and Feed VLV open LS (I0.4) is not detected then timer will START and after 5s Feed VLV open error alarm is ON (Q0.5). Network 6: In this network we have configured feed VLV CLOSE error alarm (Q0.6), when feed valve is CLOSE and Feed VLV CLOSE LS (I0.5) is not detected then timer will START and after 5s Feed VLV CLOSE error alarm is ON (Q0.6). Network 7: In this network we have configured Disc VLV OPEN error alarm (Q0.7), when disc valve is ON and disc VLV OPEN LS (I0.6) is not detected then timer will START and after 5s disc VLV OPEN error alarm is ON (Q0.7). Network 8: In this network we have configured Disc VLV CLOSE error alarm (Q1.0), when disc valve is CLOSE and disc VLV CLOSE LS (I0.7) is not detected then timer will start and after 5s disc VLV close error alarm is ON (Q1.0). Network 9: In this network we have configured BUZZER for all alarms, when alarm detected then BUZZER (Q0.3) will be activated and it can be RESET by pressing RESET (I1.1). Network 10: Operator can reset the BUZZER by pressing RESET (I1.0) Test Cases Note: The above PLC Logic provided for basic idea about application of PLC in Alarm Indication of a Process. The Logic is limited and not complete application. -
PLC Program for Positive Edge Pulse Output for One Scan Cycle
xiangjinjiao posted A plc and hmi english article in PLC programming learning
This is a PLC Program for Positive edge pulse output for one scan cycle. Learn the ladder logic with the solution. Positive Edge Pulse Output Problem Description In some applications, we need to run an operation/function based on external input signal. We can use a digital input as trigger command to activate that required function. Sometimes we use positive transition of the digital input signal to trigger the command instead of continuous/full pulse digital input signal. Here we consider an example of simple logic in which two registers values will be increment after receiving the trigger command. Each register have a preset value say value “1”. So on every trigger command, the adder register values will be increment by value “1”. For adder 1 register we use positive edge (0 to 1) triggered input and for adder 2 register we use simple digital input (0 to 1 & 1 to 0) signal. We see the advantages and disadvantages of using triggering command with and without using positive edge. We can use the same logic in other applications like Zeroing the register values, forcing the register values with defined value with little logic modification etc. Problem Solution We can solve these types of problem by positive edge or rising edge of the digital input. Here we will consider S7-300 PLC for programming, so we can monitor the value and simulate it. We can use PLC SIM for simulation purpose. Here we have considered one simple example. In this example we will consider “Adder 1” register which will add value “1” when transition occurs from 0 to 1 of the trigger command. The register value will be incremented by value 1 after each triggering. For “Adder 2” register, the value will be incremented after receiving the digital input. Here, we are not used the positive edge triggering. List of Inputs/Outputs Inputs List Trigger Command : I0.0 Memory Coil Positive Edge of trigger command : M0.0 Total Value : MW2 Total Value 2 : MW4 PLC Ladder Logic Network 1: The initial value of “Adder 1″register is zero. After giving positive edge triggering command for 18 times, the output will be value 18 as it increments by value “1”. Simulation (PLCSIM-300) for trigger command with positive edge. Network 2: The initial value of “Adder 2″register is zero. After giving triggering command (without positive/negative edge) for 18 times, the output will come some random number (say 7506) instead of value 18 as trigger command directly received. Simulation (PLCSIM-300) for trigger command without positive edge. PLC Logic Description In this application, we have used Siemens S7-300 PLC and TIA Portal Software for programming. Here we have considered two examples for positive edge explanation. Anyone can easily understand the concept. In Network 1, when trigger command (I0.0) is triggered then transition will occur from 0 to 1 and positive pulse instruction will be executed. Say “Adder 1″register will be stored with value “1” in MW0, if trigger command (I0.0) will be triggered then the value will be incremented by “1”. Here for example, we have triggered 18 times when adder 1 is zero, so adder added 18 in total Value (MW0) Another example we have taken in Network 2, without using positive pulse. so here you can see the result. Say, We have pressed or triggered 18 times but it added 7506 (this is random value it can be different during simulation) in total Value 2 (MW4) so it is not proper addition. Because one pulse have rising or falling edges / positive or negative pulses (o to 1 and 1 to 0). Here also we have used PLC SIM for simulation, so we can simulate the total addition. In first network we have added positive edge so simulator is showing 18. In second network we have added trigger command without positive edge so it is showing some random value. This is the concept of positive edge, we can use this positive edge during any programming application. Above program and simulation is only for explanation purpose and simulation value can be different at simulation time. Result Note: The above PLC Logic provided for basic idea about application of Positive edge trigger command in PLC Logic. The Logic is limited and not complete application. -
PLC Program for Automatic Bottle Rejection System
xiangjinjiao posted A plc and hmi english article in PLC programming learning
This is the PLC program for the automatic bottle rejection system. Learn the ladder logic with this PLC exercise and solution. Automatic Bottle Rejection Problem Description Nowadays Automation in industries is necessary for Accurate and fast Production. Let’s Take an Example of soda bottle companies, where the belt conveyor is used for transferring the bottles from one station to another station. But before bottles reach at soda filling station it is necessary to make all bottles are in standing position for further processing A fallen bottle on the conveyor may create a problem in the next process. so here we discuss a simple PLC Logic that handles the fallen bottle. PLC Problem Diagram PLC Problem Solution So for that we use PLC system at filling station, which reject the fallen bottle from the conveyor & clear the path for the next process. This process is made by using sensors & actuators. We use pneumatic piston cylinder assembly for pushing the fallen bottles from the conveyor. When conveyor is running, then all bottles transfer form one station to other station for next process. There are two sensors are used, for standing and fallen bottles detection, one pneumatic cylinder for pushing the fallen bottle from the conveyor. List of Inputs/Outputs Inputs List Start PB : I0.1 Stop PB : I0.0 Sensor X1 : I0.2 Sensor X2 : I0.3 Outputs List Cycle ON : Q0.0 Conveyor : Q0.1 Cylinder : Q0.2 PLC Program for Automatic Bottle Rejection System PLC Program Explanation In this application, we have used Siemens S7-1200 PLC and TIA Portal Software for programming. We can also design this logic with relay circuit also. Network 1: In Network 1, we have taken cycle ON condition for machine. Here we have taken START PB (I0.1) for starting the cycle and STOP PB (I0.1) for cycle STOP. We have taken parallel output of conveyor (Q.1) with cycle ON (Q0.0) so we can operate conveyor with cycle ON condition. Network 2: In Network 2, we have taken sensors X1(I0.2) and X2(I0.3) as inputs. We used NO contact for X2 (I0.3) sensor and NC contact for X1 (I0.2) sensor. When Bottles are transferring on the conveyor, these sensors sense the position of the bottles whether they are standing or fallen. Sensor X2(I0.3) sense down position of the Bottle & Sensor X1(I0.2) Sense top position of the bottle. In PLC, we designed the circuit which follows command that if sensor X2(I0.3) sense the bottle & sensor X1(I0.2) does not sense the bottle then the pneumatic actuator (Q0.2) will come in action & it will reject the bottle from the conveyor. After this, the perfect bottles will go in the soda filling station & whole cycle will be completed. Result Note: The above PLC Logic provided for basic idea about application of PLC in Automatic Bottle Rejection Handling System. The Logic is limited and not complete application. -
PLC Program for Daily Production Record
xiangjinjiao posted A plc and hmi english article in PLC programming learning
PLC Program for Daily Production Record. Learn the problem description with a detailed explanation of the ladder logic. Daily Production Record Problem Description In many industries, It is required to count the number of products that are made in one day and it is very necessary for selling the products or tracking the production quantity on a daily basis. In the olden days, human operators were allotted for counting the final products but because of some human errors, precise counting is not possible. Therefore we cannot get proper counting of all products and are unable to track the production quantity effectively. Mostly these types of problems occur in food and beverage industries, box packaging industries, bottle filling applications etc. So we can use a simple PLC based logic to track the daily production and to record it electronically. Problem Diagram PLC Solution Here we will solve the problem of counting of final products by using sensors and PLC programming. First sensor sense the product and counts the quantity and the value will be shown on the digital display (as shown in above figure). For easy explanation, we will consider one simple example of empty box counting system. In this system empty boxes are travelling form first process to second process (say one place to another). Sensor is used for counting the empty boxes. So when sensor will detect empty box then display will start , say starts count from 1 and this is done by simple logic. Every 24 hours / after one day, we can reset the counter value by using RESET button. Here we will consider two batches of production for easy explanation. And also we have considered two batches completion indications for operator for each batch which will display on the Local Panel. By PLC logic we will implement the desired logic. So when any batch will be completed then indication lamp will be ON as per PLC program. Once production target will be completed, display counter can be reset by using RESET button. List of Inputs/Outputs Inputs List Box detector Sensor: I0.0 Reset: I0.1 Main SWITCH: I0.2 Outputs List Target completed: Q0.0 Batch 1 completed: Q0.1 Batch 2 completed: Q0.2 Ladder Diagram for Daily Production Record PLC Program Description In this application, we have used Siemens S7-1200 PLC and TIA Portal Software for programming. Network 1: In Network 1 we used Main SWITCH (I0.2) to start the system/batch and we used NO contact of box detector sensor (I0.0) in series. Here we considered one UP counter so when box detector sensor (I0.0) detects the box then counter will starts counting. Here also we have taken target completed output (Q0.0) for target completion indication for the operator indication on the panel. By pressing RESET button (I0.1) operator can RESET the old production record. Counter operation is used to count the products, in which RESET (I0.1) used for reset the production record. And Preset value (PV) is 20 products. Counter value (CV) is MW2 indicates the actual number of products detected by sensor & this value will be used in the following rungs to track the batch status. Network 2: In Network 2 we used batch1 logic from counter block output CV. Here we used comparator for counting 10 boxes for batch 1 and when it will be completed then batch 1 completed lamp (Q0.1) will ON. In this add equal to equal comparator in which input is (MW2) and for 10 products. Network 3: In network 3 we used batch 1 logic from counter block output CV. Here we used comparator for counting 20 boxes for batch 2 and when it will be completed then batch 2 competed lamp (Q0.2) will ON And this way we can decide that how many products and batches are produced. Runtime Test Cases Note: The above PLC Logic provided for basic idea about application of PLC in industrial production record. The Logic is limited and not complete application. -
PLC Program for Water filling and Discharging Process
xiangjinjiao posted A plc and hmi english article in PLC programming learning
This is a PLC Program for the Water filling and discharging process using S7-1200 PLC. Water filling and Discharging Process Problem Description In many industries or plants, there are lots of manual water filling systems are used for water storage. In the manual system, there are so many disadvantages such as Accuracy, time delay problems, loss of liquids, and Time consuming. And due to the manual system, we have to arrange an operator for machine operation. Water wastage occurs due to manual system Here we are discussing a semi-automatic system. Diagram PLC Solution To solve this problem, we will use S7-1200 PLC for programming. Here we use two sensors for level measurement, one is for High level and second is for low level. We use feeding valve (MV1) for filling Cycle of the tank and discharge valve (MV2) for discharging cycle of the tank. Both will be controlled according to sensor logic. So when the water level goes below low level then feeding valve will turned ON automatically and when water level reaches high and the it senses by high level sensor, then discharging process will be turned ON automatically. When high level is detected then buzzer will turn ON for alarm purpose. Cycle will stop if user will press stop button from the control panel. PLC Inputs and Outputs Digital Inputs Start PB: I0.0 Stop PB: I0.1 TLB 1: I0.3 TLB 2: I0.2 Digital Outputs Cycle ON: Q0.0 Valve MV1 (Feed): Q0.1 Valve MV2 (Discharge): Q0.2 Agitator/Mixer M: Q0.3 Buzzer: Q0.4 PLC Water Filling and Discharging Process PLC Program Explanation For this application, we used S7-1200 PLC and TIA portal software for programming. In Network 1 we used latching circuit for cycle ON (Q0.0) output. It can be started by pressing START PB (I0.0) and stop by pressing STOP PB (I0.1). When cycle will be started then system will check level of the tank. If tank level is low then then feeding process will start and tank level is high then Discharge cycle will start. Here we have taken NO contact for both sensors in the program for simplicity. It can be done by relay logic in field or you can use such type of sensors. When tank will detect low level then TLB 2 (I0.2) will be activated and then feeding cycle will be ON. Here we have taken NC contact of TLB1 (I0.3) so when PLC will detect high level then it will stop Feeding cycle. When tank will detect high level then TLB 1 (I0.3) will be activated and discharging cycle will be ON. Here we have taken NC contact of TLB2 (I0.2) so when PLC will detect low level then it will stop discharge cycle cycle. Mixer M (Q0.3) should be ON during discharging cycle for mixing purpose. Here we also considered an alarm for high level to inform operator. When TLB 1(I0.3) will be detected then buzzer (Q0.4) will be activated. During all function, cycle should be ON. Runtime Test Cases Note: The above PLC Logic provided for basic idea about application of PLC in Water filling and Discharging Process. The Logic is limited and not complete application. -
PLC Program for Automatic Liquid Mixing Application
xiangjinjiao posted A plc and hmi english article in PLC programming learning
Create a PLC Program for Automatic Liquid Mixing Application using ladder logic programming. Study about mixing process using a PLC ladder diagram. Liquid Mixing Application Problem Description In many industries, there are lots of mixing system used for solutions mixing. Some plants use complete automation or semi-automation. In a manual system, there are so many disadvantages such as lack of Accuracy, Time delay problems, loss of liquids, Time consumption, etc. Here we are discussing the semi-automatic application of a mixing system. Diagram Problem Solution For this example, we use PLC programming and for that we use Siemens S7-1200 PLC. For easy explanation, we can consider simple example of mixing system as shown above. In this application pure unmixed solution can be prepared by the operator using switches S1 and S2. And mixed solution or material can be prepared by the operator using switch S3. Operator observes the level of the tank and he can discharge the liquid inside tank by operating valve V5. Also the agitator motor M will be in running while tank is being filled. We will provide interlock system so operator cannot operate both switches at same time. V1, V3 and V5 are manual valves which is not connected to the PLC. V2 and V4 are electronically operated valves which can be controlled by PLC. List of PLC inputs outputs Digital Inputs There are three switches S1, S2 & S3 S1 : I0.0 S2 : I0.1 S3 : I0.3 Digital Outputs We have two valves V2 & V4. one Agitator Motor M1 V2 : Q0.0 V4 : Q0.1 M1 : Q0.2 PLC Ladder Diagram for Automatic Liquid Mixing Application PLC Program Explained For this application, we used S7-1200 PLC and TIA portal software for programming. In Network 1, we have taken NO contact of S1 (I0.0) and NC contact of S2 (I0.1) and S3 (I0.2) in series. By activating switch S1 operator can START the valve V2 for solution 1 (Liquid 1 ). In Network 2, we have taken NO contact of S2 (I0.1) and NC contact of S1 (I0.0) and S3 (I0.2) in series. By activating switch S2 (I0.1) operator can START the valve V4 (Q0.1) for solution 2 (Liquid 2). For both Networks 1 & 2, A parallel connection we have taken, NO contact of S3 (I0.2) and in series with NC contact of S1 (I0.0) and S2 (I0.1). Because of the above parallel connection, operator can operate both valves by activating switch S3 (I0.2) for mixed solution (Liquid 1 & Liquid 2) As per our condition, agitator M1 (Q0.2) should be activated automatically while tank is being filled. So we have taken NO contact of V2 (Q0.1) and in parallel NO contact of V4 (Q0.1) so agitator will be activated automatically by operating any switch. Runtime Test Cases Note : The above PLC Logic provided for basic idea about application of PLC in Liquid Mixing Application. The Logic is limited and not complete application. -
PLC program for controlling motor sequences
xiangjinjiao posted A plc and hmi english article in PLC programming learning
This is the PLC Program for Sequential Motor Operating System. Sequential Motor Control Problem Description In many industries, there are lots of motors are used. Sometimes we need to start more than one motor in an application. When we have a low incoming power supply rating, then there is a chance the incoming MCB will trip when one or more motors will START in parallel because they will consume more power. Here we will consider one similar example where we START each motor one by one. Problem Diagram Problem Solution The problem can be solved by using PLC programming or relay logic. In this case, we have to operate motors sequentially. There are total 3 motors to be controlled in a sequence. so that each motor will start sequentially, say Motor 1 will START then after some delay then motor 2 will start and after some delay motor 3 will start. So that whole operation will take 10 seconds to start all motors in a sequence. By providing this delay we can avoid the problem of taking large current by motors during initial stat up. All motors will be operate in the sequence and 5 seconds time delay is to be provided between operations of each motor. Here will write logic for sequential operation for motors using PLC. List of Inputs & Output Inputs List Start PB : I0.0 Stop PB: I0.1 Outputs List Cycle on : Q0.0 Motor 1: Q0.1 Motor 2 : Q0.2 Motor 3 : Q0.3 PLC Ladder Diagram for Sequential Motor Control Ladder Logic Explained In this application, we used Siemens S7-1200 PLC and TIA Portal Software for programming. We can also design this logic with relay circuit. Network 1: In Network 1, we wrote logic for cycle ON condition. Here cycle ON (Q0.0) lamp will indicate cycle status. Cycle can be started by pressing START PB (I0.0) push button and can be Stopped by pressing STOP PB (I0.1) push button. When cycle will be ON, at same time Motor 1(Q0.1) will be Started. And at the same time, timer instruction will be executed. Network 2: In Network 2, the NO contact of Motor 1 starts Timer T1 and when Timer for Motor 2 (Q0.1) will reach the set value 5 seconds. Then NO contact of the T1 will START the Motor 2 (Q0.1). Network 3: In Network 3. we have taken logic for motor 3. Here we have given NO contact of motor 2 for starting the timer of motor 3. When T2 will reach the set value 5s , the NO contact of the T2 will START the Motor 3(Q0.0). When STOP PB (I0.1) will be pressed then NC contact will be activated which makes Cycle (Q0.0) OFF. And also motor 2 and 3 will stop working. Runtime Test Cases Note: The above PLC Logic provided for basic idea about application of PLC in Sequential Motor Control. The Logic is limited and not complete application. -
PLC Program for Two Way Switch Logic
xiangjinjiao posted A plc and hmi english article in PLC programming learning
This is PLC Program for Two ways switch logic for staircase light in house PLC Two Way Switch Logic In duplex type house there are ground floor and first floor and sometimes second floor also. Sometimes people need to go from ground floor to first floor or from first floor to ground floor by staircase provided in house. But in staircase there is no sunlight so people need a lamp/light to see the steps of the staircase easily. Here we are using a simple PLC to control this lamp using two switches, one switch at ground floor and second switch at first floor to control one lamp as shown in below figure. Note : we can also build the circuit using simple relays/switches also. This article only for understanding the basic concept of 2 way switch using a PLC Ladder Logic. Image Solution We will solve this problem by simple automation. As shown in figure consider one simple house with one floor and staircase is provided in the house. Here we will set lighting system for the users to switch ON/OFF the light whether they are on bottom of the stair or at top. We will provide separate switch for each floor as shown in above figure. PLC I/O Requirements Digital Inputs SW1 : I0.1 SW2 : I0.2 Digital Outputs Lamp : Q0.0 PLC Progam for Two-way Switch Program Explained For this application, we used S7-1200 PLC and TIA portal software for programming. In above program, we have added two NO contacts of SW 1 (I0.1) and SW 2 (I0.2) in series and NC contacts of SW1 (I0.1) and SW2 (I0.2) in parallel of this series SW1 & SW2 NO Contacts. If the status of the bottom switch (SW1) and status of the top switch (SW2) are same then lamp will be ON. And if either status of the bottom or top switch is different from other then lamp (Q0.0) will be OFF. When lamp (Q0.0) is OFF then user can ON the lamp by changing status of any switch. Also user can turn OFF the lamp by changing the status of one of the two switches. Result Note: The above PLC Logic provided for basic idea about application of PLC for Two Way Switch Logic. The Logic is limited and not complete application. -
PLC Program for Automatic Lamp Control in Storage Facility
xiangjinjiao posted A plc and hmi english article in PLC programming learning
This is the PLC Program for Automatic Lamp Control in Godown (Storage Facility). Automatic Lamp Control Problem Description In the old process, when the person enters the godown (Storage facility), he/she pressed the switch and all lamps in the godown will be ON. If we turn on all lamps together then more energy consumption occurs. This problem occurs in the old process, so solutions are required for this process. We can solve this problem using simple automation or an interlock system. Problem Diagram PLC Problem Solution We can solve this problem by simple interlock using PLC. As shown in the figure, consider one godown (storage facility) for industry and there are a couple of segments in the facility. For example, we have considered only three segments for the storage facility. Say here we have 3 lamps for 3 segments and 3 switches for operation. When a Person enters the godown (storage facility) for some work, he will operate lamp 1 by pressing switch 1. When work is completed then operator will turn OFF the light. Here we will provide an interlocking system so a person cannot operate another segment’s lamp until he stops the first segment lamp. The same case occurs in other segments. So by using this automation/interlock circuit, we can save energy. Note: This type of interlock applies only to some types of storage facilities as these are operated by working in one segment at a time only before going to the next segment in the storage facility. List of inputs/outputs Digital Inputs SW1: I0.0 SW2: I0.2 SW3: I0.3 Digital Outputs Lamp 1: Q0.0 Lamp 2: Q0.1 Lamp 3: Q0.2 PLC Ladder diagram for Automatic lamp ON/OFF PLC Program Description For this application, we used S7-1200 PLC and TIA portal software for programming. Network 1: In the above program, we have taken NO contact of SW 1(I0.0) for operating the Lamp 1 (Q0.0) and given NC contacts in series. so when the user press other switches, Lamp 1(Q0.0) will be OFF. Network 2: In network 2, we have written logic for Lamp 2(Q0.1). By operating SW2 (I0.2) operator can operate Lamp 2(Q0.1). And given NC contacts in series, so when user press other switches, Lamp 2(Q0.1) will be OFF. Network 3: In network 3, we have written logic for Lamp 3(Q0.2).By operating SW3 (I0.2) operate can operate Lamp 3(Q0.2). And given NC contacts in series, so when user press other switches, Lamp 3(Q0.2) will be OFF. Runtime Test Cases Note: The above PLC Logic provided for basic idea about application of PLC Program for Automatic Lamp Control. The Logic is limited and not complete application.