Using Proface HMI with Arduino uno

So here's my short story. Boss gave me a new position to write the programs for our custom built machines. "Theres a computer, go use it" - was my instruction. I have programming experience but machine programming is new to me. We are using Motion Perfect with Proface HMIs. Anyways to practice I ordered one of those robot arms that use Arduino uno boards. That works fine (except one servo is junk, meh) except now to actually practice what I'm supposed to do for work is I want to control the robot arm from my HMI (screen is a LT4301M). I spent a few weeks learning how to program ladder logic and set that up so I have a little experience there. So my question is how (if at all) can I control the servos on the robot arm using the usb port on the HMI?

Everything else we use the ethernet ports but this robot arm is the only servo I can actually hookup and practice with.
 
So here's my short story. Boss gave me a new position to write the programs for our custom built machines. "Theres a computer, go use it" - was my instruction. I have programming experience but machine programming is new to me. We are using Motion Perfect with Proface HMIs. Anyways to practice I ordered one of those robot arms that use Arduino uno boards. That works fine (except one servo is junk, meh) except now to actually practice what I'm supposed to do for work is I want to control the robot arm from my HMI (screen is a LT4301M). I spent a few weeks learning how to program ladder logic and set that up so I have a little experience there. So my question is how (if at all) can I control the servos on the robot arm using the usb port on the HMI?

Everything else we use the ethernet ports but this robot arm is the only servo I can actually hookup and practice with.
You can try to have a check on this video:

By the way can you describe more precisely what is your need,,...I mean like what is type of arm robot..
Since there are separate user manual according to device manufacturer..

Is that you trying to establish communication between HMI & Device & PLC Can you clarify..

ControlsGuy25.
 
Ive tried the setup as you suggested but the manufacturer isnt on the list. The uno board was made by "small hammer". The only inputs on the boards are usb and 5v power. So The only way I can send any data is via usb. So yes the connection goes from the HMI directly to the uno board which has the plc built into it.

I dont NEED to use the uno board, I can solder up a board that just connects the HMI directly to the servos if need be. But like I said before this is all pretty new to me. That would eliminate any need for a PLC because the HMI would just simply send power to the servos when a button is tapped.

Is there a driver/package I can install into gp pro ex that supports USB communication?
 
Ive tried the setup as you suggested but the manufacturer isnt on the list. The uno board was made by "small hammer". The only inputs on the boards are usb and 5v power. So The only way I can send any data is via usb. So yes the connection goes from the HMI directly to the uno board which has the plc built into it.

I dont NEED to use the uno board, I can solder up a board that just connects the HMI directly to the servos if need be. But like I said before this is all pretty new to me. That would eliminate any need for a PLC because the HMI would just simply send power to the servos when a button is tapped.

Is there a driver/package I can install into gp pro ex that supports USB communication?
Is that something like this device that you need( see the links below):
https://www.pro-face.com/otasuke/sample/detail/common/connection_gplt4000_Sigma7SM2.html
https://www.pro-face.com/otasuke/sample/detail/common/connection_gp4000_Sigma5M2.html

It is for yaskawa but i guess that you need a device like this one adapated to your Arm robot manufacturer model..

ControlsGuy25.
 
Here is the robot arms boards. It only has a usb port so that yaskawa device you linked to wouldnt work as that uses ethernet.

20200928_135424.jpg


Here is the HMI Im using. It has analog and digital output.

16013193131825147731303954343775.jpg
 
I would think that having the outputs my HMI has I would be able to wire up a servo to simply send some power to it? Maybe I dont need to even use USB?

I dont mean to sound clueless but Im new to this and this is the companys touchscreen, haha.
 
I would think that having the outputs my HMI has I would be able to wire up a servo to simply send some power to it? Maybe I dont need to even use USB?

I dont mean to sound clueless but Im new to this and this is the companys touchscreen, haha.
Thanks for sharing and clarifying the issue that you are facing..

Indeed you may not need a driver oer such module/device for your need..

Here some notes from Proface user manual about Output management...
I guess usb ports are used for other things like communication/printing ...

What you need is to get compatibility between Analog output from Hmi & Analog input for the servo /drive motor

The Hmi got Pulse witdh Modulation Module so it can be used to control/operate a servo drive..


Output Management
Introduction
The LT Unit includes Standard outputs and fast outputs.
The following output functions are configurable on fast outputs:
 PWM output
 Pulse output
 High-speed Counter (Synchronize Output)
Fast Output Management Availability
The information refers to all LT with fast outputs:
Short-circuit or Over-Current on Outputs
There are two groups for the output's short circuit and over-current.
Group 1 (Fast Output) has a short-circuit protection circuit between the output and V-. Group 2
(Standard Output) does not have this circuit.
LT-4201TM (Modular Type DIO) and LT-4301TM (Modular Type DIO):
 Group 1: 2 points Fast Outputs (Q0 to Q1)
 Group 2: 10 points Standard Outputs (Q2 to Q11)
LT-4201TM (Modular Type Analog) and LT-4301TM (Modular Type Analog):
 Group 1: 2 points Fast Outputs (Q0 to Q1)
 Group 2: 6 points Standard Outputs (Q2 to Q7)
The table describes the errors:
For more information on protecting outputs, refer to your controller wiring diagram and to the
general wiring rules (see page 30).
The Standard outputs of this equipment do not have built-in reverse polarity protection. Incorrectly
connecting polarity can permanently damage the output circuits or otherwise result in unintended
operation of the equipment.
Output Terminal Function
Q0 Pulse Output/CH 0, PWM Output/CH 0,
High-speed Counter (Synchronize Output)/CH 0
Q1 Pulse Output/CH 1, PWM Output/CH 1
High-speed Counter (Synchronize Output)/CH 1
If... then...
you have a short-circuit at 0 V on Fast Output Fast Output is stopped and error message is generated.
For more details, refer to the GP-Pro EX Reference
Manual.
you have a short-circuit at 24 V on Fast Output
the current crossing the Fast Output is too high


I will have a better look on what OEM is offering & what can be envisaged to get a solution..

Controls Guy25.
 
Thanks for that. That shed some light on my situation. I know a little bit about whats entangled in the ladder logic to send data/on/off bits. But now I'm wondering if/how to send the correct voltage... The power supply for the HMI is set to 100-120v and the power going to the HMI is 24v/5a. More than enough to power the servos.
 
Im not sure its possible for the HMI to directly control my mini servos. I'm thinking I will need some sort of encoder or a plc. Does that sound right?

Looking at the connections on the HMI (what I can figure out anyways), is that both digital and analog are for data communication.
 
Thanks for that. That shed some light on my situation. I know a little bit about whats entangled in the ladder logic to send data/on/off bits. But now I'm wondering if/how to send the correct voltage... The power supply for the HMI is set to 100-120v and the power going to the HMI is 24v/5a. More than enough to power the servos.
I advise you to have a precise search on OEM website they got bunch of manuals with precise description for your need!
 
Scratch that, this link shows its possible using analog output. At least for that HMI.

https://www.pro-face.com/otasuke/sample/detail/common/connection_gp4000_Sigma5ApulseTrace.html
Here is the link you need to go through this web page browser and find the right technical manual for assisting you in your task:
https://www.proface.com/en/product/hmi_control/lt4000m/download

I am sure that will help you a lot!
Always glad to help/support technician or engineers here as best as i can!

ControlsGuy25.
 
Thanks ControlsGuy. I guess the only thing I need to do now is figure out how to wire it up correctly. I found a few examples on the otasuke website that controls motors/servos. None that I can just copy but it at least gives me a start. I'm off work in a bit so I'll download the manual and go through it tomorrow.

Unless someone else knows which outputs to wire into? Wishful thinking! Haha. Thanks again ControlsGuy
 
Thanks ControlsGuy. I guess the only thing I need to do now is figure out how to wire it up correctly. I found a few examples on the otasuke website that controls motors/servos. None that I can just copy but it at least gives me a start. I'm off work in a bit so I'll download the manual and go through it tomorrow.

Unless someone else knows which outputs to wire into? Wishful thinking! Haha. Thanks again ControlsGuy
You are welcome MacroPc!

I advise you to have a good read on the manuals , they are pretty good & explaining how to wire the output and inputs signals of each devices..

I will have a better read on these documents tomorrow!

Stay safe & Healthy !
Controls Guy25.
 
Ok I think I've found all the resources I need to complete this. On this page it shows how to set the frequency and duty value (explanation of those here: https://learn.sparkfun.com/tutorials/pulse-width-modulation )

http://www.proface.com.cn/otasuke/f...icio/logicio_pr_pwmoutput-outputfrequency.htm

So after reading those and looking at my arduino board, I *think* the way I have to wire this is to send power ( + / - ) to the servo then the 3rd wire sends the PWM (pulse width modulation (hertz and duty cycle)). Is this correct? Because while im not convinced thats the 'correct' way to do it, the outputs on my HMI dont show me positive, neutral ect.. to hook my wires into either.

I'm also leaning towards the former because the Arduino boards appear to have each servo set up that way and the 3rd wire connects to a potentiometer.

And this is the page from the hardware manual for my HMI:
 

Attachments

Hello MacroPc,

This is Controls Guy again....

I advise you to have a good read on the followwing notes from OEM manual:

The information refers to all LT with fast outputs:
Short-circuit or Over-Current on Outputs
There are two groups for the output's short circuit and over-current.
Group 1 (Fast Output) has a short-circuit protection circuit between the output and V-. Group 2
(Standard Output) does not have this circuit.
LT-4201TM (Modular Type DIO) and LT-4301TM (Modular Type DIO):
 Group 1: 2 points Fast Outputs (Q0 to Q1)
 Group 2: 10 points Standard Outputs (Q2 to Q11)
LT-4201TM (Modular Type Analog) and LT-4301TM (Modular Type Analog):
 Group 1: 2 points Fast Outputs (Q0 to Q1)
 Group 2: 6 points Standard Outputs (Q2 to Q7)
The table describes the errors:
For more information on protecting outputs, refer to your controller wiring diagram and to the
general wiring rules (see page 30).
The Standard outputs of this equipment do not have built-in reverse polarity protection. Incorrectly
connecting polarity can permanently damage the output circuits or otherwise result in unintended
operation of the equipment.
Output Terminal Function
Q0 Pulse Output/CH 0, PWM Output/CH 0,
High-speed Counter (Synchronize Output)/CH 0
Q1 Pulse Output/CH 1, PWM Output/CH 1
High-speed Counter (Synchronize Output)/CH 1

Did you get the Manual as i advised you to to ...?
There are really the right informations regarding wiring in PWM mode ..

The file for this manual is too big to attach here...

ControlsGuy
 
Ok I think I've found all the resources I need to complete this. On this page it shows how to set the frequency and duty value (explanation of those here: https://learn.sparkfun.com/tutorials/pulse-width-modulation )

http://www.proface.com.cn/otasuke/f...icio/logicio_pr_pwmoutput-outputfrequency.htm

So after reading those and looking at my arduino board, I *think* the way I have to wire this is to send power ( + / - ) to the servo then the 3rd wire sends the PWM (pulse width modulation (hertz and duty cycle)). Is this correct? Because while im not convinced thats the 'correct' way to do it, the outputs on my HMI dont show me positive, neutral ect.. to hook my wires into either.

I'm also leaning towards the former because the Arduino boards appear to have each servo set up that way and the 3rd wire connects to a potentiometer.

And this is the page from the hardware manual for my HMI:
I advise you to have a read on page 97 on the Manual that this page have been exctracted...
There are the needed informations that you are looking for!

Always glad to support here for any issue on any industrial system

Cheers!
ControlsGuy25.
 
Ok After doing what I should have done yesterday (doh!). Page 97 is for digital I/O and I need analog, so thats page 107. Now I see how to wire it.
 
Top