Jump to content
OMRON Forums

jbeasley

Members
  • Posts

    46
  • Joined

  • Last visited

Everything posted by jbeasley

  1. Maybe I'm missing something but I decided to do some testing on my Power Brick LV with 465 CPU. I have the 4 Servo EtherCAT option and so I purchased a couple of R series Ethercat temposonics rods. We do a lot of hydraulic positioning applications and I wanted something to play around with. When I went to configure EtherCAT I realized that version 4 doesn't support the EtherLab stack. I loaded version 3 and opened system setup. Configured the rod and Loaded the PDO's to the pmac. then went back to IDE 4 terminal and activated EtherCAT. Everything Looks good from an initial setup I have Position and Velocity Feedback. Not really sure about the whole DC thing but I will figure that out as i move forward with ECAT. I was just wondering why you don't include the System Setup Application or at least the Etherlab portion of it in version 4? Is there some other way I should have configured the EtherCAT network and loaded the PDO's that I'm missing? Thanks, John.
  2. I just add those variables to the pp_custom_save.tpl under the configuration folder in the IDE. If i put in P0..100 it will save those variables when a save command is issued and recall them on a reset. Hope that Helps.
  3. Thanks Curt. You nailed it. The problem had to do with the Modbus Register Layout. So in my PLC writing from PMAC to Register 200 actually writes to 201. I have to position data on specific word boundary's for type casting inside the PLC. So I have to write the data into 199 from the PMAC for it to populate register 200 & 201 on the PLC. I also had to set Modbus[0].Config.ServerMode=1 for byte swapping. Once I used ModbusQuery to compare the PMAC HEX to the HEX in the PLC register it was very clear. This is going to be great as my previous iteration of this code on Turbo PMAC i was forced to use implied decimals which works well but is just one more thing to remember when doing calculations to exchange back and forth.
  4. When using ModbusFloatWrite to a PLC that uses the IEEE-754 Floating Point 32-bit Single Precision system for Real Numbers I seem to be loosing something. If I write from a series of P-Var's or an array depending on the number it is sometimes correct and other times wrong. Power PMAC Side P200=15.6789 P201=1000.4567 mb1(0)=4.5 mb1(1)=-10.8 PLC Side MHR200:R=15.625 MHR202:R=1003.45 MHR204:R=4.5 MHR206:R=-10.75 Also why does Power PMAC sometimes convert the variables to something else. I'm guessing it has something to do the floating point accuracy but If i set something to -10.2 why does it then show -10.1999999999 I'm wondering if this is somehow problematic in the 64 to 32 bit floating point conversion? Example: Terminal p300=-10.2 p300 P300=-10.1999999999999993 Thank you, John
  5. jbeasley

    PDK for C++

    Not sure if this helps but looks like someone build a c++ library for ssh. Good luck. https://github.com/Observatory-Sciences/powerPMAC_ssh
  6. System is PowerBrickLV, 8 Channel 5/15 Amp. So I have built a new milling table system and tested it with fully closed loop BLDC Motors and stepper motors. Both systems worked as expected once tuned and programmed. One issue i seem to have with the stepper motor configuration is if I do a reset and save with $$$***, save. Then download my fully working project the motors won't move. I just see a following error develop. If I open the System -> Motors -> 1-5 one at a time and change one thing, for example change my input Voltage by 1 V, and step through each configuration step for the motor saving it and commissioning. Then I download my working configuration everything works fine? I even tried copying the entire systemsetup.cfg to a Global include to force all the parameters back to my working config and it still won't move the motors until I step back through the Motor Setup even though they all show Green and good to go. What variable is getting set to enable the direct micro-stepping that i can't seem to set from a text configuration? Shouldn't I in practice be able to forgo all the GUI system setup options and just pipe in a hard-coded system configuration as a Global include Starting out with sys.WpKey=$AAAAAAAA then save and Comment out the contents of that file and continue with the rest of my programming. Then once everything is tuned and working perfect I can create a new master configuration file from the systemsetup.cfg and make that my fail-safe to reload in the even something gets horribly out of wack? Thanks John.
  7. I have now narrowed it down to the auto connect feature. I had set the Select/Device At Startup to False since I only have the one power pmac controller. If I open my IDE and try the shortcut I get the error. Even though it says communications successful connected in the terminal window. If I click Communications setup, change nothing and click apply. It disconnects and reconnects to the same pmac and the Kill command works fine. No error. Close and reopen. Error again. I went to Tools-->Options-->PowerPMAC-->Communications Setup Set SelectDeviceAtStartup back to True. Closed and reopened, Click Connect when prompted and now everything works fine. Thanks John.
  8. It is specific to the user profile. I removed everything related to the PMAC IDE and then renamed the "C:\Delta Tau" directory to "C:\Delta Tau.OLD" then did a complete install and same problem came up. I then created a new user on the System with Administrative Privileges. Logged in and Opened the PPMAC IDE and the KILL shortcut works fine.
  9. It does the same thing. I used the #*DKill from the terminal and it kills the motors. All other features of the IDE are working fine. Here is the same output with the terminal window open. I ran a few commands. I'm online with the controller. I have been updating motion programs with it and running them no problem. I just get that popup when I hit CTRL-ALT-K. I will try a complete removal of all IDE items and then reinstall and see what happens. Like i said. I ran a clean install on a laptop I use for PLC programming and it works fine no errors but it never had any version of PPMAC IDE installed. Thanks John.
  10. Here is the screen shot. Yes both Computers were accessing the same Power PMAC BrickLV Controller. No changes at all to the Controller or Control Program. All other functions work fine. I didn't notice it until I tried to kill a jog move. Then the error popped up and the motor kept running so I had to run over and e-stop the machine. Attached is the picture.
  11. This is kind of a deal breaker. Object reference not set to instance of an object. Comes up on CTRL-ALT-K and when selecting it from the Menu List. Ran Full install on two workstations same result on both. I did a uninstall of the last version and an install of the new version. Rolled back to (4.3.0.107) worked fine. Tried just the update patch and same result? Removed and reinstalled 4.3.0.107 and everything is working fine? For comparison I did a clean install on Windows 7 of 4.3.2.19 and it works fine no error? Thanks John.
  12. I am reworking an application I wrote that pulls data from DPRAM on a Turbo PMAC 2 using the GETMEM ethernet protocol and displays the axis data on a PC. Currently I have a PLC that populates M-VAR's that point to User DPR and I pulled those bytes down. I was working with the Background Motor reporting feature and ran into an issue with the Following Error. For clarification I created a following error that is exactly the same as the master position so i could compare the bytes in the DPR viewer and i'm not sure why they show FF? I attached a picture to show what i'm seeing. The MSbyte @ offset 0x0074 is FF when it should be 0C? The reporting works fine on the Master Position. @ offset 0x009C you can see it is $0C99 It is odd because i was doing #1j:1000 and it seems to work at some points and then add's the FF at others then goes back to a correct reading on the next #1j:1000? I'm sure there is something i'm missing but I was hoping for clarification? Thank You.
  13. Richard, I understand and appreciate your position. This is for my personal use to learn the power pmac system and to build an upgrade path for or production systems at work. We currently use turbo pmac2 UMAC systems with the dpr option. We have one PC104 system that handles the motion triggers and calibrations and then another Ethernet solution that I developed using a custom interface between an Automation Direct Do-More PLC and your DPR GETMEM, SETMEM with a PLC that passes the M-Vars back and forth. These systems have been bullet proof for us and I needed a way to build an application that would work on the new Power Pmac before I can get my Boss to invest in the upgrade path. A lot of the integrators in the sawmill world push RMC's but I would prefer to stick with the Delta Tau products. Thanks again.
  14. Eric, Thank you for the clarification. I was able to successfully commutate and tune my brushless motor last night. The new wizard makes this a lot easier and quicker than the manual setup on the Turbo and the automatic current and position tuning seems to be a little more accurate than the Pro2 Tune. Thanks Again.
  15. Received the unit and got it fired up. I attached a screenshot of the Task Manager CPU info for anyone who is curious. Still wondering about the Encoder inputs but I guess i'll find out when i start connecting thing up. For Those who are interested I believe this is a 465 CPU and it has 1 GB of RAM. Still curious about the unique part number if anyone knows.
  16. I purchased a PowerBrick LV from Ebay that has a Processor Number that is not defined in the manual. PBL8-PA0-320-5E05000. Question 1: What Processor is the "PA0" and will it work with the standard IDE. Question 2: 5E05000 - The K option 5 is for 1-8 Axis Sinusoidal Encoder Option. My current BLDC Motors are standard Quadrature TTL Encoders. The Manual States:"Quadrature encoders can be wired in and processed regardless of the encoder feedback option(s) the Power Brick LV is ordered with." Does this mean the variable settings define the Encoder Signal Processing and as Long as I don't enable Sinusoidal processing I'm good to go. Thank You for your time.
  17. Steve, Just thought I would post that I figured out my issue. It turned out the the phase leads on the motor I was using where not labeled correctly. I swapped two of the phases and open loop worked right away. All my commutation settings where correct I just didn't have the motor connected correctly. I was trusting that the wire labels on the motor leads where correct. I tuned my current loop and then figured out the hall effect sensors. I used HallsUVW to setup my power on phase positioning. Then ran the Auto tune and fine tuned the gains that motor is working perfect. Thank You, John Beasley
  18. Steve, Thank you for your reply. The GEO MACRO DRIVE manual is the one I was using and I did the original setup based on the brushless motor portion of the manual. After that did not work I started reading the commutation section of the Turbo PMAC User guide and then after many hours of unsuccessful commutation attempts I went on to look through the forum and other manuals and settings to see if there was anything I could gleam useful. Again I tried the manual example below and the motor steps through once revolution when this is run 5 times. As I understand from the manual that if 1 step of this = 1/2 Turn that is a 4 pole motor. So if 1 step of this = 1/5 Turn Then I must have a 10 pole motor and i270 should be set = 5. Also my encoder is equal to 1000 counts per revolution *32 for the Macro drive and that should be i271=32,000. My phase angle i272 is set to 1365. My comutation i201=3 so it will look at the Y register of i283 which is set to the macro node $78424 and I am monitoring that with M variable 201 and it represents 32000 counts per rotation when manually moved or if the program below is cycled 5 times. m202=0 m204=i6800/10 m207=-i6800/10 ; Step 1: A0, B+, C-: 0oelec. m202=i6800/10 m204=0 m207=-i6800/10 ; Step 2: A+, B0, C-: 60oelec. m202=i6800/10 m204=-i6800/10 m207=0 ; Step 3: A+, B-, C0: 120oelec. m202=0 m204=-i6800/10 m207=i6800/10 ; Step 4: A0, B-, C+: +180oelec. m202=-i6800/10 m204=0 m207=i6800/10 ; Step 5: A-, B0, C+: -120oelec. m202=-i6800/10 m204=i6800/10 m207=0 ; Step 6: A-, B+, C0: -60oelec. m202=0 m204=i6800/10 m207=-i6800/10 ; Step 1: A0, B+, C-: 0oelec. On thing I don't understand is how the M-Vars m204,m205 and 207,m206 are set the same based on the Example in the manual? Once I apply the M-Var Definitions below. M201->Y:$078424,0,24,S ; Channel 2 Encoder position register (read only) M202->Y:$078424,8,16,S ; Channel 2 PWM Phase A command value (write only) M204->Y:$078425,8,16,S ; Channel 2 PWM Phase B command value (write only) M207->Y:$078426,8,16,S ; Channel 2 PWM Phase C command value (write only) M205->Y:$078425,8,16,S ; Channel 2 Phase A ADC input value (read only) M206->Y:$078426,8,16,S ; Channel 2 Phase B ADC input value (read only) M214->X:$003441,14 ; Channel 2 Amp Enable command bit m202 is always at -8, m204,m205 bounces between -16/-48 all the time, m206,207 bounces between +16,48 Even when the motor and commutation variables are set to 0. They still bounce and unlike the manual when I write 0 values into them the motor rests but those values are never displayed in my M-Variables. I'm assuming the processor is handling some type of read write function over MACRO where a read to that location returns the ADC value and a write to it sends a PWM command value. That is just my assumption. When running the code above the M-Vars reports feedback values from the ADC that I push into the variables but never truly represent the value i write into the m202,m204,m207 but i know that is working because the motor rotates based on the PLC i wrote that adds 1 second delay at each electrical cycle and a 3 second delay before running it again. If everything is enabled and i issue a #2o5 command. The variables seem to lock in but i would expect them to shift in order to commutate the motor? M202= -4 M204 =800 to 864 (bouncing) m206 =-1360 to -1408 (bouncing) again m204,m205 and m206,207 read the same in the watch window. Again. I'm sure I am missing some small setting somewhere but am not sure what that is. Is there a frequency setting for the commutation? Is it possible the commutation is running so fast it locks in or is not even stepping through the commutation cycle? I appreciate your time. John.
  19. Update. I connected the drive to 240 Volts Single Phase AC as specified in the manual. I assumed since i was driving such a small motor that rectifying 120 Volts would be sufficient on the DC bus to drive the motor. I also found a post that stated the Geo Drive had a fixed value for computing Ixx66 so I recalculated the value based on my motors and attempted to do an open loop move. I still only get a slight movement in the rotor that is reflected on the position screen but instead of vibrating now the motor locks into position and does not vibrate but still does not rotate. I also changed the Commutation position back to the default counts memory location. I better understand why the commutation counts need to be multiplied up because it is looking at the raw counts and not the encoder conversion table. I just wanted to update the Voltage and Settings for anyone that might have an idea what i am doing wrong.
  20. I have followed all the manual information and information i could find online before posting here. I am trying to setup a Geo Macro Drive from an Ethernet Ultralite Control. I have the initial MACRO configuration up and working but cannot seem to drive the motor correctly. I am able to see my encoder counts (1000 pulse per revolution). I also have my hall effect inputs wired in (I am not sure these are in the correct order as they are not labeled but i do see them change when manually moving the motor). I figured once i was able to have the motor running I could plot the hall inputs and figure out which is which. The motors are only 24 volt 3 phase BLDC Nema 24 type motors. I have the drive hooked up to 120 volt and used Ixx66 to limit the voltage. According to the I6800* MotorVoltage/BusVoltage calculation. I have tuned the current loop per another post i found and gotten an acceptable result based on the graphic in the Brick LV manual. These are my current I variables that should matter for this post. I201 = 3; commutation enabled at macro ;The following have been played with quite a bit and it still does not work. I270 = 5; I counted the poles based on shaft rotation at it feels like 5 pairs. I271 = 100; 100 pulses per N at 1000 pulses per commutation. I272 = 1365 ; If i set it to 683 it faults the drive with over current. I can re-tune my current gains but it still doesn't work. I282 = $78426 I283 = $3504 ; Encoder Channel for Macro #2 I284 = $FFF000 If i try to open loop the motor it just vibrates the shaft back and forth. I can modify the number of poles vs commutaion counts per N and get different vibrations even one that roughly steps through a rotation. I wrote a manual PLC to step through the commutation by disabling the motor and commutation and pushing values into the 3 PWM registers and I can get the motor to rotate although it looks more like a rough stepper motor when rotating through the phases. I know my amplifier is able to output the PWM signal to the drive as i checked for output with an oscilloscope on each leg to ground. As i understand the operation of this amplifier it should be outputting a holding voltage and then a sinusoidal wave on top of that to move the motor when the loop is closed. Any additional advice as to what i am doing wrong would be appreciated. I am wondering if there is some MACRO variables inside the drive that need to be set that i am missing?
×
×
  • Create New...