Programmable logic controllers (PLC) are used for many industrial process control applications. Learning to write ladder logic programs for PLC control is an important and challenging task. However, the learning of ladder logic is often hindered by limited PLC availability due to expensive lab setup, limited lab time, and high student/instructor ratios. With the help of the internet, teaching is not constrained in the traditional classroom pedagogy; the instructors can put the course material on the website and allow the students go on to the course webpage as an alternative way to learn the domain knowledge. However, there is no interaction between the users and learning materials; so, the learning efficiency is often limited. The problem here is how to design a web-based system that is intelligent and adaptive enough to teach the students domain knowledge in PLC. In this research, we proposed a system architecture which combines the pre-test, cased-based reasoning (i.e., heuristic functions), tutorials and tests of the domain concepts, and post-test (i.e., including pre- and post-exam) to customize students' needs according to their knowledge levels and help them learn the PLC concepts, effectively. We have developed an intelligent tutoring system which is mainly based on the feedback and learning preference of the users' questionnaires. It includes many pictures, colorful diagrams, and interesting animations (i.e., switch control of the user's rung configuration) to attract the users' attention. From the model simulation results, a knowledge proficiency effect occurs on problem solving time. If the students are more knowledgeable about PLC concepts, they will take less time to complete problems than those who are not as proficient. Additionally, from the system experiments, the results indicate that the learning algorithm in this system is robust enough to pinpoint the most accurate error pattern (i.e., almost 90 % accuracy of mapping to the most similar error pattern), and the adaptive system will have a higher accuracy of discerning the error patterns which are close to the answers of the PLC problems when the databases have more built-in error patterns. The participant evaluation indicates that after using this system, the users will learn how to solve the problems and have a much better performance than before.