bman

NX-Da2603 1-5V

13 posts in this topic

Looks like the NX-DA2603 can be configured to be 1-5V. Default is -10 to 10V. I cant find a way to change the range. Any ideas.

Thanks,

Share this post


Link to post
Share on other sites

If -10 = -4000 and 10 = 4000 then you would write 400 for 1V and 2000 for 5V.

If I understand the Load Rejection Output Setting correctly then you could set it to 'User Count' with a setting of 400 or 2000 depending upon where you want it to fail.

Share this post


Link to post
Share on other sites

You cannot change -10V to +10V configuration for this module. IO_RACK propose to add a filter in your ladder. You can use a module with 30000 count if you need more precision.

Share this post


Link to post
Share on other sites

If you specify a range for your output variable you will limit it to be within a certain range. To do this you will have to input the specified range in your symbol table. i.e. YourVariable(400..2000)

Now, if you write a higher og lower value than the specified range to YourVariable it will be rejected and YourVariable keeps the old value.  It is also possible to use the built in ScaleTrans function in Sysmac for this, but it alone will not physically prevent other values being outputted.

Share this post


Link to post
Share on other sites

Solheim, what are you referring to when you say YourVariable(400..2000)?  I have never seen such a notation before.  The proper way to limit a number to be within a specific range is to use the LIMIT function in the program.

Share this post


Link to post
Share on other sites

@Crossbow, there is actually a notation for that.

We can put that (400..2000) next to the variable type, e.g. YourVariable has INT type, but instead you use INT(400..2000) type.


However so far I can only test that it works as a limiter from Watch Table input only.
Using data moving instruction such as MOVE or Mathematics expressions won't do the job, even on the Simulator.

So I'm not really sure it is going to work for some use or not.

Share this post


Link to post
Share on other sites

@Crossbow, Here is a part from the manual W504(p. 168) where Range data type attribute is shortly explained. The LIMIT function will work for both integers and real. As you see Range can be used only for integers.

IMG_2564.thumb.PNG.00c613d6e8afb52c87cec

I do not belive the LIMIT function will work the same way as the range specifier, but I will check it tomorrow.

IMG_2563.PNG

Share this post


Link to post
Share on other sites

That's a new one on me.  I'll have to give it a shot.

Share this post


Link to post
Share on other sites

@Solheim95can you confirm that this'll work for instructions like MOVE or Mathematics?
Because I had tried in simulations that it doesn't limit the value if we're using such instructions.

Share this post


Link to post
Share on other sites

Does not seem to limit the value in the controller, only in Sysmac Studio.  Setting an initial value or using a watch window I could not go out of range, but a MOVE or a write from the HMI still could.

 

Share this post


Link to post
Share on other sites

I have earlier just tested this in the watch tab, but now when using instructions I get the same outcome as you guys.

Bman, please disregard my earlier answer to your question. 

If this only limits the input values in sysmac and not in the logic it is not clear to me what the purpose for the range attribute is. I have requested more information from Omron concerning this.

Share this post


Link to post
Share on other sites

For now I can only think about it as a debugging tool... to prevent us entering wrong data when we're Forcing the values.

Logically speaking, we can say that a good program will prevent such Undervalues / Overvalues to happen (with combination by LIMIT Functions and so on)
But when debugging and forcing the values, we can accidentally did that.

Share this post


Link to post
Share on other sites

Omron shed some light on how to use the range attribute.

In this example YourVariable have no range specified, however we can define a seperate variable with a range. In this case 400-2000. By using the ChkRange function we can find out if YourVariable is within the range that RangeVariable holds.

 Image.JPG.7a48d8a3c53e29ba7300fcfb878edc

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