Description
3503E Safety Instrumented System (SIS)
3503E Safety Instrumented System (SIS)
Module Clips Drive controller servo motor
Contact: Mr. Lai
Wechat:17750010683
Whats app:+86 17750010683
Skype:+86 17750010683
QQ: 3221366881
3221366881@qq.com
Application Scheme of Industrial Ethernet Remote IO Module in Intelligent Manufacturing Workshop
With the advent of Industry 4.0, intelligent manufacturing has become a trend in industrial production. Intelligent manufacturing requires efficient, stable, and reliable industrial Ethernet remote IO modules to monitor the production process. This article will share an application case of an intelligent manufacturing workshop based on industrial Ethernet remote IO module.3503E Safety Instrumented System (SIS)
The production process of this intelligent manufacturing workshop is mainly divided into two parts: injection molding and automated assembly. The injection molding process requires controlling parameters such as the melting temperature of the melt, the speed and pressure of the injection molding machine. The automated assembly process requires controlling the actions of the assembly robot and detecting the quality of the product. In addition to these production process data, there are also equipment production data such as daily and weekly production in the workshop, as well as equipment status data such as operation, manual, automatic, mold adjustment, and alarm.
In the past, the production process of the factory mainly relied on traditional hard wiring to control the production process, resulting in low work efficiency due to the need for frequent replacement of transmission lines to meet production needs. Moreover, it is very difficult to collect a large number of types of detection and monitoring data for intelligent manufacturing. In order to improve efficiency, production quality, and reliability, the factory has introduced the industrial Ethernet remote IO module MxxT using barium rhenium technology.
The injection molding machine itself comes with MODBUS industrial control bus data or basic status signal output. The barium rhenium technology remote IO module collects data from the device interface RS232/RS485 port, collects status information of the injection molding machine such as startup, operation, and pause, and uploads it to the injection molding machine controller, or wirelessly uploads it to the cloud server. Based on devices, according to the communication protocols and interfaces of different devices, data is obtained by calling their interface channels, and then transmitted to the server.
The remote IO module is connected to the controller of the injection molding machine, and the operation data of the injection molding machine is uploaded and distributed wirelessly, achieving remote monitoring and intelligent control of the injection molding machine. In addition, the remote I/O module supports perceptual access to peripheral devices such as mold temperature machines, cutting machines, and dryers for injection molding machines, providing users with smart factory services.
During the injection molding process, the industrial Ethernet remote IO module transmits real-time data such as temperature, pressure, and speed to the main controller for monitoring and adjustment, ensuring the stability and compliance of production parameters under different conditions. In the automated assembly process, the industrial Ethernet remote IO module collects data through sensors and other devices, and transmits the relevant data to the main controller for adjustment of relevant actions. For example, the industrial Ethernet remote IO module can monitor the actions of assembly robots, detect the accuracy of product assembly and product quality, and ensure the production quality and stability of the product. At the same time, all production data can also be collected and analyzed remotely, helping enterprise managers better monitor production efficiency and quality.
By introducing industrial Ethernet remote IO modules, this intelligent manufacturing workshop not only improves production efficiency and stability, but also reduces labor and energy costs. Because the industrial Ethernet remote IO module can help enterprises complete the collection and monitoring of production data with one click, as well as avoid unnecessary line replacement and the need for workers to enter and exit the production process, thereby reducing costs and improving production efficiency for enterprises.
In summary, the application of industrial Ethernet remote IO modules in intelligent manufacturing workshops not only improves production efficiency and quality, reduces costs, but also achieves intelligent and digital management of production processes, bringing more opportunities and development space for enterprise development.3503E Safety Instrumented System (SIS)
In addition, this device is widely used for networking and data collection of industrial equipment such as injection molding machines, air compressors, CNC machine tools, on-site PLCs, instruments, sensors, CNC, and electromechanical equipment.
Building a High Channel Density Digital IO Module for the Next Generation Industrial Automation Controller
There are currently many articles introducing Industry 4.0, and smart sensors are becoming increasingly popular in factory environments (I and other authors have written about these topics). Although we have all noticed a significant increase in the use of sensors in factories, processing plants, and even some newly built automation systems, the widespread use of sensors has also brought about an important change, which is the need to handle a large amount of IO within these old controllers. These IOs may be digital or analog. This requires the construction of high-density IO modules with size and heat limitations. In this article, I will focus on digital IO, and in subsequent articles, I will introduce analog IO.
Usually, digital IO in PLC consists of discrete devices such as resistors/capacitors or independent FET drives. In order to minimize the size of the controller as much as possible and to handle 2 to 4 times the number of channels, this has led to a shift from a separate approach to an integrated approach.
We can use the entire article to illustrate the drawbacks of the split method, especially when the number of channels processed by each module reaches 8 or more. However, when it comes to high heat/power consumption, a large number of split components (from the perspective of size and mean time between failures (MTBF)), and the need for reliable system specifications, it is sufficient to demonstrate that the split method is not feasible.
Figure 1 shows the technical challenges faced in building high-density digital input (DI) and digital output (DO) modules. In both Di and DO systems, size and heat dissipation issues need to be considered.
Digital input
size
heat
Supports all input types
Type 1, 2, 3, Input
Supports 24 V and 48 V inputs
Robust operating specifications
Wire breakage detection
Digital output
Support for different types of output driver configurations
size
Integrated demagnetization of inductive loads
Heat – When driving multiple outputs
Drive accuracy
diagnosis
For digital input, it is also important to note that it supports different input types, including 1/2/3 type inputs, and in some cases, 24V and 48V inputs. In all cases, reliable operating characteristics are crucial, and sometimes circuit detection is also crucial.
For digital outputs, the system uses different FET configurations to drive the load. The accuracy of the driving current is usually an important consideration. In many cases, diagnosis is also very important.
We will explore how integrated solutions can help address some of these challenges.
Design a High Channel Density Digital Input Module
The traditional split design uses a resistive voltage divider network to convert 24V/48V signals into signals that can be used by microcontrollers. The front-end can also use discrete RC filters. If isolation is required, external optocouplers are sometimes used.
Figure 1 shows a typical discrete method for constructing digital input circuits.
Figure 1. Considerations for digital input and output modules.
This type of design is suitable for a certain number of digital inputs; 4 to 8 per board. Beyond this number, this design will soon become impractical. This separation scheme can bring various problems, including:
High power consumption and related board high temperature points.
Each channel requires an optocoupler.
Excessive components can lead to low FIT rate and even require larger devices.
More importantly, the split design method means that the input current increases linearly with the input voltage. Assuming a 2.2K Ω input resistor and 24V V is used. When the input is 1, for example, at 24V, the input current is 11mA, which is equivalent to a power consumption of 264mW. The power consumption of the 8-channel module is greater than 2W, and the power consumption of the 32-bit module is greater than 8W. Refer to Figure 3 below
From a cooling perspective alone, this split design cannot support multiple channels on a single board.
One of the biggest advantages of integrated digital input design is the significant reduction in power consumption, thereby reducing heat dissipation. Most integrated digital input devices allow configurable input current limitations to significantly reduce power consumption.
When the current limiting value is set to 2.6mA, the power consumption is significantly reduced, with each channel approximately 60mW. The rated value of the 8-channel digital input module can now be set below 0.5
Another reason for opposing the use of split logic design is that sometimes DI modules must support different types of inputs. The standard 24V digital input specifications published by IEC are divided into Type 1, Type 2, and Type 3. Type 1 and Type 3 are usually used in combination because their current and threshold limits are very similar. Type 2 has a current limit of 6mA, which is higher. When using the split method, it may be necessary to redesign as most discrete values need to be updated.
However, integrated digital input products typically support all three types. Essentially, Type 1 and Type 3 are generally supported by integrated digital input devices. However, in order to meet the minimum current requirement of 6mA for Type 2 input, we need to use two channels in parallel for one field input. And only adjust the current limiting resistance. This requires a circuit board change, but the change is minimal.
For example, the current maximum integrated (now part of ADI company) DI device has a current limiting value of 3.5mA/channel. So, as shown in the figure, we use two channels in parallel. If the system must be connected to a Type 2 input, adjust the REFDI resistance and RIN resistance. For some newer components, we can also use pins or select current values through software.
To support a 48V digital input signal (not a common requirement), a similar process needs to be used, and an external resistor must be added to adjust the voltage threshold at one end of the field. Set the value of this external resistor so that the current limiting value * R+threshold of the pin meets the voltage threshold specification at one end of the field (see device data manual).
Finally, due to the connection between the digital input module and the sensor, the design must meet the requirements of reliable operating characteristics. When using a split type scheme, these protective functions must be carefully designed. When selecting integrated digital input devices, ensure that the following are determined according to industry standards:
Wide input voltage range (e.g. up to 40V).
Able to use on-site power supply (7V to 65V).
Capable of withstanding high ESD (± 15kV ESD air gap) and surges (usually 1KV).
Providing overvoltage and overheating diagnosis is also very useful for MCU to take appropriate actions.
Design a High Channel Density Digital Output Module
A typical discrete digital output design has a FET with a driving circuit driven by a microcontroller. Different methods can be used to configure FETs to drive microcontrollers.
The definition of a high-end load switch is that it is controlled by an external enable signal and connects or disconnects the power supply from a given load. Compared to low-end load switches, high-end switches provide current to the load, while low-end switches connect or disconnect the grounding connection of the load to obtain current from the load. Although they all use a single FET, the problem with low-end switches is that there may be a short circuit between the load and ground. High end switches protect the load and prevent short circuits to ground. However, the implementation cost of low-end switches is lower. Sometimes, the output driver is also configured as a push-pull switch, requiring two MOSFETs. Refer to Figure 6 below:
Integrated DO devices can integrate multiple DO channels into a single device. Due to the different FET configurations used for high-end, low-end, and push-pull switches, different devices can be used to achieve each type of output driver.
Estimated power consumption of digital input modules constructed using split logic.
Internal demagnetization of inductive loads
One of the key advantages of integrated digital output devices is their built-in inductive load demagnetization function.
Inductive load is any device containing a coil that, after being energized, typically performs some mechanical work, such as solenoid valves, motors, and actuators. The magnetic field caused by current can move the switch contacts in relays or contactors to operate solenoid valves or rotate the motor shaft. In most cases, engineers use high-end switches to control inductive loads, and the challenge is how to discharge the inductance when the switch is turned on and the current no longer flows into the load. The negative effects caused by improper discharge include: possible arcing of relay contacts, significant negative voltage spikes that damage sensitive ICs, and the generation of high-frequency noise or EMI, which can affect system performance.
The most common solution for discharging inductive loads in a split type scheme is to use a freewheeling diode. In this circuit, when the switch is closed, the diode is reverse biased and non-conductive. When the switch is turned on, the negative supply voltage through the inductor will cause the diode to bias forward, thereby attenuating the stored energy by guiding the current through the diode until it reaches a stable state and the current is zero.
For many applications, especially in the industrial industry where each IO card has multiple output channels, the diode is usually of large size, which can lead to a significant increase in cost and design size.
Modern digital output devices use an active clamping circuit to achieve this function within the device. For example, Maxim Integrated adopts a patented SafeDemag ™) Function, allowing digital output devices to safely turn off loads without being limited by inductance.
When selecting digital output devices, multiple important factors need to be considered. The following specifications in the data manual should be carefully considered:
Check the maximum continuous current rating and ensure that multiple outputs can be connected in parallel when needed to obtain higher current drivers.
Ensure that the output device can drive multiple high current channels (beyond the temperature range). Refer to the data manual to ensure that the conduction resistance, power supply current, and thermoelectric resistance values are as low as possible.
The output current driving accuracy specifications are also important.
Estimated power savings for digital input modules using integrated DI chips.
Diagnostic information is crucial for recovering from operating conditions that exceed the range. Firstly, you want to obtain diagnostic information for each output channel. This includes temperature, overcurrent, open circuit, and short circuit. From an overall (chip) perspective, important diagnoses include thermal shutdown, VDD undervoltage, and SPI diagnosis. Search for some or all of these diagnoses in integrated digital output devices.
Programmable digital input/output device
By integrating DI and DO on the IC, configurable products can be built. This is an example of a 4-channel product that can be configured as input or output.
It has a DIO core, which means that a single channel can be configured as DI (Type 1/3 or Type 2) or digital output in high-end or push-pull mode. The current limiting value on DO can be set to 130mA to 1.2A. Built in demagnetization function. To switch between type 1/3 or type 2 digital inputs, we only need to set one pin without using an external resistor.
These devices are not only easy to configure, but also sturdy and durable, and can work in industrial environments. This means high ESD, providing up to 60V power supply voltage protection and line grounding surge protection.
This is an example of a potentially completely different product (configurable DI/DO module) that can be implemented through an integrated approach.
conclusion
When designing high-density digital input or output modules, it is evident that when the channel density exceeds a certain number, the split scheme is meaningless. From the perspectives of heat dissipation, reliability, and size, it is necessary to carefully consider integrated device options. When selecting integrated DI or DO devices, it is important to pay attention to some important data points, including reliable operating characteristics, diagnosis, and support for multiple input-output configurations.
What are the characteristics of a demonstration system based on IO Link slave stations
IO Link is an industrial communication interface that is independent of any fieldbus and suitable for simple sensors and actuators at the lowest level of industrial control. The IO Link system includes IO Link devices (such as sensors and actuators), IO Link master stations, and cables for standard sensors. The system structure is shown in Figure 1. For example, when a remote IO module compatible with EtherNet/IP serves as the master station, in addition to standard I/O signals, the module sends and receives configuration data, diagnostic data, or enhanced process data through a pulse modulation process, which is then packaged into EtherNet/IP data packets and finally transmitted to the network master station, usually a PLC. In the above applications, the connection between remote I/O and IO Link devices remains the same as that of traditional discrete devices. The advantage of IO Link mainly lies in its greater information exchange capability, which was previously impossible to achieve with standard I/O devices. Another advantage of IO Link is that it does not rely on any fieldbus, and through any I/O module that complies with the IO Link protocol (including local I/O and remote I/O), IO Link sensors or actuators can be integrated into any fieldbus system.
In order to further study the architecture, communication mechanism, and development application of the IO Link system, an IO Link slave toolkit can be designed and developed, including a universal development module for IO Link, an IO Link analysis tool, and an IO Link slave protocol stack. The IO Link universal development module is the foundation for this work and also serves as a bridge between the IO Link master station and equipment signals. The IO Link analysis tool can help developers and testers analyze communication details to identify and solve problems. The IO Link slave protocol stack is a firmware library that provides a hardware abstraction layer and application program interface, allowing developers to easily and quickly develop IO Link slave products on various microprocessor platforms. The IO Link slave station studied in this article only focuses on digital (button) signal input and digital signal output (indicator light). The design of the IO Link universal development module only needs to be expanded on this basis to have the ability to process analog signals.
The IO Link Master module used in this article, USB IO Link Master, can connect IO Link devices to a PC, which can be configured and tested through the IO Link Device Tool software or demonstrated device functionality. IO Link devices must be described through a device description file (IODD file), which includes a set of XML text files and PNG graphic files, which contain information about device identification, communication characteristics, parameters, process data, and diagnostic data. The portion within the elliptical dashed line in Figure 2 is an IO Link three wire cable, with L+/I – being a 24 V DC power supply and C/Q being a signal line used to transmit process data, diagnostic data, configuration data, etc. The IO Link universal development module is mainly composed of data transceivers and microprocessors. It can process input signals from sensors and transmit information to the IO Link master station. It can also receive and process data information from the master station and transmit it to the actuator. The IO Link analysis tool can help developers view, record, analyze data, and understand communication details. This part of the design is not discussed in this article.
Introduction to IO Link Communication Mode3503E Safety Instrumented System (SIS)
IO Link devices can operate in SIO mode (standard I/O mode) or IO Link mode (communication mode). After power on, the device always operates in SIO mode. The port of the main station has different configuration methods. If configured in SIO mode, the main station considers the port as a standard digital input. If configured in communication mode, the main station will automatically identify the communicable devices for communication.
2.1 Data Types3503E Safety Instrumented System (SIS)
The three basic data types for IO Link communication are periodic data (or process data PD), non periodic data (or service data SD), and event.
The process data (PD) of the device is transmitted periodically in the form of a data frame, while service data (SD) is only exchanged after the master station issues a request. Figure 3 shows a typical IO Link message structure. When an event occurs, the “event flag” of the device is set, and the main station reads the reported event (service data cannot be exchanged during the reading process) upon detecting the setting. Therefore, events such as pollution, overheating, short circuits, or device status can be transmitted to the PLC or visualization software through the main station
2.2 Parameter data exchange
Since service data (SD) must be transmitted through PLC requests, SPDU (Service Protocol Data Unit) is defined. In the main station, requests for read and write services are written to SPDU and transmitted to devices through the IO Link interface.
The general structure of SPDU is shown in Figure 4, and its arrangement order is consistent with the transmission order. The elements in SPDU can take different forms depending on the type of service. SPDU allows access to data objects that are intended for transmission, while Index is used to specify the address of the requested data object on the remote IO Link device. In IO Link, there is a term called direct parameter page, which stores parameter information such as minimum cycle time, supplier ID, and master station commands. The data objects accessible in the direct parameter page can be selectively provided through SPDU.
HMT7742 is an IO Link slave transceiver chip that serves as a bridge between the MCU of external sensors or actuators and the 24V signal line that supports IO Link communication. When the IO Link device is connected to the master station, the master station initializes communication and exchanges data with the MCU. HMT7742 serves as the physical layer for communication.
Due to the fact that the three indicator lights (rated voltage 24 V) controlled by the output port of the MCU are powered by the IO Link power cord, it is necessary to monitor the current on the power cord in order to trigger appropriate corrective measures when the current exceeds a set threshold, such as removing the indicator lights from the IO Link power cord. The current monitoring module uses an INA194 current detection amplifier. As a high detection current detector, INA194 is directly connected to the power supply and can detect all downstream faults. It has a very high common mode rejection ratio, as well as a large bandwidth and response speed. It can amplify the voltage on the induction resistor 5O times and output it to the forward input terminal AIN0 of the MCU internal voltage comparator. When the voltage value of AIN0 exceeds the threshold set at the reverse input terminal, By controlling the low level output of PB0, the indicator LAMP can be cut off from the IO Link power line to achieve overcurrent protection function. This part of the circuit is shown in Figure 6.
Definition of IO Link Protocol and Its Interface
IO Link is a peer-to-peer, serial digital communication protocol designed for periodic data exchange between sensors/actuators and controllers (PLCs). The IO Link protocol was first proposed by Siemens and has now become an international standard IEC 61131-9. With the advancement of Industry 4.0, the use of IO Link is becoming increasingly widespread. Today”s article will introduce the definition of the IO Link protocol and its interfaces.
Factory automation can be divided into execution layer, on-site layer, on-site control layer, workshop control layer, and management layer according to functional division. As shown in the following figure:
The execution layer includes various execution mechanisms (valves, pumps, motors, etc.) and sensors, which are the muscles and peripheral nerves of factory automation. They receive commands from the upper layer and complete specified actions.
The on-3503E Safety Instrumented System (SIS) site layer includes various distributed IO3503E Safety Instrumented System (SIS) systems, which are the central nervous system of factory automation. It conveys control instructions from the upper layer to the execution layer; And feedback the signals from the execution layer to the control layer, serving as the information center;
The on-site control layer includes various PLC systems, which are the brains of factory automation. It issues corresponding instructions and commands the execution layer to complete corresponding actions based on internal program requirements and signal feedback from the execution layer;
The workshop control layer (MES) and management layer communicate with various PLC systems at the management level to complete management tasks at the workshop and factory levels.
The IO Link protocol to be introduced in this article is a protocol that transfers data between the execution layer and the field layer. An IO Link system consists of the following components:
1) IO Link Master;
2) IO Link Device;
3) Non shielded 3-5 core standard cable;
4) Tools for configuring IO Link parameters;
The IO Link Master transfers data between the IO Link device and the PLC. It is usually a distributed IO module with IO Link connection channels on the module. The IO Link Device is connected to the channel of the IO Link Master through a cable, and the IO Link Master exchanges data with the PLC through a bus. As shown in the following figure:
Every IO Link device needs to be connected to a channel of the IO Link supervisor, so IO Link is a peer-to-peer communication protocol, not a bus protocol.
IO Link devices are divided into two types: sensors and actuators: sensors are usually the four pin interface of M12, and actuators are usually the five pin interface of M12.
According to IEC 60974-5-2, the definition of IO Link Device pins follows the following regulations:
1) Pin 1 (PIN1): 24V power supply positive pole;
2) Pin 3 (PIN3): 0V
3) Pin 4 (PIN4): IO Link communication or standard IO output;
The pin definition of the IO Link device is shown in the following figure:
Which types of equipment should PLC module manufacturers develop first?
We know that PLC, also known as programmable logic controller, collects variable data through various IOs to achieve the purpose of automated control. Therefore, developing PLC is largely about developing IO. However, with so many types of IO, which PLC module manufacturers should develop first? Let me share my opinion:
1. Digital input IO, including PNP and NPN digital input IO, counter input IO, etc.
2. Digital output IO, including PNP and NPN digital output IO, PWM pulse output IO, relay output IO, and so on.
3. Analog input IO, including current acquisition input IO, voltage acquisition input IO, temperature acquisition input IO, and so on. The current input IO can collect currents ranging from 0 to 20 milliamperes, while the voltage input IO can collect voltages ranging from negative 10V to positive 10V. Temperature acquisition IO includes thermocouples and thermal resistors.
4. The style of analog output IO is similar to that of analog input IO, but does not include temperature analog, mainly voltage and current type.
Modify the watchdog time of the PROFINET IO device under 16 STEP7
3.2 Check if the installation of PROFINET IO communication equipment meets the specifications
Most cases of PROFINET IO communication interference problems are caused by equipment installation that does not comply with the installation specifications for PROFINET IO communication, such as incomplete shielding, unreliable grounding, and being too close to interference sources. Installation that meets the specifications can avoid communication failures caused by electromagnetic interference. You can refer to the following brief installation requirements for PROFINET:
1. Wiring of PROFINET 3503E Safety Instrumented System (SIS)
In order to reduce the coupling of electric and magnetic fields, the larger the parallel distance between PROFINET and other power cable interference sources, the better. In accordance with IEC 61918, the minimum distance between PROFINET shielded cables and other cables can be referred to Table 1. PROFINET 3503E Safety Instrumented System (SIS) can be wired together with other data cables, network cables, and shielded analog cables. If it is an unshielded power cable, the minimum distance is 200mm.
Comprehensive analysis of the principle and application skills of microcontroller IO port
IO port operation is the most basic and important knowledge in microcontroller practice. This article takes a long time to introduce the principles of IO ports. I also consulted a lot of materials to ensure the accuracy of the content, and spent a long time writing it. The principle of IO ports originally required a lot of in-depth knowledge, but here it has been simplified as much as possible for easy understanding. This will be of great help in solving various IO port related problems in the future.
The IO port equivalent model is my original method, which can effectively reduce the difficulty of understanding the internal structure of the IO port. And after consulting and confirming, this model is basically consistent with the actual working principle.
I mentioned a lot earlier, and many people may already be eager to actually operate microcontrollers. The IO port, as the main means of communication between the microcontroller and the outside world, is the most basic and important knowledge for microcontroller learning. Previously, we programmed and implemented an experiment to light up the LED at the IO port. This article will continue to introduce the relevant knowledge of the IO port.
In order to better learn the operation of IO ports, it is necessary to understand the internal structure and related concepts of IO ports. These knowledge are very helpful for subsequent learning, with a focus on understanding and no need to memorize them intentionally. If you don”t remember, just come back and take a look. If you use it too much, you will naturally remember.
We have said that the most accurate and effective way to understand a chip is to refer to official chip manuals and other materials. But for beginners of microcontrollers, it may be difficult to understand the chip manual directly, especially when they see a bunch of English, unfamiliar circuits, and terminology. If it were me, I would definitely be crazy. But here I still provide a picture taken from Atmel”s official “Atmel 8051 Microcontrollers Hardware Manual”.
The purpose of giving this picture is not to dampen everyone”s enthusiasm for learning, but to help everyone understand how the various microcontroller materials we have seen come from and whether they are accurate. All of these can be clarified through official information, which will be helpful for everyone to further learn something in the future.
Introduction to the Second Function
The above figure is the authoritative 51 microcontroller IO port structure diagram provided by the official. It can be seen that the internal structure of the four sets of IO ports of the microcontroller is different, because some IO ports have a secondary function, as mentioned in the introductory section.
Do you remember this pin diagram? The second function name of the IO port is marked in parentheses. Except for P1, each interface has a second function. When introducing the microcontroller system module, I mentioned that the 51 microcontroller has an interface for reserved extended memory, which is the second function of P0 and P1 in the figure (while also using pins such as 29 and 30). Because it is not widely used and involves in-depth knowledge, no specific research will be conducted. By the way, the AD0~AD7 we see here are actually used for parallel ports. The second function of the P3 port, including serial port, will be introduced in detail later.
The drawbacks of network IO and the advantages of multiplexing IO
In order to talk about multiplexing, of course, we still need to follow the trend and adopt a whiplash approach. First, we will talk about the drawbacks of traditional network IO and use the pull and step method to grasp the advantages of multiplexing IO.
For the convenience of understanding, all the following code is pseudo code, and it is sufficient to know the meaning it expresses.
Blocking IO
The server wrote the following code to handle the data of client connections and requests.
Listenfd=socket()// Open a network communication port
Bind (listenfd)// binding
Listen (listenfd)// Listening while (1){
Connfd=accept (listenfd)// Blocking connection establishment
Int n=read (connfd, buf)// Blocking read data
DoSomeThing (buf)// What to do with the data you read
Close (connfd)// Close the connection and wait for the next connection in a loop
}
This code will be executed with stumbling blocks, just like this.
It can be seen that the thread on the server is blocked in two places, one is the accept function and the other is the read function.
If we expand on the details of the read function again, we will find that it is blocked in two stages.
This is traditional blocking IO.
The overall process is shown in the following figure.
So, if the client of this connection continues to not send data, the server thread will continue to block on the read function and not return, nor will it be able to accept other client connections.
This is definitely not feasible.
Non blocking IO
To solve the above problem, the key is to modify the read function.
A clever approach is to create a new process or thread every time, call the read function, and perform business processing.
While (1){
Connfd=accept (listenfd)// Blocking connection establishment
Pthread_ Create (doWork)// Create a new thread
}
Void doWork(){
Int n=read (connfd, buf)// Blocking read data
DoSomeThing (buf)// What to do with the data you read
Close (connfd)// Close the connection and wait for the next connection in a loop
}
In this way, once a connection is established for a client, it can immediately wait for a new client connection without blocking the read request from the original client.
However, this is not called non blocking IO, it just uses multithreading to prevent the main thread from getting stuck in the read function and not going down. The read function provided by the operating system is still blocked.
So true non blocking IO cannot be achieved through our user layer tricks, but rather by imploring the operating system to provide us with a non blocking read function.
The effect of this read function is to immediately return an error value (-1) when no data arrives (reaches the network card and is copied to the kernel buffer), rather than waiting for blocking.
The operating system provides this feature by simply setting the file descriptor to non blocking before calling read.
Fcntl (connfd, F_SETFL, O_NONBLOCK);
Int n=read (connfd, buffer)= SUCCESS;
In this way, the user thread needs to loop through the call to read until the return value is not -1, and then start processing the business.
We noticed a detail here.
Non blocking read refers to the stage where data is non blocking before it reaches the network card, or before it reaches the network card but has not been copied to the kernel buffer.
When the data has reached the kernel buffer, calling the read function is still blocked and requires waiting for the data to be copied from the kernel buffer to the user buffer before returning.
The overall process is shown in the following figure
IO multiplexing
Creating a thread for each client can easily deplete the thread resources on the server side.
Of course, there is also a clever solution. After accepting each client connection, we can put the file descriptor (connfd) into an array.
Fdlist. add (connfd);
Then create a new thread to continuously traverse the array and call the non blocking read method for each element.
While (1){
For (fd “- fdlist){
If (read (fd)!=- 1){
DoSomeThing();
}
}
}
In this way, we successfully processed multiple client connections with one thread.
Do you think this means some multiplexing?
But this is just like using multithreading to transform blocked IO into seemingly non blocking IO. This traversal method is just a small trick that our users have come up with, and every time we encounter a read that returns -1, it is still a system call that wastes resources.
Making system calls in a while loop is not cost-effective, just like making rpc requests while working on distributed projects.
So, we still need to plead with the operating system boss to provide us with a function that has such an effect. We will pass a batch of file descriptors to the kernel through a system call, and the kernel layer will traverse them to truly solve this problem.
How to Build High Channel Density Digital IO Modules for the Next Generation Industrial Automation Controllers
With the rapid development of industrial automation, digital IO modules have become an indispensable part of industrial automation controllers. The digital IO module can connect the controller with external devices, such as sensors, actuators, etc., to achieve monitoring and control of industrial production processes. However, with the continuous development of industrial automation, digital IO modules need to have higher channel density and stronger functionality to meet the needs of new industrial automation controllers. Therefore, it is very important to build high channel density digital IO modules for the next generation of industrial automation controllers.
The digital IO module is one of the most fundamental modules in industrial automation controllers, and its main function is to connect the controller with external devices to achieve signal input and output. The digital IO module usually includes two parts: a digital input module and a digital output module. The digital input module can convert the digital signals of external devices into signals that the controller can read, while the digital output module can convert the digital signals output by the controller into signals that external devices can read. The channel density of a digital IO module refers to the number of digital input or digital output channels provided on the module, which is the input and output capacity of the module.
With the development of industrial automation, digital IO modules need to have higher channel density and stronger functions to meet the needs of new industrial automation controllers. The following are several aspects to consider when building a high channel density digital IO module for the next generation of industrial automation controllers:3503E Safety Instrumented System (SIS)
1. Choose the appropriate communication protocol
Digital IO modules typically communicate with controllers through communication protocols, so choosing a suitable communication protocol is crucial. Common communication protocols include Modbus, Profibus, CANopen, Ethernet, etc. Different communication protocols have different advantages and disadvantages, and selecting a suitable communication protocol requires considering the following factors:
(1) Communication speed: The faster the communication speed, the shorter the response time of the digital IO module, which can process input and output signals faster.
(2) Communication distance: The farther the communication distance, the wider the application range of digital IO modules.
(3) Reliability: The reliability of communication protocols determines the stability and reliability of digital IO modules.
(4) Cost: Different communication protocols have different costs, and suitable communication protocols need to be selected based on actual needs.
2. Choose the appropriate digital IO chip
The digital IO chip is the core component of the digital IO module, and its performance and function directly affect the channel density and function of the digital IO module. Choosing a suitable digital IO chip requires considering the following factors:
(1) Channel density: The channel density of digital IO chips determines the channel density of digital IO modules, and channel density needs to be selected based on actual needs.
(2) Input/output type: Digital IO chips usually support digital input and digital output, and some chips also support functions such as analog input and output, counters, etc.
(3) Speed: The speed of the digital IO chip determines the response speed of the digital IO module, and it is necessary to choose a chip with a faster speed.
(4) Accuracy: The accuracy of digital IO chips determines the signal accuracy of digital IO modules, and it is necessary to choose chips with higher accuracy.
(5) Cost: Different digital IO chips have different costs, and suitable chips need to be selected based on actual needs.
3. Optimize circuit design
The circuit design of digital IO modules has a significant impact on their performance and stability. In order to improve the channel density and functionality of digital IO modules, it is necessary to optimize circuit design, such as:
(1) Using high-speed digital IO chips: Using high-speed digital IO chips can improve the response speed and accuracy of the module.
(2) Adopting anti-interference design: In order to improve the stability of the digital IO module, it is necessary to adopt anti-interference design, such as using filters, isolators, etc.
(3) Using optimized PCB layout: Optimizing PCB layout can reduce noise and interference in digital IO modules, improve module performance and stability.
4. Choose the appropriate shell material and size
Digital IO modules typically need to be installed in cabinets or control cabinets, so choosing the appropriate housing material and size is crucial. The shell material should have good protective and heat dissipation properties to protect the circuits of the digital IO module from external environmental influences. The shell size should be able to adapt to different installation environments, such as cabinets, control cabinets, etc.
5. Optimize software design
The software design of the digital IO module determines its functionality and performance. In order to achieve high channel density and stronger functionality, it is necessary to optimize software design, such as:
(1) Supporting multiple input and output types: Supporting multiple input and output types can meet different application needs, such as digital input and output, analog input and output, counters, etc.
(2) Supporting multiple communication protocols: Supporting multiple communication protocols can adapt to different controllers and application environments.
(3) Support for online debugging and monitoring: Supporting online debugging and monitoring can facilitate user diagnosis and maintenance of modules.
(4) Support for expansion function: Supporting expansion function can increase the functionality and application range of the module while ensuring channel density.
In summary, building a high channel density digital IO module for the next generation of industrial automation controllers requires multiple considerations, including selecting suitable communication protocols, selecting suitable digital IO chips, optimizing circuit design, selecting suitable shell materials and sizes, and optimizing software design. Only by comprehensively considering these factors can a digital IO module with high channel density and stronger functionality be constructed to meet the needs of new industrial automation controllers.
How to assign IO devices to IO controllers?
PROFINET IO system
The PROFINET IO system consists of a PROFINET IO controller and its assigned PROFINET IO devices. After adding IO controllers and IO devices, it is necessary to assign IO controllers to the IO devices to form a basic PROFINET IO system.
Prerequisite requirements
● Already in the network view of STEP 7.
A CPU has been placed (e.g. CPU 1516-3 PN/DP).
● An IO device has been placed (e.g. IM 155-6 PN ST)
Operating Steps (Method 1)
To assign IO devices to IO controllers, follow these steps:
1. Move the mouse pointer over the interface of the IO device.
2. Hold down the left mouse button.
3. Drag the mouse pointer.
The pointer will now use the networking symbol to indicate the “networking” mode. At the same time, you can see a lock character appearing on the pointer
Number. The lock symbol only disappears when the pointer moves to a valid target position.
4. Now, move the pointer to the interface of the desired IO controller and release the left mouse button.
5. Now assign the IO device to the IO controller.
Operating Steps (Method 2)
To assign IO devices to IO controllers, follow these steps:
1. Move the mouse pointer over the word “Unassigned” in the bottom left corner of the IO device icon.
2. Click the left mouse button.
3. Select the IO controller interface to be connected from the available interfaces that appear.
4. Now assign the IO device to the IO controller.
1.Has been engaged in industrial control industry for a long time, with a large number of inventories.
2.Industry leading, price advantage, quality assurance
3.Diversified models and products, and all kinds of rare and discontinued products
4.15 days free replacement for quality problems
ABB — AC 800M controller, Bailey, PM866 controller, IGCT silicon controlled 5SHY 3BHB01 3BHE00 3HNA00 DSQC series
BENTLY — 3500 system/proximitor, front and rear card, sensor, probe, cable 3500/20 3500/61 3500/05-01-02-00-001 3500/40M 176449-01 3500/22M 138607-01
Emerson — modbus card, power panel, controller, power supply, base, power module, switch 1C31,5X00, CE400, A6500-UM, SE3008,1B300,1X00,
EPRO — PR6423 PR6424 PR6425 PR6426 PR9376 PR9268 Data acquisition module, probe, speed sensor, vibration sensor
FOXBORO — FCP270 FCP280 FCM10EF FBM207 P0914TD CP40B FBI10E FBM02 FBM202 FBM207B P0400HE Thermal resistance input/output module, power module, communication module, cable, controller, switch
GE —- IS200/215/220/230/420 DS200/215 IC693/695/697/698 VMICPCI VMIVME 369-HI-R-M-0-0-E 469 module, air switch, I/O module, display, CPU module, power module, converter, CPU board, Ethernet module, integrated protection device, power module, gas turbine card
HIMA — F3 AIO 8/4 01 F3231 F8627X Z7116 F8621A 984862160 F3236 F6217 F7553 DI module, processor module, AI card, pulse encoder
Honeywell — Secure digital output card, program module, analog input card, CPU module, FIM card
MOOG — D136-001-007 Servo valve, controller, module
NI — SCXI-1100 PCI – PXIE – PCIE – SBRIO – CFP-AO-210 USB-6525 Information Acquisition Card, PXI Module, Card
Westinghouse — RTD thermal resistance input module, AI/AO/DI/DO module, power module, control module, base module
Woodward — 9907-164 5466-258 8200-1300 9907-149 9907-838 EASYGEN-3500-5/P2 8440-2145 Regulator, module, controller, governor
YOKOGAWA – Servo module, control cabinet node unit
Main products:
PLC, DCS, CPU module, communication module, input/output module (AI/AO/DI/DO), power module, silicon controlled module, terminal module, PXI module, servo drive, servo motor, industrial display screen, industrial keyboard, controller, encoder, regulator, sensor, I/O board, counting board, optical fiber interface board, acquisition card, gas turbine card, FIM card and other automatic spare parts