Here is a simple bit of logic, done in FBD & lad (tried to make it more like RSL but you can see the structure.
In this code, it is assumed that the 4-20ma has been converted to a float type, the process does not require a tare to be completed as it calculates the actual weight by subtracting the scales offset (usually is a small variation) plus the tote weight so effectively we get product weight of 0, the process is as follows.
On pressing the start button the system checks that the scales are empty (within for example +/- 10kg), if not a message is displayed that it is outside the start weight, once corrected, it requests a tote be placed, again it checks that the tote has been added (in my case the weight should be between 150 & 210kg), then it asks for the operator to confirm, the process opens the feed valve, starts the pump at high speed (100), when the weight gets within 50kg of target the pump slows to 50, when weight is reached it stops the pump & after a short delay closes the valve.
It then prompts the operator to remove the tote & accept, this then sets the process to idle.
I have used a sequence variable for the steps as the HMI should be able to use this as a text list to display the status based on the sequence number.
You will notice that normally I have the steps in multiples of 10, this is to allow extra steps to be added without having to move the compares of the step numbers to control the process, I have shown this by adding intermediate steps in this case 5 & 15, It is also useful if you wish to step backwards to a previous step.
Excuse the poor graphics but this is just to test & display the process.