All Activity

This stream auto-updates   

  1. Past Hour
  2. Sercos not connecting to Ultra3000

    Thanks for the welcome Daniel! Today I decided to start from scratch again and make a new project and re-add all the modules. I did everything you suggested, went through each step and menu slowly and everything checked out. But, amazingly I got it working! I'm not 100% sure what I did to make it work but I THINK I know.  Mind I'm dealing with version 11 with this Controllogix so a lot of the lay outs of menus and property windows aren't quite 100% the same. So when I follow tutorials I find online, things don't always match up as they would with a version 20+. With this version, under the axis properties, Drive and Motor are two separate tabs. I set the motor catalog number but I think my problem was I wasn't setting the drive catalog number on the Drive tab. I must have done it  quickly the first time around but didn't remember doing it the next day.  Fickle parameters! It always amazes me how you can spend an entire day and not figure something else, come in the next and boom, get it working.  Now that I have it up and going, time to teach myself some motion programming! Thanks for the reply and help!
  3. Need Manual for CS1W-CTS21 SSI Interface

    He has the CS1 version.... I think.
  4. how to set up timer in st

    I am not having any issues.  If you post your code here(.cxp file), I can look at it to see if I can tell what is wrong.
  5. Today
  6. NTST software.
  7. NA HMI Listbox

    Used a listbox many times, but never tried loading the list anything other than manually.  My applications have not required me to get into the script code.
  8. Hello - I am currently setting up a program to control a downlane conveyor motor and ran into the issue of operators leaving the conveyor on through their breaks/at the end of the shift.... I know, shocking . Anyways, the essentials of the program are the following - ladder logic, start/stop PB station, a sensor that says when I've seen a box for x-amount of time I will turn off, when the eye is clear for x-amount of time I will turn back on. When trying to 'solve the problem' of the operators leaving them on, I figured this would give me a chance to use a RTC (real time counter) and program it so that at various times of the day I will send a single shot to verify the relay is CT is open. I've enabled the RTC on the Micro810, dropped a TOW but do not really understand how to set the TOW block up. Hopefully that all makes sense. Thanks,  grubb
  9. how to set up timer in st

    Hi Michael Walsh, I had a question about using timers or counters in structured text. I did declare the timer in the external section. I did try it declaring it in internal. I always end up getting the same error. I suppose you will be able to help me with my question. Please see the attached screenshot of my program and errors. code :TIMX(A, TimerNumber, 500); Declaration:TimerNumber    TIMER                            INTERNAL     0    0       ERROR: Symbol 'TimerNumber' is the invalid data type(TIMER or COUNTER) in the SFC/ST program.   Thanks JOEL

    This is the memory D10. Actually the output from 4329A is ST,GS,+00001.3 kg (example).

    @riandanualdy I have seen D10 have data value entry and complete flag A382.14 is on. You should monitor value at Memory on the left menu then check at D10 on text mode to monitor data.

    I use 4 cable, CP1W   4329A RDA      SDB RDB      SDA SDA      RDA SDB      RDB and i attach the screenshot of cx programmer but still i cant get the data from weighing scale if i push print (Manual Print Mode).

    @riandanualdy I think you use stream mode If you have USB to RS-485 converter you should connect with weigh scale then press print button and check that data are out to hyperterminal (or similar software) or not. If not maybe you should use commnication command mode (F41 = 3).
  14. Hi :

                 Tumpang tanya,  I came across a thread you mentioned about the listbox (which i believe base on .Net) .  May i know is it possible to add items to the listbox and combo box in runtime?

    What I know the supported member are as below















    So there is no "Items" . 

    If you mananged to add items (not during design time) Please help to show me how?

    I need to pass array item (specific item) to listbox and combo box.






    Sure i done adjust DIP switch pin 1,2,3 ON and 4,5,6 OFF, but still cant get the data. Is that the setting of PLC Settings and ladder diagram is true? because im not sure about that.
  16. Yesterday
  17. My Model Train Project

    Over the past week I have been thinking about the approach I have been taking for this project and done some research online. I have basically hit a wall with this project and the last program I was working on does not work and troubleshooting it has been a nightmare, and for reasons mentioned above  by the reply from "PLC Mentor" From what I have been able to gather so far is the idea that I am using a binary set of data as steps in the program is probably ok, since the types of programs I am writing are done in a series of steps, a certain combination of inputs must be satisfied then the program can go on to the next step. From what I have been reading, when it comes to the outputs, that there should only be one rung in the entire program that would allow energizing that output, and latching & unlatching that output is not a good idea. With the interchange program I posted above, in several of the steps, I do latch the output for say, throughway track power, then a few steps below it, I unlatch it. Once the step is complete in the rungs that have the output latched, those rungs go false so it should not latch it again. Then when the program gets to the step where it needs to de-energize the throughway track, it unlatches that output and stops the train. From the feedback I got so far, this is bad practice. Now when an alarm condition occurs, I do latch the binary bit that is designated for the alarm code. (B3:20) which I figure is ok because I want the alarm flag to be set until there is action taken by the user to clear the alarm and then reset it. (clearing the alarm bits) Breaking the program down into the steps it performs to interchange the trains this is the text of it 01- Wait for automatic mode & E-stop is clear 02- Energize main line track (This stays on while in automatic mode) 03- check to make sure trains are in throughway and side 04- Throw switches 1 and 2 to throughway (Ladder 6) 05- Reset counter 06- FWD-REV sequence Throughway to move train forward (Ladder 7) 07- Counter increments when train passes into block #5 (crossing flasher) 08- Count cycle up, pull train into throughway and stop it (Drop track power) 09- Throw switches 1 and 2 to Turnout (side track) (Ladder 6) 10- Reset counter 11- FWD-REV sequence side train to move forward (Ladder 7) 12- Counter increments when train passes into block #5 (crossing flasher) 13- counter up, pull train into side track and stop it (Drop track power) 14- Repeat sequence starting with step 4 So with the steps outlined above, there is interaction for the same outputs in several steps. Attached is the PLC Inputs & Outputs defined. This program will energize and de-energize the throughway and side track power as it proceeds. I need some suggestions or some ideas on how I can properly write these programs as to have good code, I have used a training book by the "PLC Professor" and it has been very good, but the sample programs are shorter and don't illustrate the situation I am dealing with. Is there a resource or information I can find that can help me figure out a better way to do the programming for the model train layout? I still think the model train layout is a good idea and I do eventually want it to control my around the wall layout in my living room, this is why I made a mock-up of that exact layout so it conforms to the way that layout is designed. I do realize there are some limitations to my current setup, since I have used all my inputs and outputs, as of now I have no way of sensing the switch's actual position, I just energize the switch throw routine for a half a second to throw the switches and hopefully the switch doesn't jam. There is also no analog I/O so there is no way to sense the throttle being applied to the track and no way to adjust it from the PLC. I do plan later on replacing this Micrologix 1000 with something else that is more "modern" is it is an outdated PLC, but it was an inexpensive way to get started. I am thinking of the Micro series since I will be able to add more I/O to it to have better control of the layout. That is down the road, right now I am faced with this problem and after reading what "PLC Mentor" said about the program, it does make a lot of sense that the way I am going about this is wrong.   I would very much appreciate any input or direction on designing and writing these programs better. Mike     PLC IO.pdf
  18. My Model Train Project

    First, I want to thank you for your feedback. Although you are correct that this setup is "Just for me" my intention with doing this project is to learn how to do PLC programming. I do have roots in programming in high level languages on older 8 bit microcomputers and I think that has been an influence on how I am writing this project. As I was writing the routines for this project, I was getting a sense that my approach to programming the PLC isn't the right way to do it. This program I posted was that last one I had working "properly" The program worked well and the trains did what they were programmed to do, and any unusual condition was accounted for, as in when the train overshot and blocked the sensor. I was working on the next routine, to park the train but I hit a wall with the program and could not get it to work properly, I basically hit a wall with it and then I realized that what I am doing is not going to work. I really need to step back and come at this from a whole new angle. Your feedback on using latch/unlatch, conditional JSR, and JMP statements makes sense. Trying to troubleshoot the routine I was writing and looking at the program online, I now see what you mean, I was seeing unexpected results even though the logic looked good. As you pointed out, I do have to do the masked move to the outputs to insure they are shut off because I used latches and unlatches in the code.   I decided to do the layout because I was thinking of it as a "machine" I wanted a real world example of a machine rather then the training units which have the buttons and toggle switches for the inputs. (I do have that, and used that for my initial programs) Even in the design of the hardware for this layout, I even included a safety relay with an emergency stop circuit. I wanted to include a safety circuit in this because all industrial machines need it to protect the person from harm. (in this case, no harm would ever happen other then the trains crashing into each other) I do understand what you are saying about using the latches and unlatches which does make sense now. From reading a book I purchased on PLC programming sequence logic is used in programs and for this type of setup, I will have to use that, as there are steps to perform to complete a routine. That is the binary bits I am using for the steps and as each sequence is completed, it sets the bit so it can move on to the next step in the routine.   I actually only recently did the "traffic light" program because after I hit a wall with my project, I wanted to step back and go back to the basics, plus I also have purchased a C-More HMI panel and I wanted to improve my skills at programming the HMI. I also wrote a program for something we used to have in my old place of employment (the plant is now closed) We used argon gas for a metalization process and there was a PLC which was programmed by someone else (I never saw the code) what it would do is there would be two tanks of argon and the device monitored the pressure in the tanks, the first tank would be in use and when it ran empty, the unit would seamlessly switch to the other tank and then alert the user that the tank has run empty by blinking a light for that tank. Once the user replaced the empty tank with a full one, he would press the button and it would open a valve for a second to purge out the atmosphere from the line and the alarm would go out and that tank was ready for use. I successfully made that program and even did the HMI graphics for it. (It also allowed switching tanks by holding down both buttons for 5 seconds, the HMI does not allow that, so I have a third "button" to act as both buttons) My ultimate goal is to learn how to program PLC's. Recently I was given a project where I work now to help prevent fires in the embossing process. A sheet of plastic is extruded on the line and as it travels down the line, in some cases the customer wants the surface embossed with a pattern. The sheet passes between heaters on both surfaces to soften it so the roller can emboss a pattern on the sheet. Fires have occurred for several reasons, one is if for any reason the sheet movement stops, the part of the sheet in the heaters melt and then catch on fire. Second is if the movement slows of if the operator is changing to a different thickness, the sheet might soften to the point of bowing down towards the bottom heater and then catching fire. I have successfully written the program for this project.   I guess I really need to step back and approach my model train layout from a different angle. What I have learned so far has helped me in writing these smaller programs, but it is clear what I am writing for the train project is "off the rails" (pun intended)
  19. My Model Train Project

    This was the reply from "PLC Mentor" on that other thread:   Kinda on the verge of hijacking the thread, but I guess it is pertinent poop for someone learning programming.  Took a quick look through your program and do have a couple immediate things that pop out:   I never use conditional JSR rungs or at least I cant remember a time that I found one helpful.  They are generally a way to get into trouble as all outputs stay in their last condition when you stop scanning the subroutine.  The mantra in PLC programming is "keep it simple."    This is a program just for you, but generally we are programming for the multitude of people that will follow us into the program after we are done.  That is very unique in PLC programming.  Generally in a plant environment the level of proficiency is fairly basic.  Also at 3am in the morning when a line is down, brain functionality is fairly basic.  Imagine the fun of seeing an output on in the program with all of the logic before that output false just because the program file is not being scanned at that time.  Minds have been blown with less.  In my experience, nothing good ever comes from a conditional subroutine.  If you want an output off then put a contact in the rung to make sure it is off.  Then the logic is clear and understandable to just about anyone.  I suspect that is why you have to reset your outputs with the masked move statement.  Another gotcha waiting to happen. I never use (or extremely rarely) the JMP instruction.  That is a fairly common statement for all high level languages.  Basic has its goto and just about every language has a statement to jump to a location in the program.  Most instructors I have learned from will explain the statement and its purpose and then tell you not to use it.  Those types of statements get you into trouble and are difficult to follow in most programming circumstances.  There is generally another way to do the same thing.  Same goes for MCP.  That has some value possibly in temporarily taking sections of code out of service for testing or maintenance.  As permanent fixtures they just cause confusion when people are troubleshooting. Rather than latches use seal in circuits.  Latches generally cause problems.  They are necessary if you need to maintain output status through a power failure.  OTE's are reset when the system comes up.  Same with the resets on your timers.  TON's reset automatically when the logic before them goes off.  Resets can be eliminated and everything that controls that timer's function then is on the rung with the timer.  Thats much easier to understand when looking at the rung functionality.  Side note: RTO's do have to be reset and are useful if the timer value has to be maintained such as for a total run time of a system that is starting and stopping. Even with the subroutines you have, I would move everything from file 2 except for JSR's to a subroutine.  Leave file 2 just for JSR or insignificant overhead logic such as blink timers or such.  That will make the logic much easier to go through. Looks like a fun project! 
  20. My Model Train Project

    This conversation was started in another topic and I did not want to hijack the topic so I copied the last reply. I have been trying to learn programming an Allen-Bradley PLC by making a model train layout and having the PLC control the layout. Attached is the program I wrote for the last working program I was able to complete for the layout but as I was progressing with this project, I started getting a sense that I am not doing this programming properly. Here is a video link of that program running.     Next reply is the reply from "PLCMentor"   MAIN AND SIDE INTERCHANGE.pdf PLC IO.pdf
  21. ET200M configuration in unity pro v13.0

    Hi Maha, Take a look at this link In the video he is adding a EDS file to the DTM Library.... I bet you can proceed in the same way with your GSD file, as long as you select the profibus system instead of ther ethernet/ip system.
  22. Need Manual for CS1W-CTS21 SSI Interface

    This is absolutely the instruction sheet for CJ1W-CTS21.  Please read my comments from above. 1634330-1A CJ1W-CTS21 HSC (SSI) Unit Instruction Sheet .pdf
  23. Start with these programs.  Change Operand 2 of TXD to #1000   TXD-RXD Quickstart Programs TXD_RXD_corrected (2)
  24. CQM1H-51

    I sent you the manual above.  Here is the Chapter 3 out of the manual.  To activate the system menu, touch any two corners of the screen at the same time.   NT20S System Maintenance Menu.pdf
  25. Banner DXM 700 or other Model

    I have configured dozens of DX80 gateways over the years, mostly mapping AI’s to AO’s, DI’s to DO’s.  It was straight forward with the software. Then came the DXM100.   I bought one to try and after a day’s effort at trying to get the DXM onboard AO to ’follow’ the node radio AI, I gave up.   The factory, which used to have superb support, blew me off.  The DXM100 was supposed to offer cellular communications and my guess is that Banner packed a whole bunch of programming features into it that the DX80’s did not have, especially in light of their marketing push into the agriculture markets (irrigation, soil moisture).  In that move, they made a gateway that won’t handle a 4-20.   Good for them. I didn’t bother to compare the DXM100 vs the DXM700 and I couldn’t find an on-line comparison chart.   Out of curiosity, why does client want a particular model?
  26. Traffic Intersection with 3 second inductive sensor

    I do not wish to hijack this thread either, but I want to thank you for your feedback. If I were to start a new thread with this information, I would like some input in how I can do this project properly. Mike  
  27. NA HMI Listbox

    I read  What I looking at is how to add items to Listbox with array from NX cpu.   There is no "Items.Add" member for the listbox. I hope the listbox for NA behave the same way like the NS or Proface. as below code from the link above sure will not work   Sub ListBox_Update    Dim List_obj As Object     Dim array(100) As String    Dim x As Integer    For x = 0 To 99        array(x) = ListItems(x)    Next x    List_Obj = array    listbox0.SetItems(List_Obj)End Sub Anyone  have try NA Listbox and please share your code   Thanks        
  28. ACD file to PDF

        That's exactly what he was asking someone to do! He doesn't have the software, and wanted someone to print it for him. But at least you got credit for another post.     Here you go. See attached. One has just the controller tags. The other has the ladder in it as well. Sorry for the late response. Logix Designer Report(s).pdf Controller Tags.pdf Everything.pdf
  29. Load more activity