11/18/2018 11:18 AM | |
Posts: 2826 Rating: (685) |
Hello. Find attached a design idea that was inspired by the code snippet shared in the original question. The zipped text file can be imported into Step7. Central to the design is a function that ranks the value element of an array. The function can take in (almost) any sized array; the boundaries of the array is dynamically detected by the function. The result is that the values of the array are ranked from lowest to highest. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The program text file needs to be imported into a project for evaluation. Only Step7 V14 and greater will compile without error. The recommended steps to do so follows -> 1. Create a new project including an S7-1200 firmware V4.2. 2. Delete the OB1 block. (optional) 3. Import the SCL text file at the "External source files" section. 4. Right click the SCL source; execute "Generate blocks from source". 5. The objects to be created: OB1, FC1, DB1 and UDT. The code can only be simulated with TIA Portal V15.1 using PLCSIM V15.1.0.0 or higher. The reason for the restriction: "array [*]" is not simulated correctly in earlier versions. It will run correctly in the PLC (S7-1200 / S7-1500) if the firmware supports "array [*]". Toggle "DX".trigger to see the result in "DX".list. As alternative all functionality spilled around "array [*]" can be recoded to use fixed number boundaries. See code lines 15, 63 and 64 in the SCL source file. Regards. Attachmentget-array-element-ranking.zip (65 Downloads) |
This contribution was helpful to1 thankful Users |
Follow us on