plc2 question

mwatkins

Member
Join Date
Jun 2002
Posts
73
I am converting a PLC2 to a SLC and there is an instruction (ZCL).????
There is a Get Equal then (ZCL). What is this doing?
Thanks for the help.
 
The Zone Control Laststate instruction operates in a similar manner to the MCR (Master Control Reset) with one major difference.

If you recall, the MCR is used in pairs which mark the beginning and ending of a block of rungs. All rungs within this block are not only controlled by the logic specific to the individual rungs, but also by the logic in the "beginning" MCR rung. When this logic is "true", the rungs within the zone are active and behave normally. When the beginning rung is false, the zone deactivates and all non-retentive outputs are turned off, regardless of what their individual rungs are instructing them to do.

The ZCL is also used in pairs and has a say so in the control of rungs within the block. Like the MCR, when the beginning ZCL rung is true, the rungs within the block act as you would expect them to. Now, here's the difference ... when the beginning ZCL rung goes false, all non-retentive outputs in the block REMAIN IN THEIR LAST STATE. Simply, the rungs "freeze" in the state they were in just prior to the block becoming inactive.

In your specific case, the GET-EQUAL is on the beginning ZCL rung and is serving as an additional condition to other rungs within a block. Look down further in the program; you should find a corresponding ZCL (most likely with no conditions on its rung) that marks the end of the block.

Now, the bad news ... there is no ZCL in the SLC world; you must rewrite the logic, including (in your case) the GET-EQUAL in every rung that was originally in the block.

Hope this helps.
 
If I use a jump inplace of the ZCL, with opposite condition to attivate, achieve the same thing?
 
ZCL Instruction

The ZCL Instruction (Zone Control Last State), controls zoned outputs from your controller:

ZCL instruction is used to set the start and the end of a zone of rungs such that when the ZCL zone is false all outputs remain in their last state.

When false, the outputs within the ZCL zone are left in their
last state: either on or off.

To get a better feeling of how this instruction works, you can refer to the PLC2 Programming and Operations manual, available on the web

www.ab.com

Hope this helps.
 
For the sake of clarity, I would suggest that you just add the EQUAL comparison statement to each rung that was originally bound by the ZCL rungs. I think it would be less confusing later on.
 
About your Word-File move question:

Thanks for the help, if you don't mind I would like
to ask you about WFM (word to file move) and is
there a substitue in SLC500. Thanks

I don't think that there's a specific WFM instruction in the SLC instruction set. You could "build" one with a MOV instruction and using indirect addressing for the destination. Logic would need to be constructed to control the pointer into the destination file.
 
mwatkins:

I agree that a JMP / LBL pair would replace the ZCL / ZCL pair.


Re WFM (which seems to be the PLC-5 equivalent of the FAL):

From the PLC-2/30 Program & Operations Manual:

+-- FILE-TO-FILE MOVE --+
| COUNTER ADDR: 214 | 214
| POSITION: 001 |-(EN)
| FILE LENGTH: 014 | 17
| FILE A: 512-527 |
| FILE R: 562-577 | 214
| RATE PER SCAN: 014 |-(DN)
+-----------------------+ 15



Notice that another term has been added to the instruction block:
rate per scan. It defines the number of words in the file operated
upon during one scan. Its value is user-chosen according to how the
file operation is to take place. There are three modes of operation
based on rate per scan. They are:
  • Complete
  • Distributed complete
  • Incremental

I would say that the SLC equivalent instuction for Complete is FFL, and Incremental is MOV with indirect addressing. The Distributed complete will be tougher to build (a for-next loop to do the MOV[indirect] probably). Hopefully the original programmers didn't do it that way.
 
PLC2 moves

The PLC2 had a file-to-word move and a word-to-file move as well as a file-to-file move.
The FWM is a move from an indexed location to a fixed location.
The WFM is a move from a fixed location to an indexed location.
The FFM is a move from an indexed location to an indexed location.
In each case, the counter accumulator in the instruction provides the index.
To replace the WFM and FWM I would suggest using a MOV instruction with indirect addressing.
To replace the FFM, use a COP instruction unless the FFM is set for incremental mode in which case the operation is similar to the SQO. Setting a rate (distributed complete mode) was a mechanism for reducing scan times where long file operations were a concern. It would be extremely unusual for there to be any logical dependency requiring you to duplicate this mode.
 

Similar Topics

HI again guys, Still converting my PLC2 project and ran into an issue with a timer. I get that the PLC2 timers Start at the 030 address and...
Replies
8
Views
2,636
I am working on a conversion project to upgrade a machine's controller from a PLC2 to a CompactLogix. I know how the inputs and ouputs are...
Replies
9
Views
2,668
Greetings, I have a question about a command for the AB PLC2/30 processor. The statement "AFI", does anyone know much about it, I am in India...
Replies
1
Views
1,774
Need some help: I have a customer with a lot of old machines, most of them PLC2s. Working just fine, no question to offer replacement yet. I must...
Replies
7
Views
7,028
OK, so I have seen the threads pop up and I had been doing some research into getting over this hurdle for a bit after I ran into some of these...
Replies
3
Views
878
Back
Top Bottom