WEBVTT

1
00:00:00.568 --> 00:00:02.326
Ground Truth, for engineers.

2
00:00:02.326 --> 00:00:03.593
Inside the logic.

3
00:00:04.213 --> 00:00:07.297
The program came from a
MicroLogix 1200 backup:

4
00:00:07.297 --> 00:00:11.545
three ladder files, fifty-five
rungs, and not a single comment.

5
00:00:11.649 --> 00:00:13.685
It is small and fully determined:

6
00:00:13.685 --> 00:00:17.709
two trip latches, one sixty-second
timer, and seven one-shots.

7
00:00:17.814 --> 00:00:22.137
This is the extracted ladder itself,
executing, with live power flow.

8
00:00:24.870 --> 00:00:27.156
The cause and effect matrix is live too:

9
00:00:27.156 --> 00:00:30.843
each row lights while its cause
is true, and cites its rungs.

10
00:00:31.561 --> 00:00:33.333
Two findings, with their rungs.

11
00:00:33.333 --> 00:00:37.106
First, the stop drops the pump
permissive, but nothing latches it,

12
00:00:37.106 --> 00:00:39.307
so the release re-permits the pump.

13
00:00:39.721 --> 00:00:41.897
Second, the reset is level-sensitive.

14
00:00:41.897 --> 00:00:44.662
With the button held, a
trip latch cannot hold:

15
00:00:44.662 --> 00:00:47.274
it drops out the moment its cause clears.

16
00:00:49.748 --> 00:00:54.440
In proposed corrections mode, the proposed
structured-text program runs against the

17
00:00:54.440 --> 00:00:57.014
same plant, with the corrections built in.

18
00:00:58.324 --> 00:01:01.136
Here the stop is hardwired
through a safety relay,

19
00:01:01.136 --> 00:01:03.708
and the reset acts only on its rising edge.

20
00:01:03.758 --> 00:01:07.686
After an E-stop, the pumps stay
off until two deliberate resets:

21
00:01:07.686 --> 00:01:10.019
the safety relay, then the controller.

22
00:01:10.019 --> 00:01:11.201
No auto-restart.

23
00:01:13.881 --> 00:01:15.654
Verification is on the page:

24
00:01:15.654 --> 00:01:20.848
five hundred forty thousand word checks
against an independent simulator with zero

25
00:01:20.848 --> 00:01:24.215
mismatches, and all
seventy-eight test cases pass.

26
00:01:24.321 --> 00:01:28.758
With the corrections removed, the proposed
listing matches the original ladder,

27
00:01:28.758 --> 00:01:29.744
scan for scan.

28
00:01:30.680 --> 00:01:34.377
Every statement traced to a ladder
rung, and every rung executed.

