DIN509E
Member
We have a Pinnacle power supply from Advanced Energy which we'd like to control using TwinCAT 3, via an EL6002 and RS-232.
I got the communication to work and can set every parameter I care for, but have issues with turning the output on.
I send the command to turn DC on [[FONT="]08 | 02 | 0A], receive a positive answer [[/FONT][FONT="]09 | 02 | 00 | 0B[/FONT]] and indeed, the power does rise, but only for a few milliseconds before the Pinnacle turns the output off for no apparent reason.
I used an RS-232/USB adapter and sent the same command via Python's serial library and the power stays on. No other parameters, like limits and timeouts, have been changed in between those tests.
I created minimalistic code to make sure no other communication was interfering. The first FB is creating the content of the message and adds it to the buffer, the second is running in a separate, faster task dedicated to background communication.
Message to buffer FB:
[FONT="] Background communication FB:
[/FONT]
[FONT="]
Does anyone have any idea why this behaviour could appear or what I could test?
We have other issues with the device. I don't think they're relevant to this particular issue, but who knows.
[/FONT][FONT="]1. When we control it using Profibus and set it to pulse between roughly 70 and 350 kHz, we get a "E051 PROFIBUS Watch Dog Expired" error.[/FONT]
[FONT="]2. Having disconnected all bus cables and using manual control, we receive a "E020 Interlock Open: User". when operating pulsed above ~70 kHz. It's not an issue of an open interlock though.[/FONT]
[FONT="]In both cases we suspect EMI.
Since I don't have a lot of experience, I welcome even the most obvious suggestions.
[/FONT]
I got the communication to work and can set every parameter I care for, but have issues with turning the output on.
I send the command to turn DC on [[FONT="]08 | 02 | 0A], receive a positive answer [[/FONT][FONT="]09 | 02 | 00 | 0B[/FONT]] and indeed, the power does rise, but only for a few milliseconds before the Pinnacle turns the output off for no apparent reason.
I used an RS-232/USB adapter and sent the same command via Python's serial library and the power stays on. No other parameters, like limits and timeouts, have been changed in between those tests.
I created minimalistic code to make sure no other communication was interfering. The first FB is creating the content of the message and adds it to the buffer, the second is running in a separate, faster task dedicated to background communication.
Message to buffer FB:
Code:
[...]
VAR
fb_sendData : Tc2_SerialCom.SendData;
[...]
END_VAR
--------------
IF b_dcOnButton THEN
b_dcOnButton := FALSE;
an_message := M_createMessage(2);
fb_sendData(
TXbuffer:= TxBuffer,
pSendData:= ADR(an_message),
Length:= SIZEOF(an_message)
);
b_error := fb_sendData.Error <> COMERROR_NOERROR;
END_IF
[/FONT]
Code:
FUNCTION_BLOCK FB_backgroundCom
VAR_IN_OUT
TxBuffer : Tc2_SerialCom.ComBuffer;
RxBuffer : Tc2_SerialCom.ComBuffer;
[...]
END_VAR
----------
fb_pinnacle_srlLineCtr(
Mode:= SERIALLINEMODE_EL6_22B,
pComIn:= ADR(stIn_pinnacle),
pComOut:= ADR(stOut_pinnacle),
SizeComIn:= UINT_TO_INT(SIZEOF(stIn_pinnacle)),
Error=> b_pinnacle_ctrlError,
ErrorID=> e_pinnacle_ctrlErrorID,
TxBuffer:= TxBuffer,
RxBuffer:= RxBuffer
);
Does anyone have any idea why this behaviour could appear or what I could test?
We have other issues with the device. I don't think they're relevant to this particular issue, but who knows.
[/FONT][FONT="]1. When we control it using Profibus and set it to pulse between roughly 70 and 350 kHz, we get a "E051 PROFIBUS Watch Dog Expired" error.[/FONT]
[FONT="]2. Having disconnected all bus cables and using manual control, we receive a "E020 Interlock Open: User". when operating pulsed above ~70 kHz. It's not an issue of an open interlock though.[/FONT]
[FONT="]In both cases we suspect EMI.
Since I don't have a lot of experience, I welcome even the most obvious suggestions.
[/FONT]
Last edited: