Posted on

RSLogix 500 Addressing in an Allen-Bradley PLC

There are a number of addressing schemes used by PLC manufacturers. Let’s take a quick look at how memory locations (including hardware I/O) are accessed with RSLogix 500. Along the way, let’s define some terms.

INSTRUCTION – RSLogix’s command language is comprised of “instructions”. An XIC (it looks like a normally open contact –] [– ) is an instruction. A timer is an instruction. A few of the most common instructions are described below.

BIT – an address within the PLC. It can be an input, output or internal coil, among others.

In RSLogix, there are a couple of ways to show the address of a bit. The default is:

[type]:[word]/[bit]

For example, an address that references an output of a MicroLogix 1100 is O:0/0. That is:

O:0/5 means that it is a physical output.
O:0/5 means that it uses Slot 0 (in the case of the 1100, this output is onboard)
O:0/5 means that it is the fifth output on the PLC.

By the way, don’t get the capital “O” confused with a zero.

RUNG – A section of the PLC ladder program that terminates in an output function of some type. Just like in an electrical ladder diagram, a rung has some type of output that is turned on or turned off by the preceding entities in the rung. The first rung in a ladder program is always 0000.

HARDWIRED INPUT – a physical connection to the PLC from an input device (switch or sensor, etc.).

Allen-Bradley uses the capital letter “I” to designate a hardwired input. An address that describes an input on an SLC 500 is I:4/0.

Similar to the output structure,

I:4/0 means that it is a physical input.
I:4/0 means that it uses Slot 4 (the 5th slot in the rack).
I:4/0 means that it is the first input on the card.

Don’t get the capital “I’s” confused with ones.

HARDWIRED OUTPUT – a physical connection from the PLC to an output device (relay or pilot light, etc.) As was said above, an address that references an output of an SLC 500 is O:5/0.

INTERNAL COIL
This is a programmable bit used to simulate a relay within the PLC. The internal coil has no connection to the outside world. It does not connect to an output card. Internal coils are used to store information. The “contacts” of this “relay” can then be used multiple times in other parts of the program.

In RSLogix, the “B3” (binary) file is commonly used for all the internal coils. There are many other words in other files that have bits you can use as internal coils, but we are going to stick with the B3 file for our application.

B3:0/0 means that it references an internal Binary file
B3:0/0 means that it uses the first word in the table
B3:0/0 means that it is the first bit in the word.

Note that, unlike the Output and Input files, you have to use the file number in the address. In this case, the default file number is 3.

TIMER
A timer is a programmable instruction that lets you turn on or turn off bits after a preset time.

The two primary types of timers are TON for “timer on delay” and TOF for “timer off delay”.

Timers in A-B SLC and MicroLogix processors use file 4 for their timers.

T4:0 means that it references an internal Timer file
T4:0 means that it uses the first timer in the table

The address T4:0 simply refers to the timer. Each timer has bits that turn on after the timing function is complete. You can address this bit by simply putting a “/DN” after the timer address. DN stands for “done”.

For example, if timer T4:0 is a TON (timer on delay), then the bit T4:0/DN will turn on after the timer has reached its preset value.

COUNTER
A counter is a programmable instruction that lets you turn on or turn off bits after a preset count has been reached.

There are different types of counters available in the RSLogix, but the CTU (counter up) instruction covers everything we will talk about here.

Counters in A-B SLC and MicroLogix processors use file 5.

C5:0 means that it references an internal Counter file
C5:0 means that it uses the first counter in the table

The address C5:0 simply refers to the counter. Each counter has bits that turn on after the counting function is complete. You can address this bit by simply putting a “/DN” after the counter address. DN stands for “done”.

For example, if counter C5:0 is a CTU (counter up), then the bit C5:0/DN will turn on after the counter has reached its preset value.

–] [–    Normally Open Contact
When used with a hardwired input, this instruction is off until there is a voltage applied to the input. The bit address then goes high, or on, and the instruction becomes “true.” It works the same way when it has the same address as an internal coil, except that the coil must be turned on by logic in the program.

Allen-Bradley calls these normally open contacts “XIC”, or “eXamine If Closed” instruction.

An XIC instruction can reference a hardwired input, a hardwired output, an internal coil or a timer done bit, among others.

–]/[–    Normally Closed Contact
This is an inverted normally open contact.

When used with a hardwired input, this instruction is “true” until there is a voltage applied to the input. It then goes low, or off, and becomes “false.”

It also can be used with an internal coil, becoming true when the coil is off and becoming false when the coil is on.

Allen-Bradley calls these normally closed contacts “XIO”, or “eXamine If Open” instructions.

-( )-    Output Coil
When used with a hardwired output, this function is off until the logic in the program allows it to turn on. It then becomes “true”, and will energize the device that is wired to the respective output.

If it is used as an internal coil, it will toggle the instructions associated with it. That is, it will close a normally open instruction and open a normally closed instruction.

Allen-Bradley calls these outputs “OTE”, or “OutpuT Energize”.

An OTE may be used with a hardwired output or an internal coil.

TRUE – A state that indicates an instruction is allowing logic to “flow” through it.

Also, if the logic in a rung turns on the output of the rung, then the rung is said to be true.

FALSE – Without stating the obvious, this is the opposite of true.

Excerpted from PLC Programming with RSLogix 500

Posted on

General Troubleshooting Tips

Here are a few troubleshooting tips I have picked up along the way.

Learn Who You Can Trust to Provide Accurate Information
Gathering accurate information is an important aspect of troubleshooting. However well meaning, some of the people you deal with will not provide accurate information.

This may seem like stating the obvious, but always try to verify all the information you are given.

Never Compromise The Safety Of The Machine Or The Workers
Many times when you are charged with troubleshooting a system, you are placed in a position of authority. Be aware that others will look to you to provide direction. Make sure that as you provide that direction, you are giving their personal safety your highest priority.

Listen to Your Boss
If he tells you to call a vendor, don’t fiddle around with trying to fix it yourself – call the vendor.

Don’t Let Your Ego Get in the Way
Your job is to fix the equipment. If it means making a phone call to someone you dislike, admitting that you made a mistake in your initial diagnosis, just do it and get over it. In the long run, it is the easy way.

Communication
Keep the lines of communication open. Network with people who may be valuable to you when you’re trying to troubleshoot a system. Keep those who have an interest in the system well informed of problems you discover or changes you make to the system.

It Is Not Necessarily About Knowing One PLC Or Another – It Is About Understanding The Troubleshooting Method
All PLCs are different. All systems are different. The real key to being a good troubleshooter is to understand the Troubleshooting Method.

First, try to understand how to troubleshoot anything and let your method be refined as you gain experience.

DO NOT Compromise The Safety Of A Machine By Altering The Program
Before you make any changes to the program, always ask yourself if this change will affect the safety of the machine or the people who work around it.

No One Expects You To Wave A Magic Wand
No one expects you to wave a magic wand and get the machine to work. What is expected, however, is that you have a goal and a plan, and that you are executing the plan. It is true that, many times, there is pressure in a troubleshooting scenario.

Don’t be nervous; present a blend of humility and confidence. In other words, respect what information is given to you, but be prepared to make your own decisions regarding how to proceed with the troubleshooting.

Know When To Stop
Don’t go past the mark you aimed for; know when to stop.

That moment of victory is often the moment of greatest peril. When you have solved the initial problem, and you are the hero, arrogance and overconfidence can push you past the goal you had aimed for. By going too far, you make new problems for yourself.  Don’t allow success to go to your head.  Remember that there is no substitute for strategy and careful planning. Set a goal, and when you reach it, stop.

Posted on

Know How to Get Back to Where You Started

Making a given modification may be simple. Remembering what you have changed, and how to restore the PLC to its original state may not be so simple.

This is a trap that many programmers fall into.

Always Know How To Return A Program To Its Original State.

I like to keep a handwritten log of the changes I make anytime I modify an existing program. That way, if things don’t work out, I can simply retrace my steps and make it just like it was.

Additionally, the program that is running in the PLC should be uploaded from the PLC to the laptop and stored in a safe place; perhaps on a thumb drive that can physically be removed from the computer.

However, downloading a program from your laptop to the PLC to restore the PLC to its original condition is not always ideal. First, you have to make sure you have a fresh version of the program. A program that was uploaded and saved a month ago might have old data. You might inadvertently erase any data that had been collected in the last month.

Also, downloading requires you to take the PLC out of “Run” mode and put it in “Program” mode. That means the PLC cannot run the equipment during this time. That might be a problem.

When modifying programs on the factory floor, I believe the best method is to simply write down the changes I have made. In most cases, it is much easier to go back and manually undo the mods you have made, as opposed to downloading a copy of the original program.

It is true that some program modifications are relatively simple. Picture this, though; as you are going through the rungs and changing the logic, you get a call regarding another machine that has gone down. Suddenly, your priorities have shifted. You may have to disconnect from this PLC and take your laptop over to the other machine.

When you return to your original task a few hours later, you might not remember where you left off. Simply referring to your notes is the easiest way to get back on track.

Besides, when the job is done and someone asks you what you did, you can easily pull out your notes and show them.

Posted on

Troubleshooting – Make Sure You Have a Clear Goal and a Concise Plan

This is a story I think all of us can relate to.


Any successful troubleshooting operation, not matter how large or small, always has two components; a clear goal and a concise plan.

Let’s take a very simple example. Your wife calls you from the living room and tells you that the light bulb in her favorite lamp has burned out and she wants you to replace it. Being a seasoned troubleshooter, you immediately visualize a clear goal and develop a concise plan.

Even though she said she wants you to replace the bulb, the real goal is to get the light to work. Simply replacing the bulb may not achieve the goal.

In the interest of domestic harmony, there is really no reason to discuss that part with her. You are using discretion, but also realizing that the light bulb may actually be fine, and that the real problem may lie elsewhere.

You might be thinking right now that I am stating the obvious, and in this case, that may be true. On a factory floor, however, be aware that people sometimes develop a plan for you that might not be the best approach.

On your way to the living room, you are thinking of possible causes for the malfunction.

–    Is the lamp plugged in?

–    Is the switch turned to the correct position?

–    Is the bulb secure in the lamp socket?

–    Is there a wall switch that switches power to the outlet that the lamp uses?

–    Could the switch in the lamp be broken?

–    When was that bulb replaced?

–    Do you have a new bulb of the same wattage?

Your first step it to verify that the lamp is plugged in. Given that it is, you operate the switch, yet the bulb still does not illuminate. You reach into the lamp to verify that the bulb is secure and find that it is tight in the socket. Looking across the room, you see a wall switch and remember that this is a switched outlet. Turning on the switch now causes the bulb to be illuminated.

Your wife is happy and domestic bliss is maintained, even though her stated goal of having you replace the bulb was not met (let’s not make a big deal out of that, though).

Suppose, instead of using good troubleshooting techniques, you simply followed her instructions.

You open your utility room door and dig around until you find a package of light bulbs. You grab one and walk out to the living room. As you unscrew the bulb from the lamp, you realize that it is a 75-watt bulb, and that the bulb you brought from the utility room is a 40-watt bulb. You replace it anyway, only to find that it still does not work.

Your wife is still not happy, even though you did what she asked you to do. Domestic harmony is threatened as patience is wearing thin.

Finally, you realize that the real goal is to get the light to work.

As a last resort, you begrudgingly follow proper troubleshooting techniques. You discover that the wall switch had been mistakenly turned off. The lamp now works, but since you already replaced the original 75-watt bulb with a 40-watt bulb, the light is insufficient and your wife is still not happy.

You turn off the lamp, and wait until the bulb is cool enough to change without burning your fingers. Finally, you are able to change out the bulb and your wife is reasonably happy.

You, though, feel a little frustrated in realizing that you spent 5 minutes to fix a problem that should have taken 30 seconds. You show the greatest wisdom, however, by not questioning your wife’s ability to operate the wall switch that would have powered the lamp in the first place . . .

This is a very simple illustration, but it is important that you understand the importance of having a clear goal and a concise plan.

Posted on

How To Create and Plan a SCADA System Architecture

You may be asked to develop a SCADA system from scratch. There may be a number of PLCs that control machines or processes in the facility, and a few HMIs, but they all operate independently and there are no network connections or interfaces to a central SCADA system.

For those who may not be completely familiar with the vernacular, here are some definitions:


PLC – Programmable Logic Controller
An industrial computer used to monitor and control a machine or process

SCADA – Supervisory Control And Data Acquisition
A network of computers, PLCs and devices that collect data and information from the entire network, display that data and allow control of the machines or processes.

HMI – Human Machine Interface
A device, such as a computer terminal or stand-alone touch screen that allow people to observe data in the system and control the system.

IoT – Internet of Things
A network of physical devices, vehicles and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these objects to connect and exchange data.



Some of the dominant SCADA software packages are Ignition by Inductive Automation, FactoryTalk View and RSView32 by Rockwell Automation, Monarch by OSI and Wonderware by Schneider Electric.

The are, of course, many advantages to installing a SCADA system. We won’t go into those right now, but assuming your customer or client wants you do to install SCADA system, where do you start?

The following is a list of points that need to be addressed when developing a SCADA system. A conceptual SCADA architecture may include a functional description, drawings, I/O lists and mock screens. It is best if it contains all of those.

System Architecture
The architecture of a system extends from the sensor or controlled device to the Human Machine Interface (HMI). It includes all equipment and software in between, including cables, network switches, PLCs, remote I/O, local pushbuttons, etc.

SCADA software is capable of communicating with a number of PLCs from various manufacturers. With the introduction of plug-ins, SCADA software can be embedded into inexpensive devices as IoT hardware solution to data acquisition and control.

Determine what manufacturing systems are included in the architecture
A typical manufacturing facility may contain dozens of different sections.

There may be a process section that mixes liquids. These liquids Will then be sent to a bottling line where the bottles are filled automatically. An additional section would be final packaging where the bottles are placed in boxes.

Each section must be identified and a determination must be made as to whether that section will be included in the overall System Architecture.

Determine what ancillary systems, if any, are included
It may be useful to include subsystems that are not directly integrated with the manufacturing process, such as HVAC or Building Security.

Determine the needs and goals of each customer

Operators
Typically, the operators should be interviewed to understand their needs. What do they need on their operator screens? What can be done to make their workflow more efficient?

Due to the ease of screen development in SCADA software, screens can be quickly created that  uniquelyaddress the requirements of a particular machine.

Maintenance
Maintenance personnel require access to more data than an operator. When did the machine fail? What conditions were present at the time of failure? What alarms are shown?

SCADA software allows certain screens to be visible based on the password entered by the user. A maintenance person can access screens providing the information he needs to diagnose a problem. Also, these higher-level screens may allow manual operation of the machine for troubleshooting.

Data analysts
SCADA software offers a number of ways to collect data. The data can be presented within SCADA software, or it can be exported to another program, such as Microsoft Excel, for further analysis.

It is important to define what data is collected, and how frequently the data will be sampled. It is very easy to fill up a hard drive with data that really isn’t important.

Custom Python scripts may be run within SCADA software to accommodate special requirements.

Quality Control
Screens can be developed that display what procedures or ingredients may have led to a rejected product. This greatly improves traceability, saving money and time.

Management
SCADA software enables a user to create his/her own graphs. Management can compare any set of variables to any other set to improve the manufacturing process.

Executives
SCADA software is also capable of providing a high level view of any facility.

Consider the hardware to which SCADA software will be connected
Typically, SCADA software has drivers that will communicate with existing hardware from a number of manufacturers. Some of these drivers are included in the base package, while others must be purchased separately.

It is important to confirm that the existing hardware in the facility is compatible with the SCADA software system.

Modbus is typically the most common protocol, but most SCADA software provides specific drivers for Allen-Bradley PLCs that are superior to Modbus.

Define the network and evaluate security concerns
Password management is handled within SCADA software. It utilizes role-based passwords. This greatly simplifies who is allowed to perform certain operations.

For example, an individual may be assigned a password that allows basic operation of a machine.

A maintenance person would be assigned a password that allows basic operation of a machine, and also allows access to the Maintenance screens for a machine.

Remote access is an option within SCADA software. Care must be taken to provide the appropriate firewalls and security procedures when this is implemented.

Network switches should be chosen carefully. Inexpensive switches will cost more in the long run, considering down time and communication interruptions.

Machine Safety
Machine safety (the programming and procedures that prevent a machine from damaging itself) should be performed in the local PLC. Though SCADA software can perform the logical function of, for example, stopping a pump when a tank overflows, it is best to let a PLC perform this function.

Personnel Safety
Personnel safety should also be handled outside of SCADA software. A device like an Allen-Bradley Guardmaster CR30 should be used to stop a machine if an e-stop button is pressed.

SCADA software can certainly monitor the condition of the e-stop circuit, and should.

HMI screens
Before beginning screen development in SCADA software’s Vision Module, these aspects should be addressed:

    • Determine the end user device (laptop, iPad, Android tablet, phone)
    • Determine color palette standards
    • Establish font standards
    • Active element (i.e., pushbutton) standards, including size and placement

Mock-up screens should be created, reviewed and approved by the appropriate parties before screen development begins.

Data storage and management
The type of database must be determined. SCADA software supports MySQL, Microsoft SQL Server, Oracle and PostgreSQL, among others. The type of database used will be determined by the needs of the users.

OS for SCADA software server
Linux is the most reliable and secure operating system that SCADA software can use. However, many people choose to run SCADA software on Microsoft Server.

Alarms
SCADA software has the ability to segregate alarms into levels of severity. For example, a pump motor may be programmed to require scheduled maintenance after 2,000 hours of use. After 1,900 hours, the SCADA software system may generate an alarm indicating that maintenance is due soon. At 2,000 it may generate a higher level of alarm indicating that maintenance is now due.

If the same pump motor overheats, a more severe alarm can be generated.

A low level alarm might only appear on the HMI. A higher level of alarm may send an email. A critical alarm can generate and send text messages to a number of individuals. SCADA software is highly configurable in this aspect.

It is most cost effective to create a list of alarms (as much as possible) and define them before programming begins.

Documentation
It is critical that procedures for documenting the system be established. The proposed method of documentation should be approved by all appropriate parties.

Schedule
All of the above points, among others, should be included to establish a schedule for project completion, including reviews with management. There are a number of other aspects, such as usability evaluations and system commissioning that should be included in the schedule.

Posted on

Color Blindness, SCADA and HMI

Approximately 5% to 8% of men and 0.5% of women are born colorblind. Usually, these people are categorized as protans (red weak) and/or deutans (green weak). Though there are varying degrees of color blindness, there are some that cannot differentiate red from green, so the colors look the same to them.

When you are designing an HMI or a SCADA display, you have to consider color blindness.

RSview32 screen

This is a big problem in industry, where red and green are commonly used to indicate the status of a piece of equipment.

There are a couple of ways to solve this problem. We could use icons that have different shapes, depending on whether they are on or off. In addition to being a different color, a pump icon that is off could have a round hole cut out in the middle, such as is shown below.

Here is an approximation of what the pumps shown above might look like to a person who is colorblind.

The black dot in the middle of the pump that is off will be appreciated.

Another option is to add text. Not only does this help the person who might be colorblind, it obviously confirms the state of the equipment to those even with true color vision.

An interesting benefit to keeping the icons discernible to the color blind is that these icons are easier to read for those of us who are not color blind.

Excerpted from How to Program RSView32

Posted on

SCADA – Control System Nomenclature

There are a few acronyms used to describe industrial computer control systems.

DCS – Distributed Control System

A DCS is typically used to describe a system that controls a process; that is, something that involves moving fluids, like a waste water treatment plant or a refinery.

SCADA – Supervisory Control And Data Acquisition

This usually describes the control system for an automated manufacturing facility like an assembly line for a furniture maker.

PLC – Programmable Logic Controller

This is the computer that receives data from sensors and controls machinery. It can perform as the core processor for a DCS or a SCADA system.

Popular PLCs are Rockwell (Allen-Bradley), Siemens, Modicon and Delta V.

PAC – Programmable Automation Controller

This is Rockwell’s new for their ControlLogix computers.

HMI – Human Machine Interface

An HMI is a terminal that is used by plant operators to control the plant. It typically shows a graphic representation of the plant and allows the operator to start and stop motors, look at tank levels, etc. The graphics are usually very similar to the P&ID drawings of the plant.

An HMI is part of a SCADA or a DCS.

Typical HMIs are based on RSView32, FactoryView (Rockwell) or Wonderware. Other PLC manufacturers have their own HMI software.

OIT – Operator Interface Terminal

This device is a self-contained screen that is located near the equipment that it controls. All OITs are HMIs, but not necessarily vice-versa.

Posted on

Addressing in RSLogix 5000

Before you can program any PLC system, you have to understand how the addressing is done in that particular PLC. I have included a actual screenshot from RSLogix 5000 below that shows examples of addressing in RSLogix 5000.

INSTRUCTION – RSLogix 5000’s Relay Ladder Logic command language is comprised of “instructions”. An XIC (it looks like a normally open contact –] [– ) is an instruction. A timer is an instruction. A few of the most common instructions are described below.

BIT – an address within the PLC. It can be an input, output or internal coil, among others.

RUNG – A section of the PLC ladder program that terminates in an output function of some type. Just like in an electrical ladder diagram, a rung has some type of output that is turned on or turned off by the preceding entities in the rung. The first rung in a ladder program is always 0.

HARDWIRED INPUT – a physical connection to the PLC from an input device (switch or sensor, etc.).

RSLogix 5000 defines the address of the input, based on the input cards that you configure.

We’ll see how this works later on, but here is an example of a hardwired input:

Local:4:I.Data.3

Here is what each part of the address means:

Local:4:I.Data.3
“Local” means that the module is connected to a controller across a backplane or with a parallel link, keeping the module within a few inches of the controller.

Local:4:I.Data.3
“4” means that the module is module 4 (located in the 5th slot in the rack).

Local:4:I.Data.3
“I” means the bit is an input

Local:4:I.Data.3
“Data” indicates the type of data (this is the default for I/O)

Local:4:I.Data.3
“3” indicates that the bit is 4th input on the card (the bits start with 0).

By the way, don’t get the capital “I’s” confused with ones.

So, in evaluating our example, we would describe the bit as “Module 4, bit 3”.

Here is where some confusion comes in. Because the Rockwell numbering system starts with 0, and the processor resides in Slot 0, our example bit is actually in slot 5. Our bit 3 is actually the 4th bit. We could also describe the bit as “Slot 5, position 4”.

You will have to learn to transpose these ways of describing a bit back and forth in your head. If you are troubleshooting a problem, and you want someone to look for a signal on our example bit, you might have to tell him to look at the 4th position on the 5th slot. That will lead him to the physical point on the PLC.

However, you need to keep in mind that the corresponding bit in your program will be labeled Local:4:I.Data.3.

It can be confusing, but you will get used to it.

HARDWIRED OUTPUT – a physical connection from the PLC to an output device (relay or pilot light, etc.)

Outputs are addressed the same way.

Local:5:O.Data.4
“Local” means that the module is connected to a controller across a backplane or with a parallel link, keeping the module within a few inches of the controller.

Local:5:O.Data.4
“5” means that the module is module 5 (located in the 6th slot in the rack).

Local:5:O.Data.4
“O” means the bit is an output

Local:5:O.Data.4
“Data” indicates the type of data (this is the default for I/O)

Local:5:O.Data.4
“4” indicates that the bit is 5th output on the card (the bits start with 0).

INTERNAL COIL
This is a programmable bit used to simulate a relay within the PLC. The internal coil has no connection to the outside world. It does not connect to an output card. Internal coils are used to store information. The “contacts” of this “relay” can then be used multiple times in other parts of the program.

RSLogix 5000 has greatly simplified the process of describing an internal coil. We can simply give it a name, known as a tag.

For example, if you have an internal coil that is the result of, say, three hardwired safety gate limit switches, we could label the coil “SafetyGatesClosed”.
Note the lack of spaces in the tag name. RSLogix 5000 does not allow spaces, or other special characters, in the tag name.

Some people use underscores, so the tag might be “Safety_Gates_Closed”. Either way is fine; it just depends on what your company or your client prefers.

TIMER
A timer is a programmable instruction that lets you turn on or turn off bits after a preset time.

The two primary types of timers are TON for “timer on delay” and TOF for “timer off delay”.

Timers in RSLogix 5000 use tag names for identification.

COUNTER
A counter is a programmable instruction that lets you turn on or turn off bits after a preset count has been reached.

There are different types of counters available in the RSLogix, but the CTU (counter up) instruction covers everything we will talk about here.

Counters in RSLogix 5000 use tag names for identification.

–] [–    Normally Open Contact
When used with a hardwired input, this instruction is off until there is a voltage applied to the input. The bit address then goes high, or on, and the instruction becomes “true.” It works the same way when it has the same address as an internal coil, except that the coil must be turned on by logic in the program.

Allen-Bradley calls these normally open contacts “XIC”, or “eXamine If Closed” instruction.

An XIC instruction can reference a hardwired input, a hardwired output, an internal coil or a timer done bit, among others.

–]/[–    Normally Closed Contact
This is an inverted normally open contact.

When used with a hardwired input, this instruction is “true” until there is a voltage applied to the input. It then goes low, or off, and becomes “false.”

It also can be used with an internal coil, becoming true when the coil is off and becoming false when the coil is on.

Allen-Bradley calls these normally closed contacts “XIO”, or “eXamine If Open” instructions.

-( )-    Output Coil
When used with a hardwired output, this function is off until the logic in the program allows it to turn on. It then becomes “true”, and will energize the device that is wired to the respective output.

If it is used as an internal coil, it will toggle the instructions associated with it. That is, it will close a normally open instruction and open a normally closed instruction.

Allen-Bradley calls these outputs “OTE”, or “OutpuT Energize”.

An OTE may be used with a hardwired output or an internal coil.

TRUE – A state that indicates an instruction is allowing logic to “flow” through it.

Also, if the logic in a rung turns on the output of the rung, then the rung is said to be true.

FALSE – Without stating the obvious, this is the opposite of true.

Excerpted from PLC Programming with RSLogix 5000

Posted on

RSLogix 5000 “Serial” Logic

RSLogix 5000 allows the use of “serial” logic that does not conform to traditional, electrical ladder logic.

For example, both of the rungs shown below are valid in RSLogix 5000.

Clearly, the second version would not work if wired that way in an equivalent electrical circuit. It would not be allowed in RSLogix 500, either.

The main advantage, in my opinion, to writing the code as it is shown in the second version is that you can get more instructions on the screen, and that involves less scrolling. And, the logic is slightly different; if something turns off the “SystemReady” bit somewhere else in the program, PL1 would not come on.

The main disadvantage, in my experience, is that the second version will drive electricians and maintenance people crazy, if they are not familiar with RSLogix 5000. Their managers will most likely request that you re-write the rung in “traditional” ladder logic.