Proworx Nxt

JAK

Lifetime Supporting Member
Join Date
Sep 2006
Location
California
Posts
42
I have a project that the client wants to somewhat resemble an existing system. The following jpg has two items that bother me.
1. the transitional on to off contacts. I am used to using AB's ONS, OSR, OSF, but I always addressed these individually as if they where a coil. I have never used a oneshot that is linked to a coil set elsewhere in the program. I can't tell how to deal with these. Can I declare two transitionals with the same base address? I am assuming that this is not like the OSR where the address is a storage bit that holds the truth logic for the rung. If the top branch is true, and then in network 19 01210 is reset, would the second branch execute or not?
2. In this code he or she never moves a value into a variable register. Instead they are always using these sub commands with constants to load a value? Is there a better way to do this, like a blockmove with a constant?
Anyway, any help with this would be great! Thanx in advance.

ontooff.JPG
 
Proworx doesn't require a storage bit to record the transition. It is just as it appears and multiples can be used. If I understand your question, you won't see a on-off and a off-on transition occur in the same scan of an input. With an internal, I don't recall if you can use it as a flag within one scan or not. Someone else may be able to answer that.

The math instructions are used with constants because ProWorx doesn't have a command like MOV #1 N7:0. A math instruction is commonly used like you've shown.

I hope that helps.
 
In the Modicon you don't need a storage bit for the one shot. Think of the network as an instruction array. Remember that it also scans by columns, not by rows. There is a location in the network array memory where the solver "remembers" whether it has executed the one shot or not.

A -|P|- works like and OSR while a -|N|- works like an OSF, without the storage bit however. You can use P and N instructions directly on inputs and outputs and don't need an intermediate bit.


The Modicon does have a block move instructon but it is for moving large blocks of data. The most common way to move a single value is to either SUB 0 or ADD 0.


edit: jstolaruk beat me to it....must type faster.
 
Last edited:
Many thanks, this site has been alot of help in getting me through this curve. Let me play devils advocate for a sec:

1. 1st scan
2. In network 19 01210 is set.
3. Network 20 is scanned and the top branch on rung 1 is
therefore true and executed with the on to off transition |P|
4. 2nd scan
5. In network 19 coil 01210 is reset
6. In network 20 the top branch is false, but because

"There is a location in the network array memory where the solver "remembers" whether it has executed the one shot or not."

7. The second branch on rung 2 will execute true because the |p|
on this branch is true for the first time.

So there is an internal status that keeps track of each oneshot.
 
I'm not sure I completely follow you.

If 01210 is true and 01001 is true but 01001 was false on the last scan then power is passed to the rest of the rung.

I think it only evaluates true on the 0 -> 1 transition or the bit regardless of the rung conditon in front of it. IOW, if the bit is on but the rung is false in front of it but then becomes true, the bit must still transition (I could be wrong.)

PM me your email address and I'll send you a Modicon Ladder Logic Block Library reference manual.


Edit: I may have unintentionally misled you in my first post (one of those times when I have been wrong). I stated that there was a place in the memory for the network array where the transitionals status of the instruction is stored. It turns out that the transitional state is determined using page F of system memory. There are bits in the network that are used for solving the network, but it appears to not be the case for the transitional contacts. I checked the book to refresh my memory and the Modicon retains a history table of the state of all 0xxxx and 1xxxx addresses from the previous scan. Then I searched and found this post which makes sense IF the modicon were to use the history table to evaluate the transitonal instructions.
 
Last edited:
I think that maybe a timing diagram will help here.

al101906.JPG


01001 must undergo another transtion. If it true when 01210 becomes false then the second branch will not evaluate true until 01001 becomes false and then transtions back to true. Did that make sense?
 
Last edited:
In the timing diagram which you posted 02001 and 02002 are incorrect. They should never come on. Remember that -]P[- does not operate from rung state transition, it opearates from the addressed bit transition. This is different from AB's -[ONS]- instruction which operates from rung state. Your timing diagram would work for an AB ONS, but not for a Modicion.
 
Last edited:
I missed the one transition when 01001 is first set. So to be true to my example:

timingx2.JPG



So, as an elaboration on the previous thread you outlined, if 01001 is a PB from an HMI (which it is), then it would be a bad idea to use it as a transitional since the update from the HMI might be misplaced. This particular code has 14 segments.
 

Similar Topics

I have a zip file of a program that I'm told was created in Proworx NxT. Would the comments be stored in it if I could find the software or...
Replies
2
Views
563
Would like to ask .. if anyone here know about creating own library or function block on ProWORX NxT ? I have a backup of ProWORX NxT project...
Replies
3
Views
1,046
Hi to all. Somebody knows how activate or authorize ProWorx NXT. I was searching in other forums and I don't find info about this. I already...
Replies
0
Views
1,248
Hello, I was just wondering if someone could help me by converting a .pwx file to .nxt. I am trying to open some code for a client but only...
Replies
4
Views
1,496
I'm trying to get ProWorx NxT running on VMWare on a Win10 host. I've tried XP and NT Workstation 4.0 as the guest operating systems. When I got...
Replies
7
Views
2,905
Back
Top Bottom