W języku LD (drabinka) logika jest przedstawiona graficznie, natomiast w IL (lista instrukcji) ta sama logika jest wykonywana sekwencyjnie na akumulatorze. Dlatego przy konwersji kluczowe są reguły mapowania elementów:
- styk normalnie otwarty (NO) odpowiada instrukcji LD (załaduj do akumulatora),
- styk normalnie zamknięty (NC) odpowiada instrukcji LDN (załaduj zanegowaną wartość),
- połączenie szeregowe elementów oznacza koniunkcję, czyli AND (ew. ANDN dla negacji),
- połączenie równoległe oznacza alternatywę, czyli OR albo ORN,
- cewka/wyjście jest realizowane przez ST (zapis wyniku).
W pierwszym szczeblu programu znajduje się styk NO I0.0 połączony szeregowo ze stykiem NC I0.1, a wynik steruje cewką M0.0. W IL trzeba więc najpierw wprowadzić do akumulatora wartość z odpowiednią negacją: LDN I0.1, następnie wykonać koniunkcję z I0.0 poprzez AND I0.0, a na końcu zapisać rezultat: ST M0.0. Taki zapis zachowuje sens "I0.0 i nie(I0.1)".
W drugim szczeblu występuje gałąź równoległa: styk NC M0.0 jest równolegle do styku NO I0.3, a całość zasila cewkę Q0.0. Logicznie jest to "I0.3 lub nie(M0.0)". W IL poprawnie zapisuje się to jako LD I0.3 (pierwsze ładowanie), potem ORN M0.0 (dodaj alternatywę z zanegowanym M0.0) i ST Q0.0.
Odpowiedź "LDN I0.1, AND I0.0, ST M0.0, LD I0.3, ORN M0.0, ST Q0.0" jest poprawna, bo realizuje dokładnie oba szczeble, uwzględnia negacje styków NC i używa właściwych operatorów dla połączeń szeregowych oraz równoległych.
Pozostałe warianty są błędne typowo z jednego z powodów: negują niewłaściwy sygnał (np. robią LDN dla NO), zamieniają AND z OR (błąd "szeregowe vs równoległe"), albo stosują negację w złym miejscu (np. ANDN/ORN do innej zmiennej), przez co zmieniają sens logiki i nie odpowiadają schematowi LD.