I will try not to discredit the product, but to point out the advantages and disadvantages, help potential buyers make purchases consciously with an understanding of what exactly they will face when developing programs.
Since I approached the product of Masterscad 4D as a programmer of industrial controllers, I have to compare it with such controller development environments (IDE) as TIA PORTAL, UNITY PRO XL, CODESYS. All these programs are designed for programming controllers (PLCs)
I got an object where PLC110 4D had already been purchased, there it was necessary to reprogram 11 thermostatic chambers, provided that the task on Codesys also did not seem the easiest. There are recipes, there are associated state machines (sequences). Link to article with object
The technological process depends on the selected recipe, there are heating and cooling rates. The customer refused to change PLC110 4D for similar PLC110 with Codesys, he had to take it, despite the presentiment of some kind of "trouble".
It should be noted right away that I myself refused to create a SCADA application on the product of Masterscade 4D, arguing that I had experience with Masterscade 3.12 and lack of experience with 4D. This option was accepted and the process started.
What are the advantages or advantages are obvious:
1. The Masterscada 4D program is intended for programming both controllers and SCADA applications. That, if you have experience, provides flexibility in calculating and creating commercial offers. Savings on licensing.
2. Allows you to create a fairly fast WEB interface within the PLC110 or, for example, the Bolid, using it to control the object over the network. It is convenient if this is a local level of automation and with a simple technology, almost everything can be done without a qualified programmer
3. It is possible not to program the exchange via the Modbus TCP protocol, the controller can be immediately polled via the OPC UA protocol.
What disadvantages or disadvantages could I find:
1. During commissioning, it turned out that it was impossible to load small changes in the program code into the PLC. There is simply no such function, you can only download the entire source code in full. During commissioning, it is extremely strange to hear the claps of starters, if we just simply had to correct some formula or add OR.
8. Debugging the ST code in the usual mode, when the values of the variables are visible inside the code, is impossible, since you will not see a single value of the variables. To see the values of the variables, you will have to transfer the variables to the outputs of the function blocks (terminal blocks) and only watch how they work there, and this takes more time. As it is impossible to debug code with values inside an instance, you have to move all the variables into a separate program in order to debug there and only then return them back to the library and to the function block
10. Lack of ability to use Cross Referense. It is impossible to quickly find who exactly and where writes to a variable by clicking on the link. Here it is done differently, you need to go through all the connections and draw up a picture in your head or write out on a piece of paper
11. Since I had to constantly reflash the controllers, it should be noted that the reflashing process is not as well thought out as with conventional PLC110s. Well, was it really difficult to make a simpler and more understandable firmware algorithm? Well, let him squeak somehow, if successful, and be silent if not successfully. As a result, we ruined one controller, it stopped responding altogether. A couple of times there were tricks, when the controller worked, and the relay outputs did not work, it was solved only by flashing, which consisted of three! files.
This is the opinion of one familiar programmer:
I got my first acquaintance with MasterSCADA 4D more than a year ago and was quite superficial.
Now we managed to make a small project. All MS4D features were not needed in this project, but it was necessary to somehow attach the long-purchased OWEN PLC110-MS4.
I was immediately struck by the improvement in the interface in v1.2, compared to v1.1. And the point is not so much in the now fashionable "dark" theme, it seemed to me more developed, more thoughtful. But focusing on not just large, but huge monitors made my work on my 19 "monitor a little more difficult.
I had to constantly fold and unfold windows. This is if you program in the ST language. There is simply no room for function blocks. Therefore, I had to constantly collapse the lists of input and output variables and minimize the bottom window with the palette. But I think it's not a problem on large monitors.
Another problem in the interface that annoyed me was the list of errors during debugging (in the screenshot above you can see the phrase "No messages. To check ...").
Even if you have only one syntax error, the compiler will still generate a mountain of errors, and the required line was never the first.
I did not understand how to expand this window with errors, there is only a "copy to clipboard" button. Therefore, I had to copy from the clipboard into a text editor and sort it out there.
In the MS4D version I was using, namely 1.2.7, compared to 1.1. already more closely the OWEN developers integrated, it became possible to update the executive part of the PLC of the SCADA engine right from the development environment. In v1.1, the "engine" had to be updated separately by connecting to the PLC via Debug. By the way, I still had a failure when updating the firmware and with the help of technical support ARIES had to fill it manually. The process itself is not complicated, but to understand what exactly the problem is in the firmware, I had to spend quite a lot of time, MS4D cursed about the inability to connect to the PLC (neither USB, nor Ethernet), although I went there via SSH in the terminal, and all the necessary files were in place.
To the wishes in the interface, I would add a request to reduce the spacing between lines and the "branching" of the project tree.
Sometimes it is completely unclear why the branches were added, and each time it is time to unfold them, and one must remember where it is hidden.
As an excuse, the developers added the ability for any branch to "remain always deployed", but this half measure did not save me.
Well, the main drawback is the almost absence of a description and meager help.
If it were not for the detailed manual for installing the RS-485 interface on the PLC in Slave mode, downloaded from the OWEN website, you would have had to spend much more time on this. I also experimented with non-volatile variables for a long time, until I was convinced that it works. It would seem, as it is done in most development environments, for example in Codesys, just declare the Retain variable. I did just that, but then it is necessary to "synchronize with the tree", after which you can get a "surprise" in the form of flown array elements.
Of course, all this can be fixed and it is not such a problem, but it is easy to create variables using the wizard, and when you drag variables from the tree, they are automatically declared.
This is very convenient for beginners. In general, despite all the listed shortcomings, MasterSCADA4D is a very promising environment and its object-oriented approach in many projects can be a big plus due to scalability and development speed.
1. About loading small changes
This is real pain because loading stops Runtime.
2.Dragging links - using a mouse manipulator
This is also a pain, since often the places from where you need to drag and where do not fit on one screen. You have to select the element with which you need to establish a connection and bind its properties with another element (for example, the most commonplace is to rewrite the value from a network variable into an object variable or establish a connection to its "initial value")
3.No global variables
Well, here is the type of approach that any software component must communicate with other software components or channels through the so-called "terminal blocks". I also think that it is necessary to add the ability to create named lists of global variables. And it would also be nice to add the ability to create Data-blocks like seeds
5 variable bindings were missing
It is necessary to look at the properties of the binding, because could be confused and not write with a variable to the output, but vice versa. A terribly dumb thing that sometimes fails
6 debugging ST code
I didn't quite understand what I was talking about, since the values of the input and output variables are displayed on the "terminal blocks" of the block, and the values of local variables are displayed in the "Local" tab.
Signed at the top of the MS4D window. you have the inscription "MasterSCADA 4D 1.2: PLC_ARM" on your screen. You can also always go to the project properties
8 binding constants
You can simply set the value at the POU input. After selecting the input, set the value in the column "Initial value"
Yuri Gorelov commented:
1. It is impossible to load small changes in the program code into the PLC. There is simply no such function, you can only download the entire source code in full. I have not yet seen a single PLC that, when changing the code, would not load the code completely, well, because in 99% of cases of PLCs, they binary write the program inside. Siemens, they implement this feature in different versions in different ways and partially load the code, but this is very illogical, and rather strange. I rarely did this, I did not immediately realize what it was about. yes, Masterskada 4D cannot do that, well, because it is architecturally different)
3. Do you mean linking by program name? Technically, in the 4D Masterscade, each element has its own ID and you can use it to bind through a dot. However, I didn’t try it myself, because it’s easier and more clearly visible with a mouse, I don’t understand how otherwise. We drag the mouse from one part to the other - from two tables, in my opinion, it is effective. Yes, at least two objects. in each n variables. Right-click on the second object - select "open in the branches panel. And they turn out side by side, it's easier. It's more convenient to bind. With such an organization of the workspace, it is much easier to bind one to another with the mouse than to search by name in the table)
4.Global variables are probably related to the previous point - the convenience of binding. In each connection, you can see where it is going and what it is - incoming or outgoing
5. Such is he given. Who likes what, although there are some themes for the masterscade, but I don't remember where they switch in each connection, here you can see where it goes and what it is - incoming or outgoing
6. Yes, without loading the project, the logic of work will not change)
7. Status and values are visible on the input and output terminals
8. there are tasks, they can be done in the system tree and objects can be linked to specific tasks, moreover, they can be assigned to separate PLC Nodes. When the project consists of several PLCs and workstations
#Masterscada4D, #Experience, #PLC110, #Review, #Advantages, #Disadvantages