S7-222 потеря функц-ти после длит. откл. пит-я
Влад Коваленко; 30.10.03

В чем могут быть причины следующей ситуации:

Есть программа работающая (CPU 222) со свободно программируемым портом (modbus, tips&triks №41 с адаптированным для 222 адресным пространством).
Все нормально работает пока с момента отключения питания контроллера не проходит большое количество времени (думаю около 8 - 12 часов, но никак не менее 3-4 часов).
После такого длительного отключения контроллер перестает откликаться на сетевые запросы в режиме freeport. При этом в этом режиме я не могу использовать пошаговую отладку. Но точно, что общий цикл контроллера работает. При этом все программы не использующие сетевой обмен так же работают.
Данный эффект сразу исчезает если я хоть как-то обращаюсь к контроллеру из Step7 (например, скачал с контроллера конфигурацию, перевел его в режим run из Step7).

Проверено на нескольких экземплярах, но все из одной партии.
Re: S7-222 потеря функц-ти после длит. откл. пит-я
Андрей Гуленок; 30.10.03

Что то я ничего не понял. Режим фреепорт исключает коммуникацию программатора по PPI. Если вы переводите контролер в фп, и то он не будет отвечать программатору, пока его не загнать в стоп. Порт то один, и как включить пошаговую отладку без связи я себе не представляю.

Re: S7-222 потеря функц-ти после длит. откл. пит-я
kot; 30.10.03

А переключатель стоит не в termе?

Re: S7-222 потеря функц-ти после длит. откл. пит-я
Влад Коваленко; 31.10.03

1. Вчера: Режим freeport работает. Выключил питание контроллера на ночь.


2. Сегодня включил питание: (положение переключателя остается в положении RUN) - нет отклика контроллера на мой запрос. Но контроллер отрабатывает дискретные входы, и даже отрабатывает обращение к порту (я проверял, вставляя в функции обработки запросов вкл. дискр. выходов)
3. a) Перевожу переключаетль в Stop. Запускаю Step7 и , например, загружаю в Step7 из контроллера конфигурацию.
Перевожу перекл. в режим RUN - мой протокол работает.
Контроллер отвечает на запросы, т.е. все работает. Выключаю контроллер (на 1-3 часа), включаю - все работает.

b) Перевожу переключаетль в Stop, потом Term. перевожу контроллер в режим RUN программно (из Step7). Контроллер отвечает на запросы, т.е. все работает. Выключаю контроллер (на 1-3 часа), включаю - все работает.


Но при этом программный цикл работает.

Вся непонятность ситуации заключается в том, что все начинает работать при хоть каком-то обращении к контроллеру из Step 7.
Если бы это была ошибка в моей программе, то как на эту ошибку может повлиять, напрмер, перевод контроллера в режим RUN из Step7 (программа не перезаписывается, ничего вообще не изменяется).

Может быть я не провоже все операции по инициализации порта, но тогда он у меня и не должен работать вообще.

Это больше похоже на защиту от использования не лецензионных программных средств. (Если бы я сам разработал программу типа Step7).

Re: S7-222 потеря функц-ти после длит. откл. пит-я
Влад Коваленко; 31.10.03

ще некоторое уточнение:

Под работой контроллера в данном контексте я понимаю работу в режиме freeport, а не возможность его программирования из Step7 (с этим проблем нет).

Под запросом здесь я понимаю modbus запрос от ЭВМ (с моим программным обеспечением) к контроллеру.

Под ответом контроллера я понимаю modbus ответ контроллера.

Re: S7-222 потеря функц-ти после длит. откл. пит-я
Влад Коваленко; 17.11.03

Проблема заключалась в неполной инициализации моей программой последовательного порта ПК.

Не была проинициализирована схема контроля четности.
При загрузки Step7 выполнял такую инициализацию, поэтому все работало.