sigh... sure but... just another way of doing something stupid. yes i said it...
as stated before, $OV_PRO is a manual control, meant to allow person that works on the robot to test things safely. do NOT take that away... ever!
anyone overwriting speeds continuously should be beaten senseless.
setting that value by program can be justified in some cases. an example is to set the value only initially (for example when mode is changed) or to apply limit. but... ultimately, user should have no problem changing the value (at least reducing the value).
hence code should never continuously overwrite user speed controls... that is abuse and red flag about programmers competence. i do not care about you doing crazy things to yourself and in your own garage. but this is an industrial robot and crap like this can lead to dangerous situations since it prevents others from doing their job safely.
the only good thing about above approach is that is done in KRL which means one knowing what to look for can find it and disable it or adapt it. but world is full of unqualified people doing things they should not...
not long ago i was making changes to a palletizer using KR470 with a massive tooling. the thing was heavily customized and i could not find what was controlling the speeds and where. there was no mention of $OV_PRO and $OV_JOG anywhere in the archive, they must have used something that modifies speeds etc directly through Cross (like KVP etc does). and what a colossal clusterf@#&k job that was... nothing like trying to jog robot in T1 when it is close to some fixture and robot suddenly takes of at crazy speed (excess of 1 m/s). and that alone is illegal in every civilized country - speed in T1 shall not exceed 250mm/s.