Masterskada 4D. Work experience review. Advantages and Disadvantages

I am describing the initial experience of mastering the 4D Masterscade. I will try to be objective and characterize the product as correctly as possible, provided that it is used on OWEN PLC110 4D controllers.
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.

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

A program written in Codesys was previously created and debugged, the interface from Masterscad 3.12 was created, agreed and tested

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

Shown below is the 4D Masterscade screen in which the controller is programmed.

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


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.

2. Variables are bound only by dragging and dropping from place to place. It's not like programming, but more like 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 laid down in the IEC standard languages ​​similar 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 happens, for example, in Codesys. So, 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 impossible to do the inverse in the form of a ball at the input of a block or the inscription NOT in front of a variable. To negate a discrete expression, you need to use the NOT function block, this is such a huge square with two legs "En" and "EnO". This is inconvenient and interferes with the arrangement of components in the logic, since they start to take up a lot of space.

Мастерскада 4D
5. In general, I think that the interface is not made very thoughtfully and not optimally. I suppose that TIA PORTAL was adopted for the ideology of the 4D Masterscade interface, since the gray color was taken as a basis, the arrangement of the fields and their pseudo-hidden menus hanging from different places are very similar. All of this is only suitable and suitable for very large monitors, which are rarely used during commissioning. Usually you have a small monitor, very little space around it, and no desk. Optimization of the interface for the use of space is not of high quality. Wherever you want to look and see numbers, they simply are not there!

6. There were cases when variables were bound in one place and seemed to have to take the value of the output, but this did not happen. That is, you can see that the variable is bound, but in fact it is not bound. I had to re-tie, which could not but frustrate. Nobody likes to do the same job twice.

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

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

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

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

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

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.

Nikita Zaichenko commented:
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
4.About inversion
agree
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.
7.Signing projects
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

Array
(
    [ID] => 509
    [IBLOCK_ID] => 1
    [NAME] => Masterscada4D for PLC110 OWEN
    [IBLOCK_SECTION_ID] => 
    [IBLOCK] => Array
        (
            [ID] => 1
            [~ID] => 1
            [TIMESTAMP_X] => 14.10.2021 23:54:30
            [~TIMESTAMP_X] => 14.10.2021 23:54:30
            [IBLOCK_TYPE_ID] => EN
            [~IBLOCK_TYPE_ID] => EN
            [LID] => s2
            [~LID] => s2
            [CODE] => articles
            [~CODE] => articles
            [API_CODE] => 
            [~API_CODE] => 
            [NAME] => Articles
            [~NAME] => Articles
            [ACTIVE] => Y
            [~ACTIVE] => Y
            [SORT] => 10
            [~SORT] => 10
            [LIST_PAGE_URL] => /articles/
            [~LIST_PAGE_URL] => /articles/
            [DETAIL_PAGE_URL] => /articles/#ELEMENT_CODE#.html
            [~DETAIL_PAGE_URL] => /articles/#ELEMENT_CODE#.html
            [SECTION_PAGE_URL] => 
            [~SECTION_PAGE_URL] => 
            [CANONICAL_PAGE_URL] => https://lapshinvr.com/articles/articles.html
            [~CANONICAL_PAGE_URL] => https://lapshinvr.com/articles/articles.html
            [PICTURE] => 
            [~PICTURE] => 
            [DESCRIPTION] => 
            [~DESCRIPTION] => 
            [DESCRIPTION_TYPE] => html
            [~DESCRIPTION_TYPE] => html
            [RSS_TTL] => 24
            [~RSS_TTL] => 24
            [RSS_ACTIVE] => Y
            [~RSS_ACTIVE] => Y
            [RSS_FILE_ACTIVE] => N
            [~RSS_FILE_ACTIVE] => N
            [RSS_FILE_LIMIT] => 
            [~RSS_FILE_LIMIT] => 
            [RSS_FILE_DAYS] => 
            [~RSS_FILE_DAYS] => 
            [RSS_YANDEX_ACTIVE] => N
            [~RSS_YANDEX_ACTIVE] => N
            [XML_ID] => 
            [~XML_ID] => 
            [TMP_ID] => 
            [~TMP_ID] => 
            [INDEX_ELEMENT] => Y
            [~INDEX_ELEMENT] => Y
            [INDEX_SECTION] => N
            [~INDEX_SECTION] => N
            [WORKFLOW] => N
            [~WORKFLOW] => N
            [BIZPROC] => N
            [~BIZPROC] => N
            [SECTION_CHOOSER] => L
            [~SECTION_CHOOSER] => L
            [LIST_MODE] => 
            [~LIST_MODE] => 
            [RIGHTS_MODE] => S
            [~RIGHTS_MODE] => S
            [SECTION_PROPERTY] => N
            [~SECTION_PROPERTY] => N
            [PROPERTY_INDEX] => N
            [~PROPERTY_INDEX] => N
            [VERSION] => 1
            [~VERSION] => 1
            [LAST_CONV_ELEMENT] => 0
            [~LAST_CONV_ELEMENT] => 0
            [SOCNET_GROUP_ID] => 
            [~SOCNET_GROUP_ID] => 
            [EDIT_FILE_BEFORE] => 
            [~EDIT_FILE_BEFORE] => 
            [EDIT_FILE_AFTER] => 
            [~EDIT_FILE_AFTER] => 
            [SECTIONS_NAME] => 
            [~SECTIONS_NAME] => 
            [SECTION_NAME] => 
            [~SECTION_NAME] => 
            [ELEMENTS_NAME] => Элементы
            [~ELEMENTS_NAME] => Элементы
            [ELEMENT_NAME] => Элемент
            [~ELEMENT_NAME] => Элемент
            [REST_ON] => N
            [~REST_ON] => N
            [EXTERNAL_ID] => 
            [~EXTERNAL_ID] => 
            [LANG_DIR] => /
            [~LANG_DIR] => /
            [SERVER_NAME] => lapshinvr.com
            [~SERVER_NAME] => lapshinvr.com
        )

    [LIST_PAGE_URL] => /articles/
    [~LIST_PAGE_URL] => /articles/
    [SECTION_URL] => 
    [CANONICAL_PAGE_URL] => https://lapshinvr.com/articles/masterscada-4d-for-plc110.html
    [SECTION] => Array
        (
            [PATH] => Array
                (
                )

        )

    [IPROPERTY_VALUES] => Array
        (
            [ELEMENT_PREVIEW_PICTURE_FILE_NAME] => masterscada4d for plc110 owen
            [SECTION_META_TITLE] => Automation articles 
            [SECTION_META_KEYWORDS] => Automation, Articles 
            [SECTION_META_DESCRIPTION] => I met something worthy of attention during the work. It is difficult to assess the necessity of posting this or that article, I tried to clean up the obvious garbage
            [SECTION_PAGE_TITLE] => Here I published articles that may be useful to someone in the production of work
            [ELEMENT_META_KEYWORDS] => Masterscada4D, Experience, PLC110, Review, Advantages, Disadvantages
            [ELEMENT_META_TITLE] => Masterscada4D
            [ELEMENT_META_DESCRIPTION] => We describe the experience with the software Masterskada 4D, relative to the PLC110 4D
            [ELEMENT_PAGE_TITLE] => Masterskada  4D. Work experience review. Advantages and Disadvantages
        )

    [TIMESTAMP_X] => 21.11.2021 18:48:29
    [META_TAGS] => Array
        (
            [TITLE] => Masterskada  4D. Work experience review. Advantages and Disadvantages
            [BROWSER_TITLE] => Masterscada4D
            [KEYWORDS] => Masterscada4D, Experience, PLC110, Review, Advantages, Disadvantages
            [DESCRIPTION] => We describe the experience with the software Masterskada 4D, relative to the PLC110 4D
        )

    [PREVIEW_TEXT] => Described in the article the first experience of interacting with the 4D Masterscade program for programming controllers. Expressed his personal opinion on the merits and demerits
    [PREVIEW_PICTURE] => Array
        (
            [ID] => 2022
            [TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object
                (
                    [value:protected] => DateTime Object
                        (
                            [date] => 2021-11-21 18:48:29.000000
                            [timezone_type] => 3
                            [timezone] => Europe/Moscow
                        )

                )

            [MODULE_ID] => iblock
            [HEIGHT] => 459
            [WIDTH] => 496
            [FILE_SIZE] => 64258
            [CONTENT_TYPE] => image/jpeg
            [SUBDIR] => iblock/ef5
            [FILE_NAME] => k9lkx0sxsdxb9ta76cstdckwjksd9c7m.jpeg
            [ORIGINAL_NAME] => masterscada 4d for plc110.jpeg
            [DESCRIPTION] => 
            [HANDLER_ID] => 
            [EXTERNAL_ID] => bdc041c9506f0c5172ef3161bc0e1b7d
            [~src] => 
            [SRC] => /upload/iblock/ef5/k9lkx0sxsdxb9ta76cstdckwjksd9c7m.jpeg
            [UNSAFE_SRC] => /upload/iblock/ef5/k9lkx0sxsdxb9ta76cstdckwjksd9c7m.jpeg
            [SAFE_SRC] => /upload/iblock/ef5/k9lkx0sxsdxb9ta76cstdckwjksd9c7m.jpeg
            [ALT] => Masterscada4D for PLC110 OWEN
            [TITLE] => Masterscada4D for PLC110 OWEN
        )

    [DETAIL_PAGE_URL] => /articles/masterscada-4d-for-plc110.html
)
Ваш комментарий добавлен

Возврат к списку