Jump to content

Swervomotor

Members
  • Content Count

    54
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Swervomotor

  1. Lifo table, you could pretty easy build a UDFB that took as a "function in" the # of rows that you wanted to SUM the specified data, then with the help of an increment run through each row and sum to a temp local variable, then move that to function out and reset the increment. You could then just change the # of rows (which would be at a fixed sample rate) to get your 24h, 7d, 1M Function Outs.

  2. My suggestion would be a Data Table Index to store you data.

    Then use a combo Box  and give each "index" a title 0-50. (or however many you need)

    Use the selected index # in a "read row from DTI"  and use the index # as the row number (parameter B).

    I would use the "tag selected" bit in the combo Box configuration to pass power to the "read row from DTI" then  add the reset to the end.

    You can always add a data table to the HMI to view the raw data. 

     

    If your program gets more sophisticated and you need to do some automatic table searching you can use the other DTI  functions like "Find DTI Column Value" to get the row index #

  3. On 4/6/2019 at 6:24 PM, Ausman said:

    But they constantly change their code to try to foil this, such that even the latest hack might not work on a new unit.

    I have a few lying around used as paperweights!  But I wouldn't even want them sending anything out at all.  If you can hack so that they work directly within your network simply via the router, that is ok, and is possible.

    We'll see these things controlling major supply generators soon, for management's convenience!  Without the Hack.  🙄

    cheers, Aus

     

    What I mean by hacking the firmware is just using their hardware but taking their server and software out of the equation off the device. Basically loading your own ESP8266 type firmware and running it off  your own app/P2P/Mqtt backbone.  I can't build a relay with ESP8266 for what I can buy one of these for.   I have not tried it yet but it may come into play in future projects. Right now the work doesn't justify the end. As security is not really a concern on my light switches haha.  If I was going to integrate these across more security sensitive applications I wouldn't as it stands.

  4. I use these around the house for lights and ceiling fans: https://www.itead.cc/sonoff-wifi-wireless-switch.html

    They can be had for less than $5/each,  if you trim the ends off they fit in a US standard box and I wire them at the light switch in parallel so in the event they go offline I can still operate the lights via the switch. They work with alexa/google (through the vendors server) and the wife loves them.  It's basically a 10a wifi relay. 

    Would I trust them in an industrial machine? no. To turn on my light? yep.   They are "hackable" in terms of loading your own firmware aswell. 

    Seems like the IIot makes sense with one caveat. Only on a local network.  With a central Server that hosts the control.  I can see data being able to exit but control not being able to enter. 

     

     

    On 10/26/2018 at 7:40 PM, Joe Tauser said:

    BTW, I bought an IoT light control for my bedroom to turn on in the morning to help get my night-owl butt out of bed-

    https://www.leviton.com/en/products/dw3hl-1bw

    It talks to my wireless router, and I set up the schedule with an app on my phone.  

    It works properly 99% of the time.  I THOUGHT it kept the schedule inside itself, but one morning when my Internet was down I learned that was not true.  If it couldn't talk to the Levition Master in the Cloud, it just sat there.  In other words, my light didn't go on that morning.  I couldn't trigger it with my phone app, either.

    Yep.

    Anyone who tells you their Internet is up 100% of the time is lying.  When Hurricane Sandy hit the east coast of the US, I could not communicate with my vendors in the New York / New Jersey area for over a week, because they couldn't get email and they had drank the Kool-Aid and converted their phone systems over to VoIP.  Those who had copper land lines could still be reached.

    Anything connected to the Internet can be hacked, too.

      Joe T.

     

  5. 24 minutes ago, Joe Tauser said:

    This feature has been asked for recently.

    +1 on its handiness.

    All posts need to be approved by a moderator until Cara decides you are worthy and mature enough to approve your own posts.

    Joe T.

    Hopefully it will come in the next release fingers crossed.

    I understand, I was a Mod for a long time on a couple forums and usually we had a minimum # of approved posts to deter spam accounts. Seems like stuff around here gets approved pretty quickly so not really a big deal just wondering when my orange bar of shame would be lifted. 

  6. This may seem trivial but is there a way to define the zoom setting in ladder editor so when you open it it starts at say 70% instead of 100%? I did not find anything in the Project-Options but was hoping it's somewhere else?

    I have 18 "modules" that I need to open and close regularly and when I re-open it, boom Gigantic. 

    Additionally, to the mods: How many posts do you need before your comments and posts need to be approved? 

    Zoom.thumb.png.86e9df685ab270b6ecf02adc74fd9ed4.png

  7. Thanks for the responses, the ole Copy-Paste-Delete all rungs was the only way I could get it done. I was hoping the labels were stored in a table somewhere that I could just re-order or drag-n-drop in ladder editor would be awesome.  I will be more diligent with my planning next time. This project has ~ 50 regions so far.

     

  8. Not sure but I get a Red X, when I tried to change it to C : it went away but I was connected to the drive as shown in the picture below.

    I ended up running into all kinds of problems trying to update the firmware. "identifying hardware" death loop when trying to connect over USB, "failed Update" when updating via DOC formatted to FAT32.

     

    I ended up giving up with trying to update and just downloaded the old version of the software then uploading, making the changes, and re-downloading.

    I just don't understand how you cannot even connect to a PLC with older firmware to grab the program off it.  Using any of the connection methods PC-PLC communication etc.

    No_go.png

  9. Why does Unilogic force me to update the firmware on the PLC even to just upload from the PLC?  

    I'm trying to make a small change (ethernet IP scanner IP addresses) and when I try to open older version of unilogic it won't let me create a blank program to be able to go "online" and upload.

    So I go to newer version of Unilogic and create a blank program try to go "online" an it tells me I need to update the firmware on the PLC.

    So now I have to:

    1. download the latest version of Unilogic onto a laptop

    2. go find the PLC on the factory floor

    3. OPEN THE CABINET

    4. Connect USB drive or cable

    5. Update Firmware

    6. Hope the firmware update doesn't wipe the existing "upload" file

     

    Has anyone ever considered backwards compatibility??? This program was created less than 7 months ago.

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

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

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

     

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

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

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

     

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

×
×
  • Create New...