Mach 4 is not Mach 3. There really isn't anything that directly correlates between the two as far as screen design goes. So the first mistake is to think what/how/why things work in Mach 3 vs. Mach 4. Just force yourself to not do this! You life will get easier.
Most of what you want can be done with custom scripting. For example, you can get the cycle time with the API and format it any way you want it with LUA.
if (machEnabled == 1) then
local cycletime = mc.mcCntlGetRunTime(inst)
if (machState ~= mc.MC_STATE_IDLE and mc.MC_STATE_JOG and mc.MC_STATE_HOME) then
scr.SetProperty("CycleTime", "Label", SecondsToClock(cycletime))
end
end
That code is in the PLC script on a screen I have. The LUA function SecondsToClock() does the format. This function is defined in the screen load script and is thus available to all screen scripts.
-- In screen load script.
function SecondsToClock(Seconds)
if Seconds == 0 then
return "00:00:00.00";
else
local Hours = string.format("%02.f", math.floor(Seconds/3600));
local Mins = string.format("%02.f", math.floor(Seconds/60 - (Hours*60)));
local Secs = string.format("%04.2f",(Seconds - Hours*3600 - Mins*60));
return Hours..":"..Mins..":"..Secs
end
end
As you can see, you can format the time in any manner you wish! You can also solve your "feedrate overridden" this way as well.
As to the flicker, all that you have to do is slow the rate at which the cycle time is updated. In the example above, is is called every PLC script interval. This interval is defined in the screen set. Say it is fifty milliseconds. Just put in a counter that is checked before calling the API to get the cycle time. That way, you can slow the update down to every x * 50 milliseconds.
I would suggest reading the API documentation and getting familiar with what all can be used. You will soon be dreaming up all kinds of ways to do things! LUA is the way to call these API functions in a screen, so reading up on it will help too.
There is no way to inhibit the scaling. We are using a cross platform framework with Mach 4 instead of MFC that was used in Mach 3. The cross platform capabilities are nice but it comes at a cost sometimes. i would suggest designing the screen at or near the resolution you wish instead.
We will never make that demo timeout message evident at the time the demo times out. The reason is that lets the hackers know what to look for to try and disable the timeout!