In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly explains "what are the relevant knowledge points of ServerSuperIO". Interested friends may wish to have a look. The method introduced in this paper is simple, fast and practical. Next, let the editor take you to learn "what are the relevant knowledge points of ServerSuperIO"?
The course of development
The earliest prototype of SuperIO&ServerSuperIO began to be developed in 2010, when it was mainly to solve the company's numerous internal hardware products, numerous agreements, frequent problems with previous software, high maintenance costs, and tiredness in all aspects of the integrated system. After two or three years of development, it has indeed solved the problem of the company's internal product system, and all hardware products can be mounted and run under the platform. After leaving the company, I feel that there is still a lot of room for the development of this platform in terms of code, applications, etc., and the platform SuperIO (SIO) was formed only after the gradual production in 2014.
However, SIO only solves the problem of plug-in mounting of device drivers (many protocols), but it is limited to running under the Windows series operating system, and there is no problem with data acquisition on general PCs and industrial computers. However, there is still much room for improvement in operational efficiency, the interface of device drivers can be further standardized (in order to be applied at all levels), cross-platform operation must be overcome, information exchange and control between devices (drivers) must be realized, cascading and control of framework applications at different levels must be realized, applications of multi-service instances, and so on, a series of framework and technical problems can be further improved. From the perspective of the framework of the overall construction of the Internet of things, from the beginning of 2015, a new generation of Internet of things framework, that is, the current ServerSuperIO (SSIO) framework, has been redeveloped based on the core idea of SIO. After more than two years of development, it can form a comprehensive solution based on the intelligent gateway.
The design idea of SSIO communication framework is developed on the basis of SuperIO (SIO), and there is no high-end technology, mainly the accumulation of work experience, which is suitable for data acquisition and interaction of the Internet of things in different application scenarios. SSIO and SIO are not simple high-performance operations for IO, but the coordination mechanism among device drivers, IO channels, control modes and actual hardware devices, seamless connection and operation between all aspects, but also to solve some pain points in real work and application scenarios.
The data interaction between software and hardware, and faced with a complex field environment:
(1) complex and diverse communication protocols. There are standard protocols, such as Modbus, etc., and there are also many protocol formats modified according to standard protocols, as well as custom protocol formats, which vary widely. For bad software architecture, struggling to deal with, adding devices or protocols to sort out the whole software, new problems or BUG often arise in the process.
(2) according to the different users' requirements for the software interface or function, the data display interface can be customized to meet the display requirements of different users. Then it is necessary to provide a display view interface to interact with the device driver.
(3) since the data of the field equipment has been collected, it needs to be processed, not only saving, querying, reporting, etc., but also: data forwarding, data output (OPC, analog, large screen, etc.). Then you need to provide a service interface to interact with the device driver.
(4) due to the variety of communication links, it may be necessary to support RS232/RS485/RS422, RJ45, 3G/4G and other communication modes for the same device, so for a device to correspond to multiple communication modes (serial port and network), it also causes great obstacles to our development.
(5) the link between device driver, IO channel and actual field hardware terminal is complex, it is possible that one device driver corresponds to one IO channel, one device driver corresponds to multiple IO channels, and multiple device drivers correspond to one IO channel.
(6) since the equipment exchanges data with the server, the communication status of the device, the IO status, and the status of the device itself should be monitored so that the equipment can be maintained.
(7) the compatibility between the software versions and the software and hardware is very poor, and the management is complicated. When the framework platform is stable, only the device driver needs to be updated.
In order to solve the above problems, a software framework is developed to support secondary development. Without changing the software framework, it can easily access the equipment, maintain the equipment, integrate the equipment, process the business data of the equipment and so on. The software framework is relatively stable and the parts that are easy to change are designed flexibly.
Frame characteristics
Lightweight high-performance communication framework, suitable for a variety of application fields, polling mode, automatic control mode, concurrent mode and singleton mode.
It is not only the communication framework, but also the coordination mechanism of device driver, IO channel and control mode scenario.
Support protocol driver, you can write standard protocols and custom protocols according to the specification.
Support for sending data buffers, command cache retransmission and priority sending.
Support protocol filters, filter data according to rules, and can inherit interfaces and customize filtering methods.
Support to receive data buffer, you can cache data that does not conform to the filter, and the next received data for splicing.
Support the scheduling of devices according to the priority of device commands to ensure that drivers with high-level commands are sent in time.
Supports a device driver, supports both serial port and network communication, and can monitor IO channel data.
Support a device driver, in network communication can support TCP Server and TCP Client two working modes.
Multiple devices are supported to share the same IO channel for communication.
Regular cleaning of timed-out network IO channels is supported.
Support display view interface to meet different display requirements.
Support service component interface, 4-20mA output, LED large screen display, short message service, and multi-function gateway service.
Support for OPC Server services.
Support the creation of multi-service instances to split different businesses.
Supports cross-platform deployment and can run on Linux and Windows systems.
Device driver and device driver, device driver and server (cloud) can interact with each other in real time, upload data and send instructions.
One set of device drivers to support multiple IO communications
Whether it is zigbee, wifi, wired network, or RS485, RS232, RS422, it is mainly divided into two kinds of hardware interfaces: network port and serial port. As for the OPC protocol, it can be implemented indirectly with the formation of the SSIO service interface, forming part of the service plug-in. If the unstructured design of IO, network port and serial port exist independently, with more and more products, it is a headache and may not run stably. For the ServerSuperIO framework, it is very convenient to develop a set of device drivers to interact with hardware devices (sensors) through network port or serial port respectively. Some people think that communication is very simple, but in fact, if many problems are taken into account, it will become very complicated. There are also many pure network communication frameworks, with different business scenarios and communication mechanisms, the pure network communication framework may not be fully applicable to the field environment. Based on years of work experience, communication mechanisms and application scenarios have been added for SSIO. See "Serial | ServerSuperIO tutorial of the Internet of things Framework".
The schematic diagram is as follows:
The cascade of IoT communication
If only collecting the data and control of the hardware, it can only be regarded as a local system, but in the construction of the Internet of things and integrated system, a systematic and networked framework must be formed. Therefore, in addition to collecting data information and control within this scope, ServerSuperIO should also form data interaction with the upper-level ServerSuperIO and receive the next-level ServerSuperIO interactive data, then the ServerSuperIO will form a cascade relationship, which mainly completes two major duties: data cascade upload and reverse control, and then cascade control of the equipment itself.
The schematic diagram of the structure is as follows:
Communication and control between devices
Collecting and controlling a single device is far from enough in practical application, but also can transfer and control information between devices and devices, and return to send confirmation information to the control source equipment. For example, in the case of monitoring the Flowmeter's serious alarm, whether the valve at the liquid source should be adjusted or controlled. There are many similar examples.
In the latest version 3.1 of ServerSuperIO (which has not been released yet), after supporting the device to initiate the transmission of information and control to another device, whether the controlled device immediately returns the confirmation message, or automatically asynchronously decides whether to return the confirmation message. The function of asynchronously returning confirmation information has been added, because the control command is only sent to another device driver, and the device driver will further interact with the actual hardware device. After the interaction with the hardware is successful, the confirmation information is returned to the initiating source device driver.
The schematic diagram is as follows:
Interaction and control with the cloud
ServerSuperIO provides service-driven interfaces. In addition to the functions of device-driven classes, some can exist in a service-driven way, such as the fusion model calculation of data collected by multiple devices, interacting with other platforms or upper layers, and so on. Here, we only take the interaction with the server as an example. Different from the interaction and control between the device driver, the device driver actively transfers the collected data information to the service driver, and the service driver interacts with the cloud. After receiving the instructions from the cloud, the device driver initiates the transmission of information or controls the device driver. The device driver then returns the confirmation information to the service driver.
The schematic diagram is as follows:
Control mode
(1) polling mode: this control mode can be used when serial port and network communication. When multiple devices are connected to the communication platform, the communication platform will poll the scheduling equipment for communication tasks. At a certain time, only one device can send a request command and wait for the return data to be received. after the device completes sending and receiving (if it encounters a timeout, it will return automatically), the next device will carry out the communication task and poll the device in turn. As shown below:
(2) concurrent mode: this control mode can only be used in network communication. The concurrent communication mode is to send request instructions of all devices centrally, and the framework is to send request commands in the way of cyclic synchronization. There is also an opportunity to further improve the ability to send request commands centrally in a parallel and asynchronous manner. After receiving the instruction, the hardware device verifies and returns the data of the corresponding instruction after the verification is successful. after the communication platform monitors the data information asynchronously, it receives the operation, and then distributes and processes the data. As shown below:
(3) automatic control mode: this control mode can only be used in network communication. The automatic communication mode is similar to the concurrent communication mode, except that the instruction operation is handed over to the device driver itself for control, or to the secondary developer, the secondary developer can send instruction data through the clock timing and event-driven mode. After receiving the instruction, the hardware device verifies and returns the data of the corresponding instruction after the verification is successful. after the communication platform monitors the data information asynchronously, it receives the operation, and then distributes and processes the data.
Automatic communication mode can provide accurate timing request real-time data mechanism for secondary developers, making the communication mechanism more flexible and autonomous. If multiple device drivers use the same IO channel, the time control will be biased. As shown below:
(4) singleton mode: this control mode can only be used in network communication. There can be only one device driver in a service instance, which is equivalent to one device driver corresponding to N hardware device terminals. Data protocols that are more suitable for communication have fixed standards to handle different data with command keywords. It is suitable for highly concurrent hardware terminal devices to upload data actively, and the server processes and returns the corresponding data according to the data information. As shown below:
Cross platform
(1) Windows operation effect
(2) running effect of Linux
At this point, I believe you have a deeper understanding of "what are the relevant knowledge points of ServerSuperIO?" you might as well do it in practice. Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.