6/1/2020 11:53 PM | |
Joined: 3/14/2008 Last visit: 10/15/2024 Posts: 2111 Rating: (942)
|
Hi, You can create your own FC/DB/FB as long as you do this within the range that Siemens recommends. From the compile settings in CFC you can set the range for DB's and FC's which is custom. The default settings are DB 1 to 60 and FC 1 to 700 (out of my head so not 100% sure). You can change the settings if desired. Be aware you need to do a full compile. The custom FB range is recommend as follows: FB2500-2599. See the following link for more info: Link |
If I could help you, you can use the RATE button. Thank you. |
|
This contribution was helpful to1 thankful Users |
6/2/2020 7:31 AM | |
Joined: 3/14/2008 Last visit: 10/15/2024 Posts: 2111 Rating: (942)
|
Hi, So, you are trying to put the FB/FC in OB1 using the step7 logic? PCS7 uses CFC as default programming logic. Blocks in CFC will be compiled and the OB/DB/FC are generated of them. If you want to put something in OB1, you have to set the "predecessor for insert position". Please open CFC and press Ctrl+F11. This will open the runtime sequence. OB1 is pre-selected, right click and select: "Predecessor for Insert Position". Blocks in CFC will now be added in OB1. But..OB1 is not recommended for PCS7! OB1 has the disadvantage that the runtime is not constant. If the PLC needs to work harder, it may increase the cycle time of OB1 up to a maximum of 6000ms (default PCS7). So, therefore, you must use interrupt OB3x. Interrupt OB's have the advantage that the cycle time is always consistent. For example OB32 can have a cycle time of 1sec., so all blocks in OB32 are executed within 1 second. APL blocks have to be placed in OB3x to be executed. So I suggest using your FC/FB logic in OB3x using the normal PCS7 way. |
If I could help you, you can use the RATE button. Thank you. |
|
This contribution was helpful to1 thankful Users |
6/2/2020 8:20 AM | |
Joined: 3/14/2008 Last visit: 10/15/2024 Posts: 2111 Rating: (942)
|
Hi, Thx for your answer. Could you show me a little code of what you actually do? Do you want to set a feedback run signal for a motor or something? Or do you have some And/or logic-> If x, then y? You can do a lot with CFC, maybe I can show you an easy example on how to do this in CFC logic so you don't have to worry about FC/DB etc. and use the PCS7 way. That might be even faster ;) |
Last edited by: Oreca at: 06/02/2020 08:22:09If I could help you, you can use the RATE button. Thank you. |
|
This contribution was helpful to1 thankful Users |
6/2/2020 9:25 AM | |
Joined: 3/14/2008 Last visit: 10/15/2024 Posts: 2111 Rating: (942)
|
Hi Filipov, Excellent! Thank you for the feedback There are several ways to implement that by using the APL library. You can just connect the output variable "Start" of the motor (MotL) to input "FbkRun". You also place a timer (TimerP) between it so it works delayed. For the valves, there are two variables: NoFbkOpen en NoFbkClose. If you set these to "1", it means the valve is not checked for feedback. So you can just control the valve without any error. I'm guessing you are working with PCS7 7.1? There has been an update (hotfix) and with the hotfix since then it is possible to connect a regular BOOL to STRUCT BOOL and vice versa. This is default in PCS7 V8 and V9. I have to check the exact hotfix version, but if you don't want or can't install the update, you have another option as well by using one of the following blocks: - StruDiIn (FC377) - StruDiOu (FC378) These blocks will let you compose and decompose a structure. So if it is not yet possible to connect a BOOL to a STRUCT BOOL, you can use StruDiOu to create the STRUCT BOOL. And the other way around from STRUCT BOOL to BOOL, you can use StruDiIn. I suggest you will use APL blocks, since it is the standard as of PCS7 V7.1. The classic library is not updated anymore. Also, if you want to migrate to a higher version, you need extra adaptations to update/incorporate the classic library (Installing PCS7 library manually).
|
If I could help you, you can use the RATE button. Thank you. |
|
This contribution was helpful to1 thankful Users |
Follow us on