BITS N BYTES

Sysmac Studio Improvement Request

232 posts in this topic

I wish Sysmac Studio would get things right once and for all

ARRAY limitations:

Prehistoric (Sysmac Studio):
abVarArray : ARRAY[1..10] OF BYTE
------------------------------------------------------
Normal (All Brands):
CONSTANT VAR
         c_MAX_NUM : INT := 5;
END_VAR;
abVarArray : ARRAY[1..c_MAX_NUM] OF BYTE

- If is created an Array of FB, the input assistant doen't show the inputs and outputs of this FB when you write "."

afbVarModule : ARRRAY[1..10] OF FB_Example

fbVarModule : FB_Example

afbVarModule[3]. (The assistant NOT shows the interface variables of FB)

fbVarModule. (The assistant shows the interface variables of FB)

INPUT/OUTPUT FB/Functions limitations:

- An input of a Function Block is not allowed to be a Function Block data type, of another for example. Incomprehensible

- An RERTUN of a Function Block is not allowed to be a Function Block data type, of another for example, and not allowed use Structure Data Type. Incomprehensible

- It is not allowed to use the type of variable ANY (or similar) to be able to make unique functions, and within them, depending on the type of variable (TYPEOF), one thing or another can be done.

STRUCT/ DATATYPE limitations:

- In a Struct data type it is not allowed to put TON, TOF, R_TRIG or F_TRIG or any other type of FB.

- An UNION Data type use a lot of Memory, the variable isn't superposed, the Sysmac creates diferents allocations for each member of UNION Type. Absurd.

- In Datatype section, inside to some Namespace, in enumerations... If two members of differents Types of Enumeration have the same name, the Sysmac shows a compilation error. Absurd. Sysmac studio is not able to correctly route the elements of the program

INSTRUCTIONS/CODE limitations

- There is no possible way to identify the MAC (or serial number, some unique number) of the PLC itself and in the User Program and store it in a Local/Global variable.

- The instruction SEL() can't be used in the IF condition, for example: IF SEL(i_xConfigUseVar1, xVar2, xVar1) THEN...... (TThis do a compilation error, another absurd thing, i create a SEL function in a library for each type (because the ANY type is not allowed) := IF SEL_x(SEL(i_xConfigUseVar1, xVar2, xVar1) THEN [AND this.... WORK]

- And MORE MORE MORE MORE things [AH, NOT ALLOWED THE USE OF POINTERS]

NEEDS TO IMPROVE A LOT

I don't tell me that it is not in the IEC standard please.. refrain from talking nonsense

 

 

Share this post


Link to post
Share on other sites
56 minutes ago, icanet said:

I wish Sysmac Studio would get things right once and for all

ARRAY limitations:

Prehistoric (Sysmac Studio):
abVarArray : ARRAY[1..10] OF BYTE
------------------------------------------------------
Normal (All Brands):
CONSTANT VAR
         c_MAX_NUM : INT := 5;
END_VAR;
abVarArray : ARRAY[1..c_MAX_NUM] OF BYTE

- If is created an Array of FB, the input assistant doen't show the inputs and outputs of this FB when you write "."

afbVarModule : ARRRAY[1..10] OF FB_Example

fbVarModule : FB_Example

afbVarModule[3]. (The assistant NOT shows the interface variables of FB)

fbVarModule. (The assistant shows the interface variables of FB)

INPUT/OUTPUT FB/Functions limitations:

- An input of a Function Block is not allowed to be a Function Block data type, of another for example. Incomprehensible

- An RERTUN of a Function Block is not allowed to be a Function Block data type, of another for example, and not allowed use Structure Data Type. Incomprehensible

- It is not allowed to use the type of variable ANY (or similar) to be able to make unique functions, and within them, depending on the type of variable (TYPEOF), one thing or another can be done.

STRUCT/ DATATYPE limitations:

- In a Struct data type it is not allowed to put TON, TOF, R_TRIG or F_TRIG or any other type of FB.

- An UNION Data type use a lot of Memory, the variable isn't superposed, the Sysmac creates diferents allocations for each member of UNION Type. Absurd.

- In Datatype section, inside to some Namespace, in enumerations... If two members of differents Types of Enumeration have the same name, the Sysmac shows a compilation error. Absurd. Sysmac studio is not able to correctly route the elements of the program

INSTRUCTIONS/CODE limitations

- There is no possible way to identify the MAC (or serial number, some unique number) of the PLC itself and in the User Program and store it in a Local/Global variable.

- The instruction SEL() can't be used in the IF condition, for example: IF SEL(i_xConfigUseVar1, xVar2, xVar1) THEN...... (TThis do a compilation error, another absurd thing, i create a SEL function in a library for each type (because the ANY type is not allowed) := IF SEL_x(SEL(i_xConfigUseVar1, xVar2, xVar1) THEN [AND this.... WORK]

- And MORE MORE MORE MORE things [AH, NOT ALLOWED THE USE OF POINTERS]

NEEDS TO IMPROVE A LOT

I don't tell me that it is not in the IEC standard please.. refrain from talking nonsense

 

 

@Crossbow @Michael Walsh @innoaloe , or someone of Omron Company or some Expert User..... I read a lot of your posts. Could you help me to expand this comment and try to the Sysmac Studio will be imporved by Omron developers? Thanks in advance. 

Share this post


Link to post
Share on other sites
On 4/12/2022 at 8:32 PM, photovoltaic said:

Update your Sysmac, this has been greatly improved

Im at V1.52 and just tested this, and it seems to keep my beloved tabs open when switching around between items. :D

Share this post


Link to post
Share on other sites

I don't have time to go into each of these but a few that jump out at me and are easy to answer:

Assistant can suggest FB array members in Ladder (see picture). You are correct that you can't in Structured Text.

You can get your own MAC my sending yourself (127.0.0.1) an explicit message: Class F6, Instance 01, Attribute 03. Returns your 5 byte MAC.

Union Datatypes - What is your use case for these? I find there is almost always a better option than a union.

Some of your points are definitely valid.

 

Capture.PNG

Share this post


Link to post
Share on other sites
7 hours ago, photovoltaic said:

Capture.PNG

Glad to see I am not the only one who uses random letter combinations typed by my left hand for variable names when testing ideas:-2

Share this post


Link to post
Share on other sites

Have not read the entire thread history but a few features i can think of that would be nice. 

1) The ability to assign a member of a global variable structure to a physical input or output.

-i.e.       myStructure.Bool15       AT              IOBus://unit#7/Output Bit 16 bits/Output Bit 15

2) The ability to acquire the properties (name, datatype, comment) of every variable as a member of that variable.

- i.e.                str_VarName := variable.name             str_VarComment := variable.comment

3) The ability to put multiple instances of inline ST on a single rung of ladder. Very common for us to use multiple instances in another PLC brand in order to group/break up some of the logic but maintain it within the same ladder rung.

4) Would be nice to be able to make multiple branches of outputs on the same rung of ladder without having to put a P_On in front in order to get them to branch. Currently two parallel outputs flush to the left instead of to the right side of the rung.

5) Collapsible/expandable inline ST blocks that autofits the logic width inside. Or when i copy and paste an ST block it retains the resize from the parent i copied. Copying and pasting chunks of logic and then going back and resizing all the ST blocks for user readability takes time.

 

 

 

 

Share this post


Link to post
Share on other sites

When using Bit Lamps in the NA series HMI, it would be nice if we could have the entire lamp a solid colour, instead of the top right corner fading to white. It isn't a game changer, but just seems a bit odd that a solid colour lamp fades to white in that corner. Image attached.

It is a lot more noticeable the larger the lamp is. And the lamps in my current project are of a reasonable size to allow the label text to fit inside them.

After spending some time trying to find the setting to disable this, I emailed my Omron technical rep, who advised that after looking into it, they found it was a " built-in visual property of the lamp that cannot be changed unfortunately ". That said, they did send me a workaround using a Toggle Button as a bit lamp instead (with a dummy bit for the actual button variable), just in case.

 

Bit Lamps.jpg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now