Хорошо, это лучший вопрос.
ПЛК похожи на любую программу - данные хранятся в разных типах. Представьте, что флаги взаимозаменяемы с терминами «бит», «логический» и т. Д. Они очень важны.
Если у вас есть CX-Programmer, гораздо лучше получить информацию - Справочник по инструкциям (Справка -> Справочник по инструкциям -> yourPLC). Они показывают временные диаграммы большинства инструкций и то, как работают каждый из параметров и флагов.
Например, базовый таймер (TIM) работает, присваивая ему значение. Если вы используете таймер BCD типа 100 мс и назначаете его SV (заданное значение) значение BCD 300, то вы создали таймер с 30-секундным пределом (300 x 100 мс). Когда таймер включится, он начнет отсчет, а PV (значение процесса) начнется с 300 и начнет обратный отсчет. Когда значение достигает нуля, флаг таймера включается, чтобы указать, что срок его действия истек. Если номер таймера, скажем, T100, то вы можете использовать T100 в качестве контакта в другой цепочке логики - это будет верно, если условия выполнения таймера TRUE и время таймера истекло.
Дифференциалы (UP / DOWN) - это специальные флаги, которые имеют значение true только для одного сканирования ПЛК (то есть: они верны только для одного цикла выполнения), когда их входные условия изменяются с FALSE на TRUE (то есть: с OFF на ON) для UP дифференциалы и TRUE to FALSE (то есть: от ON к OFF) для дифференциалов DOWN. Вы должны использовать дифференциалы в тех случаях, когда вы хотите выполнить действие в момент изменения данного условия.
Флаги можно использовать практически для чего угодно. Вы можете использовать их как общие логические значения в ваших собственных программах, они могут быть частью определенных операций (т. Е. Флаг CY (перенос) используется в арифметических операциях, которые приводят к переносу - другие флаги используются для указания переполнения или div / 0 ошибки и т. д.).
Снова отредактируйте: (чтобы ответить на расширенный вопрос).
Флаг завершения основного таймера - это контакт с его номером. Скажем, у меня есть таймер 100 мс, T100, который включается, когда контакт 10.00 включен:
10.00 ___
|-----| |---------------------------------------|TIM|
|100|
| |
|#20|
|___|
Теперь, после 10.00 включения в течение двух секунд, таймер истечет, и флаг для таймера 100, T100, включится. Если бы у меня была другая ступенька, где
| T100 W15.00
|-----| |-----------------------------------( )
Тогда рабочий бит W15.00 будет включен по истечении таймера и будет оставаться включенным, пока выполняется условие входа таймера (то есть: до тех пор, пока 10.00 остается включенным). Однако флаги работают по-разному для разных вещей. Каждая операция может использовать их по-разному.
Пример из справочника инструкций Omron (Справка -> Справочник инструкций -> [выберите ПЛК]) выглядит следующим образом: