lamboom

MrPLC Member
  • Content count

    130
  • Joined

  • Last visited

Community Reputation

2 Neutral

About lamboom

  • Rank
    Sparky

Profile Information

  • Country United States
  1. Contacting Tsunagi Lab in Japan

    More Update.. I'm not using the drive in it's streaming configuration mode, but only as a slave in a basic Motion Control Mode.  The MC_SyncMoveAbsolute fb does successfully provide streaming position data to the drive:                        more later...........  
  2. Now, I'm thinking the ramp (Offset) ought to be in the ST curve program.. Do away with the MC_Move Absolute & just make it part of the curve equation (hate it when "just" gets used in a sentence) It seemed easier to use one of the MC fb's ..   Fine, I'll "Just" write an Offset routine into the curve equation. Unless you know of a better way ........Perhaps: MC_SyncOffsetPosition fb ?
  3. I'm trying to ramp up from zero to enable a NJ calculated random curve to never produce a negative position point:                                                     Calling the move "Offset", and using a MC_MoveAbsolute fb, the idea is to trigger the curve generating ST to start when the move reached 50mm.  (Wanted the variable "Ready" to go TRUE at the end of the ramp to 50mm)  .. Then, MC_SyncMoveAbsolute fb would continue from there, sending streaming position data to the LinMot Linear motor. As seen above. But, there's a problem.  Initially, I used the MCMoveAbsolute.Done to start the ST curve move sequence, which also ramps amplitude from zero, over a period of 3 seconds: Offset + [(a number that goes from 0 to 1.0 in 3 seconds) * (the mathematically generated position curve)]   The result is a "clunk" at the transition of the end of the ramp and the start of the curve. Not sure when "Done" happens... started to think perhaps it's when the fb is finished making the command to move, and not when the move has actually finished. So I tried an IF_THAN:                    That was kinda silly, because the ramp final position never reached 50mm ... "Ready" never set to TRUE ...  close, but no cigar. So the next step was use a Round instruction that actually monitors the position of the slider: and a EQ instruction that compares the two, and issues a "Ready" command to start curve the curve program:                  This produced the Minor Fault:  Axis 0x543B0000 Motion Control Instruction Re-Exicution Disabled Now I'm thinking this can't work because "Ready" will only be TRUE when the the curve hits 50mm (which is quite often, after it starts running ... 50mm being the new zero) However, It did start the curve sequence.. but nothing moved because of the fault... Soooo.. The question is: How can I do a smooth transition from the end of an Offset move to the start of the curve?  Or.. better still...How is an "Offset" normally done to any curve generating routine? Thanks much, Regards, Michael PS:   Here's a look at what's happening when I tried using State Tracker... and something to compare actual position at the end of the Offset move, and the start of the random sea curve: https://www.youtube.com/embed/BdpvC1yyKxU?rel=0&controls=0&showinfo=0      RSStart is the variable that powers the Random Sea ST program, and the SyncMoveAbsolute fb that drives the motor.  Cycle time is 1ms.  Probably would be quieter if I could 500us .. but the NJ is only a 101-1000               FYI... Delta Motion's RMC75E Motion Controller can make the Random Sea using LinMot's B1100-VF drive .. as quiet as a mouse.  But then, I think that controller has a cycle time of 1us!   Wondering if there's a problem with Direction or BufferMode:    _emc_Direction#_mcNoDirection or _eMC_Buffer_Mode#_mcAborting ????  Thanks for any ideas on the "Clunk" ... I may have to live with the "singing" ... sniff!  .... or use a Delta Motion Motion Controller ..      
  4. Omron NJ and EtherCAT LinMot Drive

    Even more UPDATE..    I've managed to acquire a LinMot DS XC drive (CoE402) Incredible as it might seem, the Omron NJ can create an infinitely long "Random Sea" position curve using the Drive as a slave:                         I am not configuring the drive for Streaming Mode .. It is configured "Motion Command Interface" as a typical slave .. like the Omron G5 Servo motor. However I'm having a small problem when that offset ramp reaches 50mm, and the curve starts at 50 and slowly builds to full height..  there is a "jump" at that point..which will become a thread soon, if I can't fix it...  
  5. Omron NJ and EtherCAT LinMot Drive

    UPDATE...The LinMot drive C1250-DS-XC is working well connected to the NJ's EtherCAT port..  Basic power-on, homing and move operations are working using the Sysmac FB's. The big test is Position data Streaming ... with the MC_SyncMoveAbsolute FB ... Working on it ...
  6. WOOT! .....    I tried it (unchecked Do not transfer the EtherNet/IP connection settings ) .. and it worked!   then came back to the forum to tell you... and you had already replied ... That's a great suggestion.. "Transfer FROM Controller"  Will do that in the future... Life has meaning again. Now off to try Streaming... which will use your brilliant sine wave summing Structured text program with MC_SyncMoveAbsolute  FB To be continued ...
  7. Hi ... Thanks again .. I did look there.  Nothing left.  and the "Transfer to Controller" button is greyed out... not available. Is it possible that when I synchronized this new project ... the new (empty: tag sets: 0/32 & Tags 0/256) didn't sync because the little check box window:   Do not transfer the EtherNet/IP connection settings ….  My transfer had that box “checked"   .. which would suggest the old settings, from the previous program might still be in there?
  8. Contacting Tsunagi Lab in Japan

    UPDATE:  Tsunagi Lab hasn't tested that drive .. I have acquired one... and so far,  it is working well with the NJ.. am about to try Streaming position data .. will let you know if it works.. To be continued.......
  9. UPDATE... The HMI is now working... not sure why (DUH) .. Looks like that problem wasn't related to the Tag Name Resolution Error ... which is still there... sigh.
  10. I just loaded a demo program from LinMot for E/CAT control of one of their drives.   It's quite simple,  it shows various ways of power on, homing, and a move for their linear motor.  it included 3 ladder programs, and 2 structured text programs as examples.   I selected one ladder, and deleted the other 4 (there would have been serious errors and warnings if the full example program had been installed) Here it is:    http://download.linmot.com/plc_lib/preliminary/Omron/LinMot_Demo4SysmacNJ_prjDS402.smc2 I installed this program into the NJ, and discovered only the following internal & external variables:   As you can see at the top (internals) the main command variables (cmdPowerDS, cmdDriveHomeDS & cmdMoveDS) initiate the critical first important functions...yet they are not Global Variables, and no reference was made to managing them via digital I/O's or HMI    It's one of those "examples" where if you don't understand it, you should be doing something else with your life.. There is an instruction of sorts provided by LinMot: 0185-1120-E_0V6_AN_PLC_Commissioning_CoE-DS402.pdf All of this is provided for a "Big Picture" of what's going on...   previously there was a project with this NJ where I attempted to stream position data via the E/IP port to a LinMot E/IP drive (there are posts about it on this forum) .. that attempt, in spite of helpful suggestions from Forum members, ... failed.  (Members were correct in their skepticism that it wouldn't work) After synchronizing and installing this new project, in which the drive is connected to the E/CAT port, and the HMI and a E/IP switch is connected to the E/IP port.. synchronization is achieved using E/IP with a hub... and works fine... sorta of. There is a Net error ..blinking red LED on the E/IP port, and a minor fault red blinking on the NJ statue LED's:  minor fault, reported as:  Ethernet/IP - CIP  event code 0x34270000 "Tag name resolution error" this a mystery  .. there are no tags in this program (tho there were some in the previous program which used the E/IP network to manage a LinMot drive (unsuccessfully for streaming .. but worked well for everything else desired... power on, home, moves, jog .. etc) 3 causes were listed: (1)The size of the network variable is different from the tag settings. (2) The I/O direction set for a tag data link and the I/O direction of the controller variable do not mach (3) There are no network variables for the controller tag settings. Does something need to be reset to factory specs that I don't know about? Is this a problem caused by the previous program? By the way .. I can manually force those three internal variables true by going on line .. the linear motor powers up, homes and moves in a cyclic sine wave 50mm ..  So, I made the 3 variables "Global" , and verified they were in the CPU's variable list, and added some buttons to the HMI Page .. an' the buttons had no effect ... so far, the HMI cannot control this example program .. is that because of the Tag resolution error?  
  11. I would like to verify that connectivity will not be an issue with a non-Omron EtherCAT drive ... especially in the area of streaming position data.   Does anyone here know how to do that? Specifically .. the compatibility between Omron's NJ101-1000, ver. 1.0,  and the LinMot, EtherCAT CoE402 drive: C1250-DS-XC      A lot of people think it will work, or "should work" ... But the failure of the NJ to stream position data via E/IP to a LinMot Ethernet/IP drive designed to receive streaming over E/IP (Rockwell' Allen Bradley PLC can do it)  ... has caused some concern .... I would like to be sure that these devices are compatible.    Thanks much....
  12. Omron NJ and EtherCAT LinMot Drive

    PS:   In other words ... "high performance" is not really required...  but some level of performance would be nice...
  13. Omron NJ and EtherCAT LinMot Drive

    Hi  MotionControl.CAT ... Thanks much for your info..  I have quite a love for LinMot drives, and when I discovered the NJ, I just had to find out if they would work well together. It looks like the E/IP port is useful for simple tag based applications using the LinMot linear motor.  The only reason I wanted to use the E/IP port for streaming position data... is because it was there, and I had an E/IP drive. (which is designed for streaming via E/IP)  You aren't the first to try and pound some sense into my desire to answer that initial NJ/LinMot/EIP streaming question.  But, In my defense, Rockwell (Allen Bradley) has managed to do it using some clever Function Block and the drive's EDS file.. (it's beyond my limited ability to grasp .. sadly, I'm quite green when it comes to this technology) I am aware of Tsunagi Labs .. and, it was suggested that I apply for an opinion from them.   However, I felt this E/IP thing didn't merit that level of attention by Omron.  I will continue to investigate the NJ's EtherCAT compatibility with the LinMot "DS402" drive  (C1250-DS-XC ..their model no.)     My use requirements are very reasonable, and not demanding in accuracy ... I'm just trying to make waves in a demonstration tank for science and educational purposes.  However, the waves are mathematically designed to model the real ocean. Your  input is much appreciated.
  14. Wow! .. where to start.  You are a wealth of info.   I tried to fill out a "form" from the Tsunagi Lab.  It was an Excel document that my MAC had a hard time with. (it does have Microsoft Office)      TsunagiProblem_CheckList_07172015.xlsx TsunagiRequestSheet_FY16.xlsx After thinking a bit about this, I may be asking too much by requesting help on this subject.   The obvious solution is to use the EtherCAT LinMot drive, Not the Ethernet/IP Drive.   I think going to Omron with such a request for solution to a very uncommon problem, is not justified.    In fact, LinMot was not happy that I was trying to do this; although, their tech support did try to help me (this thread contains some helpful references from them) At this point.. like you said: Yet... you, Tyler and a few on this forum seem to be an exception.   Sometimes, just the fact that it's different.... is an interest in itself.  It also helps if the solution doesn't take hours of research..        I've been reading up on what I can find in Omron's literature.  Also the "theories" that have come in from you, Tyler and Michael W.   All, have given me the inspiration to "explore" the possibilities.   I should design a simple Sysmac project, using only the NJ101-1000, the HMI and the LinMot E/IP drive .. nothing else.   In fact... I might remove the HMI,  and use E/IP I/O's if that would mean less clutter to the E/IP network. Use simulated streaming position data.. just the same small position incremented each cycle .. so the linear motor just moves out at a constant velocity, no velocity or acceleration (Position only) using virtual servo, ... cyclic tasks, that send the incremented position as a tag to the LinMot drive. I would appreciate suggestions on how to structure that program (Not the program itself..   I can see that much of the "structure" is in Inno's first reply above.  Might need some clues on the Task programming... but, I have some good references from Tyler .. enough to go for it.
  15. Meanwhile: Tyler Corbett (an Omron Support Specialist)  commented: "If you link a EIP tag to a task in the NJ than we may be able to refresh every 5ms(fixed interval). A task in the NJ always executes at a fixed period and if it executes the task by the end of the period then you get a watchdog error. You would either have to off load code or extend the period. **The biggest issue looks like, would be the AB is using a custom function block to talk to the LinMot drive which has access to all of the parameters and actually can control/command the drive. We either need the Omron to LinMot custom block (if there is one) or find out the low level code inside that function block and how it works to create code to emulate what it is doing. It is sort of like Omron has this set up called eplc which makes a Ethernet IP connection from a NJ to an adept robot and to program the robot there are function blocks. Inside the function block is internal code that links the variables we make to the robot. We don't see behind the scenes of how it actually links to the adept robot via the normal function blocks. Also, If you lock a tag to a task then it may also be bogged down by system services (explained in page 56-64 of the tasks programming PDF attached) which are other pieces of data that get sent via EIP." It may be possible that the Tsunagi Lab, in Japan might help with a solution.  Tyler says they are a group in US and Japan, that tests third party connections with other vendors. I'll post any progress... to be continued.