Сообщение от
Terrano1992
Зачем в него вмешиваться, когда контроллер сам это успешно делает? Отслеживает изменение переменной, своевременно записывает ее в EEPROM...
Ну, это не есть идеально, ИМХО. Как минимум 2 соображения у меня есть:
1) может быть переменная Retain, которая изменияется достаточно часто, но тренировать память с ограниченным числом циклов перезаписи незачем. Я хочу сохранять ее по определенным событиям (воля оператора или какой-то таймер, делающий запись не очень частой). Тогда выгодно тот алгоритм "автоматического сохранения" как-то блокировать.
Ну, я понимаю, что придется завести копию этой переменной (объявив ее Retain), и именно туда сбрасывать измененное значение рабочей переменной.
2) При работе с параметрами я считаю удобным, чтобы оператор не дрожал, боясь напортить. Поэтому хочу, чтобы можно было поиграть с параметрами, не изменяя их сохраняемые значения. И только по осмысленному вызову функции "Сберечь" перенести все в ЭППЗУ.
Поэтому, если я тебя правильно понял, мне вообще придется завести полную копию всех Retain-параметров и работать с ней. А потом заносить измененные (точнее - предназначенные для запоминания) значения в ту область, где у меня переменные, обозначенные как Retain. А потом уже знать, что ПЛК их сам упрячет куда надо.
То есть примерно так:
Код:
VAR RETAIN
byVarRetain : BYTE;
END_VAR
VAR
byX : BYTE := byVarRetain;
END_VAR
Дальше работаем только с byX, а в нужный нам момент делаем
byVarRetain := byX;
...и знаем. что ПЛК позаботится о сохранении byVarRetain.
Так?
Сообщение от
Terrano1992
Получить их в ПЛК "через ИП320" невозможно в любом случае, чисто по техническим ограничениям. Не умеет ИП320 взять данные из одного регистра и скопировать их в другой, ее таким операциям не научили.
Понял. Это я погорячился. Ну и фиг с ним. Этот вариант 3 не катит (чтобы ИП320 всем мастерам мастер был).
Но я рассматриваю вариант 2, когда в паре АЦП-ПЛК все же АЦП может быть мастером. Ищу в твоих ответах серьезные аргументы проив - и пока не вижу.
Ты пишешь про вариант 1:
Сообщение от
Terrano1992
- это подцепить ИП320 мастером на RS232, а АЦП и прочие прибамбасы навесить на RS485, где мастером будет ПЛК. Тогда, если выбьете из разработчика АЦП все его "хау-ноу"
, заполучив полную спецификацию на команды конфигурирования, сможете наваять нужную процедуру на ПЛК (и управлять ее выполнением через ИП320).
Выбивать ноу-хау, может быть, и не придется. У меня есть великолепный АЦП, который работает не по Модбасу. Если научу его модбасить или разберусь, как заставить ПЛК общаться с нестандартными протоколами (я уже видел ссылки на библиотеку NMU или как там ее) - то лучшего АЦП мне и не надо.
В любом случае, этот вариант 1 вполне в общепринятом русле и я понимаю, что его можно реализовать.
Но обдумываю, а почему нельзя вариант 2? Не вижу, не вижу препятствий. И очень надеюсь, что мне кто-то их покажет (медленно и два раза, я же новичек), чтобы не напороть глупостей. А если не покажет - буду пороть
далле ты про вариант 1 говоришь:
Сообщение от
Terrano1992
В то же время, такая система хотя бы частично останется работоспособной при сбое/отказе ИП320
Дык и вариант 2 такое обещает! Не вижу разницы. Отказал ИП320. Ослеп оператор и с параметрами не может работать. Но 99% времени с параметрами никто не работает. Есть дополнительные кнопки (для грубых операторских рук) и лампочки на шкафу. Работай на здоровье! И какая разница, то ли ПЛК периодически запрашивает у АЦП данные, то ли АЦП их периодически сбрасывает в ПЛК?
Сообщение от
Terrano1992
А как быть с тем, что кроме АЦП в этой системе есть еще ПЛК и панель, которые все равно без компьютера не запрограммировать?...
Или по условиям задачи необходимо какие-то отдельные рабочие настройки АЦП оперативно изменять?
Именно! Панель - то при выпуске и все.
Но по условиям моей задачи на объекте происходит практически обязательное конфигурирование АЦП. Причем, это делается не только при пуско-наладке, но и потом - персоналом заказчика. И, поверь человеку, который по телефону не один десяток раз руководил процессом, очень важно, чтобы делалось все без компа.
Ты просто не представляешь, в каких "полевых" условиях все это выполняется. На вопрос: "У вас тестер есть?" слышишь смущенное сопение в трубке