1/25/2017 12:35 PM | |
Joined: 3/14/2008 Last visit: 9/8/2024 Posts: 2094 Rating: (936)
|
Hi, You are correct, OB1 should not be used because of many factors: - With interrupt OB's you are certain that each input and output is read/written in the same scan cycle. - Interrupt OB's are first executed, last OB1 so, it could be that the OB1 scantime takes a long time (up to 6000ms (default setting). ...There are more facts. Normally, according to the Siemens manual, you divide your I/O in 500 or 1000ms seconds. You can determine which interrupt OB you want to use. However, there are certain analog inputs or PID controllers which may need a faster scan cycle. In this case, you can provide them in a 100ms or 200ms OB. Always make sure you set the blocks in correct order: Input-Processing-Output... You can determine the order in the runtime groups. Each block inserted in a chart will get a number. The blocks are read in ascending order. Also make sure that inputs are not read faster than the processing blocks.. It's no use to read a value within 100ms, but the analog value block is processed every 500ms... It will give you a higher PLC load which is unwanted. |
If I could help you, you can use the RATE button. Thank you. |
|
1/25/2017 3:56 PM | |
Joined: 3/14/2008 Last visit: 9/8/2024 Posts: 2094 Rating: (936)
|
Hi bubulindo, I appreciate the feedback! Normally, you would use PTT (Process Tag Types) or the newer CMT (Controle Module Types). They are basically a series of blocks combined to execute one function. For an analog measurement, you will need something like a driver block: PCS7AnIn and a technological block: MonAnL. You can set the correct order of processing. So, first read input, processing and write output. This type can be used to create 10,100,1000 instances and all instances have the same order. So, you don't have to worry to much about it. If the correct order is not set correctly, you can get problems. Trigger blocks for example are very sensitive because their signal is "1" only one cycle. But in case you are talking about, like a PID controller, it could be that you read the input analog value at 100ms, but the processing of the PID controller is 500ms. In this case, you would achieve nothing, it's no use updating the analog value in a faster rate than the PID controller processes. PCS7 has a default setting on how much blocks you can install in an interrupt OB. The default limit is set very low (Siemens never changed the setting), but you can check if the PLC can handle this amount of data online. In case the CPU cannot handle the OB's, it will go to a protective state (valid as of a specific firmware version for 400CPU's), it will slow down the interrupt OB's. In case this is 100ms, the time will be halved, so it will run a scan of 200ms, until the CPU can handle it. You need to set the input and outputs in the hardware configuration to a specific PIP. This will make sure the inputs and outputs are written ditheringly. Then you must also set the correct OB for the CFC charts to handle your logic. Enclosed is one manual, the other one was too large so it's a link CPU_data_en_en_US(1) -> start at paragraph 9.1, page 199 Process Control System PCS7 Engineering System (V8.1) -> start at paragraph 9.9, page 306
AttachmentCPU_data_en_en-US (1).pdf (262 Downloads) |
Last edited by: Oreca at: 1/26/2017 7:33:10 AMIf I could help you, you can use the RATE button. Thank you. |
|
This contribution was helpful to1 thankful Users |
1/28/2017 9:09 AM | |
Posts: 5225 Rating: (1192) |
Hi. Your field of study is outside my field of expertise. But there is an article that was published by Ste39 recently [link] that may be of help to you. Have a look at the principle of peripheral addressing when needing an update of IO data outside the scheduled update rate.
Greetings. |
Follow us on