No announcement yet.

Need help integrating an EA9 and SLC-500. Writing to integer table

  • Filter
  • Time
  • Show
Clear All
new posts

  • Need help integrating an EA9 and SLC-500. Writing to integer table

    We got an old baler a little while back and the HMI is going bad in it now. The HMI (HMI8D000L2P) is connected to a SLC-500 fixed. The OEM wants just over $16,000 to send us a new HMI and a 1762-L40AWA PLC. So I've decided to use a EA9-T10CL to replace the old panel. I pulled the ladder logic from the SLC-500 and started documenting it. They are doing something I've not seen before, instead of using control bits to turn machine functions on or off they enter values into the N7 integer table. So for example if N7:17 = 0 the machine is in Off mode, if it = 1 then manual control and if is = 2 then auto mode.

    I'm having issues figuring out how to get C-more pushbuttons to write to the integer table. For operator ease I would like for it to be 3 separate pushbuttons (Off, Auto, Hand). Is there a way to directly do this with the C-more panel?

    Looking at the ladder logic the old HMI wrote the values to the table. There is a MOV on First Pass to write 0 to the table to put it in Off mode, and then rungs to check EQU to turn on the internal bits in the ladder logic for what mode the operator needs.

  • #2
    Cmore does not write numerics from a pushbutton.
    You can (if you have access to the RSLogix package) make a cmore button that 'causes' a numeric to be written to the N7 register.

    I"m sure that there are more elegant methods for this, but....
    .           HMI_OFFPB
    .            B3:90                           |
    .-------------] [----------------------------+ MOV
    .                                            |  0
    .                                            |  N7:17
    .                                            +----------------
    .           HMI_MANPB
    .            B3:91                           |
    .-------------] [----------------------------+ MOV
    .                                            |  1
    .                                            |  N7:17
    .                                            +----------------
    .           HMI_AUTOPB
    .            B3:92                           |
    .-------------] [----------------------------+ MOV
    .                                            |  2
    .                                            |  N7:17
    .                                            +----------------
    Make the PB tags SET ON in the Cmore and be sure to CLEAR them after using them.


    • #3
      You can also use the Event Manager in C-more. Make an Event that is triggered by the pushbutton. In the Event use a Tag Action to Copy a value into the N7 register.


      • #4
        Thanks for replying.

        kewakl, I can modify the ladder and had thought about what you suggested as a work around if C-more couldnt write to N7.

        BobT65, thanks for that info. I'll check that
        Last edited by BigDave; 07-30-2019, 06:38 AM.


        • #5
          dunno but couldnt a radio button do as you want?


          • #6
            quaizywabbit, I went with the Event Manager option and it's done exactly what I need. I looked at the radio button this morning just to compare but I would still have to use the Event Manager to write to the integer table.

            I'm making progress on this project, even though I'm having to document and interpret the ladder logic in the SLC 500 as I go. I had a list of I/O to get me started and I'm familiar with the machines basic functions. The OEM used the N7 integer table to set all types of settings in the logic via the HMI and to show machine status on the HMI. I had only seen Binary Bits in A-B and Control Relays in DL to turn things on and off in most of the other HMIs I've worked with. I have used V-Mem from ADC PLC to C-More panels but have only modified one C-More connected to an A-B and it was all Binary Bits.


            • #7
              Check this out

              This is an EA9 and a D260.. same thing.. Off/On/Auto.. I've perfected it a little from this writing.. I have the PLC check the Numbers in a For Next Loop.. only allowed numbers are 0,1,2.. Unless I have made it a 'Off,On,Auto,Timer' switch.. then my PLC allowed numbers are 0,1,2,3..

              My 'Interger' has the Names of Selector1, through Selector32.. these are my 'Hand Off Auto' switches that populate my Screen and my PLC Program..

              Click image for larger version

Name:	Selector Buttons.jpg
Views:	238
Size:	158.2 KB
ID:	124343
              This is my Boiler Plate for 32 Selector Buttons..

              Here is one exploded..

              Click image for larger version

Name:	Exploded Selector Button.jpg
Views:	133
Size:	8.0 KB
ID:	124344

              The Labels 'Hand auto timer' will only be visable when a Bit is active.. they will stack on each other.. the yellow and the red are Feedback Lites.. Red is off.. it turns green when running, and the Yellow is invisable unless some error is present..

              The grey Push button is the Incramenter.. it is tied to Selector16 ( in this case.. as this is Button 16 ), and the Red Lite will change colors depending upon that the number is in Selector 16..

              It's undergone a few Itterations.. All 32 Selector Buttons have Nunmbered Intergers that follow with them.. Lo1,High1,On1,Off1,Cnt1.. these Intergers follow the Ladder math that is assoicated with that switch in Logic..

              Like if Selector 16 is used as a Pump Level Controller.. In Ladder I use High16, Lo16 Compaired to a Level Output of something like CH14BCD to get and control my pump on off levels..

              If Selector 16 is runnning a timer function.. then On16 is the Minutes you want the device to run.. Off16 is the Off Time between runs ( In munutes) and Count 16 is the Total On+Off time used in the Subroutine that figures this all out..

              Then Auto16 is a Bit that is set when Selector16 is in the Auto position( Selector16=2), On16 is set when Selector16 is in On Position( Selector16=1).. Off16 is Set when selector16 is in the Off position(Selector16=0).. Timer16 is set when Selector16 is in Timer Position of 3.. Fault16 is set when yellow lite is on when some calculation ( Ladder ) says there is a Fault..

              It's a lot to grasp.. and I have written a few Modules that chew through this stuff in Bit Patterns ( 32 Bits.. Two Words ) that it lays well in my Logic.. took a while for me to really understand what I had created.. Too bad it on a 260.. Now Ill have to re-write all this stuff on a BRX.. that is my Next Project..

              Attached Files


              • #8
                You can write a bit value to N7 on a SLC. If you make N7:0 bit 0 (binary) =on, the decimal will be N7:0 = 1 decimal. N7:0 bit 1 = on (binary) N7:0 = 2 decimal. N7:0 bit 2 = on (binary) will be N7:0 =4 decimal. N7:0 bit 3 = on (binary) will be N7:0=8 decimal bit 4=16 bit 5=32 6=64 7=128 8=256 etc. You can use this to control the bits of a word by entering a number (decimal) and using the bits of the word (binary) The word/bit hold true if you are using integer (N7) or binary (B3) on a SCL. If you select an N as the memory type on the C More it will ask for the bit of the word. If you have a Brick SLC500 (I/O is part of the CPU) I suggest changing it to something newer they have been obsolete (eBay only) for years. We changed a couple of auto tie SELCO bailers a few years ago and used DL06 PLC's (I would use a BRX today) This may be helpful or not if not sorry for wasting your time reading it.



                • #9
                  @Thanks Cap.
                  @Thanks jwbaker3 for your input.

                  I have the project written and I've tested it on a copy of the balers logic that I updated and loaded onto a spare A-B 1762-L40AWA. It works using the event manager perfectly. With PB, SWT, and Indicator trainer that I built to simulate the baling process.

                  But now I have a new issue. I'm at the baler and trying to test it on the live machine before I start cutting out the hole and I'm getting PLC-013 ENQ recieved from PLC error. I used the A-B DF1 Full Duplex (SLC500) driver first. Then tried some of the others with various settings. I'm also using the EA-Dh485-CBL cable. Does anyone have a suggestion on correcting this?

                  Allen Bradley DF1 Full Duplex (SLC500)
                  Barud Rate: 19200 (matches RSLinx driver)
                  Parity: None (matches RSLinx driver)
                  Stop Bit: 1 (matches RSLinx driver)
                  Checksum Type: CRC (matches RSLinx driver)
                  Transmit: RS232 (matches RSLinx driver)
                  Timeout: 30
                  Poll Time: 0

                  Rambling section
                  I learn on the job (mostly by way of fire), reading, and playing around with spare controllers when I can. We have 7 Balemasters and 6 have the 1762 and just one with the old SLC500. I will mostly likely put the spare 1762 in this baler and get another to have on hand but would love to get this to work but that doesn't always happen. But from what I've learned doing this I'm about to replace the HMI in one of our other balers. It's going out and there's a spare that's been here longer than me (12 years) but when put it in the other day it didn't work correctly, I/O is wrong. So I'll but a EA9 in it and be done with it. I've replaced 2 controllers in our die cutters in the past with DL205 that I had on hand. had both up within a day but I know these machines pretty good. I've also added some Clicks to machines to add timers for support equipment to turn off and on uand counters to collect data for the production guys to use in tracking downtime and getting fault counts.