Sale!

4000093-310 Safety Instrumented System (SIS)

¥666.00

4000093-310 Safety Instrumented System (SIS)
Brand: TRICONEX
Name: Module
Current: 5A
Voltage: 24V
Mode of use: Hot plug implementation
standard: Import
origin: United States

Category:
  • Email:3221366881@qq.com
  • Phone:+86 17750010683
  • Whatsapp:+8617750010683

Description

4000093-310 Safety Instrumented System (SIS)
4000093-310 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
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-4000093-310 Safety Instrumented System (SIS)  site layer includes various distributed IO4000093-310 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.
What is the difference between remote IO and distributed IO
People often discuss the difference between remote IO and distributed IO. However, some people believe that they are the same and terms can be exchanged, while others believe the opposite. What is the difference between remote I/O and distributed I/O? The following is a guide from remote IO manufacturer Zhongshan Technology to understand the difference between remote IO and distributed IO.
Remote and distributed within the location range.4000093-310 Safety Instrumented System (SIS)
Today”s DCS is a control system with many distributed autonomous controllers, each with many continuous operations. This controller is bundled together by a central monitoring controller. We have used the terms remote and distributed in the locations of I/O and controllers. It is easy to see how these terms are misunderstood.
From the perspective of PLC, remote I/O represents the actual distance that the I/O module is away from the control PLC. Distributed I/O is very intelligent, as mentioned earlier, remote I/O is sometimes referred to as distributed I/O. Let”s take a look at the definition of distributed I/O. This definition is different from remote I/O.
Generally speaking, distributed I/O has a brain or some computing power. By default, it is remote. As mentioned earlier, remote I/O is located physically far from the control PLC. Remote I/O has no brain and cannot perform any computational functions at all. It can be said with certainty that when you hear the term remote I/O, it only involves one controller or PLC, while distributed I/O has multiple controllers.
ZSR-Ethernet-2184 is a distributed Ethernet RTU that supports 4-way switch digital input (Di), 8-way analog input (Ai), 4-way relay (Do) output, 1-way RS485 serial port data acquisition to Ethernet, and Modbus RTU terminal. Merge 485 to Ethernet serial port server function, support Modbus to TCP/UDP protocol conversion, support virtual serial port, and interface with various configuration software. Supports signal acquisition in the range of 0-5V, 0-10V, 0-30V, or 0-20ma, 4-20ma, with built-in software and hardware watchdog, industrial grade components, and stable operation in an industrial environment of -40~85 ° C.
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.
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.4000093-310 Safety Instrumented System (SIS)
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.
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
For example, the current limiting value of DI devices in ADI is 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 4 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.
Is it better to have a higher number of IO module bit widths?
IO is an important component of PLC, and the collection of PLC information and the output of instructions must be applied to various input and output IO. I don”t know if you have read some IO user manuals. One of their instructions is the device”s bit width, such as 12 bits and 16 bits. So, is it better to have a higher number of bit widths for the IO module? Let”s talk about this matter.
Bit width is the number of bits of data that can be transmitted within a clock cycle, and the larger the number of bits, the greater the amount of data that can be transmitted instantly. From this perspective, the larger the bit width of the IO module, the better. This is not a problem. However, the amount of data transmission, also known as data bandwidth, depends not only on the bit width, but also on the frequency of data transmission. The multiplication of the two is the final total amount of data transmitted. That is to say, even if the light position is wide, but the frequency is too high, it still cannot work. At the same time, the larger the bit width, the higher the hardware cost, and the greater the heat generation and power consumption of the device.
How to Apply Ethernet IO Module to Weighbridge Data Collection4000093-310 Safety Instrumented System (SIS)
Weighbridge, a large scale set on the ground, usually used to weigh the tonnage of cargo carried by a truck. It is the main weighing equipment used for measuring bulk goods in factories, mines, merchants, etc. The MXXXX series of Ethernet IO modules with barium rhenium technology have rich IO ports that can be used to assist in data collection and transmission of the weighbridge, quickly achieving comprehensive management of data and control.
Before the vehicle enters the weighbridge, there will be an infrared sensor scanning about a few hundred meters. The infrared sensor will output a switch signal to the Ethernet IO module, indicating that a vehicle needs to enter. Before the vehicle officially enters the weighbridge for weighing, there will be an infrared barrier sensor scanning, and the barrier will also output a switch signal to the Ethernet IO module. When the vehicle is completely parked in front of the weighbridge (including whether the position is correct), the central control room will decide whether to start weighing based on the information received by the IO module from the radar sensor. Finally, the vehicle is weighed and drives away from the weighbridge. The scanning signal from the infrared barrier sensor at the exit is transmitted to the IO module, and the central control room controls the IO port of the IO module to open (close) the barrier. The green light will light up, and the vehicle will fully exit and leave the weighing weighbridge. The entire weighing process requires only one Ethernet IO module to collect information and control actions.4000093-310 Safety Instrumented System (SIS)
The MxxxT industrial remote Ethernet I/O data acquisition module adopts an industrial grade circuit design. The digital input adopts optocoupler isolation, providing 12 pulse counting inputs, supporting dry and wet contact input types. The analog input adopts operational amplifier isolation, supporting 12 bit high-precision data acquisition, compatible with 0~5V, 0~10V, 0~20mA, and 4~20mA input types. The DO output is a transistor Sink output, providing one channel of high-speed pulse output, The thermal resistance RTD input supports two types: PT100 and PT1000, and the analog AO output supports 0-10VDC output.
Pocket Io ™ The development platform has opened up numerous new avenues for experiencing the full power of Industry 4.0.
Compact design: compact structure, ultra small size, and overall dimensions (10 cubic inches: 3.5 “x 3.5” x 0.8 “).
Reliable and safe technology: Composed of advanced industrial products, all products have a rated working environment temperature of -40 ° C to+125 ° C, fully utilizing Maxim”s reliable, safe, and fast demagnetization technology.
Efficient: Ensure low power consumption and improve efficiency – no need for cooling fans.
Integrate numerous powerful interfaces: provide a complete set of 30 IOs for controlling the entire manufacturing node or a certain device, including: 4 analog inputs, 1 analog output, 8 digital inputs, 8 digital outputs, 2 RS-485 (compatible with Profibus fieldbus), 3 encoder/electrical control ports, and 4 IO Link hosts.
Long battery life: Firstly, the compact and portable PLC platform can work for up to 2 hours using “AA/AAA” type batteries, and 8 hours using LiFePO4 rechargeable batteries.
Programmable: It can be programmed through Arduino Sketch or using Intel”s Edison Eclipse IDE tool, supporting Windows, Linux, or Mac OS operating systems.
Easy to use: Sketches can be converted into apps and then downloaded to iPads ® Or iPhone ®  (Converted to an HMI panel for controlling Pocket IO).
What are the advantages of Ethernet remote IO modules that can be cascaded?
Advantages and specific application scenarios of Ethernet remote IO modules that can be cascaded
For scenarios where data collection control points are linearly distributed, such as streetlights, bridges, streetlights, digital factories, parking lot parking monitoring, smart parking lots, smart parking racks, and building automation control systems in smart parks, using cascading dual Ethernet remote IO modules saves more costs than using single Ethernet remote IO modules.
The Ethernet remote IO module that can be cascaded is a new type of Ethernet remote IO module that supports MAC layer data exchange and can achieve hand in hand connection. This not only saves switch interfaces, but also reduces a large amount of Ethernet cable costs, wiring space, and wiring costs.
Its advantages are as follows:
1. No need for a large number of Ethernet switches or occupying Ethernet switch ports;
2. It can save a lot of Ethernet cables, cable space, and labor costs for installing cables;
3. The overall cost has significantly decreased;
4. Supports both Modbus RTU protocol, Modbus TCP protocol, and the Internet of Things protocol MQTT protocol;
5. Support TCP Server and TCP Client services;
6. Can be connected to SCADA systems, PLC systems, or cloud platforms;
7. The series uses a MAC layer for data exchange, ensuring that network connectivity does not cause communication issues with subsequent devices due to device failures in the middle.
The comparison between cascaded Ethernet remote IO modules and traditional IO modules used in building automation systems is shown in the following figure:
1. Adopting a cascaded dual Ethernet remote IO module, data acquisition and control wiring for floors with a height of 70 meters only requires a 70 meter Ethernet cable;
2. Using a traditional single Ethernet remote IO module, the data acquisition and control system wiring for a 70 meter high floor requires a 280 meter Ethernet cable.
It can be seen that using cascaded dual Ethernet remote IO modules can save a lot of wiring costs compared to traditional single Ethernet remote IO modules.
Ethernet IO module assists industrial robots
Industrial robots are multi joint robotic arms or multi degree of freedom machine devices aimed at the industrial field, which can achieve many material distribution, retrieval, pallets, and so on in industrial sites. However, due to the fact that many industrial six axes are equipped with 32 IO ports as standard, the IO ports are not sufficient in practical applications. Therefore, some DIN and DO extensions can be met through IO modules.
MQTT Ethernet IO Remote Module4000093-310 Safety Instrumented System (SIS)
The Modbus TCP Ethernet IO module has multiple channels, such as 4-way, 8-way, and 16-way switch input and output options. The communication protocol of the Ethernet IO module adopts the standard Modbus TCP protocol, Modbus RTU over TCP protocol, and MQTT protocol. Can support LAN configuration, with 1 DC power output to other devices on site, reducing the difficulty and cost of on-site wiring.
Most of the MQTT Ethernet IO modules should collect some IO port information and transmit data through the network port. In fact, the Ethernet IO module can not only serve as a TCP server, but also as a TCP client. In addition, it can not only count high-speed pulses but also output high-4000093-310 Safety Instrumented System (SIS)speed pulses. This is very convenient for doing some control processing on industrial sites, such as controlling servo motors and other scenarios! The most important thing is the data caching function. Even if the network is disconnected, it is not afraid. The data will be automatically cached, and after the network is restored, it will be automatically retransmitted.
The MxxxT industrial remote Ethernet I/O data acquisition module is embedded with a 32-bit high-performance microprocessor MCU, and integrates an industrial grade 10/100M adaptive Ethernet interface to support the standard Modbus protocol. It can easily integrate with third-party SCADA software, PLC, and HMI devices for application. Equipped with an RS485 interface, it has good scalability and can be cascaded with standard Modbus RTU I/O devices through the RS485 bus to achieve the combination of various digital, analog, and thermal resistance IO modules, saving costs. At the same time, this device has the function of cluster register mapping, and the data of the cluster is automatically collected into the mapping storage area of the local computer. The upper computer can respond quickly without waiting when querying, meeting the strict and timely functional requirements of industrial sites.
What is a remote IO module and what are its purposes
Technology is constantly evolving, and we can come into contact with various electronic devices both in daily life and in the workplace. And a large number of electronic devices work together to generate some signal sources. In order to better transmit and collect signals, industrial control products such as remote IO modules, signal transmitters, and signal acquisition modules have been developed.
In the past, people had to connect existing lines and boxes one at a time, which greatly increased the cost and construction time of cables. Moreover, if the distance was too long, they also had to face issues such as voltage attenuation. And through the remote IO module, this problem can be effectively solved.
If your cabinet is 200 meters away from the site and remote IO is not used, then you can extend each signal line by 200 meters and install the remote IO module on site, which can save you a lot of cable costs and reduce the complexity of construction.
In short, sometimes some IOs are set far away from the central control room and then connected back to the central control room through fiber optics to save on cable procurement and construction. Sometimes, the logical “remote” is because the allowed quantity of “local IO” cannot meet the actual needs, so it is necessary to connect to the “remote IO template”, which depends on the situation.
In addition, the general cabinet is placed on the equipment site. However, some control signals, such as emergency stop and bypass, are implemented in the control room, so remote IO modules need to be used to transmit these signals to the control system in the computer room.
What is an Ethernet IO module and what are its functions
The Ethernet IO module is a hardware gateway that adds IO to the network port.
The Ethernet IO module has hardware interfaces such as switches, analog signals, relays, RS485, RJ45, etc. Can be used for IO data collection network port transmission in industrial automation. Simply put, it refers to sensors with standard signals on site, or serial devices with 485 signals such as PLCs, which can be converted into real values through such gateways and then transmitted to the host for display through network ports.
1. Collect and control data for internal processing and transmit it to the external network through Ethernet
2. Support 4-way photoelectric isolation switch input
3. Supports 4 independent relay control outputs
4. Supports 8 analog inputs, 4-20mA or 0-5V/0-10V/0-30V (optional)
5. Support RS485 serial port data collection, with serial port server function
6. Supports Modbus RTU communication protocol and virtual serial port
7. Supports docking with various configuration software and TCP/UDP servers
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 4000093-310 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 4000093-310 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.

330780-90-00 BENTLY NEVADA
330910-01-08-10-01-05 Transient Data Interface Card
3500/15-02-02-00 Transient Data Interface Card
3500/42-09-01 Framework interface module
114M5330-01 Mechanical protection system
3500/32М 149986-02 Transient Data Interface Card
84152-01 BENTLY NEVADA
3500/92-01-02-00 Transient Data Interface Card
126599-01 Mechanical protection system
81545-01 Framework interface module
19047-01 BENTLY NEVADA
135473-01 Mechanical protection system
330704-000-040-10-02-00 Transient Data Interface Card
3500-42M Transient Data Interface Card
3500/63 BENTLY NEVADA
3500/15-05-00-00 Mechanical protection system
3500/50M BENTLY NEVADA
3500/42M Mechanical protection system
330106-05-30-10-02-00 Framework interface module
330709-000-070-10-02-00 BENTLY NEVADA
3500/05-01-01-00-00-00 Transient Data Interface Card
177313-02-02 Mechanical protection system
330750-80 BENTLY NEVADA
177313-02-02 BENTLY NEVADA
330180-90-00 Transient Data Interface Card
3300/48 Mechanical protection system
19047-01 Mechanical protection system
3500/54M Framework interface module
3500/05-01-02-01 Transient Data Interface Card
3300/20-12-01-01-00-00 BENTLY NEVADA
330195-02-12-10-00 Mechanical protection system
175794-01 Mechanical protection system
3500/42MNSFP350042M Transient Data Interface Card
3300/65 Mechanical protection system
146031-02 Framework interface module
128229-01 Framework interface module
3500/05-02-02 Transient Data Interface Card
200200-05-05-05 Framework interface module
330901-00-90-50-02-00 BENTLY NEVADA
3500/40M 176449-01 Transient Data Interface Card
330101-00-08-20-12-05 BENTLY NEVADA
135462-01 BENTLY NEVADA
125800-01 BENTLY NEVADA
330103-00-03-05-02-05 Framework interface module
1900/27 Framework interface module
133434-01 Framework interface module
3500/22-01-00 Framework interface module
330703-000-070-10-02-05 Mechanical protection system
125704-01 BENTLY NEVADA
126648-02 BENTLY NEVADA
330902-00-95-05-02-00 Mechanical protection system
3500-42M BENTLY NEVADA
1900/27 Transient Data Interface Card
330180-X0-05 Mechanical protection system
3500/61-01-00 Framework interface module
330850-90-05 Framework interface module
3500/32 125712-01 Mechanical protection system
3500/50M PWA-286566-02G Mechanical protection system
135137-01 Transient Data Interface Card
330130-080-00-00 Mechanical protection system
3500/15-02-02-00 Mechanical protection system
3300/30 BENTLY NEVADA
330910-00-14-10-02-00 Mechanical protection system
330878-90-00 Mechanical protection system
3500/22M 288055-01 BENTLY NEVADA
3500/22-01-01-00 Framework interface module
3500/15-02-02-00 BENTLY NEVADA
3500/25 149369-01 Framework interface module
190662-28 Transient Data Interface Card
3500/72M 140734-08 Transient Data Interface Card
3500/25-01-01-01 Framework interface module
3500/45 176449-04 BENTLY NEVADA
3500/70M 176449-09 Mechanical protection system
330104-00-05-10-02-CN BENTLY NEVADA
330103-00-04-10-02-00 Transient Data Interface Card
3500/45 140072-04 BENTLY NEVADA
1900/65A BENTLY NEVADA
9200-01-01-10-00 Mechanical protection system
330400-02-05 BENTLY NEVADA
3500/22M 288055-01 Mechanical protection system
125800-02 BENTLY NEVADA
3500/50M 286566-02 Transient Data Interface Card
3500/61-01-00 BENTLY NEVADA
3300/45 Mechanical protection system
330180-90-00 Framework interface module
135813-01 BENTLY NEVADA

 

Company advantage service:
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
All kinds of module card driver controller servo motor servo motor embedded card wires and cables Power module control module is applicable to steel, hydropower, nuclear power, power generation, glass factory, tire factory, rubber, thermal power, paper making, shipping, navigation, etc

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