Jump to content
OMRON Forums

Unit101

Omron
  • Posts

    143
  • Joined

  • Last visited

Everything posted by Unit101

  1. Unit101

    % Feedrate

    Yes I agree 110% that need to use caution with blocking logic like a while loop. I did not show more code that I would normally have for timeout. I don't like using just timers to wait a few seconds... this is quick and dirty code fine for testing but in real production can be very costly wasting time every time or not working well because time is too short. Much better to work with real events such as monitor the CS In position then use time. However need to prevent it from blocking so I would add some logic to timeout in case of problem. I like to dedicate one timeout counter to each plc, since each plc could have only one while loop at a time blocking... so I do it like this... #define plc6_counter P41 plc6_counter = 1 while(M5187 = 0 AND plc6_counter < 50 AND fault = 0) ;here inside the while loop Delay1 = 1000 msec1 ;wait for 1 second endwhile plc6_counter = 0 NOW in a different PLC - that I only use for Timers/Counters... this PLC is never blocked by while loops. It is used to increment counters every so often... so they can be used as above. In this PLC I would increment the plc6_counter by 1 every 10th of second IF it is greater than 0. So by setting to 1 - activates it and the timer plc will increment by 1 every 10th of second. So the above while loop would exit with timeout after waiting about 5 seconds at the most... after exiting you can look at the counter and determine if it timed out or all is cool and act accordingly. There are for sure many other ways to do this... but this is my basic project logic used in all my programs. I be glad to send you more example code of the timer plc if you need.
  2. Unit101

    % Feedrate

    Yep... Do a Hold to get nice controlled stop, then when stopped Abort. Couple ways to wait for stop, one way is to look at the in position bit of the CS and for this should work fine E.G code could look like this: M5187->Y:$00203F,17,1 ; &1 In-position bit (AND of motors) #define Delay1 i6512 #define msec1 *8388608/I10while(i6512>0)Endw ... in your PLC.... to stop and abort might look like this... cmd"&1H" ;Decel CS1 to Hold Delay1= 1000 msec1 ;wait 1 second while(M5187= 0) ; here while the CS1 is still moving axes to stop Delay1= 1000 msec1 ;wait 1 second each time checking endwhile Delay1= 1000 msec1 ;wait 1 second ;here when CS1 has stopped all the axes cmd"&1A" ;abort the program running in CS1
  3. Unit101

    % Feedrate

    -Several ways to stop a program - -Abort will work fine - be sure to read in manual how it handles the decel to stop and stop position. -Some may use the "H" to better control decel, then after done issue a Abort command. - Also the Q or quit command can be used.... - all will work and bring it to a stop in bit different ways, I suggest you read about them in manual and pick/setup the one that works best -often the Abort is used for emergency type stopping -Note that a CTRL A - Stops ALL CS programs (even though you only have one... and it ALSO brings any Killed motors to Enabled state in those CS's. --- So a CTRL A does NOT KILL MOTORS... - you could use "H" - wait for motion to stop then "A" to abort the program then "CTRL K" to kill all motors ... just depends on how much you want to abort, stop... kill motors ??? --do not use I5198 to control feedrate... use the feedrate command % instead - if easier in your program you can setup a Mvar in your program and use that to control the feedrate, it is the same as the % command E.G. M5197->X:$2000,0,24,s ;cs1 feedrate M5197= 100*I10/100 //this sets CS1 Feedrate to 100% M5197= 50*I10/100 //this sets CS1 Feedrate to 50% --- this is handy if for example you have a feed pot or user input that they change while running to adjust the feedrate... just a different way to do the same thing...
  4. Unit101

    % Feedrate

    Hello, First I5198 is not intended for this purpose - it is the CS Max Feedrate value. It is used when running motion programs to setup a Max value usually by the machine builder so that no user will exceed this rate in his downloaded motion programs. Using it for changing the feedrate WHILE the program is executing will not give you the results you want when you want them. It does not effect ALL motion commands and often when you change this value other motion cmds have already been processed, so you will not see smooth results you want. This parameter is most often set ONCE to limit feedrates and left alone. There are several other ways to control feedrate WHILE a program is executing... -using the % Command is fine and can be changed at any time while running a program -if you want to get a controlled stop in middle of program execution the best approach is to use the "H" command for Hold - this will bring the motion to a controlled stop, you can leave the % command alone, when you want to start again send the "R" run command and machine will accelerate to the currently set % value of Feedrate. This is similar to the %0 command but not the same. -There are other commands and methods to do what you ask, but the "H" command is most often used. -Look in the Turbo Software Reference Manual Page 352 under the "H" Feedhold command for more details and references to other commands that do similar. Let us know if this works for you or need more clarification.
  5. Hi Ian, I don't know the expert or official answer to your question. But I have been using PMAC's for 10+ years and done 1000's of downloads, uploads using the serial ports. I NEVER use the checksum... and I have NEVER had a failure. I'm not sure how it is implemented in the PMAC software but it is so crippling that it has not use as far as I'm concerned. I think the serial comms are fine for many applications that only require basic talking to the PMAC. It is also possible to connect those PMAC's to PC104 bus type PC... these are still readily available and people who use them love them, I know several large machine builders that still use PC104 based systems. The PC104 backplane is same as ISA so it just works. However my opinion the PMAC's are not worth much for new projects unless they are for your own machines then they are great, but to someone else who can buy a Clipper for $1000 why would they buy a old PMAC ISA that may not even be repairable if it breaks ? They are however worth a lot on the market for existing PMAC PC users... they can get $1000 - $3000 easily.
  6. While the application is running right click the tray icon and hit ‘Transfer License’. It will bring up a dialog with instructions……
  7. Please see the attached document that explains how to Upload the Full PMAC program and parameters from an existing card and how to Download to a new card. If you need to download the PeWiin Exec software the latest version can be found on the www.deltatau.com website under support - downloads - 30 Day Trial software - PMAC Executive Pro 2 Suite. http://www.deltatau.com/common/support/downloads.asp?connectionStr=release
  8. While the application is running right click the tray icon and hit ‘Transfer License’. It will bring up a dialog with instructions……
  9. Updated the document for some new connectors recently added to Bricks.
  10. Hello, I have not looked closely at what motion profile you are trying to create and I suspect the problem is either in your profile or how your telling the pmac to execute the motion... e.g blending on/off, lookahead... But using simple divide and conquer method.. first lets be sure that the Rot Buf and working with the streaming from you HMI is not the issue.... so I suggest that you simply create the entire profile as hard coded motion program, or enough of the profile to test the section of motion that is Juddering. Then just download this to PMAC, and execute in manually in the PMAC... no HMI or rotary buffers involved... Now see if the motion is still not good... assuming it is we have at least narrowed it down... next we look at the CS setup in the PMAC and the actual commanded profile itself.
  11. Great... you are very welcome. Let us know if need more ideas or support. Cheers...
  12. First no dim question for sure... only dim or dumb question is the one you don't ask... in fact this is a good one. One way to achieve what I think you want is like this: -setup Binary Rotary Buffer - this uses the DPram for the rotary buffer -on the PMAC side have some PLC that initializes the buffer, opens it and sets the CS to RUN -Now the buffer is OPEN and ready to run, nothing is happening because there is nothing in the buffer -Now on the HMI side you can start to put data in the buffer -as you put each line in the CS will execute the moves -obviously if you put the moves in quicker then it can execute the buffer will fill up, you can watch this and control on your HMI when you add more lines to execute -if the HMI stops sending data... the CS will simply stop at end of last move and wait for more... -this will continue until you tell the CS to Abort running the program and close the buffer .... I have done this exact application on several CNC type machines and it works perfectly... it allows you to stream the data and have in my case NC files that are huge with 100,000's lines to execute Attached is a VS2005 C# sample application that shows how to setup and use the Binary Rotary Buffer, it also shows how to watch the buffer and stop sending when it fills up. Run the example, select the Binary buffer type and select the Large CNC file for example... it has 1000's of lines... from this example you should be able to do as I mentioned above... If you need more help let us know. You can contact me directly at mesposito@deltatau.com
  13. Hi Chris, I have seen this exact issue, here are my notes on this from my project. Let me know if you need more help. mike case -70: //"RS274 to BIN DPR or PMAC Rotary Buffer Size Err" //-this occurs if device properties Dpram Rot buffer not setup //-this occurs if pcommserver is up and pmac power cycles - dpram not setup so must restart pcommserver after pmac is up and running errStr = "RS274 to BIN DPR or PMAC Rotary Buffer Size Err\n"; break;[hr] Hi Chris... I also have these notes... most from manual but a couple are not documented... these are tested and true. Let me know if you need any sample code working with the Rotary buffers... they are tricky, if you get it right they work perfect 100%... but if not they can be troublesome. For example be sure you clear the buffer several times in a loop and chk to be sure it is clear before you load to it.... Following are the list of errors: IDS_ERR_059 -59 "RS274 to BIN DPROT Unable to allocate memory" IDS_ERR_060 -60 "RS274 to BIN DPROT Unable to pack floating point number" IDS_ERR_061 -61 "RS274 to BIN DPROT Unable to convert string to float number" IDS_ERR_062 -62 "RS274 to BIN DPROT Illegal Command or Format in string" IDS_ERR_063 -63 "RS274 to BIN DPROT Integer number out of range" DprError -1 Dpr either not present of Rotary buffer not defined DprOk 0 The code was successfully sent to DPR DprBufBsy 1 DPR Binary Rotary Buffer is Busy, please try again soon. Also, PMAC may stop running the program for a variety of reasons. When this occurs, the DPR Rotary Buffer will fill up and appear busy to the PC DprEOF 2 DPR Binary Rotary Buffer End of File detected
  14. This issue can show itself several ways: -Problems uploading lots of data from PMAC. -Use PeWinPro2 - Try to Upload 1000+ Ivars at one time, the upload runs but there is no data in the opened text window. Try to upload 100 Ivars and it works fine. -Using PcommServer with Upload function, may not get all the data requested from the Upload. -However the upload seems fine if using USB instead of Ethernet connection. One cause of this problem is that some other installed software program on your system has lowered the MTU (Max Transfer Unit) settings of your Ethernet connections. One common offender of this is the Cisco VPN Client software. These changes are left over from Phone Modem connection days gone by and used to improve the communications. This MTU does NOT need to be modified for most communications today and in this case does not allow the PMAC to send larger data sets to the PC. With this MTU lower than default the PMAC can not transfer larger blocks of information such as 8191 Ivars at one time. The variables and data can still be transferred but must be done in smaller blocks. These settings are controlled in your Windows Registry. If the Cisco VPN Client is the cause, it comes with a Set MTU program that is installed along with the Client, simply run this and set the MTU for ALL communication channels to the Default setting that is offers, reboot your PC and PMAC. Other programs such a TweakMaster PRO will help to change the MTU settings of your system. This can be manually done in the registry but here we don't try to show how because systems can vary and if done improperly harm to the system can be done. If you need more help please feel free to contact DT Support and refer to this forum post.
  15. Hello SimonD, I'm not the stepper guru but have done several apps with PMAC controlled Steppers. Attached is the document I think will answer all your questions. It includes a full Micro Stepping example, I have followed this and it works well. [attachment=1377:name] As far as you hunting question: This can be controlled in the PMAC by used of parameter Ixx28 Motor xx In-Position Band Ixx28 specifies the magnitude of the maximum following error at which Motor xx will be considered “in position” when not performing a move. So by setting this you can prevent the PMAC from hunting in between your mechanical steps because resolution is higher.
  16. [quote='caslen' pid='567' dateline='1280134848'] Unit101, thanks for that - glad to know I'm not the only one looking at this problem! I don't have VS2010 C# or any way of compiling your example but I'll have a look through it and see if I can't figure out what you have done, I'll email you directly with more questions if thats OK... Cheers! [/quote] What Programming enviroment are you using ? You should be able to look thru the code and see what is going on I went to extra effort to comment it thouroughly. Feel free to email or give me a call to discuss, a 5 min phone call I can more completely explain what I have seen, tested and worked on.
  17. PcommServer works fine with VS2010 and .NET 4.0. However there have been some changes to how .NET 4.o works with PIA (Primary Interop Assembly). -It is now possible to have the PIA embedded which eliminates having to distributre the Interop.PCOMMSERVERLib.dll with your application. But to do this you have to change how your reference the PcommServer object in your application, all the methods in the PSever will work fine BUT the Event handling will NOT work. -I recommend that you do NOT use this new feature in .NET 4. If you do not use this "embeded PIA" the PServer will function with both methods and events as we before. However by default this feature is ENABLED and you will get compiler errors, so you need to turn this off. Right Click on PCOMMSERVERLIB in References and set the Embed Interop to FALSE. -I have attached a sample application written using VS2010 C# that has full documentation and explanation. It demonstrates robust communication with the PMAC, Status checking and EVENT handling all with .NET 4.0 and the existing PCOMMServer. [attachment=1371:name]
  18. I have spent many hours working on this exact issue. I have created a demo application using VS2010 C# that fully documents exactly how to make your application robust and handle the case where comms with the PMAC are lost. It will handle USB, Ethernet or Serial type comms all the same. It demonstrates how to periodacally check for communications with the PMAC, if it is lost it shows how to recover. What I have found with testing (I unplug the USB cable and plug it back in) is that most of the time it can recover on it's own. There are a couple ways it can recover, often when you plug it back in Windows sees the USB again and it is fine, if not the application will automatically KILL the PcommServer Process, restart it and connect to the PMAC. The application also shows how to make your app more robust by properly checking the status response from the PMAC after a call. Also it shows how to setup and work with software EVENTS in the PcommServer. Please download the attached example, it is fully commented in the source. Even though this is VS2010 C# the logic will work with older IDE's and VB or C++ as well. Let me know if you need more details. I tried to attach the example but for some reason the forum would let it show up... simply email or call me to get the code and more help as needed... [attachment=1370:name] mesposito@deltatau.com 919.374.3002
  19. Congrats on figuring out the problem. Do you still need help with Win95/98 driver to talk to PMAC over the PC bus ? If so let me know.... What version of PeWin are you running ? 2.38 windows, v1.11 Dos ?
  20. [quote='kalensino' pid='412' dateline='1274095319'] Where can i find the PROG 1000 (G-CODE Subprogram) to download?? [/quote] I have attached another simplified version of Program1000 as well as Program 1001 for Mcodes. These are very basic and as Sina said many codes will vary depending on your actual machine. But this give you a idea of how they work and get started. I also attached another G-Code Explanation doc from DT documentation with lots of example Gcodes and good explanation of each. If you have any more specific needs or questions just ask...[hr] Another File with simple example Gcode sub-routines.
  21. Update 5/12/2010 to install Pewin Pro2. I had a new install of Win7 to install Pewin on and took a more logical approach this time and it installed perfect first try. 1. Started with new fresh install on Win7 Ultimate 64bit 2. Downloaded from DT website PewinPro2 Suite v4.2.11.0 (3/11/10) 3. Installed with defaults 4. With USB plugged into a Geo Brick connected USB to PC -it found and installed driver for ACC-54E, which does NOT work 5. Unplugged USB, make sure ACC-54E is gone from device mgr 5. Downloaded 64bit drivers from DT site, Installed with all defaults 6. Win7 Restart, Geo Brick Power cycle 7. Plugged in USB to PC - it sees and installs proper driver OK -in Computer - Device Manager - Motion Controllers - Delta Tau UMAC USB 2.0 Device 8. Started Pewin - Setup - General - Select - Insert - USB 9. Now all works fine... So I think proper procedure is to First install Pewin suite, Next install 64bit driver, Restart windows - plug in USB from PMAC device - should create in Device Mgr - Motion Controllers - Delta Tau UMAC USB 2.0 Device Let me know if you have any questions: mesposito@deltatau.com
  22. 04/06/10 I have not seen any discussion on this subject yet nor any official releases from Factory on Win7 support. The following is my experience getting it to work. My System: -Macbook Pro, BootCamp 3.1, Win7 Ultimate 64bit -First Download and install latest Pewin Pro2 Suite from DT website -I downloaded v4.2.11.0, installed with no problems -Next download the 64bit drivers from DTau website "DT64bitDrivers.zip" -I downloaded these to a directory, unzipped and ran the setup.exe -Next started PeWin with no problems -Connected a Geo Brick with USB to PC, Win7 tried but failed driver install -It showed up in Device Mgr as a ACC54E USB device and no driver found -I uninstalled the DT 64bit driver, just run the setup.exe again and select the uninstall option -Reinstall DT 64bit driver, it shows a path to install to but I never found any drivers installed to that path ? I tried to tell it to go to a different directory but this did not happen, I searched PC for the driver it said installed but never found it ? -I power cycled the Brick and unplugged the Usb several times, uninstalling the failing driver in Device Mgr, this did not help -After 3 times uninstall/reinstall DT64bit driver, the Driver installed fine -Now in Device Mgr I have a Motion Controllers Group with "Delta Tau UMAC USB 2.0 Device" in it -Now it is all working fine. -I tested with a SIIG USB to Serial Adapter - Part #: JU-CB1S12-S3 Hardware V3 - Win7 found driver for this no problem - Started PeWin, Installed New PMAC Device SER3, Com3 - talked to Brick with no problems -I tested with Ethernet connection to Brick -Started PeWin, Installed New PMAC Device Eth with IP -this worked fine, could talk to Brick with no problems -Now See 2 PMAC Driver files in \Windows\System32\Drivers PmacPCI.sys 3/30/2009 2:37 PM 44KB pmacusb.sys 3/30/2009 2:37 PM 43KB -So once I got the USB driver to be properly recognized and show up under a "Motion Controllers" Group in the Device Mgr all is working fine. I'm not sure what it took to make this happen, perhaps with more installs we can figure out the proper procedure to make it work first time every time. -Please add you comments or what you have found to work. I'm sure that soon the Factory will also create a official Win7 Support document.
  23. Yes... Brillant ! Much cleaner. Wow the Kin and Lookahead features are way cool to solve such problems. I updated by Kin Doc with your solution. Thanks.... 12/14/12 Updated the PDF with some extra notes in section of PMAC Laser example concerning "Pmac Predict Future" logic.
  24. Attached is a document created to explain basic usage of the Kinematic buffers in the PMAC. It of course does not replace the documentation in manuals. But it does show some actual code and usage for these buffers. It also illustrates how the Kinematic feature in PMAC can be used to solve other application needs such as keeping one axis tangent to 2 others. Or predicting the future by setting an output to a value in future of it's actually being needed to allow for delays in the output response such as a laser being controlled by a analog output. Simply upload the attached document. Hope this helps...
×
×
  • Create New...