Программируемые управляющие устройства VersaMax (ПЛК Micro и ПЛК Nano). Руководство пользователя (2002 год) - часть 14

 

  Главная      Книги - Разные     Программируемые управляющие устройства VersaMax (ПЛК Micro и ПЛК Nano). Руководство пользователя (2002 год)

 

поиск по сайту            правообладателям  

 

   

 

   

 

содержание      ..     12      13      14      15     ..

 

 

 

Программируемые управляющие устройства VersaMax (ПЛК Micro и ПЛК Nano). Руководство пользователя (2002 год) - часть 14

 

 

18
Обращение к COMMREQ Serial I/O в цикле ПЛК
Работа по последовательному протоколу, использующему COMMREQ Serial I/O,
может быть ограничена временем цикла ПЛК Micro. Например, если протокол
требует, чтобы ответ на определенную посылку от удаленного устройства был
инициирован в течение 5 мc с момента получения посылки, такой способ может не
сработать, если цикл ПЛК составляет 5 мс или более, т. к. своевременный отклик не
гарантируется.
При использовании протокола Serial I/O с ПЛК VersaMax Nano или ПЛК Micro на
14 каналов должно быть сконфигурировано пользовательское переключение. Для
ПЛК Nano требуется внешний переключатель. Когда ПЛК VersaMax Nano или ПЛК
Micro на 14 каналов находятся в режиме Run, активным является протокол Serial
I/O; после переключения из режима Run в режим Stop ПЛК Nano или ПЛК Micro на
14 каналов автоматически переключается на протокол SNP. Мастер SNP (например,
VersaPro) не может связываться с ПЛК Nano или ПЛК Micro на 14 каналов,
сконфигурированным для работы по протоколу Serial I/O, когда он находится в
режиме Run.
Поскольку Serial I/O полностью управляется прикладной программой, порт,
сконфигурированный как Serial I/O, в режиме STOP автоматически переходит в
режим SNP слэйв для обеспечения связи с программатором. Таким образом,
протокол Serial I/O в режиме Stop не работает; он работает только, когда ПЛК
находится в режиме Run.
Совместимость
Функциональные блоки COMMREQ, поддерживаемые протоколом Serial I/O, не
поддерживаются другими существующими в настоящее время протоколами
(такими, как SNP слэйв, SNP мастер и RTU слэйв). При попытке использовать их
для порта, сконфигурированного под один из этих протоколов, выдается сообщение
об ошибке.
18-10
18
Слово состояния COMMREQ Serial I/O
После успешного выполнения COMMREQ в слово состояния COMMREQ
записывается значение 1. Любое другое значение является кодом ошибки, где
младший байт - старший код ошибки, а старший байт - младший код ошибки.
Старший
Описание
код
ошибки
1 (01h)
Успешное выполнение (это ожидаемое значение слова состояния COMMREQ).
12 (0Ch)
Локальная ошибка — Ошибка выполнения местной команды. Младший код ошибки указывает
конкретную ошибку.
1 (01h)
Команда типа Wait не разрешена. Используйте команду типа No-Wait.
2 (02h)
Команда COMMREQ не поддерживается.
5 (05h)
Ошибка записи слова состояния COMMREQ в память ПЛК.
6 (06h)
Указан неверный тип памяти ПЛК.
7 (07h)
Указано неверное смещение в памяти ПЛК.
8 (08h)
Невозможен доступ к памяти ПЛК.
12 (0Ch)
Длина блока данных COMMREQ слишком мала.
14 (0Eh)
Неверные данные COMMREQ.
13 (0Dh)
Удаленная ошибка — Ошибка выполнения удаленной команды. Младший код ошибки указывает
конкретную ошибку.
2 (02h)
3 (03h)
Длина блока данных COMMREQ слишком мала. Последовательность данных
отсутствует или не завершена.
4 (04h)
Тайм-аут ожидания данных при приеме.
8 (08h)
Невозможен доступ к памяти ПЛК.
12 (0Ch)
Длина блока данных COMMREQ слишком мала.
48 (30h)
Тайм-аут передачи. Последовательный порт не смог передать последовательность
данных. (Может быть вызвана отсутствием сигнала CTS, если последовательный порт
сконфигурирован для использования аппаратного контроля связи.)
50 (32h)
Тайм-аут COMMREQ. COMMREQ не завершен в течение 20 секунд.
Глава 18 Протоколы Serial I/O / SNP / RTU
18-11
18
Старший
Описание
код
ошибки
14 (0Eh)
Ошибка автонабора — ошибка возникает при попытке пересылки последовательности команд на
подключенный внешний модем. Младший код ошибки указывает конкретную ошибку.
2 (02h)
Длина последовательности команд модема выходит за границу памяти указанного типа.
3 (03h)
Длина блока данных COMMREQ слишком мала. Последовательность выходных
управляющих команд отсутствует или не завершена.
4 (04h)
Тайм-аут передачи. Последовательный порт не смог передать модему команду
автонабора.
5 (05h)
Не был получен ответ от модема. Проверьте модем и кабель.
6 (06h)
Модем ответил сигналом BUSY (линия занята). Модем не может выполнить требуемое
соединение. Удаленный модем уже используется; попробуйте передать запрос связи
позже.
7 (07h)
Модем ответил сигналом NO CARRIER (нет несущей). Модем не может выполнить
требуемое соединение. Проверьте местный и удаленный модемы и телефонную линию.
8 (08h)
Модем ответил сигналом NO DIALTONE (нет гудка в линии). Модем не может выполнить
требуемое соединение. Проверьте подключения модема и телефонную линию.
9 (09h)
Модем ответил сигналом ERROR (ошибка). Модем не может выполнить команду.
Проверьте командную строку модема и модем.
10 (0Ah)
Модем ответил сигналом RING (входящий звонок), сообщая, что модем вызван другим
модемом. Модем не может выполнить команду. Попробуйте передать команду модему
позже.
11 (0Bh)
От модема получен неизвестный ответ. Модем не может выполнить команду. Проверьте
командную строку модема и модем. Ответ должен быть CONNECT или OK.
50 (32h)
Тайм-аут COMMREQ. COMMREQ не завершен в течение 20 секунд.
18-12
18
Команды COMMREQ для протокола Serial I/O
Следующие COMMREQ используются при реализации Serial I/O:
Локальные COMMREQ - не принимают и не передают данные через
последовательный порт.
Инициализация порта 4300
Настройка входного буфера (4301)
Очистка входного Буфера (4302)
Чтение состояния Порта (4303)
Запись управления Портом (4304)
Отмена действия (4399)
Удаленные COMMREQ - принимают и/или передают данные через
последовательный порт.
Автонабор (4400)
Запись Байт (4401)
Чтение Байт (4402)
Чтение потока данных (4403)
Глава 18 Протоколы Serial I/O / SNP / RTU
18-13
18
Наложение COMMREQ
Выполнение некоторых COMMREQ Serial I/O должно быть закончено до
выполнения следующего COMMREQ. Другие могут оставаться незаконченными во
время выполнения следующих.
COMMREQ, которые должны завершить выполнение
Автонабор (4400)
Инициализация порта 4300
Настройка входного буфера (4301)
Очистка входного Буфера (4302)
Чтение состояния Порта (4303)
Запись управления Портом (4304)
Отмена действия (4399)
Настройка последовательного порта (FFF0)
COMMREQ, которые могут быть незаконченными во время
выполнения других
В приведенной ниже таблице показано, могут ли быть незаконченными COMMREQ
Запись байт, Чтение байт и Чтение потока данных, когда выполняются другие
COMMREQ.
Новый COMMREQ
COMMREQ, в
Авто-
Запись
Инициа-
Настрой-
Очистка
Чтение
Запись
Чтение
Чтение
Отмена
Настрой-
настоящее
набор
Байт
лизация
ка
входного
Состоя-
Управ-
Байт
потока
действия
ка
время
(4400)
(4401)
порта
входного
Буфера
ния
ления
(4402)
данных
(4399)
последо-
неокончен-
4300
буфера
(4302)
Порта
Портом
(4403)
ватель-
ные
(4301)
(4303)
(4304)
ного
порта
(FFF0)
Запись Байт
Нет
Нет
Да
Да
Да
Да
Да
Да
Да
Да
Нет
(4401)
Чтение Байт
Нет
Да
Да
Нет
Нет
Да
Да
Нет
Нет
Да
Нет
(4402)
Чтение
Нет
Да
Да
Нет
Нет
Да
Да
Нет
Нет
Да
Нет
потока
данных
(4403)
18-14
18
Функция инициализации порта (4300)
Эта функция отправляет в указанный порт команду сброса. Она также прерывает
любой COMMREQ, выполняющийся в данный момент, и очищает внутренний
входной буфер. Сигнал RTS устанавливается неактивным.
Пример командного блока функции инициализации порта
Значение
Значение
Содержание
(Десятичное)
(шестнадцатиричное)
адрес
0001
0001
Длина блока данных
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1
(%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4300
10CC
Команда инициализации порта
Особенности работы
Примечание: COMMREQ, прерванные из-за выполнения этой команды, не
обновляют соответствующие слова состояния COMMREQ.
Предостережение: Если этот COMMREQ посылается, когда COMMREQ Запись
байтов (4401) передает поток данных через последовательный порт, передача
останавливается. Передача потока данных останавливается в неопределенной
позиции. Кроме этого последний символ, посланный ПЛК Micro и полученный
устройством, также будет неопределенным.
Глава 18 Протоколы Serial I/O / SNP / RTU
18-15
18
Функция настройки входного буфера (4301)
Эта функция может использоваться для изменения размера буфера внутренней
памяти, в который помещаются данные при приеме. По умолчанию устанавливается
максимальный размер буфера - 2Кбайт. Данные, полученные по последовательному
порту, помещаются во входной буфер. Если буфер переполняется, последующие
данные, полученные по последовательному порту, отбрасываются, и в слове
состояния порта устанавливается бит ошибки переполнения (Overflow Error) (см.
функцию чтение состояния порта).
Извлечение данных из буфера
Данные могут быть извлечены из буфера с помощью функций Чтение потока
данных или Чтение байт. Непосредственно из прикладной программы эти данные
недоступны.
Если данные своевременно не извлечены из буфера, некоторые символы могут быть
потеряны.
Пример командного блока функции настройки входного буфера
Значение
Значение
Содержание
(десятичное)
(шестнадцатиричное)
адрес
0002
0002
Длина блока данных
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1 (%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4301
10CD
Команда настройки входного буфера
Адрес +7
0064
0040
Длина буфера (в словах)
Особенности работы
Нельзя установить длину буфера равной 0. Если введена длина буфера, равная 0, по
умолчанию будет установлен размер буфера 2 Кбайт.
Если указана длина буфера больше 2 Кбайт, выдается сообщение об ошибке.
18-16
18
Функция очистки входного Буфера (4302)
Эта операция очищает входной буфер от любых символов, полученных через
последовательный порт, но не извлеченных командой чтения. Все эти символы
будут утеряны.
Пример командного блока функции очистки входного буфера
Значение
Значение
Содержание
(десятичное)
(шестнадцатиричное)
адрес
0001
0001
Длина блока данных
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1 (%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4302
10CE
Команда очистки входного буфера
Глава 18 Протоколы Serial I/O / SNP / RTU
18-17
18
Функция чтения Состояния Порта (4303)
Эта функция возвращает текущее состояние порта. Могут быть определены
следующие события:
1.
Запрос чтения был предварительно инициирован, и требуемое количество
символов было получено или истекло указанное время тайм-аута.
2.
Запрос записи был предварительно инициирован, и передача указанного
количества символов завершилась или истекло указанное время тайм-аута.
Состояние, возвращенное функцией, указывает завершенные события или событие.
Если предварительно были инициированы и запись, и чтение, могут возникнуть
более одного события одновременно.
Пример командного блока функции чтения состояния порта
Значение
Значение
Содержание
(десятичное)
(шестнадцатиричное)
адрес
0003
0003
Длина блока данных
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1 (%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4303
10CF
Команда чтения состояния порта
Адрес +7
0070
0046
Тип памяти состояния порта (%I)
Адрес +8
0001
0001
Адрес состояния порта в памяти (%I0001)
18-18
18
Состояние порта
Состояние порта состоит из слова состояния и количества символов во входном
буфере, которые не были извлечены приложением (полученные и доступные
символы).
слово 1
Слово состояния порта (см. ниже)
слово 2
Доступные символы во входном буфере
Слово состояния порта может быть:
Бит
Название
Описание
Содержание
15
RI
Чтение
Установлен
Выполняется Чтение байт или Чтение потока данных
выполняется
Сброшен
Произошел тайм-аут предыдущего Чтения байт или
потока данных, оно было прервано или закончено
14
RS
Успешное
Установлен
Чтение байт или Чтение потока данных успешно
чтение
завершено
Сброшен
Выполняется новое Чтение байт или Чтение потока
данных
13
RT
Тайм-аут
Установлен
Произошел тайм-аут приема при Чтении байт или
чтения
Чтении потока данных
Сброшен
Выполняется новое Чтение байт или Чтение потока
данных
12
WI
Запись
Установлен
Выполняется новая Запись байт
выполняется
Сброшен
Произошел тайм-аут предыдущей Записи байт, она
была прервана или закончена
11
WS
Успешная
Установлен
Предыдущая Запись байт успешно завершена
запись
Сброшен
Выполняется новая Запись байт
10
WT
Тайм-аут
Установлен
Произошел тайм-аут передачи при Записи байт
записи
Сброшен
Выполняется новая Запись байт
9
CA
Символ
Установлен
Непрочитанные символы в буфере
доступен
Сброшен
Непрочитанных символов в буфере нет
8
OF
Ошибка
Установлен
Произошла ошибка переполнения последовательного
переполнения
порта или внутреннего буфера
Сброшен
Выполняется Чтение состояния порта
7
FE
Ошибка
Установлен
Произошла ошибка кадровой синхронизации
кадровой
последовательного порта
синхронизации
Сброшен
Выполняется Чтение состояния порта
Глава 18 Протоколы Serial I/O / SNP / RTU
18-19
18
Бит
Название
Описание
Содержание
6
PE
Ошибка
Установлен
Произошла ошибка четности последовательного
паритета
порта
Сброшен
Выполняется Чтение состояния порта
5
CT
Сигнал CTS
Установлен
Линия CTS последовательного порта активна или у
активен
последовательного порта нет линии CTS
Сброшен
Линия CTS последовательного порта не активна
4 - 0
U
Не
используются,
должны быть в
состоянии 0
18-20
18
Функция Управления Портом (4304)
Эта функция принудительно устанавливает сигнал RTS для указанного порта:
Пример командного блока функции управления портом
Значение
Значение
Содержание
(Десятичное)
(шестнадцатиричное)
адрес
0002
0002
Длина блока данных
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1 (%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4304
10D0
Команда управления портом
Адрес +7
xxxx
xxxx
Управляющее слово порта
Управляющее слово порта
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RTS
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
Управляющее слово порта может быть:
15
RTS Управляемое состояние выхода RTS
1 = Активирует RTS
0 = Деактивирует RTS
0-14
U
Не используются (должны быть в состоянии 0)
Особенности работы
Для порта 2 (RS-485) ПЛК Micro сигнал RTS управляется также драйвером
передачи. Таким образом, управление RTS зависит от текущего состояния драйвера
передачи. Если драйвер передачи не доступен, установка RTS с помощью
COMMREQ управления портом не вызовет установки RTS в последовательной
линии. Состояние драйвера передачи управляется протоколом и зависит от
текущего дуплексного режима (Duplex Mode) порта. Для 2-проводного и 4-
проводного дуплексных режимов, драйвер передачи доступен только во время
передачи. Следовательно, RTS в последовательной линии будет активным на порту
2 (сконфигурированном для 2-проводного или 4-проводного дуплексного режима)
только при передаче данных. Для дуплексного режима точка-точка драйвер
передачи доступен всегда. Следовательно, в дуплексном режиме точка-точка RTS в
последовательной линии будет всегда отражать то, что выбрано с помощью
COMMREQ управления портом.
Глава 18 Протоколы Serial I/O / SNP / RTU
18-21
18
Функция отмены запроса связи (4399)
Эта функция отменяет текущее выполняемое действие. Она используется для
отмены и чтения, и записи. Если выполняется операция чтения, и во входном
буфере находятся необработанные символы, эти символы останутся во входном
буфере и будут доступны для чтения в будущем. Последовательный порт не
сбрасывается.
Пример командного блока функции отмены операции
Значение
Значение
Содержание
(Десятичное)
(шестнадцатиричное)
адрес
0002
0002
Длина блока данных
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1
(%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4399
112F
Команда отмены операции
Адрес +7
0001
0001
Тип отменяемой транзакции
1 Все операции
2 Операции чтения
3 Операции записи
Особенности работы
Эта функция не обновляет слова состояния отменяемых функций COMMREQ.
Предостережение: Если этот COMMREQ передается в режиме Отменить Все
(Cancel All) или Отменить Запись (Cancel Write), когда COMMREQ Write Bytes
(4401) передает поток данных через последовательный порт, передача прерывается.
Передача потока данных останавливается в неопределенной позиции. Кроме этого
последний символ, посланный ПЛК Micro и полученный устройством, также будет
неопределенным.
18-22
18
Функция автонабора (Autodial) (4400)
Эта возможность позволяет ПЛК VersaMax Micro автоматически набирать номер с
использованием модема и посылать указанный поток байтов.
Для реализации этой функции порт должен быть сконфигурирован как Serial I/O.
Например, вызов пейджера может быть выполнен тремя командами, для которых
требуются три командных блока COMMREQ:
Автонабор: 04400 (1130h) Связывается с модемом.
Запись байт: 04401 (1131h) Указывает поток ASCII-символов длиной от 1
до 250 байт для передачи через последовательный порт.
Автонабор: 04400 (1130h) Разрыв телефонного соединения возлагается
на прикладную программу ПЛК Micro. Это выполняется повторной
передачей команды автонабора и передачей команды разрыва соединения.
Глава 18 Протоколы Serial I/O / SNP / RTU
18-23
18
Командный блок автонабора
Команда автонабора автоматически передает Escape-последовательность,
соответствующую соглашению Hayes. Если вы используете модем, не
поддерживающий соглашение Hayes, вы можете использовать команду Запись
Байтов (Write Bytes) для активизации модема.
Примеры обычно используемых команд для Hayes-совместимых модемов
приведены ниже:
Команда
Длина
Функция
ATDP15035559999<CR>
16 (10h)
Импульсный набор номера 1-503-555-
9999
ATDT15035559999<CR>
16 (10h)
Тоновый набор номера 1-503-555-9999
ATDT9,15035559999<CR>
18 (12h)
Тоновый набор с паузой для выхода на
внешнюю линию
ATH0<CR>
5 (05h)
Повесить трубку
ATZ <CR>
4 (04h)
Восстановление конфигурации модема
по внутренним сохраненным значениям
Пример командного блока автонабора
В этом примере командного блока COMMREQ набирается номер 234-5678 при
использовании Hayes-совместимого модема.
Слово
Описание
Значения
1
0009h
Длина пользовательского блока данных (включая команду)
2
0000h
Режим NOWAIT
3
0008h
Тип памяти слова состояния (%R)
4
0000h
Адрес слова состояния минус 1 (Регистр 1)
5
0000h
не используется
6
0000h
не используется
7
04400 (1130h)
Номер команды автонабора
8
00030 (001Eh)
Тайм-аут отклика модема (30 секунд)
9
0012 (000Ch)
Количество байт в команде
10
5441h
A (41h), T (54h)
11
5444h
D (44h), T (54h)
12
3332h
Номер телефона: 2 (32h), 3 (33h)
13
3534h
4 (34h), 5 (35h)
14
3736h
6 (36h), 7 (37h)
15
0D38h
8 (38h) <CR> (0Dh)
18-24
18
Функция Записи Байт (Write Bytes) (4401)
Эту операцию можно использовать для передачи одного или нескольких символов
удаленному устройству через указанный последовательный порт. Передаваемые
символы должны находиться в памяти слов. Они не должны изменяться до
окончания операции.
До 250 символов может быть передано за один вызов этой функции. Операция не
получит статуса выполненной до тех пор, пока все символы не будут переданы или
не произойдет тайм-аут (например, если используется аппаратный контроль связи и
удаленное устройство никогда не позволяет передачу).
Пример командного блока для функции Записи Байт (Write Bytes)
Значение
Значение
Содержание
(Десятичное)
(шестнадцатиричное)
адрес
0006
0006
Длина блока данных (включая
передаваемые символы)
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1
(%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4401
1131
Команда записи байт
Адрес +7
0030
001E
Тайм-аут передачи (30 секунд). См.
примечание ниже.
Адрес +8
0005
0005
Количество записываемых байт
Адрес +9
25960
6568
‘h’ (68h), ‘e’ (65h)
Адрес +10
27756
6C6C
‘l’ (6Ch), ‘l’ (6Ch)
Адрес +11
0111
006F
‘o’ (6Fh)
Хотя в этом примере используются печатаемые значения символов ASCII,
ограничения на коды символов, которые могут быть переданы, отсутствуют.
Глава 18 Протоколы Serial I/O / SNP / RTU
18-25
18
Особенности работы
Примечание: Ноль, указанный как тайм-аут передачи, устанавливает значение
тайм-аута равным действительному времени, необходимому для передачи данных,
плюс 4 секунды.
Предостережение: Если во время передачи этим COMMREQ потока данных через
последовательный порт посылаются COMMREQ Инициализации Порта (4300) или
COMMREQ Отмены Операции (4399) в режиме Отменить Все или Отменить
Запись, передача останавливается. Передача потока данных останавливается в
неопределенной позиции. Кроме этого последний символ, посланный ПЛК Micro и
полученный устройством, также будет неопределенным.
18-26
18
Функция Чтения Байт (Read Bytes) (4402)
Эта функция считывает один или несколько символов из указанного порта.
Символы считываются из внутреннего входного буфера и помещаются в указанную
область входных данных.
Функция возвращает и количество принятых символов, и количество
необработанных символов, все еще находящихся во входном буфере. Если
запрашивается нулевое количество входных символов, возвращается только
количество необработанных символов во входном буфере.
Если символов недостаточно для выполнения запроса, и указано ненулевое
количество считываемых символов, операция не будет завершена, пока не будет
получено требуемое количество символов или не произойдет тайм-аут. По любому
из этих условий состояние порта указывает причину завершения операции чтения.
Слово состояния не обновляется до тех пор, пока операция чтения не закончится (по
тайм-ауту или по получении всех данных).
Если установленный тайм-аут равен 0, COMMREQ останется незаконченным до тех
пор, пока не будут получены все запрошенные данные, или он не будет отменен.
Если при выполнении этого COMMREQ происходит ошибка по любой причине,
данные в буфер не возвращаются. Любые данные, уже находящиеся в буфере,
сохраняются, и могут быть извлечены последующим запросом чтения.
Пример командного блока для функции Чтения Байт
Значение
Значение
Содержание
(Десятичное)
(шестнадцатиричное)
адрес
0005
0005
Длина блока данных
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1
(%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4402
1132
Команда чтения байт
Адрес +7
0030
001E
Тайм-аут чтения (30 секунд).
Адрес +8
0005
0005
Количество считываемых байт
Адрес +9
0008
0008
Тип памяти входных данных (%R).
Адрес +10
0001
0001
Адрес входных данных в памяти
(%R0001)
Глава 18 Протоколы Serial I/O / SNP / RTU
18-27
18
Формат возвращаемых данных для функции Чтения Байт
Возвращаемые данные состоят из количества фактически прочитанных символов,
количества символов, все еще доступных во входном буфере после завершения
чтения (если есть), и фактических входных символов:
Адрес
Количество фактически прочитанных символов
Адрес + 1
Количество символов все еще доступных во входном буфере, если
есть
Адрес + 2
Первые два символа (первый символ в младшем байте)
Адрес + 3
Третий и четвертый символы (третий символ в младшем байте)
Адрес + n
Последующие символы
Особенности работы
Если параметру типа памяти входных данных установлено значение памяти слов, и
если фактически принято нечетное количество байт, тогда старший байт последнего
слова, в которое записываются полученные данные, устанавливается в 0.
Поскольку данные получены по последовательному порту, они помещаются во
внутренний входной буфер. Если буфер переполняется, тогда любые последующие
данные, полученные через последовательный порт, отбрасываются, и в слове
состояния порта устанавливается бит Ошибка Переполнения (См. Функция чтения
состояния порта).
18-28
18
Функция Чтения Потока Данных (Read String) (4403)
Эта функция считывает символы из указанного порта до тех пор, пока не будет
получен указанный завершающий символ. Символы считываются из внутреннего
входного буфера и помещаются в указанную область входных данных.
Функция возвращает и количество принятых символов, и количество
необработанных символов, все еще находящихся во входном буфере. Если
запрашивается нулевое количество входных символов, возвращается только
количество необработанных символов во входном буфере.
Если завершающего символа нет во входном буфере, операция не будет завершена
до тех пор, пока не будет получен завершающий символ или не произойдет тайм-
аут. По любому из этих условий состояние порта указывает причину завершения
операции чтения.
Если установленный тайм-аут равен 0, COMMREQ останется незаконченным до тех
пор, пока не будет получен весь запрошенный поток данных, завершенный
указанным последним символом.
Если при выполнении этого COMMREQ происходит ошибка по любой причине,
данные в буфер не возвращаются. Любые данные, уже находящиеся в буфере,
сохраняются, и могут быть извлечены последующим запросом чтения.
Пример командного блока для функции Чтения Потока Данных
Значение
Значение
Содержание
(Десятичное)
(шестнадцатиричное)
адрес
0005
0005
Длина блока данных
Адрес +1
0000
0000
Режим NOWAIT
Адрес +2
0008
0008
Тип памяти слова состояния (%R)
Адрес +3
0000
0000
Адрес слова состояния минус 1
(%R0001)
Адрес +4
0000
0000
не используется
Адрес +5
0000
0000
не используется
Адрес +6
4403
1133
Команда чтения потока данных
Адрес +7
0030
001E
Тайм-аут чтения (30 секунд).
Адрес +8
0013
000D
Завершающий символ (возврат
каретки): должен иметь значение от 0
до 255 (0xFF), включительно
Адрес +9
0008
0008
Тип памяти входных данных (%R).
Адрес +10
0001
0001
Адрес входных данных в памяти
(%R0001)
Глава 18 Протоколы Serial I/O / SNP / RTU
18-29
18
Формат возвращаемых данных для функции Чтения Потока Данных
Возвращаемые данные состоят из количества фактически прочитанных символов,
количества символов, все еще доступных во входном буфере после завершения
чтения (если есть), и фактических входных символов:
Адрес
Количество фактически прочитанных символов
Адрес + 1
Количество символов все еще доступных во входном буфере, если есть
Адрес + 2
Первые два символа (первый символ в младшем байте)
Адрес + 3
Третий и четвертый символы (третий символ в младшем байте)
Адрес + n
Последующие символы
Особенности работы
Если параметру типа памяти входных данных установлено значение памяти слов, и
если фактически принято нечетное количество байт, тогда старший байт последнего
слова, в которое записываются полученные данные, устанавливается в 0.
Поскольку данные получены по последовательному порту, они помещаются во
внутренний входной буфер. Если буфер переполняется, тогда любые последующие
данные, полученные через последовательный порт, отбрасываются, и в слове
состояния порта устанавливается бит Ошибка Переполнения (См. Функция чтения
состояния порта).
18-30
18
Пример
Следующие функции пересылки блока устанавливают значения для выполнения
конфигурирования последовательного порта В/В. В этом примере конфигурируется
Порт 2. Элементы первой функции Block Move устанавливают следующее:
IN1 Длина блока данных, которая всегда равна 16 при конфигурировании COMMREQ
IN2 Флаг Wait/No Wait (Ждать/Не ждать): 0 для No Wait
IN3 Тип памяти слова состояния: 8 означает %R
IN4 Смещение слова состояния; это число отсчитывается от 0, т. е. 0 указывает на %R1
IN5 Значение тайм-аута простоя; не используется в режиме No Wait
IN6 Максимальное время связи; не используется в режиме No Wait
IN7 Управляющее слово; FFF0h - это команда настройки последовательного порта
Во второй функции Block Move:
IN1 Выбор протокола; 5 выбирает Serial I/O
IN2 Режим порта; 0 выбирает режим слэйв
IN3 Скорость передачи данных; 6 выбирает 19200
IN4 Паритет; 1 выбирает нечетный
IN5 Контроль связи; 1 выбирает отсутствие контроля
IN6 Задержка переключения; 0 выбирает отсутствие задержки
IN7 Таймаут; 0 выбирает отсутствие таймаута
В третьей функции Block Move:
IN1 Количество бит на символ; 1 выбирает 8 бит на символ
IN2 Количество стоповых бит; 0 выбирает 1 стоповый бит
IN3 Интерфейс; не используется, поэтому устанавливается в 0
IN4 Дуплексный режим; 1 выбирает 4-проводной
IN5 - IN7 Не используются
blkmov
blkmov
blkmov
INT
INT
INT
%T00007
16
IN1
Q
5
IN1
Q
1
IN1
Q
Portmemory1
Portmemory2
Portmemory3
%AI0001
%AI0008
%AI0015
0
IN2
0
IN2
0
IN2
8
IN3
6
IN3
6
IN3
0
IN4
1
IN4
1
IN4
0
IN5
1
IN5
1
IN5
0
IN6
0
IN6
0
IN6
16#FFF0
IN7
0
IN7
0
IN7
%R1 используется как слово состояния COMMREQ. Следующее звено очищает
слово перед передачей COMMREQ:
blkclr
WORD
%T00007
16
1
port1status
IN
%R00001
Глава 18 Протоколы Serial I/O / SNP / RTU
18-31
18
Далее пересылается COMMREQ для порта 2. Параметр SYSID устанавливает крейт
0 слот 1. Значение 20 параметра TASK ID устанавливает порт 2. Параметр IN
указывает, что конфигурационные данные будут размещены функцией Block Move
в памяти %AI, начиная с ячейки %AI1. Если произойдет ошибка, будет установлен
бит CommreqP (%T6).
COMMREQ
CommreqP
%T00007
( S )
%T00006
Port1memory
IN
%AI0001
1
SYSID
20
TASK
Следующее звено устанавливает бит завершения COMMREQ CommreqC (%T7),
который предохраняет от множественной пересылки COMMREQ, а также
предохраняет статус от перезаписи.
ALW_ON
CommreqC
( S )
%S00007
%T00007
18-32
Глава
Функция ПИД
19
Эта глава описывает функцию ПИД (пропорционально-интегрально-
дифференциальный регулятор), которая используется для управления с обратной
связью. Функция ПИД сравнивает значение обратной связи с требуемой уставкой
процесса и корректирует на основе рассогласования управляющую переменную.
Формат функции ПИД
Работа функции ПИД
Блок параметров для функции ПИД
Выбор алгоритма ПИД-регулирования
Определение характеристик процесса
Установка параметров, включая коэффициенты усиления
Пример вызова ПИД-регулятора
19-1
19
Формат функции ПИД
Функция ПИД использует ПИД-коэффициенты и другие параметры, хранящиеся в
массиве из 40 16-битовых слов, для выполнения ПИД-алгоритма в требуемом
интервале времени. Все параметры являются 16-битовыми целыми словами. Это
позволяет использовать память %AI для входной переменной процесса (Process
Variable) и %AQ для выходной управляющей переменной (Control Variable).
enable
PID IND
OK
Set Point
SP
CV
Control Variable
Process Variable
PV
(логика)
MAN
(логика)
UP
(логика)
DN
Адрес массива
Функция ПИД не пропускает через себя питание, если имеется ошибка в параметрах
конфигурации. Состояние функции при изменении данных может контролироваться
с помощью временной катушки.
19-2
19
Параметры функции ПИД
Вход/
Варианты
Описание
выход
enable
питание
ПИД-алгоритм выполняется при наличии разрешающего сигнала на
этом контакте.
SP
I, Q, M, T, G, R, AI,
Уставка регулятора или процесса. Функция ПИД настраивает выход
AQ, константы
Control Variable так, чтобы переменная Process Variable
соответствовала уставке (нулевая ошибка).
PV
I, Q, M, T, G, R, AI, AQ
Вход Process Variable от управляемого процесса, часто вход %AI.
MAN
питание
Когда установлен в 1 (через контакт), блок ПИД находится в ручном
режиме. Если ручной режим выключен, блок ПИД находится в
автоматическом режиме.
UP
питание
Когда UP и MAN установлены в 1, увеличивает значение
переменной Control Variable на 1.*
DN
питание
Когда DN и MAN установлены в 1, уменьшает значение переменной
Control Variable на 1.*
Адрес
R
Размещение управляющего блока ПИД (пользовательские и
внутренние параметры). Использует 40 слов %R, которые не могут
использоваться другими функциями.
ok
питание, отсутствие
ОК включен, если функция выполнена без ошибок. При
питания
возникновении ошибки устанавливается в 0.
CV
I, Q, M, T, G, R, AI, AQ
Выход управления (Control Variable) процессом, часто выход %AQ.
Увеличивает (UP параметр) или уменьшает (DN параметр) на единицу (1) за одно
обращение к функции ПИД.
Многие параметры должны быть заданы в единицах переменной процесса (PV) или
управляющей переменной (CV). Например, вход уставки (SP) должен быть
масштабирован в том же диапазоне, что и переменная процесса, т.к. ПИД-блок
вычисляет рассогласование путем вычитания этих двух выходов. Переменные PV и
CV могут принимать значения от -32000 до 32000 и от 0 до 32000 для отображения
переменных в диапазоне от 0.00% до 100.00%. Переменные PV и CV не обязаны
иметь одинаковую шкалу.
Глава 19 Функция ПИД
19-3
19
Работа функции ПИД
Работа в автоматическом режиме
Функция ПИД может вызываться каждый цикл подачей питания на вход Enable при
отсутствии питания на входе Manual. Блок сравнивает текущее время ПЛК со
временем последнего вызова ПИД, сохраненным во внутреннем массиве RefArray.
Если разница больше периода выборки, определенного в третьем слове (%Ref+2)
массива RefArray, ПИД-алгоритм выполняется. И время последнего вызова, и выход
CV обновляются. В автоматическом режиме выход CV помещается в параметр
Manual Command %Ref+13.
Работа в ручном режиме
Блок ПИД переводится в ручной режим подачей питания на входные контакты
Enable и Manual. На выходе CV устанавливается значение параметра Manual
Command %Ref+13. Если на входы UP или DN подано питание, слово Manual
Command увеличивается или уменьшается на одну единицу CV за каждый вызов
ПИД. Для более быстрого ручного изменения выхода CV также возможно
добавление или вычитание некоторого количества единиц CV непосредственно к/от
слов Manual Command.
Блок ПИД использует параметры CV Upper Clamp и CV Lower Clamp для
ограничения выхода CV. Если определен параметр Minimum Slew Time, он
используется для ограничения скорости изменения выхода CV. Если пределы
амплитуды CV или скорости изменения превышены, значение, сохраненное в
интеграторе, регулируется так, чтобы CV не выходил за пределы. Эта коррекция
интегратора означает, что если даже рассогласование пытается вывести выход CV
за установленные границы в течение долгого периода времени, выход CV пойдет
назад, как только значение рассогласования изменит знак.
Такая работа, когда параметр Manual Command отслеживает выход CV в
автоматическом режиме и устанавливает выход CV в ручном режиме, обеспечивает
безударный переход между автоматическим и ручным режимами. Параметры CV
Upper, Lower Clamps и Minimum Slew Time оказывают воздействие на выход CV и в
ручном режиме, и внутреннее значение, сохраненное в интеграторе, обновляется.
Это означает, что и в ручном режиме выход CV не будет изменяться быстрее, чем
это установлено параметром Minimum Slew Time, и он не сможет выйти за пределы
параметров CV Upper Clamp или CV Lower Clamp.
19-4
19
Интервал времени для функции ПИД
Функция ПИД не будет выполняться чаще, чем 1 раз за 10 миллисекунд. Если она
сконфигурирована для выполнения каждый цикл, а время цикла составляет менее 10
миллисекунд, функция ПИД не будет выполняться, пока не пройдет достаточное
количество циклов, чтобы с момента последнего обращения прошло 10
миллисекунд или более. Например, если время цикла составляет 9 миллисекунд,
функция ПИД выполняется через цикл, в результате время между выполнением
составит 18 миллисекунд. Конкретная функция ПИД не должна вызываться чаще
одного раза за цикл.
Наибольший возможный интервал между выполнениями составляет 10.9 минуты.
Функция ПИД компенсирует действительное время, прошедшее с момента
последнего выполнения, в пределах 100 микросекунд.
Алгоритм ПИД выполняется, только если время ПЛК Micro, прошедшее с момента
последнего выполнения, больше или равно времени выполнения алгоритма плюс
период выборки. Если для периода выборки установлено значение 0, функция
выполняется каждый раз, когда ей это разрешено, однако, не чаще чем один раз в 10
миллисекунд, как указано выше.
Масштабирование входа и выхода
Все параметры функции ПИД являются 16-битными целыми словами для
обеспечения совместимости с 16-битными аналоговыми переменными процесса.
Некоторые параметры должны быть заданы в единицах переменной процесса (PV)
или управляющей переменной (CV).
Вход уставки (SP) должен быть масштабирован в том же диапазоне, что и
переменная процесса, т. к. блок ПИД вычисляет рассогласование путем вычитания
этих двух входов. Переменные PV и CV не обязаны иметь одинаковую шкалу.
Переменные PV и CV могут принимать значения от -32000 до 32000 и от 0 до 32000
для отображения переменных в диапазоне от 0.00% до 100.00%. Если переменные
PV и CV не используют одинаковое масштабирование, множители включаются в
коэффициенты ПИД.
Глава 19 Функция ПИД
19-5
19
Пример функции ПИД
Пример, показанный ниже, включает типовые входы.
%S0007
разрешение
PID IND
Выход питания, если OK
Уставка
%R00010
+21000
SP
CV
%AQ0001
Управляющая
+25000
переменная
Переменная
%AI0001
PV
процесса
+20950
%M0001
MAN
%M0002
UP
%M0002
DN
%R00100
Массив из 40 слов
19-6
19
Блок параметров для функции ПИД
Блок параметров для функции ПИД занимает 40 слов в памяти %R. Многие из этих
40 слов используются ПЛК Micro и не конфигурируются. Каждая вызываемая
функция ПИД должна использовать различные области памяти, состоящие из 40
слов, даже если все 13 конфигурируемых параметров совпадают.
Первые 13 слов блока параметров должны быть определены до выполнения
функции ПИД. Ноль может быть использован для большинства значений по
умолчанию. После того, как выбраны подходящие значения параметров функции
ПИД, они могут быть определены как константы в функциеи BLKMOV и изменены
программой в случае необходимости.
Внутренние параметры в массиве RefArray
Функция ПИД читает 13 параметров и использует остальные слова массива
RefArray для внутренних целей. Эти значения обычно не требуется изменять. Если
Вы вызываете блок ПИД в автоматическом режиме после большого перерыва, Вы
можете использовать функцию SVC_REQ 16 для загрузки текущего времени ПЛК в
%Ref+23, чтобы обновить время последнего вызова блока ПИД во избежание
скачкообразных изменений на интеграторе. Если вы установили младший бит
управляющего слова Control Word (%Ref+14) в 1, следующие четыре бита
управляющего слова Control Word должны быть установлены для управления
входными контактами блока ПИД, и внутренние параметры SP и PV должны быть
установлены, т. к. вы перехватили контроль над блоком ПИД у релейной логики.
Глава 19 Функция ПИД
19-7
19
Параметр
Единицы
Диапазон
Описание
измерения
Адрес
Loop Number
Integer
0 - 255.
Необязательный номер блока ПИД. Он обеспечивает
Номер
общую идентификацию в ПЛК по номеру регулятора,
регулятора
определенному устройством операторского интерфейса.
Адрес +1
Algorithm
-
Устанавливает-
1 = алгоритм ISA
Алгоритм
ся ПЛК
2 = независимый алгоритм
Адрес +2
Sample Period
10 мс
0 (каждый цикл)
Наименьшее время, кратное 10 мс, между выполнением
Период
- 65535 (10.9
ПИД-алгоритма. Например, используйте 10 для периода
выборки
мин) Не менее
выборки 100 мс.
10 мс.
Адрес +3
Dead Band +
Единицы PV
0 - 32000
Верхняя (+) и нижняя (-) границы зоны
Адрес +4
and
(+ никогда
нечувствительности определяются целым числом в
Dead Band -
отрицательное)
единицах PV. Если зона нечувствительности не
Зона
(- никогда
требуется, эти значения должны равняться 0. Если ПИД-
нечувствитель-
положительное)
ошибка (SP - PV) или (PV - SP) выше значения (-) и ниже
ности +
значения (+), ПИД считает ошибку равной 0. Если
и
границы не равны 0, значение (+) должно быть больше 0,
Зона нечувстви-
а значение (-) должно быть меньше 0, иначе блок ПИД не
тельности -
будет работать.
Оставьте границы равными 0 на время настройки
коэффициентов ПИД. Зона нечувствительности
добавляется, чтобы избежать малых изменений выхода
CV из-за случайных ошибок на входе.
Адрес +5
Proportional
0.01
0 - 327.67%
Изменение управляющего выхода Control Variable в
Gain -Kp
CV%/PV%
единицах CV при изменении рассогласования на 100
Пропорцио-
единиц PV. Значение 450, введенное для Kp,
нальный
отображается как 4.50 и результат в виде Kp*Error/100
коэффициент
или 450*Error/100 передается на выход ПИД (Error -
(В версии ISA
рассогласование). Kp обычно является первым
Controller gain,
коэффициентом, устанавливаемым при настройке ПИД-
Kc)
регулятора.
Адрес +6
Derivative Gain-
0.01 с
0 - 327.67 с
Изменение управляющего выхода Control Variable в
Kd
единицах CV, если рассогласование или PV изменяется
Коэффициент
на 1 единицу PV каждые 10 мс. Вводится в десятках
Дифференци-
миллисекунд. Например, значение 120, введенное для
рования
Kd, отображается как 1.20 с и результат в виде Kd * delta
Error/dt или 120*4/3 передается на выход ПИД, если
рассогласование изменялось на 4 единицы PV каждые
30 мс. Kd может быть использован для ускорения
отклика регулятора, но он очень чувствителен к шуму на
входе PV.
Адрес +7
Integral Rate-Ki
Повторов/100
0 - 32.767
Изменение управляющего выхода Control Variable в
Коэффициент
0 с
повторов/с
единицах CV, если значение рассогласования постоянно
интегрирования
равнялось 1 единице PV. Отображается как 0.000
повторов/с (подразумеваются 3 знака после запятой).
Например, значение 1400, введенное для Ki,
отображается как 1.400 повторов/с и результат в виде Ki
* Error *dt или 1400 * 20 * 50/1000 передается на выход
ПИД, для рассогласования 20 единиц PV и времени
цикла ПЛК 50 мс (Период выборки - 0). Ki обычно
является вторым коэффициентом, устанавливаемым
после Kp.
19-8
19
Параметр
Единицы
Диапазон
Описание
измерения
Адрес +8
CV Bias/Output
Единицы CV
-32000 - 32000
Количество единиц CV, добавляемое к выходу ПИД до
Offset
(добавляется к
того, как учитываются ограничения по скорости и
Смещение
выходу
амплитуде. Смещение может быть использовано для
выхода
интегратора)
установки ненулевого значения CV, если используется
только пропорциональный коэффициент Kp, или для
управления выходом этого ПИД-регулятора другим
регулятором.
Адрес +9
CV Upper
Единицы CV
-32000 - 32000
Кол-во единиц CV, определяющее верхнее и нижнее
Адрес +10
and
значение CV. Ввод этих значений обязателен. Граница
(>>%Ref+10)
Lower Clamps
Upper Clamp должна иметь большее значение, чем
Верхняя и
граница Lower Clamp, иначе блок ПИД не будет работать.
нижняя границы
Они обычно используются для определения пределов на
выхода CV
основе физических ограничений выхода CV. Они также
используются для масштабирования изображения
диаграммы CV. Блок имеет коррекцию интегратора,
изменяющую значение интегратора при достижении
границ.
Адрес +11
Minimum Slew
Секунд/пол-
0 (нет) - 32000 с
Минимальное кол-во секунд, за которое выход CV
Time
ный проход
для изменения
должен измениться от 0 до 100% или 32000 единиц CV.
Минимальное
на 32000
Это время определяет скорость изменения выхода CV.
время прохода
единиц CV
Если этот параметр больше 0, CV не может измениться
более чем на 32000 единиц CV за время периода
выборки, деленное на минимальное время прохода.
Например, если период выборки составляет 2.5 секунды,
а минимальное время прохода равно 500 с, CV не может
измениться более чем на 32000*2.5/500 или 160 единиц
CV за один цикл работы блока ПИД. Значение
интегратора подстраивается, если ограничение скорости
превышено. Если минимальное время прохода равно 0,
то ограничение скорости отсутствует. Установите
минимальное время прохода равным 0 при настройке
коэффициентов блока ПИД.
Глава 19 Функция ПИД
19-9
19
Параметр
Единицы
Диапазон
Описание
измерения
Адрес +12
Config Word
Используются
Биты от 0 до 2
Младшие 5 бит этого слова используются для изменения
Слово
младшие 5
для знака
трех стандартных настроек блока ПИД. Остальным
конфигурации
бит
рассогласова-
битам должно быть установлено значение 0. Установите
ния, полярности
младший бит в 1 для изменения способа вычисления
выхода,
рассогласования: с нормального (SP - PV) на (PV - SP),
способа
в результате чего меняется знак обратной связи. Это
вычисления
предназначено для обратного управления, при котором
производной.
CV должен уменьшаться, когда PV растет. Установите
второй бит в 1 для инвертирования полярности выхода.
Установите четвертый бит в 1 для изменения
дифференцирующего воздействия с использующего
изменение рассогласования на использующее изменение
обратной связи PV.
Младшие 5 бит слова конфигурации Config Word
подробно описаны ниже:
Бит 0: Определение рассогласования. Когда бит - 0,
рассогласование определяется, как SP - PV. Когда этот
бит - 1, рассогласование определяется, как PV - SP.
Бит 1: Полярность выхода. Когда бит - 0, на выход CV
подается вычисленное значение ПИД. Когда этот бит - 1,
на выход CV подается инвертированный результат
вычисления ПИД.
Бит 2: Дифференцирующее воздействие на PV. Когда
бит - 0, дифференцирующее воздействие оказывается на
рассогласование. Когда этот бит - 1,
дифференцирующее воздействие оказывается на PV.
Все остальные биты должны быть установлены в 0.
Бит 3: Действие зоны нечувствительности. Когда бит - 0,
действие зоны нечувствительности не выбрано. Если
рассогласование находится в пределах зоны
нечувствительности, тогда рассогласование равно 0.
Иначе говоря, границы зоны нечувствительности не
влияют на рассогласование.
Когда бит - 1, действие зоны нечувствительности
выбрано. Если рассогласование находится в пределах
зоны нечувствительности, тогда рассогласование
принудительно устанавливается в 0. Однако, если
рассогласование находится вне зоны
нечувствительности, тогда оно уменьшается на значение
границы зоны нечувствительности (рассогласование =
рассогласование - граница зоны нечувствительности).
Бит 4: Действие коррекции интегратора. Когда бит - 0,
коррекция интегратора использует обратное вычисление.
Когда выход находится на ограничении, она заменяет
накопленное значение Y значением, необходимым,
чтобы расчетное значение выхода точно
соответствовало ограничению.
Когда бит - 1, она заменяет накопленное значение Y
значением Y на момент начала вычисления. В
результате, это значение используется до тех пор, пока
выход находится на ограничении.
Биты являются степенью 2. Например, чтобы установить
Config Word, вы должны прибавить 1 чтобы изменить бит
0 с SP-PV на PV-SP, или прибавить 2 чтобы изменить
бит 1 с CV = выход ПИД на CV = - выход ПИД, или
прибавить 4, чтобы изменить бит 3 с изменения Error на
изменения PV и т. д.
19-10
19
Параметр
Единицы
Диапазон
Описание
измерения
Адрес +13
Manual
Единицы CV
Отслеживает
Устанавливается в текущее значение выхода CV, когда
Command
CV в
блок ПИД находится в автоматическом режиме. Когда
Управляющее
автоматическом
блок переключается в ручной режим, это значение
воздействие в
режиме или
используется для установки выхода CV и внутреннего
ручном режиме
устанавливает
значения интегратора, с учетом ограничений по
CV в ручном
параметрам Upper Clamp, Lower Clamp и Slew Time.
режиме
Адрес +14
Control Word
Устанавли-
Устанавли-
Если младший бит внешнего управления установлен в 1,
Управляющее
вается ПЛК,
вается ПЛК,
это слово и другие внутренние параметры SP, PV и CV
слово
если не
если не
должны быть использованы для удаленного управления
установлен
установлен
этим блоком ПИД (см. ниже). Это позволяет удаленному
бит 1.
бит 1.
устройству операторского интерфейса, такому как
компьютер, взять управление на себя.
Предостережение: если вы не хотите, что бы это
произошло, убедитесь, что управляющее слово
установлено в 0. Если младший бит установлен в 0,
следующие 4 бита могут быть прочитаны для контроля
состояния входных контактов ПИД, пока на контакт
Enable (разрешение) подано питание.
Структура дискретных данных первых пяти бит а порядке
следования:
Бит:
Значен
Функция:
Состояние или внешнее
ие
воздействие, если бит 0
слова:
установлен в 1:
0
1
Внешнее
Если 0, биты ниже
управление
информационные. Если 1,
задайте их извне.
1
2
Ручной
Если 1, блок в ручном
/Автомат
режиме, в противном случае
- в автоматическом режиме.
2
4
Разрешение
Нормальное значение 1, в
противном случае блок не
вызывается.
3
8
UP
Если 1 и Бит 1 в 1, CV будет
/увеличение
увеличиваться каждый
вызов блока.
4
16
DN
Если 1 и Бит 1 в 1, CV будет
/уменьшение
уменьшаться каждый вызов
блока.
Адрес +15
Internal SP
Устанавливае
Не
Отслеживает вход SP; должна быть установлена извне,
Внутренняя
тся и
конфигурируетс
если
уставка
используется
я
бит внешнего управления = 1
ПЛК
Адрес +16
Internal CV
Отслеживает выход CV.
Внутренняя CV
Адрес +17
Internal PV
Отслеживает вход PV; должна быть установлена извне,
Внутренняя PV
если:
бит внешнего управления = 1
Адрес +18
Выход
Значение слова со знаком представляет выход
функционального блока перед возможной инверсией.
Если инверсия выхода не сконфигурирована, и бит
полярности выхода в управляющем слове установлен в
0, это значение равно выходу CV. Если выбрана
инверсия и бит полярности выхода установлен в 1, это
значение равно инвертированному значению выхода CV.
Глава 19 Функция ПИД
19-11
19
Параметр
Единицы
Диапазон
Описание
измерения
Адрес +19
Diff Term
Storage
Дифферен-
циальная.
составляющая
Адрес +20
Int Term Storage
Используются контроллером для хранения
Адрес +21
Внутренняя
промежуточных значений. Не записывайте в эти ячейки
память
памяти.
Адрес +22
Slew Term
Storage
Время прохода
Адрес +23 до
Clock
Хранит внутреннее время (время последнего
Адрес +25
Часы
выполнения блока ПИД). Не записывайте в эти ячейки
памяти.
Адрес +26
Y Remainder
Содержит остаток, используемый в интеграторе при
Storage
установившемся состоянии (рассогласование равно 0).
Остаток Y
Адрес +27
SP, PV Lower
Единицы PV
-32000 - 32000
Вспомогательные целые значения в единицах PV,
Адрес +28
and Upper
определяющие верхние и нижние отображаемые
Range Границы
значения.(Ref +27 должен быть меньше, чем Ref+28).
диапазона
значений SP и
PV
Адрес +29
Зарезервиро-
Нет
Не конфигури-
29-34 зарезервированы для внутреннего использования;
до
ваны
руются
35-39 зарезервированы для внешнего использования. Не
Адрес +39
используйте эти ячейки.
19-12
19
Выбор алгоритма ПИД (PIDISA или PIDIND) и
коэффициенты
Блок ПИД может быть запрограммирован с использованием либо независимой
версии (PID _IND), либо стандартной ISA версии (PID_ISA) алгоритма ПИД.
Единственная разница между алгоритмами заключается в том, как определяются
коэффициенты интегрирования и дифференцирования.
Оба алгоритма ПИД вычисляют рассогласование как SP - PV, хотя вычисление
может быть изменено на инверсный режим PV - SP установкой параметра Error
Term (младший бит 0 в слове Config Word %Ref+12) в 1.
Инверсный режим может быть использован, если Вы хотите, чтобы выход CV
изменялся в противоположном направлении относительно направления изменения
входа PV (CV уменьшается при росте PV), в отличие от нормального режима, когда
CV растет при росте PV.
Error* = (SP - PV)
или (PV - SP), если младший бит слова Config Word
установлен в 1
*Здесь и далее - Error = рассогласование
Дифференцирующая составляющая обычно вычисляется на основе изменения
рассогласования, произошедшего с момента последнего выполнения функции ПИД,
что может вызвать большое изменение выхода при изменении значения SP
(уставки). Если это нежелательно, третий бит слова Config Word может быть
установлен в 1, чтобы дифференцирующая составляющая вычислялась на основе
изменения значения PV. Шаг дифференцирования (dt) определяется вычитанием
времени последнего выполнения данного блока ПИД из текущего времени ПЛК.
dt = Текущее время ПЛК - Время последнего выполнения блока ПИД
производная = (Error - предыдущее Error)/dt
или (PV - предыдущее PV)/dt, если 3 бит слова Config Word установлен в 1
Независимый алгоритм ПИД (PID _IND) вычисляет выход, как:
Выход ПИД = Kp * Error + Ki * Error * dt + Kd * производная + CV Bias
Стандартный алгоритм ISA (PID _ISA) имеет другую форму:
Выход ПИД = Kc * (Error + Error * dt/Ti + d * производная) + CV Bias
где Kc - коэффициент усиления контроллера, Ti - время интегрирования и Td -
время дифференцирования. Преимущество алгоритма ISA состоит в том, что
настройка Kc изменяет дифференциальную и интегральную составляющую, так же,
как и пропорциональную, что облегчает настройку регулятора. Если у вас есть
коэффициенты ПИД или времена Ti и Td, то используйте следующие соотношения:
Глава 19 Функция ПИД
19-13
19
Kp = Kc
Ki = Kc/Ti
и
Kd = Kc/Td
чтобы преобразовать их для использования в качестве входов пользовательских
параметров ПИД.
Слагаемое CV Bias (смещение CV) - дополнительная составляющая, отличная от
компонентов ПИД. Она может потребоваться, если вы используете только
коэффициент пропорциональности Kp и хотите, что бы выход CV был отличен от 0,
когда PV равно SP и рассогласование равно 0. В этом случае, установите значение
CV Bias равным требуемому значению CV, когда PV равно SP. CV Bias также
может быть использован для прямого управления, когда для установки выхода CV
используется другой ПИД регулятор или управляющий алгоритм.
Если используется коэффициент интегрирования Ki, CV Bias обычно равняется 0,
т.к. интегратор выполняет смещение автоматически. Просто стартуйте в ручном
режиме и используйте слово Manual Command (%Ref+13) для установки
интегратора в требуемое значение CV, затем переключитесь в автоматический
режим. Это также работает, если Ki = 0, за исключением того, что интегратор не
будет настроен по рассогласованию после перехода в автоматический режим.
Независимый алгоритм (PIDIND)
Следующая диаграмма показывает, как работают алгоритмы ПИД:
a43646
Kp коэффициент
Смещение
Знак рассогласования
пропорциональности
SP
Зона
Ограничение
Интеграл - Ki
Верхняя/Нижняя
Нечувстви-
времени
Полярность
CV
тельности
Время
прохода
границы
Способ
PV
дифференц
Значение
Производная
Время
Kd
Алгоритм ISA (PIDISA) точно такой же, за исключением того, что коэффициент Kp
выносится за скобки относительно Ki и Kd, так, что коэффициент интегрирования
равен Kp * Ki, а коэффициент дифференцирования равен Kp * Kd. Знак
рассогласования, способ дифференцирования и полярность устанавливаются битами
слова Config Word.
19-14
19
Ограничения амплитуды и скорости изменения выхода CV
Блок не посылает расчетный выход ПИД непосредственно на CV. Оба алгоритма
ПИД могут накладывать ограничения по амплитуде и скорости изменения на выход
Control Variable (CV). Максимальная скорость изменения определяется делением
максимального 100% значения выхода CV (32000) на минимальное время прохода
(Minimum Slew Time), если его значение больше 0. Например, если минимальное
время прохода составляет 100 секунд, ограничение скорости изменения будет равно
320 единиц CV в секунду. Если время dt с момента последнего выполнения
составило 50 миллисекунд, новое значение выхода CV не может измениться более,
чем на 320*50/1000 или 16 единиц CV по сравнению с предыдущим значением
выхода CV.
Затем выход CV сравнивается со значениями верхней и нижней границ (CV Upper
Clamp и CV Lower Clamp). Если хоть один из пределов превышен, выход CV
устанавливается в значение ограничения. Если пределы скорости изменения или
амплитуды превышены при изменении CV, значение внутреннего интегратора
корректируется в соответствии со значением ограничения.
Наконец, блок проверяет полярность выхода (2 бит слова Config Word %Ref+12) и
изменяет знак выхода, если бит находится в состоянии 1.
CV = Ограниченный выход ПИД
или
- Ограниченный выход ПИД, если установлен бит Output Polarity
Если блок находится в автоматическом режиме, окончательное значение CV
помещается в слово Manual Command %Ref+13. Если блок находится в ручном
режиме, уравнение ПИД пропускается, т. к. CV устанавливается словом Manual
Command, но все ограничения скорости изменения и амплитуды все равно
проверяются. Это означает, что слово Manual Command не может установить выход
большим, чем значение CV Upper Clamp или меньшим, чем значение CV Lower
Clamps, и выход не может изменяться быстрее, чем это установлено параметром
Minimum Slew Time.
Глава 19 Функция ПИД
19-15
19
Период выборки и планирование выполнения блоков ПИД
Блок ПИД является цифровой реализацией аналоговой управляющей функции,
поэтому время выборки dt в уравнении выхода ПИД не является бесконечно малой
величиной, как в случае аналогового управления. Большинство управляемых
процессов может быть аппроксимировано звеном первого или второго порядка,
возможно с большим транспортным запаздыванием. Блок ПИД устанавливает
выход CV и использует вход обратной связи процесса PV для определения
рассогласования, чтобы установить очередное значение выхода CV. Ключевым
параметром процесса является общая постоянная времени, указывающая, насколько
быстро параметр PV реагирует на изменение значения CV. Как указано в разделе
“Установка коэффициентов регулятора”, общая константа времени, Tp+Tc, для
систем первого порядка - это время, необходимое для того, чтобы PV достигло 63%
от своего окончательного значения при ступенчатом изменении CV. Блок ПИД не
сможет управлять процессом, если значение периода выборки не будет значительно
меньше половины общей постоянной времени. Больший период выборки приведет к
неустойчивой работе.
Период выборки не должен быть больше, чем общая постоянная времени деленная
на 10 (или, в худшем случае, на 5). Например, если PV достигает около 2/3 от своего
окончательного значения за 2 секунды, период выборки должен быть менее, чем 0.2
секунды, или 0.4 секунды, в худшем случае. С другой стороны, период выборки не
должен быть слишком маленьким, таким, как общая постоянная времени деленная
на 1000, иначе значение Ki * Рассогласование * dt для интегратора ПИД будет
округляться до 0. Например, очень медленный процесс, занимающий 10 часов или
36000 секунд для достижения уровня 63%, должен иметь период выборки 40 секунд
или более.
Если процесс не очень быстрый, обычно нет необходимости использовать период
выборки, равный 0, для обеспечения выполнения алгоритма ПИД каждый цикл
ПИД. Если используются много ПИД-регуляторов с периодом выборки, большим
времени цикла, время цикла может колебаться в широких пределах, если многие
регуляторы заканчивают выполнение алгоритма в одно время. Простым решением
является циклический сдвиг одного или нескольких бит со значением 1 по массиву,
заполненному нулями, для вызова отдельных блоков ПИД при помощи входа
«enable».
19-16
19
Определение характеристик процесса
Коэффициенты ПИД-регулятора Kp, Ki и Kd, определяются характеристиками
управляемого процесса. При настройке ПИД-регулятора имеются два ключевых
вопроса:
1.
Насколько велико изменение PV при изменении CV на фиксированное
значение, или каков коэффициент усиления разомкнутого контура?
2.
Как быстро происходит отклик системы, или как быстро изменяется PV
после ступенчатого изменения выхода CV?
Многие процессы могут быть аппроксимированы звеном первого или второго
порядка, возможно с большим транспортным запаздыванием. Передаточная
функция в частотной области для системы первого порядка с транспортным
запаздыванием:
PV(s)/CV(s) = G(s) = K * e **(-Tp s)/(1 + Tc s)
Построение во временной области реакции на ступенчатое возмущение в момент
времени t0 дает переходную характеристику системы:
Ступенчатое изменение выхода CV
Кривая реакции входа PV
1
K
0.632K
t0
t0
Tp
Tc
Следующие параметры модели процесса могут быть определены по переходной
характеристике PV:
K
Коэффициент усиления открытого контура = окончательное изменение
PV/ изменение CV во время t0
Tp
Время задержки процесса от t0 до начала изменения значения PV
Tc
Постоянная времени процесса первого порядка, время необходимое после
Tp, чтобы PV достигло значения 63.2% от своего конечного значения
Обычно самым простым способом измерения этих параметров является перевод
блока ПИД в ручной режим и изменение выхода CV маленькими шагами, путем
изменения слова Manual Command %Ref+13, и построение графика изменения PV во
времени. Для медленных процессов это может быть сделано вручную, но для более
Глава 19 Функция ПИД
19-17
19
быстрых процессов необходим самописец или компьютерный регистратор.
Величина шага CV должна быть достаточно большой для получения видимых
изменений PV, но не слишком большой, чтобы не сорвать измеряемый процесс.
Подходящая величина шага может составлять от 2 до 10% от разницы между
значениями CV Upper Clamp и CV Lower Clamp.
19-18
19
Установка параметров, включая настройку
коэффициентов
Так как все параметры ПИД полностью зависят от регулируемого процесса,
предопределенных значений не существует, однако, обычно легко найти
подходящие коэффициенты регулирования.
1.
Установите все пользовательские параметры в 0, затем установите
ожидаемые верхние и нижние значения параметрам CV Upper Clamp и CV
Lower Clamps. Установите значение периода выборки от “расчетная
постоянная времени процесса/10” до “расчетная постоянная времени
процесса/100”.
2.
Переведите блок в ручной режим и измените значение слова Manual Command
(%Ref+13), чтобы проверить, может ли CV дойти до верхней и нижней
границы. Запишите значение PV в некоторой точке CV и загрузите его в
SP.
3.
Установите маленькое значение, такое как 100 * Max. CV/Max. PV,
коэффициенту Kp и выключите ручной режим. Изменяйте SP от 2 до 10%
от максимального диапазона PV и наблюдайте отклик PV. Увеличьте Kp,
если PV изменяется слишком медленно или уменьшите Kp, если PV
перерегулируется и колеблется, не достигая устойчивого значения.
4.
Когда Kp определен, начинайте увеличивать Ki, чтобы получить колебания,
затухающие в течение 2 - 3 циклов. Для этого может потребоваться
уменьшение Kp. Также попробуйте различные размеры шага и рабочие точки
CV.
5.
После определения подходящих коэффициентов Kp и Ki, попробуйте
добавить коэффициент Kd, чтобы добиться более быстрого отклика, не
вызывающего колебаний. Kd часто не нужен, он не будет работать при
наличии шума на входе PV.
6.
Проверьте коэффициенты в других рабочих точках SP и, при необходимости,
добавьте зону нечувствительности и минимальное время прохода. Некоторые
инверсные процессы могут потребовать установки в слове Config Word битов
Error Sign (знак рассогласования) или Polarity (полярность).
Глава 19 Функция ПИД
19-19
19
Установка коэффициентов регулирования с помощью аппроксимации
Циглера и Николса
Если три параметра модели процесса - K, Tp и Tc, определены, они могут быть
использованы для приблизительной оценки начальных коэффициентов ПИД-
регулятора. Следующая аппроксимация обеспечивает хорошую реакцию на
возмущения системы с коэффициентом затухания, равным 1/4. Коэффициент
затухания - отношение второго пика реакции замкнутого регулятора к первому.
1.
Вычисляем скорость реакции:
R = K/Tc
2.
Только для пропорционального коэффициента, вычисляем Kp как:
Kp = 1/(R * Tp) = Tc/(K * Tp)
Для пропорционального и интегрального управления, используем:
Kp = 0.9/(R * Tp) = 0.9 * Tc/(K * Tp) Ki = 0.3 * Kp/Tp
Для пропорционального, интегрального и дифференциального
управления:
Kp = G/(R * Tp), где
G от 1.2 до 2.0
Ki = 0.5 * Kp/Tp
Kd = 0.5 * Kp * Tp
3.
Проверяем, находится ли период выборки в диапазоне
от (Tp + Tc)/10 до (Tp + Tc)/1000
Метод идеальной настройки
Процедура “Идеальной настройки" обеспечивает наилучшую реакцию на изменения
SP, ограниченную только задержкой процесса Tp или временем запаздывания.
Kp = 2 * Tc/(3 * K * Tp)
Ki = Tc
Kd = Ki/4,
если используется
дифференциальная составляющая
Когда начальные коэффициенты определены, преобразуйте их в целые числа.
Рассчитайте коэффициент процесса K, как изменение входа PV в единицах PV
деленное на скачкообразное изменение выхода в единицах CV, но не в инженерных
единицах процесса. Укажите все времена в секундах. После определения Kp, Ki и
Kd, Kp и Kd могут быть умножены на 100 и введены, как целые числа, а Ki может
быть умножен на 1000 и введен в пользовательский параметр %RefArray.
19-20
19
Пример вызова функции ПИД
Следующий пример ПИД имеет период выборки 100 мс, Kp - 4.00 и Ki - 1.500.
Уставка хранится в регистре %R0001, управляющий выход - %AQ0002, а
переменная процесса - %AI0003. Параметры CV Upper Clamp и CV Lower Clamp
установлены в значения 20000 и 4000, также включена дополнительная небольшая
зона нечувствительности от +5 до -5. Массив RefArray из 40 слов начинается с
регистра %R0100. Обычно, пользовательские параметры устанавливаются в массиве
RefArray, но переменная %M0006 может быть установлена для повторной
инициализации 14 слов, начинающихся с регистра %R0102 (%Ref+2), константами,
сохраненными в логике (полезный метод).
%M0006
BLKMV
BLKMV
WORD
INT
INT
CONST
IN1 Q
CONST
IN1 Q
35
%R00102
%R00109
+00010
+20000
CONST
IN2
CONST
IN2
%R0100
IN
+00005
+00400
CONST
IN3
CONST
IN3
+00005
+00000
CONST
IN4
CONST
IN4
+00400
+00000
CONST
IN5
CONST
IN5
+00000
+00000
CONST
IN6
CONST
IN6
+01500
+00000
IN7
IN7
CONST
CONST
+00000
+00000
ALW_ON
%T0001
PID IND
%R0001
SP
CV
%AQ0002
%AI0003
PV
%M0001
MAN
%M0004
UP
%M0004
DN
%M0002
%R0100
ADDINT
%R0113
IN1 Q
%R0113
%R0002
IN2
%M0003
SUBINT
%R0113
IN1 Q
%R0113
%R0002
IN2
Блок может быть переведен в ручной режим переменной %M1 и параметр Manual
Command, %R113, может быть настроен. Биты %M4 или %M5 могут использоваться
для увеличения или уменьшения значения регистра %R113 и выхода CV и
интегратора ПИД на 1 каждые 100 мс. Для более быстрой ручной работы биты %M2
и %M3 могут использоваться для прибавления или вычитания значения регистра
%R2 к/от регистра %R113 в каждом цикле ПЛК. Выход %T1 включен при
отсутствии ошибок в блоке ПИД.
Глава 19 Функция ПИД
19-21
Приложение
Временные параметры команд
A
Это приложение содержит перечень требуемых объемов памяти в байтах и
время выполнения в микросекундах для каждой функции, поддерживаемой
ПЛК VersaMax Nano и Micro.
Замечания об информации по временным параметрам
Типовые времена выполнения для булевых контактов
Типовые времена выполнения для ЦПУ версии 2.0
Типовые времена выполнения для ЦПУ версии 1.1
Типовые времена выполнения для ЦПУ версии 1.0
A-1
A
Замечания об информации по временным параметрам
Времена выполнения разрешенных и запрещенных
функциональных блоков
Для каждого типа функциональных блоков приведены два времени выполнения,
обозначенные "разрешенное" и "запрещенное".
Для каждого использования функционального блока в логике программы:
значение в столбце "разрешенное" представляет диапазон типовых
значений времени, в случае, если функциональный блок получает питание
в данном цикле.
значение в столбце "запрещенное" представляет диапазон типовых
значений времени, в случае, если функциональный блок не получает
питание в данном цикле и/или питание подается на вход сброса
функционального блока.
Все значения временных параметров представляют собой типовое время
выполнения. Действительное время выполнения может меняться в
зависимости от входных условий и наличия ошибок.
Дополнительные замечания
1.
Таймеры и счетчики обновляются каждый раз, когда они встречаются в
логике; таймеры на время, прошедшее с последнего цикла, а счетчики на
один отсчет.
2.
Для функций битовых операций L = количество бит. Для позиции бита N =
установленный бит. Для функций пересылки данных N = количество бит
или слов. B = количество сдвигаемых бит большее 1 (т. е. первый бит не
учитывается). W = количество слов.
3.
Объем памяти относится к количеству байт, требуемых функции в
релейно-контактной логике прикладной программы.
4.
Для табличных функций инкремент считается в единицах указанной
длины.
5.
Для функций с операндами длиной 1 время приведено для %R, %AI и
%AQ.
6.
Временные параметры функционального блока DO I/O приведены для
обновления 8 точек (от %I0001 до %I0008).
A-2
A
Типовые времена выполнения для булевых контактов
Ниже приведены времена выполнения булевых контактов в булевой логике:
версия 2.0 и
версия 1.07
версия 1.05
версия 1.0
1.10
ПЛК Nano, 10 каналов
1.3 мс/К
отсутствует
отсутствует
1.2мс/К
ПЛК Micro, 14 каналов
1.1 мс/К
отсутствует
отсутствует
1.0 мс/К
ПЛК Micro, 23 канала
1.1 мс/К
отсутствует
отсутствует
1.0 мс/К
ПЛК Micro, 28 каналов
1.1 мс/К
отсутствует
1.0 мс/К
1.0 мс/К
ПЛК Micro, 28 каналов с
1.0 мс/К
1.0 мс/К
отсутствует
отсутствует
элетронной защитой от
короткого замыкания
(IC200UDD120)
Приложение A Временные параметры команд
A-3
A
Типовые времена выполнения для ЦПУ версии 2.0
Следующая таблица предоставляет подробную информацию о временных
параметрах функциональных блоков для ПЛК Micro и Nano версии 2.0. ПЛК
сгруппированы по аналогичным друг другу моделям: ПЛК Nano, ПЛК Micro на
14/23/28 каналов и ПЛК Micro на 28 каналов с электронной защитой от
короткого замыкания.
В таблице приведены типовые времена выполнения для каждого применения
функционального блока, когда функциональный блок разрешен (получает
питание) и запрещен (не получает питание).
Время выполнения (диапазон в мкс)
Функция разрешена
Функция запрещена
28 каналов с
28 каналов с
электронной
электронной
Размер
14/23/28
14/23/28
Группа
Функция
защитой от
Nano
защитой от
Nano
(байт)
каналов
каналов
короткого
короткого
замыкания
замыкания
Таймеры
Таймер задержки по
15
64-112
54-75
63-93
46-76
39-53
44-67
выключению
Таймер задержки по
15
63-120
66 - 79
61-100
45-83
40-58
42-71
включению
Таймер прошедшего
15
58-114
59-75
56-96
34-75
40-52
32-66
времени
Счетчики
Инкрементный счетчик
13
67-69
-50-53
89-136
63-64
48-48
47-74
Декрементный счетчик
13
47-82
57-63
43-79
39-77
50-60
37-75
Математи-
Сложение (INT)
13
30-63
27-45
28-55
6-10
5-8
6-10
ческие
Сложение (DINT)
19
41-57
35-43
38-54
6-10
5-8
6-10
Сложение (REAL)
17
89-121
-77-91
87-118
6-10
5-8
6-10
Вычитание (INT)
13
26-62
24-45
26-55
6-10
5-8
6-10
Вычитание (DINT)
19
36-57
27-44
30-53
6-10
5-8
6-10
Вычитание (REAL)
17
96-112
-83-90
100-117
6-10
5-8
6-9
Умножение (INT)
13
34-66
30-47
31-57
6-10
5-8
6-10
Умножение (DINT)
13
25-56
23-44
24-53
6-10
5-8
6-10
Умножение (REAL)
17
106-149
97-114
109-141
6-10
5-8
6-10
Деление (INT)
13
42-77
34-55
39-67
6-10
5-8
6-10
Деление (DINT)
19
27-65
28-50
26-61
6-10
5-8
6-10
Деление (REAL)
17
187-241
152-186
179-229
6-10
5-8
6-10
Деление по модулю
13
46-86
38-61
40-75
6-10
5-8
6-10
(INT)
Деление по модулю
19
41-72
38-55
38-68
6-10
5-8
6-10
(DINT)
Квадратный корень
10
43-82
38-64
41-79
6-9
5-8
6-10
(INT)
Квадратный корень
13
51-83
34-77
34-96
6-10
5-8
5-10
(DINT)
Квадратный корень
11
437-534
351 - 406
420-506
6-10
5-8
6-10
(REAL)
A-4
VersaMax® ПЛК Micro и ПЛК Nano Руководство пользователя - Июнь 2002
A
Типовые времена выполнения для ЦПУ версии 2.0, продолжение
Время выполнения (диапазон в мкс)
Функция разрешена
Функция запрещена
28 каналов с
28 каналов с
электронной
электронной
Размер
14/23/28
14/23/28
Группа
Функция
защитой от
Nano
защитой от
Nano
(байт)
каналов
каналов
короткого
короткого
замыкания
замыкания
Тригономе-
SIN (REAL)
11
1103-1523
919-1156
1064-1446
6-10
5-8
6-10
трические
COS (REAL)
11
1091-1519
908-1192
1048-1444
6-10
5-8
5-9
TAN (REAL)
11
1691-2256
1370-1708
1622-2144
8-12
5-9
7-10
ASIN (REAL)
11
1528-1638
1274-1479
1507-1639
6-10
5-8
6-10
ACOS (REAL)
11
1528-1639
1220-1442
1507-1638
6-10
5-8
6-9
ATAN (REAL)
11
695-867
564-671
678-822
6-10
5-8
6-10
Логариф-
LOG (REAL)
11
734-926
599-710
709-878
6-10
5-8
6-10
мические
LN (REAL)
11
672-866
555-659
646-821
6-10
5-8
6-10
Экспонен-
Экспонента
11
516-623
411-472
497-591
6-10
5-8
6-10
циальные
Степень Х
11
292-379
226-287
276-359
6-10
5-8
6-10
Преобразо-
Преобразование RAD
11
288-326
238-252
274-308
6-10
5-8
6-10
вания углов
в градусы
Преобразование
17
70-100
59-77
66-95
6-10
5-8
6-10
градусов в RAD
Сравнения
Равно (INT)
10
25-36
21-28
24-34
8-12
7-9
7-11
Равно (DINT
16
21-44
19-34
20-42
8-12
7-9
7-10
Равно (REAL)
14
33-57
29-44
31-54
8-12
7-9
7-11
Не равно (INT)
10
18-36
17-28
18-34
8-12
7-9
7-11
Не равно (DINT)
16
32-42
27-32
30-39
8-12
7-9
7-11
Не равно (REAL)
14
37-57
32-44
34-54
8-12
7-9
7-11
Больше (INT)
10
28-36
24-28
27-34
8-12
7-9
7-11
Больше (DINT)
16
22-42
20-32
21-40
8-12
7-9
7-11
Больше (REAL)
14
37-58
31-44
34-54
8-12
7-9
7-11
Больше или равно
10
19-36
17-28
17-34
8-12
7-9
7-11
(INT)
Больше или равно
16
20-42
19-32
19-39
8-12
7-9
7-11
(DINT)
Больше или равно
14
29-57
32-44
34-54
8-12
7-9
7-11
(REAL)
Меньше (INT)
10
19-36
16-28
18-34
8-12
7-9
7-11
Меньше (DINT)
16
20-42
18-32
19-39
8-12
7-9
7-11
Меньше (REAL)
14
36-58
23-44
24-54
8-12
7-9
7-11
Меньше или равно
10
18-36
17-28
17-34
8-12
7-9
7-11
(INT)
Меньше или равно
16
20-42
18-32
19-39
8-12
7-9
7-11
(DINT)
Меньше или равно
14
26-58
23-44
24-54
8-12
7-9
7-11
(REAL)
Диапазон (INT)
13
22-44
20-34
20-42
8-12
7-9
7-11
Диапазон (DINT)
22
24-51
20-39
22-48
8-12
7-9
7-11
Диапазон (WORD)
13
22-43
20-33
20-41
8-12
7-9
7-11
Приложение A Временные параметры команд
A-5
A
Типовые времена выполнения для ЦПУ версии 2.0, продолжение
Время выполнения (диапазон в мкс)
Функция разрешена
Функция запрещена
28 каналов с
28 каналов с
электронной
электронной
Размер
14/23/28
14/23/28
Группа
Функция
защитой от
Nano
защитой от
Nano
(байт)
каналов
каналов
короткого
короткого
замыкания
замыкания
Битовые
Логическое "и" (AND)
13
30-55
27-42
29-52
6-10
5-8
6-10
операции
Логическое "или" (OR)
13
30-55
27-42
28-52
6-10
5-8
6-10
Логическое
13
31-55
27-42
28-52
6-10
5-8
6-10
исключающее "или"
Логическое
10
27-45
24-35
25-43
6-10
5-8
6-10
инвертирование, NOT
Смещение влево
16
109-130
90-101
102-123
7-11
6-8
7-11
Смещение вправо
16
108-120
88-93
102-113
7-11
6-8
7-11
Циклическое смещение
16
77-108
64-83
72-102
6-10
5-8
6-10
влево
Циклическое смещение
16
82-109
64-71
78-103
6-10
5-8
6-10
вправо
Позиция бита
13
43-72
36-55
40-68
6-10
5-9
6-10
Сброс бита
13
45-67
38-51
43-63
6-10
5-8
6-10
Тест бита
13
32-54
28-42
29-51
8-12
7-8
7-11
Установка бита
13
38-66
34-50
36-62
6-10
5-8
6-10
Маскированное
25
90-145
83-113
82-137
8-12
7-9
7-11
сравнение (WORD)
Маскированное
25
92-145
77-112
88-137
8-12
7-9
7-11
сравнение (DWORD)
Пересылка
Пересылка данных (INT)
10
20-42
19-32
19-40
6-10
5-8
6-10
данных
Пересылка данных
13
47-75
37-47
45-71
6-10
5-8
6-10
(BOOL)
Пересылка данных
10
20-42
18-32
19-40
6-10
5-8
6-10
(WORD)
Пересылка данных
13
28-56
26-44
26-53
6-10
5-8
6-10
(REAL)
Пересылка блока (INT)
28
26-58
24-44
24-54
6-10
5-8
6-10
Пересылка блока
28
26-58
24-44
24-54
6-10
5-8
6-10
(WORD)
Пересылка блока (REAL)
13
47-108
44-82
46-103
7-10
6-8
7-10
Очистка блока (WORD)
11
43-90
38-70
40-85
6-10
5-8
6-9
Регистр сдвига (BIT)
16
92-125
73-98
87-119
7-11
6-9
7-10
Регистр сдвига (WORD)
16
67-111
51-88
65-106
7-11
6-9
7-11
Одноконтактный
16
111-142
97-140
109-134
86-104
68-107
78-98
командоаппарат
Запрос связи
13
616-762
489-541
405-456
6-10
5-8
6-10
A-6

 

 

 

 

 

 

 

содержание      ..     12      13      14      15     ..