I don't know of a way to get actual clock data or I/O history data into the job environment. What is your ultimate goal from the job environment?
Here's a couple more options to track time in a job. They still do not capture the actual clock data of the controller.
The GetReg instruction is nice if you have timers going in the Ladder and want to capture their value into a job.
Timer Variables can be configured to run during certain conditions, such as Robot not running. They can then be referenced and converted to a custom string that can be stored in the IO terminal using the Print instruction once the robot is restarted.
Thanks Minnesota Guy. Actually, I created a clock than runs 24hs, and stores hs, mins, and secs in three different registers and I use GetReg to retrieve them. Since the ladder timers count every 0.1s, I set a 10 increments counter to discriminate a second, and then count up to 60 for a minute and 3600 for an hour. I use the PLC to externally overwrite these values using the PLC time to synchronize both clocks. What do I need this for? I compare the timestamp of data sent from the PLC with the local timestamp, if values are within a certain tolerance I validate the veracity of the value obtained from the PLC, since the communication cannot fail.