Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About Swervomotor

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I'm currently working on a project involving a Unistream 15.6 as a supervisory PLC for 2 Epson Robots (a 6 axis and a 4 axis) and a keyence vision system for vision guided robotics. They are communicating over Ethernet/IP I'm wondering if anyone on here has experience with programming practices for how to handle the robot control in this situation. Setup: Unistream- Master Robot 1 - Slave Robot 2- Slave Vision system- Slave First idea of data flow and control: PLC triggers camera----->vision returns position data in a register (pre-calibrated to robot) to PLC-----> PLC writes position data to multiple registers in robot controller which the robot controller then stores as a Point. ----->PLC turns bit on for robot to move to position----->robot returns bit when at the location and writes current location to register (So PLC knows where it is at all the time)-----PLC sends next point data------->repeat----->repeat This method seems to have very little programming on the robot controller itself and would allow data tables stored on the PLC vs Point data on the robot controller. Draw backs are when Jog/teaching new points via the robot controller the data would have to be entered into the data table on the PLC manually. Second Idea is to have multiple sub-routines in Robot controllers and "call' them with bits from the PLC, the vision guided position data would still need to be transferred for vision--->PLC--->robot but all the other point data such as way points and place points would be stored and managed on the robot controller. PLC triggers camera-->vision position data sent to PLC--->PLC sends position data to Robot---> robot picks part and moves to several points independently then turns on a bit when it finishes. What are your thoughts on this?
  2. Ver. 1.25.56 MODBUS TCP is active and working when using the "ID" in Field (B) of a Modbus Aperiodic trigger function, it works. When I put the Tag for that same register in the Field (B) it does not work. Expected I guess as the tag is actual data not an address, but it would be nice if this was linked to the ID somehow. The only way I see around this is to have an entire struct of ID numbers with Tags or use a table to search the desired tag and store the corresponding id into a tag. When using the MODBUS APeriodic Indirect Group Trigger to try to get around this, I enter the Group ID entered in the Registers Aperiodic table and it does not work (get a status code 2) The only option this is leaving me is to have to remember all the registers by ID? Registers Periodic work but I need to trigger this register send in the ladder vs sending it over and over again clogging up my network.
  3. Swervomotor

    EDS Import Ethernet IP

    Is this available or in the works? I saw somewhere the EDS Import function for CANopen was available, what about Ethernet IP? Building structs from the EDS file is not my idea of fun.
  4. Swervomotor

    How to write datetime variable in SQL?

    I'm not sure if this will help but it works to time stamp the entries in our DB.
  5. Following this, I asked about #3 at the Unilogic 2 day course and was recommended Calling a subroutine to help manage this that had an exit strategy. I'm working on a similar machine, 15" Unistream controlling 2 robots, a keyence vision system for inspection and to guide both robots, 8 IAI actuators, and 5 flex feeders. Recovering from a fault or emergency stop is going to be complicated. Linear programming is a little easier to handle this situation such as in robot controllers as they have traps that can do a "pause" and "resume" on emergency stop. #2 This is why I pretty much strictly use actuators with field networked controllers, the extra $ is work it in programming time to me. I have in a diy project using a sabertooth motor controller controlled by micro-controllers over serial divided an 8 bit in half. 255= Full Speed Forward 127= zero speed 0= Full Speed Reverse I feel like you could use a similar technique in your ladder to compare and control the DIR output and Speed(0-9V) to your stepper controller as long as you cap your output at 90% as explained above.
  6. I've got control to work well with Ethernet IP. You need to make sure your CPU IP address is on the same subnet as the IV. Also make sure you check the Ethernet IP box in the IV Navigator. I have attached a screenshot of the Scanner node info I use. If you would like the struct to import PM me and I can send you the exported struct file (it takes a lot of work to build this because the IV has so many objects 390 bytes) As far as sending images and managing them with the Unistream, Tried and failed. I ended up using FTP to send the images directly to our plant network from the IV. The downside to this was I had to get a static IP reservation on our plant network which IT does not like.
  7. On a previous project I got hung up on a USB barcode reader and only getting it to work as a keyboard wedge. Causing extra steps for the operator. Which barcode readers have you used/integrated with Unistream successfully? Thanks in advance.
  8. Swervomotor

    RTC To ASCII UDFB Seperator Code

    Dave, Thank you for the response, makes much more sense now I hadn't thought about the number representing the ASCII code. Do you happen to know if there is a place to change the separator for the time? Right now it's a : but I'm using it in a file rename which won't allow that character. Rather than parse it out I was hoping their was a quick way of changing it like the date separator. Thanks Again! Swervomotor
  9. Swervomotor

    "Store DTI to File" Ladder function

    I ran into this a few weeks ago, I just set a tag with the amount of rows in the table as a work around. Jut changed it after Saragani's reference to the "built in" tag for number or rows in a table. That way if it ever increases in size I won't have to change the number in 2 places.
  10. Good day, Does anyone know how the seperator for date established in Region 2 rung 5 and 6? It's storing a number into a UNIT8 but I can't find any reference to what these numbers actually represent. Thanks, Swervomotor
  11. Good day, Is it possible to reference a string tag for which file to view in the PDF Viewer? We have thousands of PDF's I will FTP the current PDF part drawing to the SD card and delete the last PDF part drawing. I believe I can just use a Rename File and overwrite a "sacrificial" PDF file name then reference that for the PDF viewer but wanted to know if their was a better way. Thanks. -Swervomotor
  12. Swervomotor

    Clear/Reinitialize Entire Struct

    Saragani, Thank you for the response! I'm glad there is a way. This is my first program with Unitronics, the Unistream software is much more intuitive than most I've used. I look forward to utilizing the Unilogic platform in future projects. -Swervomotor
  13. Good day, Is there a way to clear all data in an entire Struct that includes strings and INTs? I found the Reset Numeric Coil in the Basic Elements tool box but that only works with a single numeric element. I was wondering if their was an easier way to clear the entire Struct. Thanks, Swervomotor
  14. Swervomotor

    An invitation to suggest ideas for new UDFB's

    First time user here working with Unistream V 1.21.51 and a 5" Unilogic pro My recommendation: A way to duplicate elements within a STRUCT. Example: Keyence IV-500CA Ethernet/IP T2O assembly is 196 Word long mostly repetitive UINT16 elements that could just be duplicated. A way to export/import STRUCTS into projects from the Library. Example: If you use the above camera and/or similar components frequently being able to just load in the STRUCTS and TAGS without all the other project baggage would be nice. Thanks, Swervomotor