Hello again!
We continue my epic on the development of its own scada system.
The previous parts can be read here:
Part number 1:
habrahabr.ru/post/124427Part number 2:
habrahabr.ru/post/138874Part number 3:
habrahabr.ru/post/150196There was some news that came as a complete surprise to me and took me a little off guard.
This Saturday and Sunday I sat at home and packed my bag for deployment in the area where my system was implemented at the facility, urgently resolved to resolve some issues related to the network infrastructure. The benefit of the problem is not in software, but in network equipment, but this has yet to seriously deal with this week with representatives of the organization that put all this equipment on the object. But this is a deviation from the main topic, so I’m sitting here packing up, pondering a plan of measures for analyzing situations at the facility, when suddenly my old acquaintance in work in the field of industrial control systems knocks me on ICQ. Since they didn’t communicate for a long time and he got lost somewhere, they began to torture each other, what, how, where, how much, and how it was generally ... In the process of exchanging verbal floods, he told about his progress with his scud, for a while until we communicated. He shared the links, the materials to read, and at the same time threw him a link to his current working last revision in order to try it.
While discussing my system, he told me about the fact that now he began to work actively in two axes: Windows and Linux. The topic went a little towards Linux, he became interested in: do I plan something in this direction? In general, the essence of the matter, told him about his idea of ​​trying out the capabilities of the Mono platform, as well as what MonoDevelop-studio had already downloaded and even tried to pick it up a little on his project, or rather his project in it. However, my current knowledge in the field of Linux is limited only to the fact that 5 years ago, for the sake of interest, I put on one of my Junior Linux versions on my home PC, I poked my mouse a little at the interface, but that was all. And for the sake of experimentation, he suggested that I try running my scada under Linux. If a person knows what he is doing - cards in his hands, I was only in favor of trying such an experiment. He downloaded the current revision from my site, which I compile under Ms Windows, and launched it under Linux!
Honestly, the first minutes, from such a result, I was a little dumbfounded, and besides - I even thought that he was fooling me with hand-drawn screenshots. However, that is - that is, the system is fully capable of being launched, and under certain conditions even fully run under Linux OS.
Here is the very first launch at all without anything, that is, without additional. software installed on a PC under Linux (with the exception of the Mono platform)
Developer Environment')
It was late in the evening, so on the first launch they decided to stop for now, and continue on Sunday morning. Here is the text in the morning with his words:
"
Today I once again experimented with running the scud. The results are as follows:
1) in pure Mono, you can just run the environment, but almost no
Actions do not work.
2) I tried to run the environment in Wine. So
dotnet2 and gdiplus have already been installed in vain. IDE no problem
starts, you can edit the graphics and programs. Chased minutes
10, nothing took off. When editing graphics works very
smartly With intensive editing, the maximum CPU load is 35
%
Because Wine is not a virtual machine, it can be said that IDE
plowing in linux and launching doesn’t work out any special witchcraft. "
And here are the screenshots:
Algorithm Editor
Graphic Mimic EditorThese are the news, since I urgently flew away on a business trip on Sunday evening, we decided to continue our experiments with him on my return to Moscow time. But he is still tinkering with the system on his own, trying it in some tests of functions under this OS, in order to understand how many incompatibilities are observed and if it will be possible to bypass them.
Here, and I have already downloaded the installation of this OS, and already I even know which of my home PCs will go under this direction. Apparently, it will also be necessary to study the issue of porting in more detail, and to envisage the possibility of developing the system taking into account both directions in order to minimize the option of generating a separate code for each OS.
In the field of Linux, frankly, I am a noob! It seems that now there is an opportunity to upgrade their skills on this issue.
I would be grateful for the good advice from those who “passed through” this path, as well as from those who are “in the subject line” and can prompt with interesting materials on the development of platform-independent applications on the .Net platform.
Thanks for attention!