BITS N BYTES

Sysmac Studio Improvement Request

232 posts in this topic

Really miss the ability to have individual element properties for instructions as available in CX-Programmer. Please, please add this to Sysmac Studio.

Share this post


Link to post
Share on other sites
Thanks for adding this topic Bits N Bytes. I'm working on my first Studio project now. 1) Forcing: I want the ability to force on or off any bit as you could in CxOne. Studio let's you force physical I/O (I think) and internal bits that do not have a coil. If the internal bit has a coil it does not let you force it's state, this is similar to how Rockwell works. This forces you to do an online edit add a debug bit, save the edit then you can set/reset the debug bit. Of course then you later have to remove your debug bits. This takes way too long. 2) More instruction need to work with data structures. There does not appear to be a way to copy a structure to a basic data type or even compare 2 identical structures. You can Move a structure to another identical structure and clear the structure but that seems to be about it. 3) Structure member name change are not reflected through the project. If you change a member's name it should update in the project. 4) Structure Instance details. It would be nice to be able to see the structure details from the variable table (as in Rockwell). You can add local comments to a member of a structure but there is no way to see that in the variable table. I should be able to copy and paste these comments in the variable table. 5) Links between variables. I should be able to right click on a variable and add it to the watch table, go to the variable definition either in the local or global table. From the variable table I should be able to go to the definition of the data type if it is a custom data type. 6) I/O Map: Same thing I should be able to jump from the hardware unit to the I/O map. If you have a bunch of EtherCat nodes it can get a little confusing finding the right place to add I/O variables. Edit 2014/07/30 7) Variables: Moving a variable between Local and Global or vice versa. Add a menu item on the right click menu in the local variable table to move the variable to a Global variable. 8) Safety Function blocks, make the In/Out entry field boxes bigger. On the PLC ladder functions have a big area with "Enter Variable" that you can click on. On the safety side you have to click a tiny box next to the connection point even though there is a box for the variable to go you can not click on it unless it already has a variable assigned. This is a pretty minor issue though so not high priority like the forcing issue. Edited by Wulfgar

Share this post


Link to post
Share on other sites
Forcing works the same way as this in Mitsubishi as well. You can only force real world I/O. I guess since I've been used to it for 10 years I don't find it annoying. How would you move a structure to a basic data type? A structure is a combination of basic data types. You can move any element of a structure to another variable of the same data type. I've made several suggestions to product marketing people I know at Omron. And some of my suggestions have appeared in newer versions. I expect that more people than me are complaining about those, so I am not taking any credit. But they are listening and making improvements.

Share this post


Link to post
Share on other sites
Definitely agree with this. Having been used to CX-Programmer for many years, this is unexpected and annoying behaviour in my opinion.

Share this post


Link to post
Share on other sites
The ability to add dummy IO modules into the rack like you can with a CJ1M for example.

Share this post


Link to post
Share on other sites
Wulfgar, sorry I am using phone so is difficult to answer all your points in deep, but some of your request are already possible in studio. Regarding "forcing I/O" most of PLCs in the market only allow IO table forcing as ... When forces are used ... Machine works in way different than programmer code... Forcing internal variables is cool for debugging but is a practice that I don't recommend
1 person likes this

Share this post


Link to post
Share on other sites
Debugging in precisely why forcing internal variables is useful. I'm working on a commissioning a large system with 2 NJ501 that I'm programming as well as 4 NJ301 that a 3rd party is supplying along with several safety CPUs and HMI and other 3rd party hardware devices. This is my 1st Omron NJ system so I'll be doing a lot of debugging, without the ability to force internal variables that means a lot of online edits adding debug bits to toggle and then removing all the debug bits at the end of the project. This adds additional time to debug a machine. Omron is trying to be better than the competition not just match their limitations.
2 people like this

Share this post


Link to post
Share on other sites
It's all made up of ones and zeros so it should be easy. A structure still takes up bytes in memory (with no spaces if using the USER type and defining the offsets) so you should be able to copy all or part of that structure to a basic data type like an array of DINT. This would come in handy to enable you to use instructions that do not work on structures. Example 1: I was looking to copy a byte array that was inputs from a robot on Ethernet/IP (as we have done in Rockwell RxLogix5000) until I found out that I could map the robot I/O directly to a structure. Example 2: I created a structure for an HMI interface with named BOOLs for push buttons with USER type mapping to fill up the bytes. I was thinking I might want to know when any button is pressed. So if I could copy the 16 or 32 BOOLs in the Structure to a UINT I could then do a compare.

Share this post


Link to post
Share on other sites
Regarding internal forcing, is not first time I see this request, let's see if this can be achieved in a reasonable way in future. Regarding coping data beween bitstring and numerical datatypes required to use union datatype as defined in IEC-61131-3

Share this post


Link to post
Share on other sites
Wulfgar there are many functions for converting data from one type to another. And you can access any single element of a structure with standard functions like MOVE. For bits within a word, you can also look at unions.

Share this post


Link to post
Share on other sites
I just noticed you can now add global variables online. Just start online edit in the global table like you would in a program. I'm not sure what version this was added as this was the first time I had tried it.
1 person likes this

Share this post


Link to post
Share on other sites
Yes, that has been there for a while. You cannot add it at the same time as adding code however.

Share this post


Link to post
Share on other sites
It would be very nice to be able to add Global Variables while editing ladder. It would also be nice to identify the Data Type of a variable without having to switch windows. For example, hover over the variable with the mouse to view DINT, REAL, INT, etc...

Share this post


Link to post
Share on other sites
I was told the mouse help would soon have the data type in it.
2 people like this

Share this post


Link to post
Share on other sites
+1 for the mouse-over datatype - appears in ST already but not ladder annoyingly.

Share this post


Link to post
Share on other sites
It would be good if you could have different devices contained within the same project open in separate windows. e.g. An NJ and an NA open at the same time instead of having to switch between the two.

Share this post


Link to post
Share on other sites
Yeah I've mentioned that as well. It's annoying for people who were used to CX-Programmer and CX-Designer because as two separate softwares you could have both open. Now that it's one software and one project the current method only allows windows from one device open at a time.

Share this post


Link to post
Share on other sites
The lack of a instruction to move or copy data regardless of data type has came back to bite me again. I have a good sized (100s of members) multi-tiered structure that collects data on production parts across 6 MAC which all works great. Now we want to send all that data to SQL for data collection. The problem is it appears you can only send a flat structure. Without an instruction to copy a block from the multi-tiered structure to the flat structure this leaves having to copy individual members one by one. One would think this would be the purpose of the MemCopy instruction but even it requires data types to match. All the member data types would actually match I just don't see a way to copy sections of the multi-tiered structure to the flat structure. Why is there not an instruction that can do a bit wise copy? There was a way in CxProgrammer and Rockwell can do it. Hopefully this will be added to Studio. Anyone know if IEC 61131-3 covers this?
1 person likes this

Share this post


Link to post
Share on other sites
The ability for more than one person to collaborate on a single project at the same time. e.g. Someone working on NJ code, while another works on NA HMI programming. Also, still waiting for the ability to force non I/O variables. Please add this Omron!

Share this post


Link to post
Share on other sites
1. In the NA screen editing interface, have the 'Properties', 'Events and Actions' and 'Animations' tabs opened by default. Having to manually turn these panes on each time you load sysmac studio is annoying. 2. Have the ability to customise the "Create Device Variable" naming template - for example if I have called a CJ1W-OC211 card 'CPUC3' (CPU bus card 3) then I'd like to be able to tell sysmac studio to populate the variables with just an underscore and number eg: CPUC3_00, CPUC3_01 etc rather than CPUC3_Output_Bit_00. 3. Have the ability to change multiple global variables to "Publish Only". The dropdown box means you can do only one at a time. Very frustrating since it has to be done in order to allow NA to read/control the variable. OR--- make a changeable setting to create all new global variables as 'Publish Only' without having to copy/paste. 4. Add a function to clear CPU I/O bus and EtherCAT errors WITHOUT rebooting the master. I have a couple sites with some massive VSDs and to save power spikes from blowing fuses, I bring them online in sequence, 1 per second. They communicate with the PLC via devicenet and if they are not all online and communicating by the time the PLC enters a run state, an error is generated. When I reset the persistant error using the ResetCJBError function block, the master reboots and the online drives drop out since a devicenet control bit is output to their motors. Also, when there is a power interruption on one of my EtherCAT nodes and it reboots, the PLC won't communicate with it until I reset the EtherCAT error or power cycle the PLC, again dropping out all other nodes. 5. Add a visual setting to make the right hand end of the rungs align as in CX-Programmer. The ladder programs look untidy when each rung is a different width. 6. I understand DeviceNet isn't exactly a priority these days but there are some older systems I am retrofitting with NJ PLCs and preserve the devicenet network. I would love the ability to have the DeviceNet I/O displayed in the I/O map for easier variable creation (don't know if this is possible) - just this morning I finished creating global variables for 76 devicenet nodes in one program - over 1200 unique variables. 7. The ability to clear all memory and hard reset an EtherCAT coupler from the PLC instead of having to do it via USB. 8. +1 to being able to work on NA and NJ simultaneously. Having to use a dropdown box to swap between the two or open a separate instance of Sysmac Studio with a second program copy open isn't great. Hopefully all/most/some/any of this is possible!

Share this post


Link to post
Share on other sites
I've heard 1 5 and 8 are being improved in 1.14. As for 3, you're wrong with the statement you have to do this. Only with NS screens, NA does not need anything set to network publish. And the simple solution to this is copy and paste to Excel, change, and paste back. Doubt 6 will ever happen, as the Devicenet card still really communicates to old fashioned PLC addressed memory. As for 7, right click on it in the EtherCAT screen and select Clear All Memory. Don't need a USB connection for that. I've done it multiple times with safety modules via the EtherCAT connection, no USB required.

Share this post


Link to post
Share on other sites
For point 3, if I'm wrong, I'm obviously setting it up wrong. I have the HMI added in the same project, the PLC is listed under Internal Devices, but my variables don't appear under the 'User Variables' tab unless they are published. While I'm at it, momentary and set/reset buttons don't show the current state of the variable, only the toggle one does. You have to add a lamp on top which isn't click-through. Again, if i'm simply doing it wrong i'd like to know but I can't seem to find an option to accomplish this any other way. Is it possible to make a button show the read state of a different variable to the written variable as in NB-Designer? Would be handy. As you said, point 7 appears to have been addressed, seems I wasn't using the most up to date version. +1 to whoever brought up not being able to force internal variables. This has become quite a big problem testing and commissioning a rebuilt hydraulic press this week.

Share this post


Link to post
Share on other sites
I just tested with Sysmac Studio v1.1.3.30 and as soon as you add a variable in the global variables of the NJ, you can then switch over and see the variable listed under the Variable Mapping option, under the controller in the User Variables section.

Share this post


Link to post
Share on other sites
If you want a button on NA to show a variable, add the animation Color Change Boolean to your button...

Share this post


Link to post
Share on other sites

I have found several issues I don't care for in Sysmac Studio. The most annoying for me is the lack of free form ladder diagram creation. I haven't had to plan out rungs in advance this much since I was programming with mnemonics.

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