Jump to content

Enter Register value while writting program


Recommended Posts

In VL 9.3 for a V1040, how can I enter a numeric value into the MI register when writing the program?

I can't wait to do it 'on-line'. A time waster to scroll about in the Output Window to set one by one when on-line. Then there is the problem is how will they be set when I download to a new V1040 ?

I don't what to enter a Power Up value, only to have to go on-line for the register to be loaded and then have to go back and un-tick the "Initialize during Power Up option." Some values are set by be as initial values to be used but are operator change able, so having them reset at power up is not what I need or can use.

In the Output window, I *should* be able to do it, but it won't take any entry, while programming.

BTW, the Output Window, when undocked, cannot be re-sized. And why does it keep coming back after I close it each time I download to the V1040 and there are NO errors or warnings. Screen space and time is wasted for me to close it every time.

Link to comment
Share on other sites

  • MVP 2014

At present the only thing I am aware of that comes close to this is the ability in the Remote Access utility to read/write the entire memory of the PLC to/from a spreadsheet.

So you could create a spreadsheet from a new (or freshly initialised) PLC, with blank values, then enter your one-time initialisation values. After download of the project you then update the operands in one step using this spreadsheet. I know it is a bit of double handling, but it is less steps than setting each value individually, and also provides more certainty that you won't miss something.

I would like to see this built-in to Visilogic, both as a programmer's tool to set initial values, but also as a service tool, so on project upload the live values are also copied. The latter would allow very simple replacement of an operating PLC in the field.

Link to comment
Share on other sites

You mean, even if I download & burn, then upload the project from the V1040 the register values are not brought over the the PC and then stored in a file ? And there's no way to set the values off line other than Power Up ?

That's not acceptable ! This is unheard of for any plc and none of the 50+ different types that I have used in the last 35 years were like this.

The spread sheet idea is not a solution when programming and a very big band aid to implement for the end user. From my very brief reading about Remote Access, it is based on tables of bytes, not registers. Well, that's what the Help says. Reading more says I should have a "Operand Access" item in the "Tools" Menu. Nope, not there.

This whole project in now jeopardy of failure and might have to be scrapped and re-engineered with a different PLC and HMI.

Link to comment
Share on other sites

You mean, even if I download & burn, then upload the project from the V1040 the register values are not brought over the the PC and then stored in a file ? And there's no way to set the values off line other than Power Up ?

That's not acceptable ! This is unheard of for any plc and none of the 50+ different types that I have used in the last 35 years were like this.

The spread sheet idea is not a solution when programming and a very big band aid to implement for the end user. From my very brief reading about Remote Access, it is based on tables of bytes, not registers. Well, that's what the Help says. Reading more says I should have a "Operand Access" item in the "Tools" Menu. Nope, not there.

This whole project in now jeopardy of failure and might have to be scrapped and re-engineered with a different PLC and HMI.

Remote Access reads all the values and displays them as registers, not just bytes.

The values can be manipulated in Operand Access (without needing to open excel) by selecting the memory region you wish to work with, and hitting the ONLINE glasses.

This loads all the values of the selected region.

After you hit the glasses again to go offline, you can now modify the values at will.

When you are ready to download, select "WRITE REGIONS" and download that set of data.

You can save the RAM also in excel format.

Operand Access "is" in the Tools Menu. Make sure you are not using Remote Operator as opposed to Remote Access.

I agree also that:

a) These tools should be built into the development software, and not separate utilities

B) You should have the option of going online and uploading the RAM values directly into the project file

Link to comment
Share on other sites

Since the subject has been broached, Dave is bringing up some very good points that are important.

In the operand window in visilogic, there is a column for initialized value, and current value.

The current value goes blank when you go offline.

It is industry practice (for good reason) that the online operand values are retained in the file for the program when you go offline.

Therefore, even when offline, you should be able to modify and set the "current value" at will (both in the ladder as well as in the operand window).

When you go back "online", it should ask you (similar to how it already works with timers) whether you want to upload the values in the PLC to the file, or rather download the values from the file into the PLC.

The operand values SHOULD be part of the development file.

If the operand has a "power up" value defined, then the power up value should take precedence.

Does anyone else have an opinion on this? It is something that I have had to work around myself quite often.

It does not seem like something that would require a huge investment in resources to achieve. Especially since some of the code of Remote Access can be copied.

On a sice note, why doesn't remote access allow you to change operand values while online?

Link to comment
Share on other sites

I wish someone to define what he means by "Initial values". Downloaded first time? OK, then please define "first time"...

Two small ideas:

1. Watches. One can define the list of operands to change their values on line. Then the procedue will be much easier.

2. One can define a data table - Part of project (Flash, downloaded withh the project) with 3 columns - min, max and default value. Then, a simple subroutine can be activated to read the values from DT and compare them to operand's values. In case the value is in defined range (operator already set the system), no action will be taken. In case thhe value is out of range, the programmer decide to rise a flag for the operator, stop some functionality and ask for data entry or automatically load default values. This soluiton is simple and more universal than just setting initial values.

Link to comment
Share on other sites

I wish someone to define what he means by "Initial values". Downloaded first time? OK, then please define "first time"...

Two small ideas:

1. Watches. One can define the list of operands to change their values on line. Then the procedue will be much easier.

2. One can define a data table - Part of project (Flash, downloaded withh the project) with 3 columns - min, max and default value. Then, a simple subroutine can be activated to read the values from DT and compare them to operand's values. In case the value is in defined range (operator already set the system), no action will be taken. In case thhe value is out of range, the programmer decide to rise a flag for the operator, stop some functionality and ask for data entry or automatically load default values. This soluiton is simple and more universal than just setting initial values.

Hi Emil,

My definite of initial value is the value an operand takes on a reboot. In the operand window, you have a column for the "Initial/Power Up" value (the little plug symbol) and the "Current Value" (under the little eye glasses). We are not really talking about initial values here. We are talking about the "current" values. It is standard practice with pratically all other manufacturers that the values under the eye glasses don't just disapear when going offline. They are retained. This way, when you download the program again, not only are you downloading the code, you are also downloading all the operand values (with the exception of the read only values).

Has nothing to do with the 1st download, or the 1000th download. When you download, it sets the operand values to those values that are in the program. Right now, visilogic just downloads the code, but leaves all the operand values untouched.

For example, I am online with the controller. The current value of ML65 is 1234. When I go offline, the controller should ask me if I want to retain the values of the operands, which normally I would say YES. Now, while offline, I can still see ML65 as having value 1234. I should be able to go in there and type in instead 4321 while still offline. Now when I go online, or download, Visilogic should ask me if I want to upload the RAM values that are in the PLC to the current program, OR, if I want to download the operand values based on what their values are in the program. If I choose to download the operand values, then ML65 should now be 4321 regardless of what the value was inside the PLC prior to that. That DOESN'T mean that after a re-boot, that the controller will always reset ML65 to 4321. That would only happen if an initial value was defined for ML65, and happened to be 4321.

Now keep in mind, again, we are not talking values. Just because I want to determine what the values are when I download, does not mean I want those operands to assume those values everytime the thing reboots.

I'm not just pulling this stuff out of the air. This is the way virtually everybody else does things. And generally, when the vast majority of manufacturers come to consensus on something it is usually because that is simply the best way to go about it.

A small example of why this is useful. Say you have a project where your going to build 5 identical machines.

The machine is heavily reliant on values that the setup guy has entered through the HMI.

Maybe it always just runs one product, so there is no point in creating recipes.

After I am done debugging machine #1, I know that all the setup values that were performed are going to be very close to what they need to be to get machine #2 running.

I don't want to have to sit there and maybe type in 100+ new values in the touchscreen to get machine #2 to the level that machine #1 is at.

I don't want to have to store things in excel files, or create code for data tables, or copy to an SD card that may or may not be there, or anything of that nature.

I want to simply be able to just download, and have the new PLC completely duplicated both code and memory. That's it. Nothing more. That is all that I should need to do. If I have to do anything more than that, it is a waste of my time and the customer's money doing something that the software should already be taking care of for me.

One thing I have found with Unitronics and Visilogic when introducing it to new customers. If I introduce it to someone with little or no PLC experience, they tend to pick it up easier because they don't have preconceived expectations. On the other side, introducing it to people with a lot of PLC experience often doesn't go so well. You hear phrases such as, "you mean I can't do this", or "this isn't very intuitive". It's a tougher sell, because they are already aware of things that they can do with other products that they can't do with Visilogic.

Alot of these things are very small things. This operand issue, no online edits, copy and paste behavior. These are also the things that will frustrate an engineer and make them reluctant to use the product. This isn't just my opinion, I am reiterating the feedback of other's I have introduced the product to.

Some examples of things that have frustrated me over the past week.

1) I have a project where I have a very similar grouping of objects on many different pages. These objects don't necessarily fall in the same location on every screen. Because of the copy/past behavior of the HMI, I first have to copy the objects to a blank screen, move them to a new location, and then cut and paste into the destination screen, because visilogic won't allow me to initiate a paste if the copied object came from a location that is already occupied at the destination. Most other software would either show the copied object on my mouse pointer and allow me to locate it anywhere I want, paste it wherever I click my mouse, paste it in the nearest available free spot, or simply paste it over top of the other anyhow and not care if they overlap. Any of these are better than they way Visilogic handles it, which is to just say NO. Can't do that.

2) I have a grid of toggle buttons on a screen that I set up to be green as ON and red as OFF. 64 of them in total. They were all already done, located, and assigned their appropriate individual operand. Guess what, customer didn't like green and red. He wanted light and Dark. Took me over 30 minutes of mindless clicking to make such a simple change because I had to perform the same action to all 64 objects. Other softwares, I could have highlighted them all. A window would have popped up showing all properties the objects have in common. I could have simply changed the color property for the ON state for all 64 at one time and done. Now 30 minutes is cut down to 30 seconds. Making the problem worse, was that about every tenth time i tried to double click on an object just to bring up the property window, it would inadvertently move the object, and I would have to go back and reposition after. And on top of that, after bringing up the property window, I would have to click on the color tab, which would bring up yet another window located at a completely different spot on the screen. Then I have to click on the new color, click OK in that box, move all the way over to the original window, and then again click ok on that box as well. Doesn't sound like much until you have to do it 64 times in a row. That a total of nine mouse clicks per object to change both the ON and OFF color, going all over the screen with the mouse. Or to put it simply, it took 576 mouse click just to change two colors, and that doesn't even include repositioning the objects that were inadvertantly moved.

3) I have a group of objects that needs to be bumped on the screen slightly in one direction or the other. Rather than attempt to get it perfect via the mouse with my jittery hands, I like to use the arrow keys to move highlighted objects around. If I select more than about 5 at one time, it goes into hourglass mode and takes about 10 seconds to shift over one pixel. If I have to move over 6 pixles, I am looking a full minute just to move some objects. Yet, if it is moved by the mouse it can move the group faster than I can blink. Doesn't make any sense.

4) I just finished downloading. Oops, I messed up and that normally open contact should have been a normally closed. I go offline, change it within about 2 seconds, and then hit simple download. Not download and burn, not download and reset, just simple download. I literally just tested it with a stop watch. It took over 30 seconds to complete. This is with a direct Ethernet connection. With a brand new Pentium I7, 3 GHz machine with 8 GB ram, solid state hard drive etc. 30 seconds to change one contact.

It is difficult to quantify how much time these 4 very simple little things have cost in terms of time just this past week. But it is a lot. These are the things I really hope R&D puts a lot of thought into for the next generation product.

Thanks,

D

Link to comment
Share on other sites

Hi Emil,

One thing I have found with Unitronics and Visilogic when introducing it to new customers. If I introduce it to someone with little or no PLC experience, they tend to pick it up easier because they don't have preconceived expectations. On the other side, introducing it to people with a lot of PLC experience often doesn't go so well. You hear phrases such as, "you mean I can't do this", or "this isn't very intuitive". It's a tougher sell, because they are already aware of things that they can do with other products that they can't do with Visilogic.

Hi,

This is very true!

Ron

Link to comment
Share on other sites

  • MVP 2023

This is not a new request or concern. I asked about it in November of 2009:

Backing Up RAM Values

The ability to store and restore the values in the RAM table is a tool that is absolutely required in Visilogic. We clearly have the code to do it in Remote Access. We know what all the table sizes are because the model number is defined in the project. Rather than letting the user define the data areas, just default to them all. If they want to get picky and specify data areas then that's what Remote Access is for.

Joe T.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...