Форсирование переменных (Forcing Variables)
Отдельные типы CPU позволяют использовать особую функцию -
форсирование переменных (Forcing Variables), заключающуюся в том, что Вы с ее помощью можете задавать фиксированные значения некоторым
переменным.
При этом пользовательская программа не сможет изменить эти значения.
Форсирование разрешено для любого режима CPU и выполняется
немедленно после запуска функции.
Предупреждение: Вы должны избегать опасных состояний в Вашей
установке, могущих возникнуть при форсировании значений переменных!
Отправной точкой для форсирования переменных является VAT-таблица. Вы должны создать VAT-таблицу, после этого - задать адреса, для которых требуется форсирование значений. Затем необходимо установить
соединение с CPU. Вы можете открыть окно, содержащее форсируемые
значения, выбрав опции меню: Variable -> Display Force Values (Переменная -
> Отобразить форсированные значения).
Если форсированные значения уже активны в CPU, это отображается в окне функции форсирования (force window) с помощью выделенного шрифта. Вы можете теперь перенести некоторые или все адреса из таблицы переменных в окно функции форсирования или внести в этом окне новые адреса. После определения переменных для форсирования значений Вы должны сохранить содержание окна функции форсирования с помощью опций меню: Table -> Save As (Таблица -> Сохранить как).
Функция форсирования значений может быть использована для следующих адресных областей:
•Входы I (отображение процесса)
[S7-300 и S7-400]
•Выходы Q (отображение процесса)
[S7-300 и S7-400]
•Периферийные входы PI
[только S7-400]
•Периферийные выходы PQ
[S7-300 и S7-400]
•Меркеры М
[только S7-400]
Вы можете запустить функцию форсирования с помощью опций меню: Variable -> Force (Переменная -> Активировать форсирование значений).
CPU использует форсированные значения для заданных переменных и не разрешает в дальнейшем изменять значения этих переменных.
Пока активна функция форсирования:
•Все попытки чтения по адресу форсированной переменной из
пользовательской программы (например, load [загрузить]) и из системной программы (например, обновление образа процесса) всегда оканчиваются
с одним результатом: величина переменной соответствует
форсированному значению.
•В S7-400 все попытки записи по адресу форсированной переменной из пользовательской программы (например, transfer [переслать]) и из системной программы (например, посредством SFC) всегда оканчиваютсяьбез результата: изменения переменной запрещены. В S7-300 из пользовательской программы можно изменить ранее форсированное значение переменной.
Функция форсирования переменных в S7-300 соответствует функции
модификации в циклическом режиме: после обновления отображения входов процесса CPU перезаписывает входы форсированными значениями; перед установкой выходов процесса в соответствии с отображением выходов процесса CPU перезаписывает последние форсированными значениями.
Примечание: функция форсирования не завершается с закрытием окна функции форсирования, таблицы переменных или при разрыве связи с CPU!
Остановить работу функции форсирования переменных можно, если
только Вы используете опции меню: Variable -> Delete Force (Переменные -> Отменить функцию форсирования).
Функция форсирования также может быть остановлена, если выполнить сброс памяти или выключить (перевключить) питание, при условии, что CPU бне имеет резервной батареи питания.
Если функция форсирования остановлена, соответствующие адреса
продолжают содержать форсированные значения до тех пор, пока они не будут изменены или из пользовательской, или из системной программы.
Функция форсирования имеет стабильный эффект только для изменения I/O в CPU. Если после перезапуска форсированные PI и PQ больше не
назначаются (например, в результате новой параметризации), то эти PI и PQ
не поддерживают форсированные значения.
Методы устранения неполадок частот вращения во время эксплуатации УЧПУ.
Обработка ошибок
Если при считывании оказывается, что "ширина доступа" (access width) больше, чем размер форсируемых данных (например, форсируется байт [byte] в слове [word]), то не форсируемая часть значения адреса считывается как обычно. Если при этом происходит ошибка синхронизации (ошибка доступа или ошибка длины данных [access or area length error]), то программой пользователя или CPU фиксируется "ошибка вставки значения" ["error substitute value"] или же CPU переходит в состояние STOP.
Если при записи оказывается, что "ширина доступа" (access width) больше, чем размер форсируемых данных (например, форсируется байт [byte] в слове [word]), то не форсируемая часть значения адреса записывается как обычно.
При подобной ошибке доступа при записи форсированный компонент адреса остается неизменным, то есть защита от записи (write protection) не отменяется ошибкой синхронизации (synchronization error).
Считывание (loading) форсированных периферийных выходов дает в результате форсированные значения. Если "ширина доступа" (access width)
соответствует размеру форсируемых данных, входные модули, которые
вставляются в стойку взамен отказавших или для расширения, могут
получить форсированные значения.
Вход I в образе процесса, связанный с форсированным периферийным
входом PI, не форсируется; заранее он не определен и может быть
переопределен. При обновлении образа процесса данный вход получает
форсированное значение периферийного входа.
При форсировании периферийных выходов PQ связанный выход Q в образе процесса не обновляется и не форсируется (форсирование действует только "внешне" ["externally"] на выходы модуля). Значения выходов сохраняются и могут быть перезаписаны; считывание с выходов показывает записанные значения (не форсированные значения). Если выходной модуль форсирован, и если потом этот модуль отказал или удален, то он будет вновь принимать форсированные значения, когда он будет вновь включен в стойку в работоспособном состоянии.
Выходные модули выводят состояние сигнала "0" или предустановленное значение (substitute value) по OD сигналу (блокировка выходных модулей в режимах STOP [стоп], HOLD [пауза] и RESTART [перезапуск]) - даже если периферийные выходы форсированы (исключение составляют аналоговые модули без распознавания сигнала OD, которые продолжают выдавать на выход форсированное значение сигнала). Если сигнал OD выключен, функция форсирования вновь продолжает действовать.
Если в режиме STOP активирована функция Enable PQ (Разблокировать PQ), то форсированные значения также имеют эффект в режиме STOP (благодаря деактивации OD-сигнала). Кода действие функции Enable PQ (Разблокировать PQ) прекращается, модули вновь переходят в безопасное ("safe") состояние (состояние сигнала "0" или предустановленное значение substitute value]); при этом форсированное значение выхода вновь становится действительным при переходе в режим RUN.