Step 7 Profibus

k1elec

Member
Join Date
Jun 2012
Location
wales
Posts
4
Hi I am writing a S7 program which can have different hardware plugged in I was wondering if I could use the FB126 PNIODiag to detect the hardware that is connected to enable and disable parts of the STEP7 program.
 
I suppose that you mean to enable or disable complete nodes, not modules in a rack.

I think that in theory you could use PNIODIAG to detect the nodes that are connected.
But how can you know if a node is not connected that it is because it has intentionally been removed, or because there is an error in the node or the cabling ?
I think you have to let an operator specify which nodes are installed on an HMI. Then you can use SFC12 D_ACT_DP to disable or enable individual nodes. I do that, and it is quite easy.

As for enabling/disabling modules in a rack, then S7-400 has a "Configuration in Run" (aka "CiR") that can do this for modules in an S7-400 rack. Have never tried it though.
 
yes it is to enable or disable complete nodes the hard ware node that we are looking at are either a S300 remote rack or a SMC remote rack I can give more information later if needed as I don't have the program to hand at the moment.

I was looking to make it as plug and play if a node has failed or a cable issue i can detect that with logic in PLC it is more a font end tooling detection system and there will always be one of a number of nodes connected Ie. the system will be looking for node 10 or node 11 or node 12 and will expect to see only one of them if it doesn't see one it will then know there is a fault the equipment has the same function but has a few paramiters which change Ie. motor travel distance calculations.

Karl
 
I did the same thing on a PLC that could have a variable number of components attached via Profibus.

I don't have the software anymore, but I did use a SFB to turn on and turn off nodes, thus eliminating the red light.

You would need a method to letting the PLC know what is and isn't there though.

If I have time later I will look for the actual SFB I used (it could have been a SFC).

Just looked and it was SFC12 "D_ACT_DP" Deactivating and Activating DP Slaves.
 
Last edited:
You could use SFC14 to read the peripheral address of an input on the nodes in question. If SFC14 returns an error then the node is not on the bus and you can disable the relevant code.
 
Thanks for all the ideas I will see see which works best and post back later with the solution I have used

Karl
 

Similar Topics

I'm just trying to figure out the right method of adding a DO card to an existing rack. It's not the *next* open slot, but I have to move the AO...
Replies
5
Views
565
I'm trying to figure out how to read the actual speed reference value from the move blocks, writing to a DB that is being sent to the VFD. For...
Replies
5
Views
2,648
Hi, i need to communicate with a profibus device input 24 byte output 6 byte i want to use my PID adress and not a INT so i can use crossref to...
Replies
2
Views
2,052
I am currently working on a project where the DP slaves of a CPU 412-DP have their I/O addresses allocated as 1/2 bytes. For example: The first...
Replies
1
Views
2,431
Hello all, I am hopeing someone on here can help me. We currently have our plcs connected to an ethernet network, connected to this is a desktop...
Replies
6
Views
4,298
Back
Top Bottom