Jump to content

Swervomotor

Members
  • Posts

    95
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Swervomotor

  1. Unilogic on PC ----> PLC 

    Setup "Panel Ethernet"

    Make sure PC is on same Subnet. example: PC IP 10.199.199.1     PLC: 10.199.199.131, both same subnet

    You can do this from the PLC Uniapps screen or download from unilogic with USB cable.

    Connect ethernet cable from pc--->PLC either directly or through a switch.

    Then click "Online" put in the PLC Panel Ethernet IP address and click "Online"

     

    Unistream ---> sick

    Ethernet IP communication is through "CPU Ethernet" you need to set up device IP, Subnet, making sure both devices are on the same subnet.

    Connect ethernet cable from SICK--->PLC either directly or through a switch.

    You need to setup PLC Communications-->Protocols-->Ethernet-->Scanner---> add a scanner with the manufactures provided assemblies. You will have to build the input and output assemblies I recommend building structs then creating a global tag as "type" struct.

     

    If you want to access PLC screen from PC 

    You can use a VNC viewer

    Or build webserver screens and access from any internet browser on the network. 

     

    PLC.png

     

    EX260.png

  2. 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?

  3. 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. 

     

  4. 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.

  5. 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.  

     

     

    IV-500.png

  6. 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

     

  7. 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

  8. 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

     

  9. 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

×
×
  • Create New...