monkey

MrPLC Member
  • Content count

    21
  • Joined

  • Last visited

Everything posted by monkey

  1. Thanks for the suggestion. Most of the I/O is on DeviceNet Flex I/O so I plan to be able to swap the DeviceNet cable from the original to the new for testing and having the option to revert to the original by moving the DeviceNet cable back. 
  2. Can I download an old program (written with RS Logix 500 version 5.2) into a newer SLC 5/04 Series C with a higher FRN than my copy of RS Logix supports? I don't want to use any newer functionality. Just wanting to get a spare 5/04 and load the application software on so it is ready to swap out in the event of a failure. I see some 5/04's on eBay that are new in box but have a FRN of 11 which wasn't out at the time my version of RSLogix was created.  
  3. Yeah. I was going to re-write from scratch and make some improvements along the way when I get to that.
  4. Thanks for the reply. There are 6 total 5/04s on the line and they are all networked via DH+. There is no PLC to PLC communication but there are a couple PanelViews using the DH+ network to communicate to the PLCs. There are incremental upgrades to CompactLogix controllers and Ethernet based PanelViews scheduled for later this year through early next year. This is just an interim step to provide a backup plan until the upgrades are completed. 
  5. I have a SLC 500 and am trying to calculate (on the fly) positions for a stepper card. The position step values are as high as 2627948 which must be divided into a 'thousands' part (2627) and a 'ones' part (948) for use with the stepper card command words. To do this, I want to divide the large number by 1000 (2627.948) and then extract the integer portion of the number. I have tried to move the floating point number into an integer register but it rounds the number as it moves into the integer register.
  6. Spedly, When I said it worked sometimes it was because I was trying many different combinations of DIV sometimes with Integers for the source and sometimes with floating points. (the math register is NOT used when dealing with floating points) Guest, Thanks very much for the simple solution! You da man!
  7. I am using the DIV to divide a large number (2627948) by 1000. The DIV instruction automatically rounds the answer which is placed in the destination. The online help file for the instruction says that the unrounded quotient will be placed in the math register MSW (S:14). This works sometimes but mostly does not. (the math register remains unchanged) Does anyone know what would make this not work? I am trying to separate the number into 2 integer files for use with the stepper card (1 integer would be 2627 and the other would be 948). P.S. I do have the Math Overflow Selected bit (S:2/14) set true.
  8. DIV and Math Register

    I am using a SLC 5/04 and RSLogix 500 Ver. 5.50.00
  9. There is only 1 laptop with multiple users and it can connect to a network but the problem exists on and off the network. There are no other applications running and all non-essential services are stopped before attempting to start RSLogix. The user can run the program if the shortcut is modified to allow the program to be run as a different user. Also if I log in and try to run the application as the other user it crashes just the same. Something is tied to this specific user I just cant figure out what or how.
  10. I have a client with a laptop running Windows 2000 and multiple users. RSLogix version 5.0.0 runs fine with most users but 1 particular user cannot start the software (it crashes immediately) I have uninstalled the software and then re-installed as the user who cannot run the program. Still everyone else has no problem while this user cannot run. I have deleted the user profile and started over but that doesn't help either. Has anyone else seen this problem? Is there a registry entry that might not have been cleared when uninstalling the software?
  11. Ken, Thanks very much for the helpful (and speedy) information. I am glad I asked! Thanks again, Monkey
  12. Hello, I am writing my own DF1 driver for a robot to communicate with Allen Bradley devices. I am starting with the SLC family because that is what I use most. I have successfully handled the Link Layer programming and have so far integrated two commands for reading and writing directly to and from SLC memory using "protected typed logical read/write with three address fields" This works great for any word addresses ie. integers,timers,counters - you name it. I just can't figure out how to write a single bit. I don't see any command in the DF1 manual that is compatible with the SLC's and writes a single bit. BUT.... It is obviously possible because I set single bits all the time with panelview programs. And yes, they are using DF1 full duplex protocol!! Can anyone offer an explanation of how this is accomplished?? Any help would be appreciated
  13. Chris, I assume your PLC already has the lot # info or generates it. You can use the ACN (ascii string concatenate) to assemle a lot # from pre-defined strings and possibly an incremented integer. Then use the AWT or AWA instructions to write the info to the serial port. Of course you will have to include formatting characters CR,LF,FF etc. depending on the protocol that the printer needs. There are serial printers available, although I really can't recomend one. Also it is possible to create a "printer only" object in panelbuilder which can send information to a serial printer port attached to the panelview (depending on your panelview model) Good Luck, Monkey
  14. I am pretty sure what you want to do is not possible. RSlogix will compile the ladder logic to machine language that the Allen Bradley processors can run. This won't do any good for running on a Mitsubishi PLC. Even if they happen to use the same microprocessor inside both PLC's, the data structures for Allen Bradley and Mitsubishi are very different. Sorry, Monkey
  15. 1746-bas Or Serial Port?

    I have never used Allen Bradley's basic module nor do I have any idea what this zebra printer is. But, I have used the ascii commands in a SLC many times to communicate with other devices that speak ascii. In my opinion sending stuff this way is a giant pain compared to doing it in a basic language, but, if you want to use ladder logic it is possible. If you have 150 lines X 5 labels you may need a lot of room in your PLC's memory! I would create an ascii 'server' subroutine that can plow through a string file (i.e. ST9) sending each address out the serial port. This requires indirect addressing (ST9:[N7:0]) where N7:0 contains the string address you want to send. I set up a couple of integers as 'control' words. For example, N7:0 is the starting address of a string file, and N7:1 is the ending address. Say you want to send the contents of ST9:20 - ST9:50 to your printer. (you would have already entered the lines of code to send in the string file) First, move a value of 20 into N7:0(start address) and a 50 into N7:1(end address). Then enable a sequencer that uses the AWT or AWA instruction to send a string out of the port. For the source enter ST9:[N7:0]. Next step of the sequencer is to wait for the AWT or AWA instruction to be completed (ascii read and write commands do not happen imediately in the ladder scan. Instead the are queued, and are executed asynchronously to the ladder scan) Check the EM bit of the control file for the AWT or AWA instruction. Once the string has been written (EM bit true) increment the value of N7:0 (ADD 1 to N7:0 and store in N7;0). Check to see if N7:0 is greater than N7:1 (end address) if it is disable your ascii 'server' sequencer. If not, loop back to the top of the sequencer and process another AWT or AWA instruction. The address sent will be the next line from your string file. The whole thing also requires that you configure channel 0 to user mode with an ascii driver. And you will need to set up the termination characters to whatever the printer will require. Most likely you will use the AWA (ascii write with append) to write a string to the serial port (appending the termination characters i.e. CR-LF). As I said this will not be pretty (especially if you are used to using a basic language to send acsii data) but if you love a good challenge (as I do) your in for a lot of fun! Good Luck, Monkey
  16. Vb Script And Excel Multitask

    Chris, How is the trigger physically connected to the PC? Is the trigger a pulse? If so you can make the pulse length longer then the time it takes to run the subroutine (5X) so it won't be missed.Can you send the trigger signal to the PLC and have the PLC decide when to send to the PC? Maybe you could have a "hot" DDE link (one that is open all the time) which would be constantly reading the data that is in the PLC.
  17. Vb Script And Excel Multitask

    Chris, I haven't done what your talking about, but I would have to guess no on the multitasking of VB and certainly RSLinx is communicating serially (one bit at a time) to your PLC so it can't happen simultaneously regardless of what VB does. I would imagine though that the delay between the trigger and the actual data retrieval would be very small. If you need to have an exact instantaneous value I would recommend "latching" the value (and possibly a timestamp if needed) in the PLC when the trigger event occurs. Then it really doesn't matter when you get the info to excel as long as it is before the next trigger Best of luck, monkey
  18. Hey Gerry, what sort of "fun" are we talking about. I just got a new laptop with no serial port but I got the above mentioned USB adapter. I haven't had the opportunity to use it yet with Allen Bradley software. Can you give me a heads up as to what type of problems I might encounter. thanks, monkey
  19. Ed, From taking a quick look at the active-x control you referenced, it does indeed look like it can do the job. Assuming you can program VB to use the control, you should be able to extract data from the PLC without using any extra logic in the PLC !! The Standard version ($499) will only work with DF1 point to point using the serial ports on both PLC and PC. The studio version ($999) can use the DH+ port of the PLC leaving the serial port open on the PLC (maybe your testing assembly is communicating through this port already?) But, beware you will need extra hardware on the PC side to use this option (KT card etc) If cost is not an isuue this is probably the better solution. If you use either of these solutions involving the active-x control you should get the data out exactly as it appears in the PLC (the PLC and the Active-X control should handle adding/parsing extra info needed to transfer the data - something you would have to create and do yourself if you didn't use this control) Good Luck, Monkey
  20. Thanks Ron. This is exactly what I was looking for
  21. Null modem

    you can buy a null modem adapter at radio shack for $3.00 ? it comes in very handy if you need to talk to tons of different devices through an RS-232 port. sometimes you need 2-3 cross and sometimes you don't