Инструкция по сопряжению Delta PLC cо SCADA/Softlogic/DCS S3
S3- это отечественная, децентрализованная система управления, имеющая в своем составе SCADA, которая работает в одном поле переменных (тегов) с распредленной системой управления на базе ОС реального времени QNX, которую S3 программирует с помощью стандартных МЭК-61131 языков управления.
Модульная архитектура S3, а так-же ценовая и лицензионная политика, отсутсвие ограничений на количество тегов, позволяет получать вполне конкурентоспособные решения, использую только SCADA часть, или HMI-проект в терминах S3.
При этом рабочие станции SCADA S3 могут работать и в Windows и в Linux (Ubuntu), используя условно бесплатные СУБД, что позволяет обеспечить функционал больших SCADA систем за небольшую часть их стоимости.
S3 имеет в своем составе универсальный драйвер Modbus, входящий во все версии продукта, включая S3-HMI, S3-QNX и даже демонстрационную. Драйвер позволяет настраиваться практически на любое Modbus устройство, включая использующее нестандартные команды, либо нестандартный порядок следования байтов, что встречается в изделиях отечественных производителей.
Поэтому возможен непосредственный обмен данными с ПЛК и частотно-регулируемым приводом производства Delta Electronics рабочих станций S3, работающих в ОС Windows, Linux (Ubuntu) или QNX. В этом случае OPC сервер не нужен (не обязателен).
Для подключения нам понадобятся:
ПЛК Delta Electroncis, в примере ПЛК серии SX2, только из-за наличия встроенных потенциометров, для демонстрации аналоговых сигналов
Конвертор USB-RS-485 IFD6500 производства Delta Electronics, либо другой. Конвертор не нужен, если в компьютере вдруг уже есть порт RS-485
ПО для программирования контроллеров Delta Electronics WPL-Soft или ISP-Soft. Абсолютно бесплатно, последняя версия качается с сайта Delta Electronics по ссылке. В примере использован WPL-Soft.
ПО драйвера конвертора на поставляемом CD (нужен только для Windows)
S3-IDE с сайта http://s3.com.ua (“боевая” IDE, включает демонстрационную версию рантайма S3-HMI, которая без лицензии требует ее перезапускать каждые 2 часа). Доступны версии S3-IDE для Windows и Linux в 32-х и 64-х разрядных вариантах x86 и x64
Установите WPL-Soft, после установки придется “в слепую” выбрать английский или русский язык в меню Опции (4-е справа меню, последний пункт), так как текущая версия WPL-Soft первый раз стартует на китайском :).
Установите драйвер USB-RS-485 преобразователя с прилагаемого CD.
Подсоедените преобразователь к компьютеру.
Зайдите в диспетчер устройст (Пуск->Компьютер->правый клик->Свойства->Диспетчер устройств).В разделе порты должен появтиться Silicon Labs CP210X USB to UART Bridge (COM?). Установите свойства этого порта скорость 9600, 7 бит, контроль четности, 1 стоповый (см. рис) бит, как на рисунке. Кнопкой дополнительно - можно поменять номер порта. Запоминаем номер порта ( на рисунке COM7).
Установите S3-IDE c параметрами по умолчанию.
Драйвер для порта не требуется. После подключения преобразователя к USB порт сразу появляется среди последовательных устройств. Узнать его можно командой
ls /dev/ttyUSB*
Запоминаем этот порт..
Для того, что бы текущий пользователь мог общаться с драйвером, его необходимо добавить в группу dialout. Делается это коммандой
sudo adduser <user_name> dialout
где <user_name> - имя пользоват/еля
Что-бы изменения вступили в силу, нужно выйти из аккаунта (logout) и снова зайти
Установите S3-IDE для Linux с параметрами по умолчанию.
С Linux собственно все, но если кто-то хочет программировать ПЛК не выходя из Linux - это тоже возможно. WPL-Soft практически полностью работает и под Linux в wine.
Для этого необходимо устновить wine ( sudo apt-get install wine) и затем установить WPL-Soft. Для того, что бы WPL-Soft видел порт COM1 , необходимо создать ссылку на драйвер преобразователя USB-RS-485.
cd ~/.wine/dosdevices/
ln -s /dev/ttyUSB0 com1
В программе WPL-Soft сначала установим связь с ПЛК. Открываем окно Options->Communication Settings.
Выбираем последовательный порт (COM7 или COM1 из примеров выше).
Устанавливаем коммуникационные параметры 9600, 7 бит, контроль четности, 1 стоповый, номер станции 1, режим ASCII, либо находим автоопределением. Если все правильно, то после автоопределени должно появиться окно с типом ПЛК и параметрами связи.
Для того, что бы ПЛК обменивался со SCADA S3, необходимо установить режим порта RTU и задать его адрес в сети Modbus.
В ПЛК Delta Electronics это делается тоже на МЭК языках. На языке лестничных диаграмм это выглядит так:
Специальное внутреннее реле M1002 генерирует короткий импульс в начале каждого перевода ПЛК из режима STOP в режим RUN. Его удобно использовать для инициализации, что мы и делаем.
Регистр с защелкой D1121 - это адрес ( номер станции) в сети Modbus. По каждому запуску контроллера в него запишется 1. Этот регистр - энергонезависим, его состояние сохраняется при выключении контроллера
Регистр с защелкой D1120 - это регистр задания параметров коммуникационного порта COM2. Назначение его битов в таблице ниже:
Шестнадцатеричная константа H87 соответсвует скорости 9600, 8 бит, контроль четности (Even), 1 стоповый бит. Другие популярные занчения:
H97 - 19200, 8, E, 1
HA7 - 38400, 8, E, 1
Этот регистр не является энергонезависимым, по включению питания в него заносится H86, что соответсвует 9600,7,E,1. Мы же заносим в него H87 (9600,8,E,1) сразу же после переключения контроллера в режим RUN.
M1120 - этот регистр фиксации протокола, после защелкивания предотвращает случайное перезаписывание регистра D1120. В случае попытки изменить D1120 при установленном M1120 возникнет ошибка
M1143 - устанавливаем режим RTU.
После запуска контроллера параметры коммуникационного порта изменятся, однако с ним все равно можно будет связаться для программирования из WPL-Soft, изменив параметры связи на 9600,8,E,1, RTU, станция 1.
Далее идет наша простейшая демонстрационная программа.
Внутреннее реле M1013 просто формирует меандр с периодом 1 секунда, который мы выводим на выход Y0.
Создадим простейший демонстрационный пример, на основе ПЛК DVP20SX, потому что в нем есть встроенные потенциометры для иммитации аналогового сигнала. Вообще программирование ПЛК Delta очень мало отличается от серии к серии.
Наш демонстрационный пример будет делать следующее:
Выводить значение текущего состояния выхода Y0 на экран ввиде лампочки
Управлять выходом Y1 кнопкой
Разрешать и запрещать внутренний потенциометр еще одной кнопкой
Выводить значение потенциометра в столбик и ввиде цифрового значения.
Создаем глобальный S3 проект, в котором создаем S3-HMI проект.
Для этого нажимаем CTRL-N ( либо через меню, кнопку на панели, либо по правому щелчку мыши в окне проект - кому как удобнее).
Вводим имя проекта, например DemoPLC. В поле описания можно ввести любой опциональный текст, он потом поможет выбрать нужный проект прямо из окна выбора, не загружая проект.
В окне проекта появится узел DemoPLC. Щелкаем правой кнопкой мышы на нем и в выпадающем меню выбираем “Создать проект”-> “HMIProject”
Вводим имя проекта английскими буквами, другие не введутся. Так как мы не собираемся инсталлировать проект на рабочем месте с помощью менеджера проектов, то в поле порт выбираем любой свободный порт на компьютере, например 8887.
Добавляем универсальный Modbus драйвер, устанавливаем его свойства.
Тип связи serial, режим master.
В поле “Устройство” прописываем в случае Windows COM7, в случае Ubuntu /dev/ttyUSB0
Устанавливаем параметры порта 9600, even, 8, 1.
Поле “Задержка ответа” - это таймаут, время в микросекундах,в течении которого S3 будет ждать ответ от контроллера, по истечении которого будет выставляться ошибка обмена. Слишком маленькое время может не дать успеть контроллеру сформировать ответ. Слишком большое время приведет к “залипанию” цикла обмена на станции, с которой потеряна связь на длительное время. Для нашего случая 0.2 сек - достаточно. Вводим 200000 микросекунд.
Остальные параметры - как на картинке.
К драйверу добавляем новый узел (станцию), в параметрах узла указываем его адрес в сети Modbus (номер). Так как в нашем ПЛК мы установили адрес 1, то ставим номер узла 1.
В дереве узла появляются разделы IS (Input Single, битовый вход, только чтение), CS (Coil Single, единичная обмотка реле, чтение и запись), HR (Holding Register регистр на чтение и запись) , IR (Input Register, входной регистр).
Перед тем, как подключать входы, выходы и внутренние регистры контроллера, разберемся с адресацией их в сети Modbus.
Во-первых входы и выходы ПЛК Delta Electronics нумеруются в восьмеричной системе исчисления. Т.е. например, после выходя с номером Y7, следующим будет Y10, после X17 следующий X20, и так далее. Т.е. порядковый десятичный номер например входа X27 будет 2*8^1+7=23.
Расположение внутренних регистров ПЛК Delta Electronics различных типов приведены в Таблице 1
Устройство |
Диапазон |
Тип |
Адрес (Hex) |
Эффективный диапазон |
|||
ES/EX/SS |
SA/SX/SH |
EH |
|||||
S |
000~255 |
бит |
0000~00FF |
0~127 |
0~1023 |
0~1023 |
|
S |
246~511 |
бит |
0100~01FF |
||||
S |
512~767 |
бит |
0200~02FF |
||||
S |
768~1023 |
бит |
0300~03FF |
||||
X |
000~377 (Octal) |
бит |
0400~04FF |
0~177 |
0~177 |
000~377 |
|
Y |
000~377 (Octal) |
бит |
0500~05FF |
||||
T |
000~255 |
бит/ слово |
0600~06FF |
0~127 |
000~255 |
000~255 |
|
M |
000~255 |
бит |
0800~08FF |
0~1279 |
0~4095 |
0000~4095 |
|
M |
256~511 |
бит |
0900~09FF |
||||
M |
512~767 |
бит |
0A00~0AFF |
||||
M |
768~1023 |
бит |
0B00~0BFF |
||||
M |
1024~1279 |
бит |
0C00~0CFF |
||||
M |
1280~1535 |
бит |
0D00~0DFF |
||||
M |
1536~1791 |
бит |
B000~B0FF |
||||
M |
1792~2047 |
бит |
B100~B1FF |
||||
M |
2048~2303 |
бит |
B200~B2FF |
||||
M |
2304~2559 |
бит |
B300~B3FF |
||||
M |
2560~2815 |
бит |
B400~B4FF |
||||
M |
2816~3071 |
бит |
B500~B5FF |
||||
M |
3072~3327 |
бит |
B600~B6FF |
||||
M |
3328~3583 |
бит |
B700~B7FF |
||||
M |
3584~3839 |
бит |
B800~B8FF |
||||
M |
3840~4095 |
бит |
B900~B9FF |
||||
C |
0~199 |
16-бит |
бит/слово |
0E00~0EC7 |
0~127 |
0~199 |
0~199 |
200~255 |
32-бит |
бит/ 2xслово |
0EC8~0EFF |
232~255 |
200~255 |
200~255 |
|
D |
000~256 |
слово |
1000~10FF |
0~1311 |
0~4999 |
0000~9999 |
|
D |
256~511 |
слово |
1100~11FF |
||||
D |
512~767 |
слово |
1200~12FF |
||||
D |
768~1023 |
слово |
1300~13FF |
||||
D |
1024~1279 |
слово |
1400~14FF |
||||
D |
1280~1535 |
слово |
1500~15FF |
||||
D |
1536~1791 |
слово |
1600~16FF |
||||
D |
1792~2047 |
слово |
1700~17FF |
||||
D |
2048~2303 |
слово |
1800~18FF |
||||
D |
2304~2559 |
слово |
1900~19FF |
||||
D |
2560~2815 |
слово |
1A00~1AFF |
||||
D |
2816~3071 |
слово |
1B00~1BFF |
||||
D |
3072~3327 |
слово |
1C00~1CFF |
||||
D |
3328~3583 |
слово |
1D00~1DFF |
||||
D |
3584~3839 |
слово |
1E00~1EFF |
||||
D |
3840~4095 |
слово |
1F00~1FFF |
||||
D |
4096~4351 |
слово |
9000~90FF |
||||
D |
4352~4607 |
слово |
9100~91FF |
||||
D |
4608~4863 |
слово |
9200~92FF |
||||
D |
4864~5119 |
слово |
9300~93FF |
||||
D |
5120~5375 |
слово |
9400~94FF |
||||
D |
5376~5631 |
слово |
9500~95FF |
||||
D |
5632~5887 |
слово |
9600~96FF |
||||
D |
5888~6143 |
слово |
9700~97FF |
||||
D |
6144~6399 |
слово |
9800~98FF |
||||
D |
6400~6655 |
слово |
9900~99FF |
||||
D |
6656~6911 |
слово |
9A00~9AFF |
||||
D |
6912~7167 |
слово |
9B00~9BFF |
||||
D |
7168~7423 |
слово |
9C00~9CFF |
||||
D |
7424~7679 |
слово |
9D00~9DFF |
||||
D |
7680~7935 |
слово |
9E00~9EFF |
||||
D |
7936~8191 |
слово |
9F00~9FFF |
||||
D |
8192~8447 |
слово |
A000~A0FF |
||||
D |
8448~8703 |
слово |
A100~A1FF |
||||
D |
8704~8959 |
слово |
A200~A2FF |
||||
D |
8960~9215 |
слово |
A300~A3FF |
||||
D |
9216~9471 |
слово |
A400~A4FF |
||||
D |
9472~9727 |
слово |
A500~A5FF |
||||
D |
9728~9983 |
слово |
A600~A6FF |
||||
D |
9984~9999 |
слово |
A700~A70F |
Адрес выхода Y0 будет 0x500, а Y1 - 0x501 (0x500 + порядковый номер выхода)
Значение потенциометра VR0 контроллера выводится в регистр D1178 в виде слова. Смотрим таблицу - регистры с адресами D1024-D1278 отображаются в адресное пространство 0x1400-0x14FF. Смещение нашего регистра относительно начала окна = 1178-1024 = 154 или 0x9A в шестнадцатеричной системе (можно воспользоваться калькулятором Windows для перевода систем исчисления).. Тогда адрес Modbus у него будет 0x1400+0x9A = 0x149A
Но, согласно документации Delta, необходимо сначала разрешить считывание этого потенциометра путем взвода служебного бита M1178. Аналогично, по таблице находим, что M1024~1279 отображаются в адреса 0x0C00~0xCFF. Смещение M1178 относительно начала окна 1178-1024=154 или 0x9A. Адрес Modbus этого бита будет 0x0C00+0x9A=0xC9A.
Щелкаем два раза мышкой по иконке CS в окне проекта - откроется окно каналов. Переходим в это окно, из выпадающего меню выбираем - “Создать канал” ( либо просто нажимаем Insert ).
Правой кнопкой вызываем то-же меню и отмечаем “Шест. адрес” - шестнадцатеричный режим адресов. В поле адрес вводим “500”, на экране отображается 0x500. В поле Описание вводим произвольное описание, например “Y0” (не обязательно).
В поле переменная начинаем вводить ее имя.
Внимание - имя переменной должно быть английским, запрещенные символы просто не введутся.
До той поры, как имя является уникальным, оно отображается красным. Если же такая переменная уже есть в системе - ее имя отобразится черным. По завершению ввода “черная” переменная привяжется к каналу, “красная” переменная будет создана через диалог создания переменной. Начинаем вводить “Lamp” - это первая переменная в проекте, поэтому она отображается красным. По завершении ввода открывается диалог.
Выбираем “Обновление” 0.1 сек, вводим описание - “Состояние Y0”.
Аналогично добавляем следующий канал. По умолчанию S3 присвоит ему следующий адрес - 0x501. Нас это устраивает. Выберем для имени переменной Pump и проделаем все то-же самое.
Добавляем 3-й битовый канал Modbus для разрешения чтения потенциометра. В поле адрес вводим C9A. Называем переменную Enable. Все то-же самое, только для разнообразия будем писать изменения этой переменной в протокол. Зададим сообщение для состояния “Истина” и “Ложь” (1 и 0).
Осталось подключить потенциометр. Дважды щелкаем в окне проекта на иконке HR. Открывается окно списка каналов типа регистр.
Добавляем канал, переводим в 16-ти ричный режим адреса и в поле адрес вводим “149A”. Отображается 0x149A. Называем переменную VR0.
S3 считает, что инфорямация по Modbus всегда передается уже в физической величине. Поэтому физическая шкала, либо шкала инженерных величин не используется для масштабирования, однако может использоваться в скриптах и для отображения. Зададим ее 0~100 ( не обязательно). Зададим технологический диапазон 30~50, по достижению 50% будем формировать тревогу. Удалять состояние тревоги будем по исчезновению условия аварийной ситуации:
Собственно все. Каналы сконфигурированы, переменные созданы и подключены. Теперь эти переменные можно использовать в любых компонентах S3, на любых узлах распределенной системы упраления. Имя переменной становится глобальным в рамках одного проекта и к нему можно обратится в любом редакторе. Если необходимо обратится к переменной из другого проекта, тогда обращение выполняется в форме имя_переменной@имя_проекта
Создадим простейшую мнемосхему для отображения значений переменных и управления выходами контроллера.
Из выпадающего меню на правый клик на иконке Display проекта выбираем “Создать мнемосхему…”. В диалоге вводим имя мнемосхемы, опять только английскими буквами, система не даст ввести другие, и ее размеры.
Откроется редактор мнемосхем. Сделаем виртуальную лампочку из виджета “Текст”. Берем из палитры элемент “Текст” и располагаем его на мнемосхеме. Дважды щелкаем по нему - откроется окно свойств. Меняем по вкусу цвета, шрифты, границы, выводимый текст и т.п.
Каждый элемент мнемосхемы может реагировать на одно, либо несколько событий, путем выполнения одного, либо нескольких действий, на каждое такое событие. Кроме того, из языка ST, который S3 использует в качестве скриптового, можно программно менять любое свойство из диалога выше. Этим достигается гибкость и разнообразие вариантов использования небольшого количества базовых виджетов S3.
Из выпадающего меню при щелчке на нашем виджете, выбираем - “Добавить событие”. Из списка доступных событий выбираем - “Изменение переменной”. С помощью последующих диалогов выбираем переменную Lamp. Если вы точно помните имя переменной, то ее можно просто напечатать в диалоге “Свойство события”. Иногда это быстрее, особенно, если в системе много переменных. Если вы не ошиблись, то имя переменной будет отображаться черным и последующих диалогов не возникнет, если же такой переменной S3 не знает, то по завершению редактирования откроется следующий диалог выбора.
Из выпадающего меню по правому клику на лампочке выбираем “Добавить Действие”. Из меню вариантов действий выбираем “Изменить фон”.
В следующем диалоге задаем варианты фона для нуля и единицы. Если бы у нас была аналоговая переменная, мы могли бы задать градиент и плавно менять цвет в зависимости от значения переменной по градиенту.
Все эти же действия можно было добавить и из окна “События и действия”, которое открывается по горячей клавише CTRL-3, либо из меню. В окне можно редактировать события и действия, а так же вырезать и копировать их между компонентами.
Теперь наша лампочка будет отображаться зеленым цветом, если Y0 = 0 и красным, если Y0 =1. Напомним, что в ПЛК Delta к Y0 подключен односекундный меандр из M1013
Управлять выходом Y1 будем кнопкой. Берем из палитры виджет “Кнопка” , устанавливаем его на мнемосхему, редактируем свойства по вкусу. Мы можем использовать любое изображение в качестве кнопки. Например изображение объекта, который эта кнопка включает. Устанавливаем в свойствах кнопки изображение и убираем текст. Добавляем событие - клик левой кнопкой и действие toggle. В поле переменной для действие toggle вводим переменную Pump
Теперь по нажатию на кнопку с изображением насоса, значение переменной Pump будет инвертироваться. В отличие от многих интерфейсов общего назначения, где нажатие кнопки происходит как по одинарному, так и по двойному щелчку, S3 нажимает кнопку строго по одинарному щелчку. Поэтому, если вы будете слишком быстро щелкать мышью, кнопка не будет нажиматься. Это сделано преднамеренно, исходя из опыта эксплуатации человеко-машинных интерфейсов АСУ ТП и исключает ненужные срабатывания пускателей и пуски механизмов из-за небрежности оператора.
Для взведения бита M1178 , который привязан к переменной Enable будем использовать еще одну кнопку. Но, для демонстрации работы скриптов, на событие клик левой кнопкой определим действие вызвать скрипт. Возьмите в палитре еще одну кнопку, напишите что-нибудь в поле текст. Например “Разрешить чтение VR0”. Привяжите событие - “Клик левой кнопкой мыши”, к которому привяжите действие “Вызвать скрипт”.
Откроется окно редактора скриптов на языке ST согласно МЭК-61131.
Введите следующий скрипт.
if Enable then
setComponentProperty("PtButton_1", "font","Arial;9;")
Enable := false
else
setComponentProperty("PtButton_1","font","Arial;10;b")
Enable := true
end_if
При вводе скрипта обязательно воспользуйтесь подсказкой, которая вызывается по горячей клавише Ctrl-Space и содержит все зарезервированные слова, функции и переменные проекта.
Этот скрип так же будет инвертировать логическую переменную Enable. Но кроме того, он будет менять размер и стиль шрифта надписи на кнопке с помощью функции SetComponentProperty.
Если в скрипте - ошибка, окно редактора не будет закрываться при попытке его закрыть, а строка с ошибкой будет подсвечена.
И, наконец, выведем значение переменной VR0 в виде столбика (впрочем цифровое значение может быть легко выведено и в виде цифр виджетом текст.)
Выбираем из палитры компонет “Прогресс” и устанавливаем флаги “Отображать занчение”, “Сегментация” ( если хотим полосатый столбик), устанавливаем свойство “Ориентация” - вертикальная.
Подключаем событие - изменение переменной, выбираем переменную VR0, добавляем действие “Вывести значение”, что бы на столбике выводилось числовое значение переменной, а так-же флаги верхняя граница и нижняя граница, для того, что бы столбик менял цвет при переходе через границы.. В открывшемся диалоге задаем диапазон значений переменных, которые будут соответсвовать высотам столбика от нуля до максимальной. В качетсве такого диапазона можно выбрать одну из шкал (физическую, возможную, технологическую), либо задать произвольные значения.
Кроме того, можно задать границы при переходе которых столбик будет менять цвет.
Теперь можно запустить проект на выполнение. Переводим ПЛК в режим Run, если он не был переведен. Затем просто нажимаем F5, либо кликаем кнопку.
Появится диалог загрузки проекта. В принципе мы можем запускать и инсталлировать проект и удаленно, на удаленной машине, если там установлена S3-HMI с менеджером проектов.
На экране появится наша простейшая мнемосхема:
В S3 намеренно сделано так, что основную мнемосхему, в отличие от других, невозможно закрыть, она не имеет привычных элементов управления. Закрыть ее можно только из IDE, нажав CTRL-F5, либо из скрипта, который можно присоединить к элементу управления, доступ к которому может быть открыт только нужным пользователям. Сделано это для того, что бы оператор по небрежности не потерял контроль над серьезным объектом.
И так, лампочка должна мигать с периодом 1 сек, при нажатии на насос должен включаться/отключаться выход Y0 ПЛК, после нажатия на кнопку “Разрешить чтение VR0”,значение резистора будет выводится в столбик, а столбик будет менять цвет. Кроме того, должна срабатывать тревога, установленная в свойствах переменной VR0. В протокол работы системы должны записываться срабатывания переменных, для которых был установлен признак “Запись в протокол”.
Если что-то пойдет не так, в S3 существует несколько способов отладки.
В первую очередь нужно удостовериться, что к ПЛК установлена связь, S3 формирует запросы, а ПЛК на них отвечает.
Для этого в свойтсвах универсального Modbus драйвера необродимо включить отладку:
В результате, после запуска проекта в окне Вывод появятся запросы S3 (Sent) и ответы контроллера (Response). В случае ошибок в это-же окно будет выводиться диагностика драйвера.
Если нажать F11 или щелкнуть по кнопке “Запустить отладку”, тогда к запущенному проекту присоединится отладчик S3, а если проект не был запущен, тогда он запустится в режиме отладки
В этом случае в окне переменных станут отображаться текущие значения, которые можно будет поменять “на лету”.
Введите ноль или 1 для изменения состояния логических переменных.
Если переменные подключены к драйверу, то, для того, что бы драйвер не затирал только что введенные значения, драйвер можно блокировать.
Кроме того, для больших проектов, существует возможность построения таблицы перекресных ссылок, режим пошаговой отладки, отладки с искуственно замедленным временем цикла, режим записи изменений состояний переменных в отладочной базе данных для последующего проигрывания.
Смотрите также:
Подключение ПЛК Delta Electronics к S3-HMI с помощью универсального Modbus драйвера (4.75 Мбайт 2015-04-29 15:56:03)
Видеоурок по подключению S3 к ПЛК Delta