CanaanP

MrPLC Member
  • Content count

    115
  • Joined

  • Last visited

Posts posted by CanaanP


  1. Can someone look at this program and tell me what I'm doing wrong with the order of the subroutines? I want to keep everyone in it's own little subroutine, but the way it is now, not all routines are working. I'm pretty sure my problem is the order, or not jumping to where I need to, or something along those lines... but I'm frustrated with it and need a fresh perspective. Please help!

  2. Hey I'm trying to use indirect addressing in an EQU in my program and it's acting strangely. The number in the integer file that I'm referencing is not showing up as the same number in the source of my EQU statement in the rung. Is there a reason for this that I'm not aware of? I took two screen shots so you could see that it's not different by the same number each time, like it was being offset or something, it is different for each number. In my program N7:101 starts at 10 and increases by 1 each time a timer is done, stoping at 19. However, 11 in N7:101 shows up as 7 in Source A of my EQU. You can see from the screen shots what some of the other values show... but there does not seem to be a pattern. I thought perhaps I could fix this with indexed address, using the S:24, but this processor does not support it. I should mention I have this very same setup in another subroutine that is incrementing N7:100 in the same way with a timer, except it starts at 0 and stops and 9 and that is working perfectly, the numbers go to the Source A of the EQU statements in that subroutine without any errors. So what gives? If this is something I'm going to have to work around, any ideas on how that could be done?

  3. Yes it's awesome, sorry about assuming about the addressing thing.. I just thought I saw in the rslogix help file that only the 1500 supports indirect addressing.. but I'm definitely not the expert here :) I understood almost all of your file, which I was quite proud of considering the only thing I've written so far was the traffic light program in training. But the only thing I couldn't get my head around was that N7:[N7:100] deal. Then it all "snapped" together for me. Thanks a ton!

  4. Well, sh*t the bed. That's something I wish I'd known a long time ago. That's awesome, now it all makes sense to me. It must be Indexed I think because I loaded this onto a micro 1200 rev c and I don't think that supports indirect addressing. There's so much about this I need to learn, but it can be overwhelming... but this I think will be a valuable tool for me to use :) Thanks a bunch to you and Ken both!

  5. I've been picking this apart, trying to learn how it works... I'm still unclear on one thing, where/how is the conveyor order stored at? I understand that rung 003 is incrementing N7:100 each time the timer is done, but what are equal statements being compared to? I see that they are comparing the N7:[N7:100], which is confusing to me... is that one particular address, or is that a way to specify a range of addresses? I'm using to seeing N7:0, or N7:100, but not N7:[N7100] So I guess my most basic question is, what specific integers need to be changed to manipulate the starting order?

  6. Well this will be for pouring concrete. The conveyors will all be handling concrete. I'm not sure how many conveyors there will be at this point... the project is still about a year out. I just want to get a good jump on the program to make sure I get it right. This is what I have in mind, maybe someone can tell me if it will work or not or what I need to do to tweak it... I'm experimenting with AdvancedHMI which is a free hmi to use with visual basic. I plan to make an operator screen that has a keypad with numbers 1-0, then perhaps 10 (just for this example of 10 conveyors) digital display screens that represent farthest to closest conveyor arrangement. The operator types in a number, like 001 or just 1 I guess for conveyor 1, 2 or 2, etc... when he types in the number it goes into the first display. This display is read off of an integer table, so they would all be getting stored in the n7 table. After all the conveyors are input into the displays, then operator hits start button, at which point plc moves the integer values into timers to begin starting the motors. There will be a timer for each conveyor that will have the value moved into it, and each timer will be preset at staggered increments so they don't all start at once.... There will be a reset button also, so that the conveyor arrangement can be changed once they are done with that poor. That would simply clear all the of the numbers in the table so the displays are blank and ready for next input. Does that sound like it might work? I realize that my description is really fuzzy but I'm not a pro. I like to work with the theory in my head and keep it rough, then try to get more and more detailed as I'm fleshing it out. Any input is greatly appreciated. Thank you.

  7. Sorry for not posting back, I've been out of town and didn't take my laptop. My level of expertise is nill, this will be my first official program. I understand rslogix and plc's pretty well, just don't have any experience. I'll be using a micrologix, not sure which model yet. Interface will probably be a touch screen hmi. The fifo idea seems logical, and something that's in my capabilities because I've seen the fifo being used before. But how should the operator input the information? a number pad? how is something like that normally done?

  8. Hey everyone, I may be required soon to come up with a program that will control the starting order of many portable conveyors. They are modular, connected wirelessly. I need the ability for the operator to tell the plc what order the conveyors are arranged in so that the furthest one can be started first and so on... can someone give me advice on how to do that? I'm not familiar with recipe type programming, but I wondered if that was sort of the right frame of mind here - not sure but any help would be appreciated. Thanks!

  9. I appreciate all the help that has been offered, but I'd like to just mention that although I'm new to PLCs and this whole DDE thing, I've been messing with computers for a very, very long time. Has anyone with Excel 07 actually been able to open and run the xl5vb.xls? When I open it, I immediately get this message:. When I click ok, I get this message: Now, when I type the first error message into google, this is the very first link: http://support.microsoft.com/kb/926430 It describes to a T the exact problem that I am experiencing and says to call support services. I haven't called, but I pretty much consider that to be a dead end. I know that Excel 07 has VBA, but when I am trying to tell you guys is that the 07 Excel does not support certain vba stuff written with an older version of Excel.... I don't know the exact details, but it is not my settings that is causing this problem. If someone else with Excel 07 can open this file and run it, then I will eat my hat.

  10. That looks sweet, except I'm unable to do anything with it... apparently excel 07 does not include vba support or something like that and when I open the file I'm told that the vba component is removed. All the macros that the buttons are programmed with are gone. I guess I would need to downgrade to the 03 version of excel to open it properly.

  11. I'm learning a little about DDE, and how to tie rslinx to excel. I'm curious though, is it possible to do that in reverse? Is it possible to send information to the PLC using DDE? For example, if I wanted to have like a visual basic button on a screen, could that button send a command to the plc when pressed to enable a bit? I know that things like that are possible with rsview and such, but I'd like to know if it is possible without using AB software other than rslinx. Any help is much appreciated. Thanks