Много противоречий или неточностей. Разобраться в работе я не смог.
Пример:
I2)
IN0=1 зажигание включено-вход IN2=1,двигатель заведен-вход IN0=1, габарит не включен-вход
IN1=0 IN1=0, на выход OUT1 подать сигнал (меандр с частотой 1 Гц. на время 30 сек.)
IN2=1 выход OUT2 с задержкой в 3 сек. перевести в логическую 1.
OUT1=1
OUT2=1
Почему "IN1=0 IN1=0" дважды подряд?
Почему OUT1 меандр, и тут же OUT1=1? Если в течении 30 сек меандр, а потом лог.1 - так и напишите.
Вначале писали, что
При выключенном зажигании на всех входах и выходах лог.0.
а в 5) уже при IN2=0 OUT1 почему-то равен 1.
В идеале должно быть так (только форма, логика по Вашему описанию для меня не ясна, поэтому пример):
если IN0=1 и IN1=1 тогда OUT1=1; OUT2=0.
если IN0=0 и IN1=1 тогда OUT1=0; OUT2=1.
если IN0=1 и IN1=0 тогда OUT1 - меандр с частотой 1 Гц на время 30 сек, затем OUT1=0; OUT2=0.
если IN0=0 и IN1=0 тогда OUT1=0; OUT2 с задержкой в 3 сек. перевести в логическую 1.
То есть, для состояния входов возможно 4 комбинации - вот они все здесь представлены. Для каждой комбинации входов - однозначное состояние выходов.
И так по каждому пункту. Хотя наверно, я уже все пункты и перечислил.
При необходимости, особые условия. Например, при выдаче меандра изменился IN2 (стал=0). Программа должна немедленно завершить выдачу меандра, или же досчитать 30 сек, а потом отключить?