Making Progress...

Fasthotrod

Member
Join Date
Oct 2007
Location
Oklahoma
Posts
26
Just wanted to drop in and say thanks to everyone that has helped me get my project working so far. (y)

Progress has been slow as this is my first attempt at setting up a PLC, but I AM making SOME progress. :oops:

So far, I have been able to read the memory registers in my E/G controller and I can use Data View in DirectSOFT5 to see the information.

Here's a picture of my 'test bench' for those interested:

2421475928_0f1815a46f_o.jpg


The red/white/black wires in the upper-left corner are just 5k pots used to simulate the coolant temperature and oil pressure at the engine. I can change the value of the pot and watch the controller and PLC respond.

Now I'm jumping into the Analog output devices to see about reading the PLC memory locations and sending out a 0-5VDC output, as well as how to switch the PLC relays in response to individual bits in a 16-bit word.

Quick question: I need to switch my PLC relay outputs based on the individual bits from the word in memory. Tell me if you think I am on the right track:

I read register 41500 in the E/G controller as a 16-bit word. Each bit represents an event code:

0 = Emergency Stop
1 = Overspeed
2 = Overcrank
3 = High Coolant Temperature
4 = Oil Pressure Shutdown

etc...

I load that register into memory at location V2150, and I can see the bits change in Data View, so I know they are activating in response to an alarm.

The Data View looks like this:

2421536878_6f0e8c9df2_o.jpg


What I think I need to do is setup my individual relay outputs such that when the binary total in V2150 = "some number" it activates the relay(s) and sets off my alarm(s).

For example, an "Oil Pressure Shutdown" would be bit 4, or binary = 16. When V2150 = 16, turn on relay output Y4. If I had multiple alarms, say "Overspeed" and "Oil Pressure Shutdown" then V2150 would be binary = 18. Only certain numbers would toggle each relay... but I would need to tell the relay what those numbers are exactly, correct?

Is there an easier way of doing this? Can I tell a relay output to respond to an individual bit instead?

Let me know what you think.

Thanks!

Mark
 
The easy way to do this would be to write the word at V2150 to a C register word alias such as VC100 (V40604). The code would be something like:

STR SP1
LD V2150
STR VC100

Which would give you per your chart:

C100 = Emergency Stop
C101 = Overspeed
C102 = Overcrank
C103 = High Coolant Temperature
C104 = Oil Pressure Shutdown

This also works for Y registers too if you want to write directly to the output. Just be aware that doing it directly to the Y registers may goof up other sections of the program and make it harder to control the other outputs due to stepping on all the registers with the word write.

I'd suggest doing C bits and then mapping each C bit individually to each Y register.

STR C100
OUT Y0

Etc.
 
Last edited:
Use "Bit of Word" addressing. The help in DS will be more help, but basically, you would use the standard STR (Normally open) and for the address type "B2150.1" and OUT it to the Y contact that represents the Overspeed alarm.

Brian
 
Brian123 said:
Use "Bit of Word" addressing. The help in DS will be more help, but basically, you would use the standard STR (Normally open) and for the address type "B2150.1" and OUT it to the Y contact that represents the Overspeed alarm.

Brian

I looked up the Store Bit-of-Word (STRB) command in my manual. Very simple and painless! Works like a champ!

Thanks, Brian!

Mark
 
Fasthotrod said:
I looked up the Store Bit-of-Word (STRB) command in my manual. Very simple and painless! Works like a champ!

Thanks, Brian!

Mark

I'm glad you found a work-around for addressing the individual bits of your alarm register.

You probably already thought of this, but your original solution of comparing the alarm register value to the values if various alarms were present doesn't work so well if you have multiple alarms present at once.
 
Fasthotrod said:
I looked up the Store Bit-of-Word (STRB) command in my manual. Very simple and painless! Works like a champ!

Thanks, Brian!

Mark

No problem, nothing like using the right tool for the job.

Looking forward to hearing more about your project. It seems like a good introdution to many facets of PLCs.

Brian
 
jimbo3123 said:
I'm glad you found a work-around for addressing the individual bits of your alarm register.

You probably already thought of this, but your original solution of comparing the alarm register value to the values if various alarms were present doesn't work so well if you have multiple alarms present at once.

You're right. I got to thinking about it and I realized that multiple alarms would be a nightmare! Thankfully, the 'bit of word' command is flawless!

I took the PLC over to our E/G lab and connected it to a generator on Friday. I hooked everything up and started the engine, and I got the readings I was looking for. I simulated some problems and the PLC read the alarms instantly. No problems at all.

So for now, I am able to read the E/G data and alarms... this week will be spent figuring out how to read the memory location and converting it to an analog voltage output.

The more I play around with the PLC, the more impressed I am. It seems that everything I can think up has already been designed into the hardware/software. I just got to figure out how to do it.

Thanks again for the help, guys. I appreciate it.

Mark
 
Brian123 said:
No problem, nothing like using the right tool for the job.

Looking forward to hearing more about your project. It seems like a good introdution to many facets of PLCs.

Brian

Brian,

The project started many years ago when we had the requirement to remotely monitor a facility. A computer system was designed/built to monitor the main equipment, the building security, HVAC, and the power equipment.

Many years later, the original power systems were pushing their design limits (getting old) and needed to be replaced. To maintain the original system design parameters, we needed to be able to interface with the new power generation equipment.

Our engineering department came up with a 'kit' that could be deployed with the new power equipment that would interface with the old computer system. Unfortunately, the parts/components that were being used in the kit are no longer available... unless we want to pay these companies to 'tool-up' to make the parts for us. (A part that once cost $60 now costs $600.) Needless to say, that's not acceptable.

I was given the project and asked to figure out a way to make the new power system equipment work with the old computer system. I figured a PLC was the way to go, but I didn't know enough about PLC's to make it work. Until now...

The way things look, the PLC will be VERY easy to install compared to the previous kit. The parts needed will be much less, and the installation will save time and money. When you stop and consider that there are literally hundreds of these facilities nationwide, the savings add up pretty quick.

I'll be sure to post some pictures as I make progress. (y)

Mark
 

Similar Topics

I had no real PLC experience other than being in a maintenance department in an industrial plant. I've been alternating between the books in the...
Replies
3
Views
1,648
Hi, I have seen a few post with similar topics and I have tried contacting the authors however I have not had any luck so I am posting this new...
Replies
14
Views
1,012
Hi everyone I've created an FC that includes the blocks TCON, TDISCON, TSEND and TRCV. This block has to be as generic as possible across...
Replies
15
Views
1,518
Hi all, I have been working on a tool for my company that handles a specific task our company runs into often related to PLC's. This is a tool I...
Replies
15
Views
2,877
Hi, i need to make: 1- A PLC Program on Omron PLC CP2E-N using high speed counter E6C3-AG5B 360P/R 2M(Absolute) ,to Reject bottles on Conveyor...
Replies
4
Views
879
Back
Top Bottom