I. Кратка теория
Едно PLC може да се разгледа като комбинационна схема с n входа и m изхода. Чрез помощта на датчици, бутони, тригери и други то получава въздействия от околната среда, като те могат да са предизвикани нарочно от човек или случайно от някакво събитие.
В едно PLC можем да означим входните въздействия с Ix.y, а с Qx.y изходните въздействия. Входовете на PLC могат да се разглеждат като входове на комбинационна схема. В PLC може да има и друга група входове. Те са невидими и се означават с Mi. Qx.y изходите са физически изходи. Могат да се разглеждат като логическа функция която може да заема стойност нула или едно. Има и изходи обаче, който са невидими и тяхната стойност се запазва в паметта.
В паметта на едно PLC има I-област, в която се записват входните величини Ix.y и Q-област в която се записват изходните Qx.y величини. Също така има и М-област наричана още флагова област. Може да има и много други области, като например за таймери и други.
Всяко PLC си има операционна система, която управлява тези области и всичко останало.
Обаче само с операционна система едно PLC не може да ни свърши никаква работа. Затова се създават приложения (програми), които решават конкретна задача. Писането на такава програма става на език за програмиране, който е междинен между езиците на ниско ниво (асемблерни и машинни инструкции) и езиците от високо ниво. Този език може да се изобрази визуално по следните начини:
-
Instruction List Language – това е записване на поредица от преки командни. Методът много прилича на асемблерен език.
-
Ladder Diagram – това е графичен интерфейс, чрез който чрез графични обекти се реализират командите и изразите.
-
Grafcet Language – това е поредица от преходи и интервали. Той може да бъде текстов или графичен, но Twido софтуера не поддържа графичния.
Twido софтуера позволява автоматично конвертиране на дадена програма от един метод за писане в друг.
В паметта на PLC има два много важни еднобитови регистъра:
RZ – регистър на запитванията
RLO – регистър на логическите операции
Едни от основните функции в този софтуер са инструкциите за запитване (те са помощни и се използват само за първо запитване):
LD – запитване за високо ниво
LDN - запитване за ниско ниво
LDR - запитване за вдигащ фронт
LDF - запитване за падащ фронт
След това се използват инструкции от вида AND, ANDN, ANDR, ANDF, OR, ORN, ORR, ORF и други, който реализират логически и други функции.

II. Задание
Да се направи програма която събира две четири битови числа (без пренос и с пренос). За целта да се използват входове %I0.0 до %I0.7 резултата се извежда на Q0.0 до Q0.4. Също така за преноса да се ползват променливи – битове %М.
IІI. Решение

Едноразряден Суматор
СДНФ:
М инимизация с карта на Карно:
С хема на четирибитов суматор:
Σ

 0 Σ1
Σ

 2 Σ3
Сорс Код:
LDN %I0.0
AND %I0.1
OR( %I0.0
ANDN %I0.1
)
ST %Q0.0
......................
LD %I0.0
AND %I0.1
ST %M0
......................
LDN %I0.2
ANDN %I0.3
OR( %I0.2
AND %I0.3
)
AND %M0
OR(N %I0.2
AND %I0.3
OR( %I0.2
ANDN %I0.3
)
ANDN %M0
)
ST %Q0.1
......................
LD %I0.2
AND %I0.3
OR( %I0.2
OR %I0.3
AND %M0
)
ST %M1
......................
LDN %I0.4
ANDN %I0.5
OR( %I0.4
AND %I0.5
)
AND %M1
OR(N %I0.4
AND %I0.5
OR( %I0.4
ANDN %I0.5
)
ANDN %M1
)
ST %Q0.2
......................
LD %I0.4
AND %I0.5
OR( %I0.4
OR %I0.5
AND %M1
)
ST %M2
......................
LDN %I0.6
ANDN %I0.7
OR( %I0.6
AND %I0.7
)
AND %M2
OR(N %I0.6
AND %I0.7
OR( %I0.6
ANDN %I0.7
)
ANDN %M2
)
ST %Q0.3
......................
LD %I0.6
AND %I0.7
OR( %I0.6
OR %I0.7
AND %M2
)
ST %M3
......................
LD %M3
ST %Q0.4
Сподели с приятели: |