В момнт времени, когда уже надо было отсылать, пришел мой дркг Гоча и сказал:и Пива холодного хочешь?
И всьо... Это пароль. Ща пришел, понял свою легкомысленностть.
Прикладываю прорект
Вид для печати
Завтра?с1234
Конструкция понятна ,но не оптимальная .Для вашего простейшего случая она избыточна ,но полезна для изучения ОЛ .Заметил что либо логика изменена либо ошибки .
Добрейшего всем утречка!
Уффф. Не стал править свой вчерашний пьяненький бред. Смешно получилось, не мог приаттачить проект, хоть убейся. А похвастаться же хотелось, аж руки чесались!
Этот совершенно сознательно. Я же не скрывал, что учусь и мне было важно понять, что можно получить в йентом самом ОВ. Кроме того, сам подход с привычными мне фазами - получится или нет.
Боюсь дискутировать с вами, ибо я в данной области "от горшка два вершка", но с этой высоты все же мне видится очень перспективным использование вот такого "степпера", как я придумал. Скажем так: мне лично удобно. На каждом шаге (фазе) я анализирую те и только те переменные, которые имеют значение с учетом текущего шага. Скажем, когда идет насыпка продукта, я "ловлю" сигнал Уставка1, не забывая следить за сигналом ДНИЩЕ ЗАКРЫТО. И пофик в это время погода в Гонолулу! Она не влияет, как не влияет и Уставка0, как не влияет РАЗРЕШЕНИЕ РАЗГРУЗКИ и даже Уставка2. Ибо мы в этой фазе не случайно: мы в нее попали в результате предыдущих анализирований и действий.
У меня "на ходу" упрощалось ТЗ. Поэтому и поведение программы отличается от того, которое я расписывал раньше. Более того. Отладка в железе обещает дальнейшие коррективы. Ну, я же сам себе пишу ТЗ, сам и отступаю. Мелитопольцы уже заплатили аванс по работе, в которой я рискну все же поставить ПР вместо ПЛК. "Аннушка уже разлила масло". Вот там и посмотрим, что это за фрукт, ваше ПР110. Мне очень интересно.
(Хотя редактор схем все же вызывает большое раздражение. Вы-то уже притерпелись, ясен пень, а я все еще хотел бы подержать за кадык того пацана, что это писал!)
День добрый. А вот пацанов наших лучше не трогайте. Они стараются как могут, и поправляют огрехи.
За выходные смотрю дело сдвинулось. Если хотите попробовать пошаговый алгоритм, то попробуйте разобраться в "лесорубе". Там на самом деле достаточно просто, и именно так как вы и хотите, всё по шагам. Стоит счётчик, который перещёлкивается в зависимости от входных условий и на выходе Дешифратор в двоичный код, что соответствует включаемым входам. А между ними ППЗУ, в который Вы закладываете код для каждого шага.
Просто там конечно много блокировок нацеплено, может это помешало Вам разобраться. Но там всё таки опасный станок. Представьте что две больших фрезы могут столкнуться, ужас, поэтому и налепил. А так в основе то как раз и лежит три элемента (счётчик, ППЗУ, дешифратор).
"Хорошо, я посмотрю внимательнее" написал я и полез смотреть. Еще и удивился, мол, как же я не обратил внимание на то, что меня больше всего интересовало...
Хэх, так там же только описание, проекта нет. Потому и не связал ту реализацию со "своим" подходом :) Я тогда упирался в то, чтобы сделать ТЗ, приемлимое для знатоков ОЛ.
Мне интересно, как реализуется ПЗУ.
И еще у меня возникла трудность с временнЫми параметрами при перещелкивании CTN. Наступление следующего состояния у него как-то странно: есть такт, в котором у меня срабатывают 2 соседних компаратора, как будто на выходе счетчика присутствует и код 5, к примеру, и 6. В общем, не разобрался, а наставил задержек по 0,2 с в макросах. Коряво, надо будет понять, что за фигня.
И еще один стремный момент. Я был вынужден выбросить из цепей сброса счетчика входной сигнал от тумблера СТОП-РАБОТА. Иначе счетчик не уходил из состояния "0". Короче говоря, я полагаюсь на то, что при включении питания этот счетчик обнулен. Не слишком приятно, хотелось бы явно сбрасывать, но в симуляторе работает.
Так что идею я проверил, но к программе есть еще претензии. Именно на концептуальном уровне. Не чувствую, чтобы сама система перебора фаз (состояний счетчика) была стройной и логичной.
Я же тогда сказал, что уже выкладывал на форуме, надо было пошарится в архиве. Выкладываю ещё раз. Основное я пометил на схеме.
Что не понятно, переспросите. В ППЗУ (блок 16мем) в свойствах макроса справа внизу задаётся число десятичное, которое появляется на выходе при соответствующем шаге. Шаги идут снизу вверх от 0 до 15. Задаваемое число для соответствующего шага соответствует двоичному коду выходов в данный момент.
Можно и по другому чуть-чуть реализовать управление по событиям (фазам) .Для начала сделаем макрос ,который запоминает событие(переход из "0" в "1) и формирует короткий импульс ,причем последовательно во времени .То есть ,например событие по входу № 3,сформирует импульс при условии ,что были последовательно события по входу 1 ,потом входу2, это позволит упростить логику по входам .В макросе есть вход R-сброс всех событий ,для организации нового цикла.:rolleyes: