Составные типы данных составляются из элементарных типов и имеют длину превосходящую разрядность контроллера. Так, например, составной тип данных DATA_ and TIME имеет длину 64, отражает дату и время. В дате указывается год, месяц, число. Во времени - часы, минуты и секунды, максимально 254 символа.
Различные типы данных согласовываются между собой с помощью операции преобразования типов данных. Преобразования не зависят и от данных, и от типа. Необходимо выполнить математические операции над целыми числами, а считаются и представляются в BCD коде, тогда данные должны пройти следующие этапы преобразования. Число вводится в BCD, преобразуется в BCD int, проходит через программу преобразований математических операции с целыми числами, затем опять преобразуется в BCD int, и отображается в BCD.
Лекция 11. Операции переходов
Как было сказано выше, программа контроллера является описанием всех возможных технологических ситуаций. Каждая технологическая операция разделяется в программе логическими условиями, которые реализуются логическими операциями программы. ПоRLO формируется действие операции. Однако имеются такие операции, которые не формируют RLO, например, это операции загрузки и выгрузки из аккумулятора. Операции переходов используются в тех случаях, когда в командах не формируется RLO.
|
|
Операции переходов не должны образовать зацикливание программы, а должны образовать ветвление программы.
Операции переходов.
JU метка - безусловного перехода;
JC метка – переход, если RLO= 1;
JCN метка – переход, если RLO=0;
JCB метка – переход, если RLO= 1 с сохранением RLO;
JNB метка – перехода, если RLO=0 и сохранения RLO;
JBI метка – перехода, если BR= 1;
JNBI метка – перехода, если BR= 0.
Задача. Выполнить вычисление следующей математической операции:
X+ 0.85 Z X <4
Y=
X- 0.3 Z X>=4
Решение:
Net1
L ‘X’
L 4
>=R
JC M1
Net2
L ‘Z’
L 0.85
*R
L ‘X’
+R
T ‘Y’
JU MEND
Net3
L ‘Z’
M1: L ‘Z’
L 0.3
*R
T MD20
L ‘X’
L MD20
-R
T ‘Y’
MEND: NOP 0
Перечисленные команды характерны для традиционных контроллеров. Для контроллеров Simatic имеется специальная команда передвижения по списку. Эта команда характерна для контролера Simens. Правило выполнения команды передвижение по списку: передвижение по списку осуществляется по константе в аккумуляторе. При этом пользователь оговаривает максимальное значение константы. Максимальное значение константы соответствует количеству команд JU после команды JL. После команды JL имеется метка, к которой происходит переход, если константа в аккумуляторе превзошла свой максимальный размер. Если константа в аккумуляторе 0 переход происходит к метке, указанной в первой команде JU. Если константа 1, то к метке, указанной во второй команде JU, и так далее.