Join us today!
[Solved] EL6090 Newbie question about buttons
Hello!
I have Beckhoff's CX8190 and I'd like to get info about pressed buttons in module EL6090. I thought that is the same procedure like in input/ output pins in EL1014, but no. I see this module in tree on the left, I made global variable with %I* : BOOL for every button, I build solution, linked variables to buttons' adresses and still nothing. Where can I find help?
Best regards, Mirek
@mirek-boniewicz Hi, you can make sure that the device is in OP state after activating the configuration under 'Online' tab of EL6090 terminal.
You can also use the free run mode to check the IO status from the device without having to write any plc program or activate the configuration.
Just as a note, you can also activate/deactivate the UCP input/outputs under the Process Data tab and checking the boxes for the channels in the PDO Assignment.
In case you want to say thank you !)
We'd be very grateful if you could share this community with your colleagues and friends. You can also buy us a coffee to keep us fueled 😊 This is the best way to say thank you to this project and support your community.
twinControls - https://twincontrols.com/
Thanks for fast reply.
This is how it looks in my project.
Process Data
Strange thing, because normal IO ports works fine, but this display doesn't. I'm electronics designer and programmer, but this language and IDE is completely new to me.
You mentioned about FreeRun. Does pressing buttons should be visible on the Y/T chart in "online tab" ?
(I see only 0 value).
@mirek-boniewicz Yes, activate the configuration mode in TwinCAT and then toggle the free run mode. Double click on the input/output of the terminal and go to Online tab. You should be seeing '1' when you press the corresponding button.
In case you want to say thank you !)
We'd be very grateful if you could share this community with your colleagues and friends. You can also buy us a coffee to keep us fueled 😊 This is the best way to say thank you to this project and support your community.
twinControls - https://twincontrols.com/
I forgot the most important - the code:
first global variables called BUTTONS:
{attribute 'qualified_only'} VAR_GLOBAL bBUTTON_UP AT %I* : BOOL; bBUTTON_DOWN AT %I* : BOOL; bBUTTON_LEFT AT %I* : BOOL; bBUTTON_RIGHT AT %I* : BOOL; bBUTTON_ENTER AT %I* : BOOL; END_VAR
and main program:
UPPER window:
PROGRAM MAIN VAR bButtonState : BOOL; END_VAR
and LOWER window:
bButtonState := BUTTONS.bBUTTON_ENTER;
and Change Link option:
In the Process Data tab for the EL6090, switch to Inputs in the top pane and be sure that PDO 0x1A00 is enabled. If this is on then the status of the individual buttons should be linkable in your I/O. Be sure to activate the configuration after making any changes to the process data.
I had that settings. When I start program nothing happens. I see Input (5 bits) and Output (2 integers) of EL6090.
I tried EL1014 module and works fine. Display shows that it is in OP mode.
Maybe there is some library or something which I have to select before compile and run?
I connected 1 bool variable with UP button and 1 int variable with ValueRow 1 and launched it. Display shows something like this
EL6090 State: OP
and button variable is still FALSE.
@mirek-boniewicz Have you tested this already ? Free run mode suggestion. Are you getting '1' on the graph when you press the buttons?
In case you want to say thank you !)
We'd be very grateful if you could share this community with your colleagues and friends. You can also buy us a coffee to keep us fueled 😊 This is the best way to say thank you to this project and support your community.
twinControls - https://twincontrols.com/
- 17 Forums
- 267 Topics
- 924 Posts
- 1 Online
- 737 Members