How to reset G120 fault over ProfiNet?

AdamG8GXP

Member
Join Date
Jun 2011
Location
Chicago, IL
Posts
35
Hello,

I would like to know how to properly reset fault in G120 drive over Profinet with "Fault Reset" HMI button. VFD has CU240E-2 PN control module. I am using Siemens CPU 317F-2 PN/DP.
I tried PLC not sending any control words (STW1) to VFD when a fault, bit 3 of VFD Status Word (ZSW1), is on, and turning on bit 7 (Acknowledge faults) of Control Word (STW1) to the VFD when fault is present and HMI "Fault Reset" button is touched but that didn't work.
Right now when VFD fault is present, PLC does not send setpoint and control words (STW1) to the VFD. And if fault bit in VFD is set, pressing HMI "Fault Reset" button sends 0 to setpoint word, and 7E (hex) to control word (STW1) which clears the VFD fault sometimes but not always.
I think I am missing something, like right order of setting right bits in the VFD control word.
What is the right way to clear G120 any faults over ProfiNet?
Do different G120 VFD faults have to be cleared a different way?
 
In the control word to the drive, it is bit 7 that is used to ack faults, as you say.

Here is some SCL code to show you the structure of the control word:
Code:
Control_word_bits AT Control_word: STRUCT             //bits of the control word
                        Bit_00 : BOOL;  // 0 = OFF1, Shutdown via ramp, followed by pulse inhibit 1 = ON, operating condition (edge-controlled)
                        Bit_01 : BOOL;  // 0 = OFF2: Electrical stop, pulse inhibit, motor coasts down 1 = Operating condition
                        Bit_02 : BOOL;  // 0 = OFF3: Fast stop 1 = Operating condition
                        Bit_03 : BOOL;  // 1 = Operation enable
                        Bit_04 : BOOL;  // 1 = Ramp-function generator enable
                        Bit_05 : BOOL;  // 1 = Continue ramp-function generator
                        Bit_06 : BOOL;  // 1 = Speed setpoint enable
                        Bit_07 : BOOL;  // 1 = Acknowledge fault
                        Bit_08 : BOOL;  // 1 = Jog bit 0
                        Bit_09 : BOOL;  // 1 = Jog bit 1
                        Bit_10 : BOOL;  // 1 = Master ctrl by PLC
                        Bit_11 : BOOL;  // 1 = Directions reversal (setpoint)
                        Bit_12 : BOOL;  // Reserved
                        Bit_13 : BOOL;  // 1 = Motorized potentiometer raise
                        Bit_14 : BOOL;  // 1 = Motorized potentiometer lower
                        Bit_15 : BOOL;  // 1 = CDS bit 0
                    END_STRUCT;

edit:
7Ehex is 1111110bin.
So that sets all bits 1..6.
I dont understand how that can acknowledge any faults.

I use the sample project with the function block "PZD_G120_Tel_352" to take care of the details of controlling the drive.
There is an "acknowledge" input on the FB that you can link to the reset function.
 
Last edited:
I looked into the SCL source code of the standard FB from Siemens, and this may explain why bit 7 does not work for you, if you manipulate it directly:
Code:
    //CONVERT AND COPY CONTROL WORD TO BUFFER
    //The SINAMICS and the SIMATIC uses different Byte orders (Endianness)
    //The SINAMICS use Intel format or Little-Endian while the SIMATIC uses Motorola format or Big-Endian.
    //The control and status words we change the high AND low bytes.
    OutData_word[1] :=  ROL(IN:=Control_word ,N:=8);
So if you manipulate the control word directly, it should be bit 15 not 7.
 
I looked into the SCL source code of the standard FB from Siemens, and this may explain why bit 7 does not work for you, if you manipulate it directly:
Code:
    //CONVERT AND COPY CONTROL WORD TO BUFFER
    //The SINAMICS and the SIMATIC uses different Byte orders (Endianness)
    //The SINAMICS use Intel format or Little-Endian while the SIMATIC uses Motorola format or Big-Endian.
    //The control and status words we change the high AND low bytes.
    OutData_word[1] :=  ROL(IN:=Control_word ,N:=8);
So if you manipulate the control word directly, it should be bit 15 not 7.
Yes, that is correct.

I have control word assigned to output word QW344, and I tried turning on Q345.7 to ack VFD fault and it didn't work.
 
In the control word to the drive, it is bit 7 that is used to ack faults, as you say.

Here is some SCL code to show you the structure of the control word:
Code:
Control_word_bits AT Control_word: STRUCT             //bits of the control word
                        Bit_00 : BOOL;  // 0 = OFF1, Shutdown via ramp, followed by pulse inhibit 1 = ON, operating condition (edge-controlled)
                        Bit_01 : BOOL;  // 0 = OFF2: Electrical stop, pulse inhibit, motor coasts down 1 = Operating condition
                        Bit_02 : BOOL;  // 0 = OFF3: Fast stop 1 = Operating condition
                        Bit_03 : BOOL;  // 1 = Operation enable
                        Bit_04 : BOOL;  // 1 = Ramp-function generator enable
                        Bit_05 : BOOL;  // 1 = Continue ramp-function generator
                        Bit_06 : BOOL;  // 1 = Speed setpoint enable
                        Bit_07 : BOOL;  // 1 = Acknowledge fault
                        Bit_08 : BOOL;  // 1 = Jog bit 0
                        Bit_09 : BOOL;  // 1 = Jog bit 1
                        Bit_10 : BOOL;  // 1 = Master ctrl by PLC
                        Bit_11 : BOOL;  // 1 = Directions reversal (setpoint)
                        Bit_12 : BOOL;  // Reserved
                        Bit_13 : BOOL;  // 1 = Motorized potentiometer raise
                        Bit_14 : BOOL;  // 1 = Motorized potentiometer lower
                        Bit_15 : BOOL;  // 1 = CDS bit 0
                    END_STRUCT;
edit:
7Ehex is 1111110bin.
So that sets all bits 1..6.
I dont understand how that can acknowledge any faults.

I use the sample project with the function block "PZD_G120_Tel_352" to take care of the details of controlling the drive.
There is an "acknowledge" input on the FB that you can link to the reset function.
Sending 7E didn't work for me. I got it from Siemens website thread.
 
I made a mistake in the first post.
To clarify, sending 4B6 hex, 0000 0100 1011 0110 bin, to the control word sometimes clears the fault but not always.

First post should have been (edit button is gone on that post):
I tried PLC not sending any control words (STW1) to VFD when a fault, bit 3 of VFD Status Word (ZSW1), is on, and turning on bit 7 (Acknowledge faults) of Control Word (STW1) to the VFD when fault is present and HMI "Fault Reset" button is touched but that didn't work.
Right now when VFD fault is present, PLC does not send setpoint and control words (STW1) to the VFD. And if fault bit in VFD is set, pressing HMI "Fault Reset" button sends 0 to setpoint word, and 4B6 (hex) to control word (STW1) which clears the VFD fault sometimes but not always.
I think I am missing something, like right order of setting right bits in the VFD control word.
What is the right way to clear G120 any faults over ProfiNet?
Do different G120 VFD faults have to be cleared a different way?
 
Last edited:
I think that to clear a fault, there must not be a start command at the same time.
Other than that, just setting bit 7 (or 15 depending if you look at it before or after swapping bytes) does it for me.

Try to go online with STARTER. You can see if the acknowledge bit gets set in the control word the right way. You can also manipulate the individual control bits with STARTER so you can experiment with it.

edit: The acknowledge works globally for all faults.
 
Not sure if the problem is if you manipulate individual bits if the G120 addresses are outside the process image (normally bytes 256 and higher).
I have previously had difficulty when I tried to control individual bits directly.
The drives usually require that you transfer the entire control data area consistently, setting I/O bits directly doesnt work.
The standard block from Siemens handles it for you. I recommend to use it.
 
I think that to clear a fault, there must not be a start command at the same time.
Other than that, just setting bit 7 (or 15 depending if you look at it before or after swapping bytes) does it for me.
By that do you mean your VFD control word is set to 80 hex?
Or is it some value of control word + bit 7?

Try to go online with STARTER. You can see if the acknowledge bit gets set in the control word the right way. You can also manipulate the individual control bits with STARTER so you can experiment with it.

edit: The acknowledge works globally for all faults.
I was monitoring bit 7 in STARTER and it was set when "fault reset" HMI button was pressed but it didn't ack fault by itself, Q345.7.
I think this is an issue, I don't know how to set ack bit in the control word the right way.
I will try instead of turning on Q345.7, setting control word QW344 to 80 hex to ack VFD fault.
 
Not sure if the problem is if you manipulate individual bits if the G120 addresses are outside the process image (normally bytes 256 and higher).
I have previously had difficulty when I tried to control individual bits directly.
The drives usually require that you transfer the entire control data area consistently, setting I/O bits directly doesnt work.
The standard block from Siemens handles it for you. I recommend to use it.
I will look into the block you mentioned in the previous post. I couldn't find it in my Step7 library but I know what to look for now.

Thank you for help and ideas.
 
I let the standard FB handle the actual transfer to the drive. I just use the acknowledge pin on the FB. I dont program any hex codes or like that.

Since STARTER reports the acknowledge bit is on, the problem seems to be in the drive setup, or the sequence of when the acknowledge is set.
Maybe you still have the start to the drive on.
 

Similar Topics

We are using RED LION HMI Since las 15 years. To day we have found that My log file has data up to 22 Mar 2024 1:16. Then After new Log File is...
Replies
22
Views
820
I'd like you to meet my IO_Link Block, Fred. There are a couple of SSVs outside of Fred's AOI whose main purpose in life is to prevent me from...
Replies
2
Views
112
Hi y'all Just a quick question for using Rslogix 5000 I'm using a counter up bit with an analog signal (0-10V). When 10V is measured, counter...
Replies
5
Views
203
I want to factory Reset my 5380 (5069-L310) I have here in home lab. Reason being I want to make a Internal How-To video for Setting the IP...
Replies
2
Views
436
I have a MicroLogix 1200 that has an 8 input and a 16 output. Every 6 months-year I get a fault and when online go to error it is something like...
Replies
3
Views
447
Back
Top Bottom