adohm

MrPLC Member
  • Content count

    18
  • Joined

  • Last visited

Posts posted by adohm


  1. On 3/8/2018 at 3:39 PM, collinsd70 said:

    Hi All.

    I have been tasked with engineering a new PLC program urgently. My employer has given me a week to convert an original piece of code that ran Motion Control across SERCOS II- now onto the Kinetix 2000 Series via Ethernet/ IP (also a pneumatic drill will now be an additional servo axis)

    Having a quick look through the code- my main concern is the conversion of the variables that were originally on the SERCOS II DUT ("AXIS_SERVO_DRIVE") and now are using the variables in the "AXIS_CIP_DRIVE" DUT (Ethernet/IP). The variables between these 2 are not identical so this leaves a lot of uncompiled tags.

    The main tags that do not compile include configuration words, actual velocity and other important tags that currently handle the motion logic in the main routines.

    My main question is- Is there an official conversion manual or guide on which variables can be used as a replacement between the 2 data unit types?, I have seen on the AB forum that similar questions are being asked but doesnt seem to be any straight forward replies.

    Considering I have "1 week" to convert all these tags, create a new motion group with necessary logic for another servo, adjust the IO tags and complete the HMI develpment for this machine- this seems like a lot to take on.

     

    Thanks in advance.

     

     

    Dan.

     

     

     

    You didn't tell us what controller you're using...


  2. On 2/16/2017 at 8:09 PM, Ken Roach said:

    The description is a little difficult to read, I agree.

    XON/XOFF is basically a software based handshaking scheme, rather than using the RTS/CTS or DSR/DTR handshaking signal pins.   Instead of asserting a "Clear to Send" pin, the printer sends a periodic XON (0x11) byte, then sends an XOFF (0x13) byte to say "I've received my data and am not going to listen again for a bit while I do my printing thing".

    I agree that the printer should be sending XON bytes every half-second after it turns on, then it will send and XOFF byte once it's received a command and is ready to process it.

    But I don't think the 1769-ASCII supports automatic XON and XOFF handshaking.   There's no mention of it in the user manual.

    How do you have the Start Delimiter and Stop Delimiter set up for receiving data on the 1769-ASCII ?

    You might try setting up the 1769-ASCII so that XOFF is the Start delimiter and XON is the Stop delimiter.

    That's logically backwards, but what it would do is give you an increment on the incoming data Record ID each time that XON arrived, which would tell you that the printer is ready to receive a print command.

    I don't know how the 1769-ASCII would behave if it gets End Delimiter values without getting Start delimiter values first.   You should be able to experiment to find out.

    Where would I find this byte of information?  When I send the printer data to print in the terminal, it receives it but never sends anything back?  Right now my start\end delim is dec 013, which is CR.  What is the dec equivelant to XON or XOFF?


  3. I'm using a 1769-ASCII and need help with one part of it.  I have no issues with sending data.  The manufacturer shows the following as the process...

     

    ascii_process.PNG

    My question is: how do I evaluate the XON\XOFF?  The machine states "This communication protocol tells the status if it can receive any data or not to the host by sending "XON" (HEX 11H) or
    "XOFF" (HEX 13H) to the signal line."  I never receive any data so I'm not sure what's wrong or if what I'm doing is correct.  The attached file is same code downloaded from AB's website which is what I based my code off of.

     

    http://search.rockwellautomation.com/search?client=samplecode&oe=UTF-8&ie=UTF-8&output=xml_no_dtd&proxystylesheet=samplecode&site=sample_code&getfields=*&lang=en&hl=en&sort=date:D:L:d1&wc=200&wc_mc=1&ud=1&filter=0&q=ASCII

     

    62119.exe


  4. I'm not sure what you're asking.  You don't see the EN bit by default.  You click the ellipsis next to the instruction title, and check the box next to "Enable" if you want to control the enable function of a function block.  Is this question meant to be in the Allen Bradley forums?  What you've posted above looks more like Yaskawa PLC\Servo logic and MS Visio.


  5. First, are you doing this as an expression of a numeric display, or as VB code?

     

    Sorry.  Why are you doing this in a macro?  Pretty sure you can't do math in a macro.  If it were me, I would be doing this in VB code, unless it's just for display which then I would just do it as an expression within a numeric display.

     

    Alternatively, you could do the math in the PLC and give it it's own tag.


  6. So I've been tasked with setting up several old SLC racks with a control logix L71 processor.  The final piece of the puzzle is setting up the 1746-HSCR but I haven't had to set one of these up from scratch in about 10 years.  I've gotten as far as setting it up as a Range mode linear counter.  I've been able to get this thing counting with the help of a tech note, but I struggle understanding what I am seeing.  The purpose of this counter is to track the liner rate of passing material in feet per minute.  Nowhere when I set up the HSCE did I enter the PPR of the encoder, so it just doesn't translate in my head what I am seeing in the rate period and rate measurement files, or the accumulated count for that matter.  Can anyone enlighten me?

    https___rockwellautomation.custhelp.pdf

    AENTR_HSCE.acd

    1746-um006_-en-p.pdf


  7. Whats your budget, if any?  The quickest way off the top of my head, in my opinion, is a second rack.  The cost of an HSCE2 could buy you another lower end processor can you can initially dedicate to this, and pass the data along if necessary, to the master processor through the various methods of data transfer.   

    The other way is to improve the effeciency of your project.  33ms is a VERY long scan time in my opinion, especially where position is measured.  The thing about programs is it isn't standard practice to trim the fat off of a fat program.  By that I mean, some of your program doesn't need to be scanned all the time, but common practice is to have it scan all the time because it's quicker to program initially.  See if you can isolate some of your processes into a time scanned or even scanned sub routine.


  8. It's the same.  I assume you've already looked at the help file.  You're probably thrown by not having files to work with now.  So the difference here is that you need to create an array.  So in this case if you wanted it to be identical to what you would have done in RSL500, in RSL5K you need to create a tag of the INT[#] type (# being the amount of 'words [aka Length or Elements]' in your array, lets assume 16).  So now instead of B3:0/0 to B3:15/15 you have TAGNAME[0].0 to TAGNAME[15].15.

     

    If you need to do this without a timer, use an SQI instruction.  It works the opposite.  Once all the conditions in the SQI table are met, step your SQO instruction.


  9. Logix 5000 will show all of the installed versions on the startup splash screen.  It is not indicative of what version you're opening up until it's completely opened.  The version will be in the title bar and\or the Help->About screen.  If Help->About says 17, that's the version of the file currently opened.  If you're trying to upgrade the processor, you need to flash it.  When you download the firmware from Rockwell, it will come with the 'ControlFLASH' utility.

     

    You may want to think about upgrading to 20.04, not 20.01.  


  10. I have a customer who uses a proprietary controller with their Atlas Copco air compressor, and a Siemens SimoVERT Masterdrive. The drive blew up and the customer wants to replace it with an ABB drive. So far my largest stopping point is the communications. The Siemens drive uses a USS protocol for communications through an RS485. There are no modules available for ABB that I can find that enable this sort of communication. Even if there was, because the controller is proprietary, I don't know what addresses, functions, etc that it's sending\recieving. I've tried calling Atlas Copco for help but they haven't returned my calls. I know this isn't PLC related directly, but these forums have been a great source of information for a long time and I hope to get some sort of answers from here. Is it possible? How? Thanks!