Communication / Networks
Prevent PLC at Profibus fault at startup
Thread Starter: BojanS Started: 7/22/2012 2:32 AM Replies: 6

7/22/2012, 2:32 AM
|
Joined 3/12/2012
Last visit: 10/12/2012
Posts: 7
Rating:
(0)
|
(0)
|
Hi,
Can anyone help me, it is urgent, how to prevent the PLC from going into Stop mode if there is a profibus fault at startup.
To clarify, I have OB82, OB86 and OB122 programmed into the PLC. PLC is in RUN mode and 4 slaves are also runnuing. As soon as one slave looses the communication to the master plc 314-C2DP, I get a profibus error but the PLC is still in RUN mode, that is OK.
The problem is, if everything is turned OFF, I turn on the PLC but leave out one or more slaves, the PLC goes to STOP. I need to prevent the PLC from going to STOP mode if there is a Profibus fault at any moment.
Can anyone help out?
|
|
|
|

7/22/2012, 3:05 AM
|
Joined 9/27/2006
Last visit: 6/17/2013
Posts: 4029
Rating:
(622)
|
(0)
|
Hello Bojan; First, welcome to the forum. If you know before startup that you will have certain unavailable slaves (because of maintenance procedures or repairs, for example) then you can use SFC12 to disable these slaves from being called by the master; you use another call to the same function to enable these slaves again See the following FAQ, that includes a sample program explaining the use of SFc12: What should you pay attention to when operating a DP slave temporarily on a PROFIBUS DP network?
I f this happens because slaves are not online when the DP-master starts polling them (sometimes they require a long warm-up time), I suggest you go to the CPU properties (right-click on the cPU in HWConfig to open the properties) and locate the Startup tab, where itis stated : "Startup if preset configuration does not match actual configuration" and click on the check box.. Save, compile and download to the CPU, as always when you modify the CPU parameters. Hope this helps, Daniel Chartier
=== Edited by dchartier @ 7/22/2012 2:15 PM [GMT ] ===
|
|
|
|
|
|
Thank you for this post from:
|

7/22/2012, 2:50 PM
|
Joined 3/12/2012
Last visit: 10/12/2012
Posts: 7
Rating:
(0)
|
(0)
|
Thank you for the fast reply, and for a kind welcome, If I understood you clearly, by calling the SFC12 at startup of the PLC I could disconnect all slaves, then after a few seconds call the SFC12 again to try and connect to them.
"If you attempt to use SFC 12 to activate a DP slave which has been deactivated and is physically separated from the DP bus, after approx. 1 minute the SFC will return the error code W#16#80A2"
Will the slave that cannot be reached trigger OB86 or I need to monitor SFC as quoted above. If SFC error is true does the PLC go to STOP mode?
If a deactivated slave is reactivated later on the SFC12 need to be called again, can I call the SFC in OB1, being that the help file said the SFC12 in not supported by startup OBs?
=== Edited by BojanS @ 7/22/2012 2:50 PM [GMT ] ===
|
|
|
|
|

7/22/2012, 3:43 PM
|
Joined 9/27/2006
Last visit: 6/17/2013
Posts: 4029
Rating:
(622)
|
(0)
|
Hello Bojan; A slave that has been deactivated by SFC12 will no longer be polled by the master, so it cannot trigger OB86. Therefore any fault on the deactivated slaves cannot bring about a PLC stop. You must monitor the SFC interface as quoted above to detect that the slave has physically been removed from the network. And yes, you can call SFC12 in OB1, but there are coordination signals you must learn to respect in your programming when calling SFC12 multiple times, as this is an asynchronous function that camn carry over more than one scan: you cannot simply do multiple calls of SFC12 without coordination. See here:
Notes on the use of the system function SFC12 "D_ACT_DP"
Hope this helps, Daneil Chartier
|
|
|
|

7/22/2012, 4:19 PM
|
Joined 3/12/2012
Last visit: 10/12/2012
Posts: 7
Rating:
(0)
|
(0)
|
Thank you Daneil,
This might be tricky to use. Is there any another solution?
The main problem is : If PLC is turned off (no power), and one of the slaves is disconnected, upon power up of the PLC it goes to STOP (slave still missing). This I need to avoid but to have info via SFC51 which slave is disconnected.
PLC communicates to 4 slaves via ProfiHUB B5.(star configuration)
=== Edited by BojanS @ 7/22/2012 4:20 PM [GMT ] ===
|
|
|
|
|

7/22/2012, 6:10 PM
|
Joined 9/27/2006
Last visit: 6/17/2013
Posts: 4029
Rating:
(622)
|
(0)
|
Hello Bojan; I have never worked with a ProfiHub, and I have no idea whether it adds any kind of delay to Profibus exchanges., especially if the configuration tends to change during operation. Have you tried modifying the CPU parameters so that it becomes more tolerant in case of startup configuration descrepancies, as suggested in my earlier post? Also: What error messages does the diagnostic buffer of the CPU contain when the CPU goes to STOP mode? I have a feeling there is more than OB86 being called, maybe OB121 (programming error) or OB122 (IO access error) if you are using the addresses of the missing slave in your program. If you have a message stating "Required or Missing...OBxxx" in the diagnostic buffer you need to create and download the required OB to the CPU; then when the same type of error appears your CPU will stay in RUN mode, with diagnostic LEDs active. Hope this helps, Daniel Chartier
=== Edited by dchartier @ 7/22/2012 10:46 PM [GMT ] ===
=== Edited by dchartier @ 7/22/2012 6:22 PM [GMT ] ===
=== Edited by dchartier @ 7/22/2012 6:11 PM [GMT ] ===
|
|
|
|
|

7/26/2012, 5:39 PM
|
Joined 3/12/2012
Last visit: 10/12/2012
Posts: 7
Rating:
(0)
|
(0)
|
Ok, issue is resolved.
I have loaded OB82,85,86,121,122, when PLC turns on and no slaves are present, I have STOP LED on and RUN LED is blinking, after aprox. 1,5 minutes, PLC goes to RUN and the STOP LED turns off.
It is all working now.
Thank you Chartier for your help.
|
|
|
|
|
Thank you for this post from:
|
Actions