Swervomotor
-
Posts
95 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Gallery
Events
Blogs
Downloads
Articles
Media Demo
Posts posted by Swervomotor
-
-
-
Your new video banner on the main Unitronics webpage will not allow you to select anything from the drop down menus because the "welcome xxxxx" covers them and de-selects the drop down as soon as you move over it.
running Chrome Version 71.0.3578.98
-
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?
-
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.
-
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.
- 1
-
-
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.
-
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.
-
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.
-
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
-
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.
-
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
-
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 -
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
-
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
-
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
como realizar comunicacion ehternet/ip entre PC y HMI+PLC
in UniStream: Hardware
Posted
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.