Jsambyal
  •  Jsambyal
  • 54.99002% (Neutral)
  • Newbie Topic Starter
2020-04-29T03:30:31Z


In continuation of my last post yesterday:

Using micrologix plc 1100

1. Move X-Y table( with a PC board having 30 LEDS mounted on it and each LED connected to power supply through 30 pin connector on it) to a registered position by communicating to two servos 2040(automation direct).

2. Power an LED from output of OV32T connected to micrologix 1100 as slot 2 via a relay. Slot 1 has 1762-OF4 module

3.When LED is powered, Trigger a 5V signal to the spectrometer and it will snap shot the measurements and store it in the PC.

4. Follow this routine for other LEDs on the PC Board by moving the X-Y table. This way I complete all the LED test measurements.

I hope this helps in answering my question.

Thanks
Guest
2020-04-29T03:31:27Z
In the future just reply back to other comments instead of creating a new thread. That will make it easier to follow.

Lets make sure I understand.

You have a PC board with 30 leds.

Power is supplied to each of the LED's via a 30 pin connector.

The PC board is mounted on an X-Y table

The X-Y table position is controlled by two servos. Servo positioning is controlled by communication link to PC or PLC?

The OV32T powers and LED. I am assuming one of the LED's mounted ont the PC board or is this a separate LED? If PC board LED then is the connection made by moving the board or does each LED have a separate circuit going to the OV32T?

LED is powered by OV32T. How is spectrometer triggered? also from the OV32T and relay?

Does the PLC control the X-Y table. if now how does it know the positioning.

Finally, what exactly is your question? You mention wanting to do one ladder logic step for one LED. I'm not sure what you are asking. I can help you with specific programming questions, but nobody is going to write a section of your code for you through a forum. It it's what I think it is, it should be fairly straight forward and I can help you past where you might be stuck.
Jsambyal
  •  Jsambyal
  • 54.99002% (Neutral)
  • Newbie Topic Starter
2020-04-29T03:32:13Z
1. The servo will be controlled by the PLC. Although, I can communicate the servo with a PC right now.
2. Yes, one of the LEDs on the PC board mounted on the X-Y table is powered via OV32T. Each LED has a separate circuit controlled by the outputs of OV32T by 30 separate relays.
3. Yes, the spectrometer is also triggered by the PLC.
4. PLC controls the X-Y position. It can send signal to each servo as a combination of three inputs thereby having the servo move to already taught positions.
5. My question is to get help with just one or two rungs and I can manage the rest.
Thanks
Guest
2020-04-29T03:33:00Z
Ok, I think I understand what you are doing. I'm not sure what help you need with "one or two rungs." I can walk you through how I would go about tackling this.

There needs to be some sort of input to the PLC to let the system know everything is ready and the sequence can start. Let's assume a pushbutton to an input on the PLC. Pressing the pushbutton will start a sequence in the PLC. I would also have a stop pushbutton to allow the sequence to be aborted.

Sequence:

1. Send coordinates to servo.

2. Wait for feed back from servo that position reached. If none available then start time delay to allow servo time to get into position.

3. Power output on OV32T that corresponds to servo position requested to light appropriate LED.

4. Trigger spectrometer to measure LED

5. How does PC know spectrometer is sending info for LED? Spectrometer on? or output from PLC? I would add a time delay before taking a reading.

6. Increment to next position return to step one until all leds have been lit.

Kind of hard to put rungs in this text but something like this might indicate sequence is running:

Start Stop

-----||-------|\|--------(B3:0/0) sequence running
|
-----||---

B3:0/0 (seqence running seal in)







sequence position
running complete

----||-----------------|\|---------[ctu] counter to increment through the different LED's



I think the sequence steps will help you more than the rungs, but maybe they will give you somewhere to start. Feel free to reply with additional questions.





Jsambyal
  •  Jsambyal
  • 54.99002% (Neutral)
  • Newbie Topic Starter
2020-04-29T03:34:04Z
Thanks.

Is it Ok to control several outputs say 6 from B3:0/0 to operate the two axis of servo?

Three outputs for each servo can control eight pre-registerd points separately as (000,001,011,111,100,110,010,101)

Have each of them operating as outputs with inputs being B3:0/0 thru 7?

Will that work? I can add timers wherever needed?

I have RSlogix starter kit and it does not let me simulate my program.

Any additional insight will help
Guest
2020-04-29T03:34:46Z
Yes you can use B3:0/0 as often as you would like to control outputs. The important thing is to never have multiple coils or outputs assigned to the same address in your program. If you need 30 timers you can add 30 timers. No problem. You shouldn't need to simulate your program if you have the actual processor. If you dont want to fire your ouputs just put the processor in test mode instead of run. You can inhibit I/O modules and then write programming to simulate them if that is something you need. If you really need an emulator, Rockwell has a freebie emulator that should work to emulate the 1100. There are links on this site.
Jsambyal
  •  Jsambyal
  • 54.99002% (Neutral)
  • Newbie Topic Starter
2020-04-29T03:35:33Z
With your feedback, I have written the program. While I was downloading the program with the RSlogix micro starter lite, it is giving me a communication error. Communication path not found. I have connected to the PLC through a multi switch hub. Do I need to configure the path. If so how? The PLC is connected via a RS232 serial pot(com1). I am stuck for now. Any direction will help.
Guest
2020-04-29T03:36:19Z
Ok, I guess I'm confused by your statements. You write that you have connected through a switch which indicates to me an ethernet connection. With the free software, that would limit you to connecting to an 1100. Then you write that you are connecting through the serial port. If you have a valid connection via ethernet, then why are you changing to try and communicate via the serial port? It would be good to learn how to communicate via both, but use what you have working and then try the other. Maybe you need to elaborate.
Jsambyal
  •  Jsambyal
  • 54.99002% (Neutral)
  • Newbie Topic Starter
2020-04-29T03:37:00Z
The set up was as follows:

Three switch serial hub from the PC.

Switch 1: Communicating with the two servos through a ISOCON card

Switch 2. PLC Micrologix 1100

Switch 3. Programmable power supply. I set this for the power needed for the LEDs

Anyway, I did connect to PLC after configuring and finally ran the program .

It came up with an error" I/O configuration mismatch, check module 1. The expansion I/O configuration in the user program did not match the actual configuration, or specified a module that was not found or the data module was greater than what the module is capable of holding"

I will have to resolve this issue now.
Guest
2020-04-29T03:37:44Z
Ok, I assume that it is a USB to serial type hub. USB to serial can always be a little tricky to AB PLC's. Glad you got that working. I am not sure why you didnt use the ethernet port to communicate with the PLC. That is generally the preferable way to communicate since it is easy to setup and faster.

Looks like you have the wrong card selected in your program configuration. You can always pull the configuration from the available I/O online if you have problems getting the proper card selected.
Jsambyal
  •  Jsambyal
  • 54.99002% (Neutral)
  • Newbie Topic Starter
2020-04-29T03:38:44Z
Thanks.

I had the wrong configuration of my output module. The program and the hardware layout did not match with the ladder logic program. I corrected it. The one question I have now is that I want turn on each output of the 1762-OV32T module separately from the RS logix program using the output states(0 or 1) of that particular output. Please let me know how I can change such bits from the ouput screen. I double click on that particular output and change from "0" to "1" but somehow the change is not retained and I do not not see any change.

I could run separate programs and have a different output "on" with the program and it works. This consumes too much time for just testing each LED lighting up . My objective is to change the ( on(1) or off(0)) from the output screens on these 32 ouputs.

Any help will be appreciated.
Guest
2020-04-29T03:39:34Z
The PLC protects against outputs being turned on by toggling a bit. Generally when dealing with process equipment, turning on the output is a serious thing. Damage to equipment or injury of personnel can occur if care is not taken. The PLC does have a method in which to force inputs and outputs on and off. if you right click on the output in question, you will see an option called 'force.' The force function allows you to force the output on or off. Once you force the output on or off, you will have to enable the forces in the program. You should see a list box in the upper left menu area that will allow this. If there are a lot of forces to take care of like you have, you can bring up the force table and manipulate multiple forces easier from there. They will show up as . if there is no force and a 1 or 0 if there is a force installed. When done, you should disable your forces and remove them. Note the the force light on the front of the PLC will indicate forces installed (blinking) and forces active (solid).
Jsambyal
  •  Jsambyal
  • 54.99002% (Neutral)
  • Newbie Topic Starter
2020-04-29T03:40:26Z
Thanks.

I did as you mentioned and forced the bits. I saw the light on the PLC ouput change and also saw the force light on but did not see the LED turn on. The force installed was "green" and the force enabled was" yellow". Although, what I did was I wrote a program where I latched and unlatched an output of the 1762-OV 32T and followed a sequence with these outputs with 60 timers and saw each LED turn on and off sequentially(30 total) for 1 sec time. Is there a way to use just one or two timers and change the outputs in a counter format so that the code is about 1/30 of the number of lines I have now.

Second queston:

Can AB 1100 PLC step a motor forward as revolutions or will it only send a output signal as on and off and the servo(2040) must be preset for the move for each time output signal is turned on?
Guest
2020-04-29T03:41:32Z
I am not sure what happend with your forces. If implemented properly, forcing and output or input will override all logic.

Yes you could have taken one timer to a counter and used EQU statements to energize the outputs when the counter accumulator was at the correct value. You could have used the sequencer instruction or bit shift instructions also. There are always many ways to do any action in the PLC.

The interface to your servo unit is largely dependent upon the functions and interfaces available on the servo. The micrologix has discrete and analog i/o as well as serveral communication options. Usually simple is better. with the repeatability of the movements that you need, setting up preset movements in the servo unit that will act when it sees certain inputs would be simple and effective.
Users browsing this topic