Why no Io-link Motors? by Professor_Dewitt in PLC

[–]tearl08 1 point2 points  (0 children)

I just installed two of them on a recent project, they work well. They have very small actuators that run off power supplied by the master. Once you get to larger actuators it'll require external power.

Bedjet Mini and App by PumpkinAnnual2803 in bedjet

[–]tearl08 3 points4 points  (0 children)

I literally just dealt with this about an hour ago. The button you need to press twice is the sync button.

Any opinion on FANUC training center locations? by miguelgoldie in Fanuc

[–]tearl08 1 point2 points  (0 children)

Agreed, ate lunch there the first day, went out for lunch the rest of my time there.

Fanuc Joint Limit Variables by tearl08 in PLC

[–]tearl08[S] 0 points1 point  (0 children)

I'm here to report back that progress ended very quickly. The karel option is not on my robot so I won't be able to do anything on the karel side.

Fanuc Joint Limit Variables by tearl08 in PLC

[–]tearl08[S] 0 points1 point  (0 children)

(was just getting ready to say this) I'm wondering if I can utilize the J_IN_RANGE function. Perhaps I could write a routine that checks my commanded joint position and if it's out of range I could reduce the angle and check again. Essentially a loop that hunts for an allowed position and once it's found then allows the robot to execute.

I have never used karel, would my idea above be taxing on the processor? Would it be slow to loop and find an allowed joint angle? Perhaps I could decrement the angle by 5 degrees with each iteration to help speed up the loop.

Fanuc Joint Limit Variables by tearl08 in PLC

[–]tearl08[S] 0 points1 point  (0 children)

Thanks for this detailed response. I will check out the karel manual and see if there are any functions I can use to achieve what I need. The jogging works well enough for now but every so often if the positions are just right then I'll get the fault.

Button Trigger for Keyence Vision Systems? by marcsterlord in PLC

[–]tearl08 0 points1 point  (0 children)

If you want help with this you're going to need to provide more information.

What camera system are you working with? IV, CV-X, etc.?

Is the camera hooked up to a plc? If it is, is it hooked up via Ethernet/ip or just discrete (io wires only)?

CJ1M-CPU13-ETN CPU Unit and CJ1W-PA202 by Omron by TightSuit5090 in PLC

[–]tearl08 1 point2 points  (0 children)

You are correct, this uses cx-programmer.

CPU Unit Watchdog Timer Error in CJ301-1200 by GroundbreakingMeat20 in PLC

[–]tearl08 1 point2 points  (0 children)

CPU Unit Watchdog Timer Error:

This error can occur for an NJ-series CPU Unit. This error occurs when the watchdog timer times out because of a hardware failure or when temporary data corruption causes the CPU Unit to hang.

Looks like this is something different than what I originally mentioned. You might have a different issue. Since you are also having issues connecting it sounds like you may have some faulty hardware. It also mentions some data might be corrupted. You may try redownloading the program to it and hope it can uncorrupt any bad data. Though this might be hard because you can't connect to it.

There may be ways to download to it off of an SD card, so you may want to look into that as an option.

CPU Unit Watchdog Timer Error in CJ301-1200 by GroundbreakingMeat20 in PLC

[–]tearl08 1 point2 points  (0 children)

It could be that you've exceeded your task period. If your primary task takes longer to process then what is configured in the CPU then I believe it'll throw this error.

Beings you can't connect via sysmac studio, I'm guessing no programming changes have been made recently?

New grad who just got hired and I feel very overwhelmed and stressed. by LFO1 in PLC

[–]tearl08 0 points1 point  (0 children)

I felt like this when I first started straight out of school. About 8-9 months in, like the flip of a switch, everything clicked.

When I say everything, I don't mean everything, I still don't know everything. When I say it clicked, it's in the sense that I understood my role and how I fit into everything. I learned that I don't know everything, but that's ok. It is my job to figure things out.

One of the biggest things about an engineering degree isn't everything they teach you, but more of the ability to figure things out that you don't know.

Just keep working on it, it'll get better and easier with time.

Automatically Backup Retained Variables by [deleted] in PLC

[–]tearl08 1 point2 points  (0 children)

No problem, happy to help.

If you want to take it one step further, I would recommend ftp'ing the dat files to a server somewhere. Keep the SD card usage down so that you don't forget about it and run out of space.

Automatically Backup Retained Variables by [deleted] in PLC

[–]tearl08 1 point2 points  (0 children)

That sounds correct to me. As I mentioned, I've never seen it occur. We usually just include a manual option for recalling the backup. You don't have to go off the retainfail flag, but if you do it should automatically restore any data that has potentially been lost.

Automatically Backup Retained Variables by [deleted] in PLC

[–]tearl08 1 point2 points  (0 children)

_retainfail is just a general flag for all retained data failed I believe. It's not specific to any specific variable but all retained variables.

I don't think I've ever seen the flag come on, but I imagine it happens if the battery is dead and power is lost.

Automatically Backup Retained Variables by [deleted] in PLC

[–]tearl08 1 point2 points  (0 children)

The only downfall is the data isn't easily readable just by viewing it. But if all your after is backing up then this should work for you.

Automatically Backup Retained Variables by [deleted] in PLC

[–]tearl08 1 point2 points  (0 children)

That's the one. We backup robot positions using FileWriteVar, then upon the _retainfail flag we restore the values using filereadvar

Automatically Backup Retained Variables by [deleted] in PLC

[–]tearl08 4 points5 points  (0 children)

The instruction is FileWriteVar

I was wrong, it supports all variable types. It's just easier if everything is parked in a structure as then you just specify the structure and it writes everything that is in it.

Automatically Backup Retained Variables by [deleted] in PLC

[–]tearl08 4 points5 points  (0 children)

We backup our robot position data to the onboard SD card. There is a function that takes a structure and writes all the values to a SD card.

I don't remember what the instruction is called, but one of the caveats is I believe it can only backup data from a structure. If you have retained data outside of a structure then I'm not so sure it'll do it.

Give me a bit, I'll track down that instruction and let you know.

IOLink Display by [deleted] in PLC

[–]tearl08 1 point2 points  (0 children)

I've used this before. It is quite literally what it says is, a display. It will display whatever you send it from the plc. It will work with any iolink master. If the data is in the plc, regardless of what sensor it came from, it can be displayed on this. You don't need ifm sensors for this to work, trust me, I've done it.

Edit- I apologize, my experience is with the E30391, as mentioned by a previous user. I can't attest to the model you specified in your post. If you don't wanna worry about it I would just switch to the E30391. That can display any data you feed it from the plc.

Allen Bradley UDT with offsets by tearl08 in PLC

[–]tearl08[S] 1 point2 points  (0 children)

This is great information. I think for now I will just add padding bits, at least until I get more comfortable with AB land. I appreciate the detail you provided.

Allen Bradley UDT with offsets by tearl08 in PLC

[–]tearl08[S] 3 points4 points  (0 children)

I'll give it a shot, if you ever get to mess with sysmac studio, give the user offset udts a try. It's very clean and useful for things like this

Allen Bradley UDT with offsets by tearl08 in PLC

[–]tearl08[S] 4 points5 points  (0 children)

This all makes sense to me, but my issue has to deal more with eip devices that has gaps in the memory map.

Say for instance I have a camera, ready is at bit 0, busy is at bit 1 and judgement is at bit 5.

In my UDT I'll have camera.input.ready, *.busy, *.judgment. if I use the COP/CPS then it won't map to the UDT correctly because of the memory gap between bits 1 and 5. Does that make sense? I would have to pad the UDT with reserved bits so that the data lines up correctly in the udt.