First, Preface
Diving in the garden has been seven or eight years. Ashamed to say, for so many years though he had been claiming. NET fans, but only a few perfunctory stickers, neither published code nor written articles.
Look at the. NET and C # in foreign countries, but the country is increasingly declining, I also think there is a need to write a little something.
Second, Why open source, what it can do
It's not the time to sell software CDs for licensing. My own development of this system also benefited from open source.
The cause is that the configuration software used by the unit is plagued by copyright issues, while the system is very large, with a few g, the installation of deployment debugging is not convenient, while the script and expansion capabilities are limited.
Start is their own research and development, colleagues generally oppose, all think that configuration software is a big company to play things, I am a man a gun, pattern Tucson broken.
However, I am a fanatic, referring to hundreds of domestic papers, downloaded dozens of hundred open source class library, repeated research, often stay up late.
After a period of time, to take out a set of semi-finished products, but also gradually accepted by everyone, and an unacceptable, has done a lot of projects, gradually replaced the original configuration software, the system is also maturing and growing.
But limited to energy and level, the system perfect space is also very large, can improve the function of a lot, and appreciating, rather than to the community, the common perfect.
This system provides only a set of components and tools, and does not give specific industry solutions and control logic (this is not an open source part).
From the beginning of the design goal is very clear, replace the unit existing configuration software. Implement " M.F.B. s ".
The system architecture diagram is as follows:
It is divided into Gateway Drive layer, platform service layer and application layer.
The gateway is responsible for converting various industrial Ethernet protocols and unifying interfaces.
The Platform service layer is responsible for polling, storing, and pushing data. Provide a variety of query, read and write interface.
The application layer is mainly human-machine interface (HMI) and various visual function components, such as alarm interface, trend chart, report, chart, place order, change parameter, Chazhi and so on.
more : is to adapt to a wide range, such as industrial gateway can support a variety of industry Ethernet, PLC, strong universality, can be applied to a number of industries.
Currently supported:
- Modbus Tcp/rtu
- OPC DA
- Dde
- AB Ethernetip
- Mitsubishi
- Siemens s300/200/1200/1500
Quick: This includes three meanings, high design efficiency, fast installation and fast operation.
There are convenient design tools. Driver, variable, alarm, archive Manager, yes, just a simple configurator that supports import and export of various formats.
Next came the universe's first ide,visual Studio, as the configuration designer. The configuration designer was originally the hardest part to implement, now vs one out, seconds to kill a piece.
Speed according to my own, do a set of multi-section of the upper computer screen, fast within a day, slow also two or three days.
Operating speed: Bulk Read/write mode + subscription-push mode, thousands of variables, hundreds of display units, including animation, communication period of 500 milliseconds, very smooth.
good: The interface is beautiful, full-featured, easy to use, good extensibility.
Features that are currently completed include:
Industrial Gateways: Supports multiple protocols. The interface is easy to implement if a new driver is added.
Real-time data engine: Push changing data in real-time, support remote server +n client.
Historical Data archive Engine: Supports fast N-variable archiving, which provides support for data analysis and data mining. Archive file is small, with index, query fast.
Man-Machine interface: You can take advantage of the power of the VS designer, complemented by a powerful plug-in (boast), you can use the VS designer as the configuration designer.
Extensibility: Adding new features is fast because the interface is simple. But the function is not simple.
Province: as the name implies, save time by saving money.
First, the system environment is simple, is to install a. NET (because it only requires 4.0,win7), the database is available in SQL EXPRESS, without any third-party charging components (open source components are listed on GitHub, thanks to the author).
vs as a designer, powerful and easy to use, free version of the community (for personal use with no matter, the best company to contact Microsoft to buy a genuine license).
Support a variety of PLC, unit old configuration software Many plc is not supported, here to join a new device driver is very convenient.
Third, three why
Considering the blow of a half-day cow B, you may ask the following three questions:
Why do you use . NET platform?
First, I am a Microsoft fan,. NET loyal code farmer, spent more than 10 years, drawbacks. Whether it is engrossment, or reverse telecommuting sharp weapon. First of all. NET itself is a M.F.B. s platform, with the cosmos first IDE, the development efficiency is extremely high.
The second is that Microsoft is becoming more open. NET cross-platform capabilities are also getting stronger. As for the so-called, sprayed by a lot of jets. NET salary is low, that is because the domestic special reason causes the Java code Farmer already preconceived.
I do not have the company's political problems in this industry, so I have never considered transformation (once written for Android app Java, but also very simple, but I would like to spit, the same function, Java implementation is too verbose).
Why do you use WPF?
WPF is a declarative programming approach (XAML language) that is ideal for industrial-style interface design. At the same time Microsoft provided the blend designer, which actually paints these controls as mechanical engineers who do not write code.
It realizes the cooperation way of separating before and after the station. Coupled with the universe of the first IDE, you can do a very cool.
Why do you use Visual Studio ?
Very simply, the first IDE in the universe is not covered. I've seen a lot of home configuration screen designers. No matter the effect or ease of use or extensibility, compared to vs. VS also integrates project management and compilers.
About vs extensibility people seldom use, I also fill a lot of pits, find a lot of information, realize after you know it is strong.
Four, the following plan
Fix bugs and increase security stability with community assistance. To use is to win. Then pursue more "M.F.B. s".
- Write a series of posts to clarify the architecture and principles.
The outline and catalogue have been prepared. Roughly as follows:
- Gateway layer principle, Interface description
- How to implement a device driver
- How to design elements
- VS plug-in modules and principles
- Archive modules and file formats
- How to extend a feature
GitHub Address: Https://github.com/GavinYellow/SharpSCADA.
GitHub is covered with instructions. The download package also includes how to install the deployment and how to design the Word document. More rough, welcome to ask questions.
Open source Pure C # Industrial Gateway + configuration software