A computer-based interlocking system, comprising: an interlocking subsystem, the interlocking subsystem including an interlocking system I and an interlocking system II that are the same and are interconnected to each other, wherein each of the interlocking system I and the interlocking system II comprises two CPUs having the same hardware and adopting task-level synchronization, and the two CPUs respectively run executable files generated by different compilers through compiling the same program codes; the system further comprising: an IO subsystem, and a control display and maintenance subsystem; the interlocking subsystem receives operation information from a human-machine dialog layer of the control display and maintenance subsystem, and receives device status information collected by the IO subsystem, to perform a safety logic operation, and to perform actual control on a device using the IO subsystem; wherein the IO subsystem includes an IO system I and an IO system II that are the same, and the IO system I and the IO system II are respectively connected to the interlocking system I and the interlocking system II; and each of the IO system I and the IO system II comprises two CPUs having the same or heterogeneous hardware, the two CPUs respectively run two sets of different software; wherein each of the IO system I and the IO system II comprises an input collection unit, the input collection unit collects a static DC voltage through a dynamic code-sending method where two independent CPU units within an input collection cage separately perform collection, and then send collection results to the interlocking subsystem to be compared by the interlocking subsystem; if the results are consistent through comparison, collected data are considered to be valid, otherwise, the collected data are invalid; thereby achieving a 2-vote-2 fault-safety collection. each of the interlocking system I and the interlocking system II comprises two CPUs having the same hardware and adopting task-level synchronization, and the two CPUs respectively run executable files generated by different compilers through compiling the same program codes; the system further comprising: an IO subsystem, and a control display and maintenance subsystem; the interlocking subsystem receives operation information from a human-machine dialog layer of the control display and maintenance subsystem, and receives device status information collected by the IO subsystem, to perform a safety logic operation, and to perform actual control on a device using the IO subsystem; wherein the IO subsystem includes an IO system I and an IO system II that are the same, and the IO system I and the IO system II are respectively connected to the interlocking system I and the interlocking system II; and each of the IO system I and the IO system II comprises two CPUs having the same or heterogeneous hardware, the two CPUs respectively run two sets of different software; wherein each of the IO system I and the IO system II comprises an input collection unit, the input collection unit collects a static DC voltage through a dynamic code-sending method where two independent CPU units within an input collection cage separately perform collection, and then send collection results to the interlocking subsystem to be compared by the interlocking subsystem; if the results are consistent through comparison, collected data are considered to be valid, otherwise, the collected data are invalid; thereby achieving a 2-vote-2 fault-safety collection. <EOS>