Moscow, Azovskaya 14
+7 (495) 310-97-15
Mo-Fr: 9.00 - 18.00 (Moscow time)
Order a call
Callback
Your name *
Enter phone *
Your Email *
Call me back
Masterskada 4D. We share our experience with this young product

Advantages and disadvantages of Masterskada 4D for PLC110

I describe the initial experience of mastering Masterskad 4D. I will try to be objective and describe the product as correctly as possible, provided that it is used on OVEN PLC110 4D controllers.

I will try not to defame the product, but to point out the advantages and disadvantages, to help potential buyers make purchases consciously with an understanding of what exactly they will encounter when developing programs.

Since I approached the Masterskad 4D product 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 (PLC).

I got a facility where PLC110 4D had already been purchased, where it was necessary to reprogram 11 thermostatic chambers, provided that the task also did not seem the easiest on Codesys. There are recipes, there are associated state machines (sequences). Link to an article with an object

The technological process depends on the selected recipe, there are heating and cooling rates. The customer refused to change the PLC110 4D for similar PLC110 with Codesys, they had to take it, despite the forebodings of some "trouble".

It is worth noting right away that I myself refused to create a SCADA application on the Masterskada 4D product, arguing that I had experience with Masterskada 3.12 and lack of experience with 4D. This option was accepted and the process began.

Внешний вид программного кода Codesys

A program written in Codesys was previously created and debugged, an interface with MasterCAD 3.12 was created, agreed and tested.


Мастерскада 3.12

Below is the screen of Masterskad 4D, in which the controller is being programmed.

Внешний вид программного кода Мастерскада 4Д


What advantages or benefits are obvious:
1. The Masterskad 4D program is designed for programming both controllers and SCADA applications. That in the presence of experience provides flexibility in the calculation and creation of commercial offers. Savings on licensing.
2. Allows you to create a fairly fast WEB interface within the PLC110 or, for example, Bolid, using it to control an 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 using the Modbus TCP protocol, the controller can be immediately polled using the OPC UA protocol.

What cons or weaknesses could I managed to find:
1. During commissioning, it turned out that it was impossible to load small changes in the program code into the PLC. It's just that such a function is not included, you can only download the entire source code in full. During commissioning, it is extremely strange to hear the pops of starters, if we just had to correct some formula or add OR.

2. Variables are bound only by drag and drop from place to place. This is more like not programming, but weaving a web. This inconvenient principle was inherited from Masterskada 3. When developing large projects, this is a huge laboriousness. It is impossible to apply the well-established programming approach, which is embedded in the languages of the IEC standard, similarly to Siemens, Schneider Electric, Aries, although in general the language standard has been fulfilled.

3.  There is no such thing as global variables that can be used inside the program code and they are automatically bound, as it happens, for example, in Codesys. For example, it was very inconvenient to use the function blocks put in the library, since the code is not visualized.

Мастерскада 4D

4. Surprisingly, it is not possible to do an inversion in the form of a ball at the input of a block or a NOT in front of a variable. To negate a discrete expression, you need to use the NOT function block, it is such a huge square with two legs "En" and "EnO". This is inconvenient and interferes with the location of the components in the logic, as they begin to take up a lot of space.

Мастерскада 4D

5. In general, I think that the interface is made very poorly thought out and not optimal. I assume that TIA PORTAL was adopted as the ideology of the Masterskad 4D interface, since the gray color was taken as the basis, the location of the fields and their pseudo-hidden menus hanging from different places are very similar. All this is suitable and suitable only for very large monitors, which are rarely used during commissioning. Usually you have a small monitor, very little space around and no desk. Optimizing the interface for space usage is not good enough. Wherever you want to look and see numbers - they simply aren't there!

6. There were cases when the variables were bound in one place and supposedly should have taken the exit value, but this did not happen. That is, it can be seen that the variable is bound, but in fact it is not bound. I had to tie it again, which could not but upset. Nobody likes to do the same job twice.

7. I noticed that it is possible to correct the connections of variables online, but this is actually an illusion, since in fact nothing changes in the controller before the program code is loaded. May mislead the user.

Мастерскада 4D

8. Debugging ST code in the usual mode, when the values ​​of variables inside the code are visible, is impossible, since you will not see a single value of the variables. To see the values ​​of the variables, you will have to take the variables to the outputs of the functional blocks (terminals) and only there you can see how they work out, and this takes more time. As debugging code with values ​​inside an instance is impossible, then you have to take all the variables into a separate program in order to debug there and only then return them back to the library and to the functional block.

Мастерскада 4D

9. In the FB language, it is impossible to bind a constant as a number; only variables of the constant type are allowed to be inserted. Again, you need to perform additional actions and all this eats up space.

10. Inability to use Cross Referense (View Links). It is impossible to quickly find out exactly who and where writes to a variable by clicking on the link. Here it is done otherwise, you need to go through all the connections and draw up a picture in your head or write it out on a leaf.

11. Since I had to constantly reflash the controllers, it should be noted that the reflashing process is not thought out as well as with conventional 110 PLCs. Well, was it really difficult to make a simpler and more understandable firmware algorithm? Well, let it somehow squeak, if successfully, and be silent if not successfully. As a result, we ruined one controller, it stopped responding at all. A couple of times there were tricks when the controller worked, but 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 completely superficial.
Now we have managed to do a small project. All the features of MS4D were not needed in this project, but it was necessary to somehow attach the long-bought OVEN PLC110-MS4.

The improvement of the interface in v1.2, compared to v1.1, immediately caught my eye. And it’s not even so much about the now fashionable “dark” theme, it seemed to me more developed, more thoughtful. But the focus on not just large, but huge monitors, somewhat complicated my work on my 19” monitor.
I had to constantly minimize and maximize the 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 don't think it's a problem on larger 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 desired line will never appear first.

I didn’t understand how to expand this window with errors, there is only a “copy to clipboard” button. Therefore, I had to copy from the clipboard to a text editor and figure it out there.

In the version of MS4D I was using, namely 1.2.7, compared to 1.1. OVEN developers have already integrated more closely it has become possible to update the PLC executive part of the SCADA engine directly 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 ARIES technical support, I had to upload 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 at the inability to connect to the PLC (neither USB nor Ethernet), although I went there in the terminal via SSH, and all the necessary files were in place.

To the wishes in the interface, I would add a request to reduce the distance between lines and the “branching” of the project tree.
Sometimes it is not at all clear why the highlights were added, and each time it takes time to deploy them, and you need to remember where it is hidden.
As an excuse, the developers added the ability for any branch to “remain always expanded”, 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 on installing the RS-485 interface on the PLC in Slave mode, downloaded from the OWEN website, then we would have 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 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 carry out “synchronization with the tree”, after which you can get a “surprise” in the form of array elements that have flown down.
Of course, all this can be fixed and not such a problem, but it is easy to create variables using the wizard, and when dragging variables from the tree, they are automatically declared.
For beginners, this is very convenient. In general, despite all the shortcomings listed, 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.

Nikita Zaichenko commented:

1. Regarding uploading small changes
This is a real pain, because loading stops Runtime.
2. Links are dragged with the mouse
This is also a pain, because 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 associate its properties with another element (for example, the most banal is to rewrite the value from a network variable to 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 "terminals". I also think that it is necessary to add the ability to create named lists of global variables. It would also be nice to add the ability to create Data blocks like seeds
4. I agree about the inversion.
5. Variable bindings disappeared
It is necessary to look at the properties of the binding, because it was possible to confuse and not write to the output with a variable, but vice versa. Terribly stupid thing that sometimes fails
6. Debugging ST Code
I didn’t quite understand what it was about, since the values of input and output variables are displayed on the “terminals” of the block, and the values of local variables are displayed in the “Local” tab.
7. Project signatures
Signed at the top of the MS4D window. You have the inscription “MasterSCADA 4D 1.2: PLC_ARM” on the 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 not possible to upload small changes to the program code to the PLC. It's just that such a function is not included, 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 PLC cases they binary write the program inside. Siemens, they implement this feature differently in different versions in some version and partially load the code, but this is very illogical and rather strange. Rarely did this, did not immediately realize what it was about. yes, Masterskada 4D can’t do that, well, because it is architecturally different)
2. Do you mean binding by program name? Purely technically, in Masterskad 4D, each element has its own ID and you can bind to it through a point. However, I haven’t tried it myself, because the mouse is simpler and more visual, you can immediately see how, I don’t understand how it could be otherwise. We drag the mouse from one part to another - from two tables, in my opinion, effectively. Yes, at least two objects. in every 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's much easier to bind with the mouse one to another than to search in the table by name)
3. Global variables are, probably, to the previous point - the convenience of binding. In each connection, you can see where it goes and what it is - incoming or outgoing.
4. It is such a given. Who likes what, although there are some topics for Masterskad, but I don’t remember where they switch in each connection, you can see where it goes and whether it is incoming or outgoing
5. Yes, without loading the project, the logic of work will not change)
6. Statuses and values visible on input and output terminals
7. 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.


#Masterskad4D, #Experience, #PLC110, #Review, #Advantages, #Disadvantages

Be the first to comment

You comment add