Codesys ошибка шины

Шина не запущена данные значения возможно не актуальны

9434
Согласно предложенному примеру по настройке modbusTCP slave в codesys v3 проделал все действия.
Однако возникает сообщение: «Шина не запущена», которое на рисунке выделено красным.

Вообще идея такая:
Создать эмулятор ПЛК с modbusSlave и соединить его с Lectus OPC.

Прочитал все инструкции по этому поводу предложенные Owen. Но по инструкции не работает.
Помогите кто делал что-то подобное.

Для начала советую посмотреть этот документ. В нем все очень подробно с видео расписано как настраивать.
http://www.owen.ru/forum/showthread.php?t=15674&p=117771&viewfull=1#post117771

Что касается ошибки шины, то как правило это связано с неправильной настройкой адресов или регистров.
Плюс есть такая фишка в CDS, если устройство долго не отвечает CDS его вообще исключает из опроса.

Поэтому нужно вводить дополнительный пересброс модуля.

Я делал пример для RS-485, думаю для TCP это правило тоже работает, пример смотрите тут:
http://www.owen.ru/forum/showthread.php?t=15703&p=118310&viewfull=1#post118310

Добрый день.
Столкнулся с похожей проблемой.
Работаю с ПЛК304 (во вкладке информация версия 3.4.0.10). Среда Codesys V3.4 SP2 Hotfix 1. Добавляю Modbus COM (версия 3.4.0.0), затем добавляю Modbus Serial Device (версия 3.4.0.0), более ранних версий в списке нет.
Все успешно компилится, без ошибок и предупреждений. Однако при загрузке программы в ПЛК вижу сообщение что «Шина не запущена».

Как быть в данной ситуации?

Добрый день.
Столкнулся с похожей проблемой.
Работаю с ПЛК304 (во вкладке информация версия 3.4.0.10). Среда Codesys V3.4 SP2 Hotfix 1. Добавляю Modbus COM (версия 3.4.0.0), затем добавляю Modbus Serial Device (версия 3.4.0.0), более ранних версий в списке нет.
Все успешно компилится, без ошибок и предупреждений. Однако при загрузке программы в ПЛК вижу сообщение что «Шина не запущена».

Как быть в данной ситуации?

Прошивка ПЛК расчтана на то , что по последовательным портам ПЛК будет мастером, используя стандартные устройства Codesys. потому у Вас и появляется окно, что шина не запущена. к Сожалению, чтобы сделать ПЛК слэйвом по последовательному порту, придётся работать через библиотеки по работе с портом.

Источник

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

Опции темы
Отображение

CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

Эта тема предназначена для обсуждения вопросов, связанных с настройкой обмена между контроллерами ОВЕН, программируемыми в среде CODESYS V3.5, и другими устройствами.

Наши контроллеры поддерживают следующие протоколы:

  • Modbus TCP/RTU/ASCII (Master/Slave) — настройка через нативные компоненты CODESYS, добавляемые в дерево проекта;
  • Modbus TCP/RTU/ASCII (Master/Slave) — настройка через библиотеку OwenCommunication (расширенный функционал, управление обменом из кода);
  • OPC UA (Server) — настройка через нативный компонент CODESYS (Символьная конфигурация);
  • MQTT (Client) — настройка через одну из свободно распространяемых библиотек;
  • SNMP (Manager/Agent) — настройка через библиотеку OwenSnmp;
  • http(s)/ftp/smtp — настройка через библиотеку CmpSysExec и вызовы утитилы cURL (примеры: http/ftp/smtp, работа с API OwenCloud, работа с API Telegram);
  • протокол ОВЕН (Master) — настройка через библиотеку OwenNet;
  • возможна реализация нестандартных протоколов обмена через библиотеку OwenCommunication или стандартные библиотеки CODESYS.

В таблице ниже собрана документация, посвященная организации связи по протоколам Modbus, ОВЕН и нестандартным протоколам, а также опросу контроллеров с помощью OPC-серверов. Каждый документ содержит примеры, доступные для скачивания в формате .projectarchive.

Название документа Версия Ссылка
CODESYS V3.5. Протокол Modbus 2.2 скачать
CODESYS V3.5. Примеры обмена c ПЛК110 [М02] 2.0 скачать
CODESYS V3.5. Протокол ОВЕН 2.1 скачать
CODESYS V3.5. Протокол SNMP 2.0 скачать
CODESYS V3.5. Реализация нестандартных протоколов 2.1 скачать
CODESYS V3.5. Настройка обмена с верхним уровнем (OPC, SCADA, OwenCloud) 2.2 скачать
CODESYS V3.5. Реализация обмена через сокеты 2.1 скачать
Архив документации (для старой линейки СПК1хх, СПК207) перейти

1. В компоненте Modbus RTU Master версии 3.5.7.0 не работает галочка Автопереподключение (Autoreconnect).

Статус: в версии 3.5.11.x галочка работает корректно.
При работе со старой линейкой СПК1хх/СП207 рекомендуется использовать версию компонента (3.5.5.0).

2. В компоненте Modbus TCP Slave Device версии 3.5.2.0 не поддержана работа с битами.

Статус: исправлено в версии компонента 3.5.11.x.

3. В компоненте Modbus RTU Slave Device версии 3.5.5.5 не поддержана работа с битами.

Статус: исправлено в версии компонента 3.5.11.x.

4. Модули МУ110-6У и МУ110-8И в некоторых ситуациях могут переставать отвечать на запросы мастера.

Статус: проблема решена в прошивках модулей версии 2.00. Текущую версию прошивки можно посмотреть в Конфигураторе Mx110.

5. Модуль МВ110-2АС некорректно обрабатывает групповые запросы.

Статус: проблема решена в прошивках модулей версии 1.08. Текущую версию прошивки можно посмотреть в Конфигураторе Mx110.

6. При использовании Modbus TCP каждое slave-устройство должно иметь уникальный порт. При использовании шлюзов Modbus TCP/RTU, которые используют один порт и разные Unit ID , будет производится опрос только первого добавленного устройства.

Статус: исправлено в версии компонента 3.5.11.x.

Источник

Тема: Как поженить СПК107 с ПЛК DVP28SV

Опции темы
Отображение

Как поженить СПК107 с ПЛК DVP28SV

Здравствуйте. Я новичок в этом деле. Возникла потребность связать СПК107 и DVP28SV. ПЛК управляет тремя серво двигателями и двумя шаговыми (все двигатели purelogic). СПК107 хочу использовать как панель оператора. Подскажите как это сделать или дайте ссылку на что-то подобное? Может есть те, кто уже встречался с подобным и поделится своим опытом.

Оба устройства работают по модбас.
Пример программ есть на сайте Пролог.
Работают без проблем.

Если не сложно, скиньте пожалуйста ссылку.

Подскажите, при работе по протоколу модбас, что использовать (СПК107 или ПЛК DVP28SV) в качестве Master, а что в качестве Sleve-устройства? Задача заключается в том, чтобы на СПК107 была кнопка «ПУСК», при нажатии которой происходил выполнение программы шаговым двигателе, подключенному к ПЛК?

Господа, чего Вы устроили ромашку — скажу не скажу, в личку, не в личку.
Мастером сети должен быть тот, кто является управляющим устройством. Если в Вашем случае управлять будет панель и на ней же выводиться аварийные сообщения — делайте СПК мастером сети.
Соответственно контроллер Slave.
На форуме и сайте много материалов по работе с СПК.
http://www.owen.ru/catalog/codesys_v3/19944443

Если Вы еще не купили оборудование, и других задач, кроме запуска — то действительно стоит подумать над панелью оператора СП307.
Настроить ее проще. Уточните все требования к панели.
http://www.owen.ru/catalog/sensornie. sp3xx/38711838

Вы все тут поудаляли, а человек пока сам не знает. что ему нужно.
Вот и получил в личку программы, для дельты в обоих вариантах.
Они Вам тут нужны были?

Уважаемые коллеги, нужна ваша помощь. Необходимо наладить связь ПЛК и СПК по протоколу Modbus.
Все оборудование уже закуплено (СПК107; ПЛК DVP28SV; серво- и шаговые двигатели с драйверами )
СПК107 будет Master-сети и выполнять функции запуска программ и подпрограмм.
Для начала хотелось попробовать запустить программу на ПЛК для управления двумя ШД при помощи кнопки PUSK на экране СПК107.
Необходимо на Y1 (Выход ПЛК DVP28SV ) с СПК подать сигнал при нажатии кнопки пуск.
Все примеры для работы СПК107 по протоколу Modbus связаны с модулями ввода/вывода. Пробовал по аналогии связать с ПЛК. Происходит подключение к Modbus-COM, подключается к Master(происходит подключение к СПК107), а у Slave-устройства появляется знак «нет связи». Что я делаю не так.
Может кто поэтапно расскажет или опишет процедуру связи СПК и ПЛК?
Какой язык использовать?
Какие глобальные переменные?
Как настроить Master- и Slave-устройства?
Как определить установлена связь или нет?
Какие нужны манипуляции с ПЛК для связи с СПК?
1.JPG
2.jpg

Последний раз редактировалось Aleexaandr; 14.12.2016 в 09:05 .

В ПЛК создайте тригер,
при нажатии Пуск, по фронту установите Y1 во вкюченое состояние.
Кнопку стоп нужно(Крайне желательно) заводить на сам ПЛК. Кнопка НЗ.
При нажатии на нее, по фронту происходит сброс тригера и Y1.

В ПЛК создайте маркеры, состояние которых будете менять с панели.
Обратите внимание на пересчет адресов в Дельте
http://www.deltronics.ru/netcat_file. e3a6a07ee8a173

Не могу наладить связь. Все сетевые настройки совпадают. ПЛК перевел в режим RTU.
Связь осуществляется по COM1 (RS-232).
В настройках СПК установлено что СОМ1 — RS-232.
Произвожу подключение, связи с Slave-устройством НЕТ. Подскажите что не так?
1.JPG2.JPG3.JPG4.JPG5.JPG

У вас адреса переменных возможно не правильно заданы.
К каким переменным в контроллере обращаетесь?
Используете пересчет?

Источник

Тема: СПК — Примеры программ, инструкции, полезные советы, FAQ

Опции темы
Отображение

СПК — Примеры программ, инструкции, полезные советы, FAQ

Здравствуйте, уважаемые клиенты! Данная тема предназначена для владельцев СПК. В этом разделе будем выкладывать примеры, инструкции, видео примеры, ответы на вопросы, в общем любой материал, который понадобится при программировании СПК.
Данная тема открыта для обсуждения. Любые полезные примеры или ответы на вопросы будут выносится в шапку темы.

CODESYS – это стандартный инструмент программирования

Профессиональная разработка систем промышленной автоматизации неразрывно связана с CODESYS (Controller Development System). Основным назначением комплекса CODESYS является разработка прикладных программ на языках стандарта МЭК 61131-3.

Комплекс состоит из двух основных частей: среды программированияCoDeSys и системы исполнения CODESYS Control. CODESYS работает на компьютере и применяется при подготовке программ. Программы компилируются в быстрый машинный код и загружаются в контроллер. CODESYS Control работает в контроллере, он обеспечивает загрузку и отладку кода, обслуживание ввода/вывода и прочие сервисные функции.

Более 300 известных компаний изготавливают оборудование с CODESYS . С ним ежедневно работают тысячи людей, решающих задачи промышленной автоматизации. На сегодняшний день CODESYS – это самый распространенный комплекс МЭК программирования в мире. Практически он сам служит стандартом и образцом систем МЭК программирования.

CODESYS v3 — это новый виток в развитии среды программирования CODESYS . При разработке новой версии среды программирования разработчики решили взять за основу ООП — объектно ориентированное программирование. В версии 3 можно писать программы используя привычный многим процедурный метод, либо писать программу основываясь на принципах стандартного ООП.
В новой версии используется абсолютно новый дизайн. Используется новый метод построения конфигурации контроллера. Введена версионность библиотек, Target-файлов и других компонентов. Это обеспечивается с помощью репозитория устройств и библиотек.

Очень сильно преобразилась визуализация. Добавлено множество компонентов, таких как таблицы, выпадающие списки, текст с поддержкой форматирования. Также можно использовать различные стили визуализации, либо применять свои методы заливки с применением градиентов. Введена поддержка векторной графики в формате SVG.
Одним словом — CODESYS v3 — это абсолютно новая среда программирования. Но при этом все языки программирования в новой версии остаются неизменными, но дополнены множеством новых типов.

Т.к. CODESYS v3 — это абсолютно новый продукт, то и устройства которые программируются в нем — это абсолютно новые устройства.
На текущий момент к таким устройствам относятся следующие приборы:

Сенсорные панельные контроллеры:
Линейка СПК2хх: СПК207, СПК210
Линейка СПК1хх: СПК105, СПК107, СПК110

Коммуникационные контроллеры:
Линейка ПЛК3хх: ПЛК304, ПЛК308, ПЛК323

Модульные контроллеры:
Линейка Модус: Модус 5684 + модули

Приборы, которые программируются в версии CODESYS 2.3 нельзя программировать в 3-й версии. Возможно, что в дальнейшем при модернизации старых линеек (ПЛК100/150/154/110/160) они будут постепенно переводиться на новое ПО.

Официальные требования от разработчиков
Минимальные:
• ОС: Windows 2000 (Windows XP или Windows Vista также возможно)
• ОЗУ: 512MB
• Жесткий диск: 200MB
• Процессор: Pentium V, Centrino > 1,8 Ггц, Pentium M > 1,0Ггц

Рекомендуемые:
• ОС: Windows XP
• ОЗУ: 1024MB
• Жесткий диск: 1GB
• Процессор: Pentium V, Centrino > 3,0 Ггц, Pentium M > 1,5Ггц

Рекомендация от фирмы ОВЕН:
Для комфортной работы в среде программирования CODESYS 3.5 рекомендуется использовать следующие конфигурации:

• ОС: Windows XP (32бит)
• ОЗУ: 2Гб
• Жесткий диск: не менее 3GB свободного пространства
• Процессор: Core i5 > 2.8 Ггц

• ОС: Windows 7/8/8.1 (64бит)
• ОЗУ: не менее 4Гб
• Жесткий диск: не менее 5GB свободного пространства
• Процессор: Core i7 > 3 Ггц

01. Настройка связи между СПК107/110 и CODESYS:
02. Режим Конфигуратор, Калибровка, Рабочий для СПК107/110:
03. Работа с WinSCP и PuTTY:
04. Визуализация в CODESYS 3.5 SP3:

Общая инструкция(незаконченный вариант, инструкция в процессе написания):
ModBus_VS_CODESYS_V35.pdf

Пример неправильной настройки Modbus Master (распространенная ошибка):

Пример программы: SPK207_03_CS_WEB_target_3.5.0.40_AND_TRM212.projectarchive
Видео пример:

Пример программы: SPK207_04_CS_WEB_target_3.5.0.40_AND_MV110_4TD.projectarchive
Видео пример:

Как правило такой вопрос возникает при необходимости написания программы архивации или при необходимости считывания заранее подготовленных «рецептов» с внешнего носителя.

Все СПК работают под управлением операционной системы ОС Linux. В этой операционной системе работа с внешними накопителями имеет ряд особенностей, которые нужно знать и понимать, если Вы планируете написать свою собственную программу.

1. Если устройство (SD/USB) поддерживается СПК, то при подключении к СПК, оно должно появиться в каталоге /dev
2. Если устройство определяется ОС и файловая система поддерживается ОС Linux (Fat16/Fat32), то оно монтируется в каталог /mnt/ufs/media/
3. Во всех СПК (1хх и 2хх) устройства подключенные к СПК имеют следующие названия:
‘sda1’ для USB1
‘sdb1’ для USB2
‘mmcblk0p1’ для SD карты

Например. При подключении SD карты к СПК в каталоге dev появится устройство ‘/dev/mmcblk0p1’. Если у данной карты корректная файловая система, она примонтируется в каталог ‘/mnt/ufs/media/mmcblk0p1/’. И в этом каталоге будет содержимое SD карты.

Поэтому, при написании программы желательно анализировать оба этих каталога.
Пример того, как это можно реализовать, можно посмотреть в программе наладки и суточного стенда, которая находится в данном разделе.

Для удобства отладки рекомендую пользоваться бесплатной программой WinSCP.
Пример:

Примечание. При работе с файлами среда программирования предлагает использовать различные библиотеки, такие как:
CAA File — Абсолютно новый тип библиотек. Рекомендуется использовать именно ее.
SysFile23 — Библиотека работы с файлами, портированная из CoDeSys 2.3
SysFile — Библиотека аналогичная, SysFile23.

Использовать библиотеки SysFile23 и SysFile не рекомендуется, т.к. при некорректно написанной программе может «Вылетать» CODESYS.
Под словом некорректной имеется ввиду неправильная работа с указателями на файл. Например, повторное закрытие уже закрытого файла.
В библиотеках CAA File подобных проблем нет.

В операционной системе Linux любые компоненты системы представлены в виде файлов.
Устройство управление подсветкой также представляет из себя файл, в который необходимо записать определенное значение.
В СПК1хх для управления подсветкой необходимо писать значение яркости в файл:
‘/sys/class/backlight/pwm-backlight/brightness’.
В СПК2хх для управления подсветкой необходимо писать значение яркости в файл:
‘/sys/class/backlight/backlight/brightness’.

Для СПК1хх в данный файл необходимо записывать данные в формате STRING в диапазоне от ‘0’ до ‘100’.
0 — подсветка отключена
100 — максимальная яркость

Для СПК2хх в данный файл необходимо записывать данные в формате STRING в диапазоне от ‘0’ до ‘200’.
0 — подсветка отключена
200 — максимальная яркость

Данный функционал реализован в библиотеке SPK TOOLS.

Необходимо использовать библиотеку SysTargetVisu23.
Из этой библиотеки необходимо использовать функции:
GetLastMouseDownEvent — Нажатие на Touch «пальцем»
GetLastMouseMoveEvent — Перемещение «пальца» по Touch
GetLastMouseUpEvent — «Палец» убран с Touch

Данные функции возвращают структуру типа MouseEvent. Она содержит 3 поля. Два поля, это координаты, где произошло событие, а поле dwCounter — это счетчик событий.

Смысл использования библиотеки следующий.
Все 3 функции постоянно опрашивают состояние Touch. Если оператор производит на экране какие либо действия, то счетчики в данных функциях будут обновляться. Если счетчики обновляются, они должны сбрасывать некий таймер (например, TON) и подсветка стоит на уровне 100%, если же оператор не производит ни каких действий, то счетчик должен стоять на месте и таймер сбрасываться не должен. Соответственно, когда таймер отсчитает заданный интервал, уровень яркости надо переключить в 0%.

Данный функционал реализован в библиотеке SPK TOOLS.

В операционной системе Linux любые компоненты системы представлены в виде файлов.
Устройство управления зумером также представляет из себя файл, в который необходимо записать определенное значение.
В СПК1хх для управления зумером необходимо писать его состояние в файл:
‘/sys/class/leds/pwm-beeper/brightness’.
В СПК2хх для управления зумером необходимо писать его состояние в файл:
‘/sys/class/leds/buzzer/brightness’.

В одном и другом случае в данный файл необходимо записывать данные в формате STRING:
‘0’ — Зумер отключен
‘1’ — Зумер включен

Данный функционал реализован в библиотеке SPK TOOLS.

Для добавления визуализации необходимо правой кнопкой Мыши выбрать на вкладке Устроуства элемент Application.
Далее правой кнопкой мыши выбрать в появившемся меню пункт Добавить элемент и далее выбрать элемент Визуализация.

После этих действий в дереве проекта появится менеджер Визуализации и стартовая визуализация.
В менеджере визуализации необходимо выставить галочку на элементе использовать строки Unicode для корректного отображения строк на русском языке.

В Таргет-визуализации (это та, которая выполняется на контроллере) необходимо задать размер визуализации. Как правило это 800*480.

Если в контроллере поддержана WEB-визуализация, то в элементе Web-визуализация (та, которая отображается в браузере) необходимо задать ее размеры.

В свойствах самой визуализации желательно тоже указывать размер визуализации.

Для удобства редактирования визуализации в Меню -> Инструменты -> Опции ->Визуализация на вкладке Сетка необходимо активировать галки Видимая и Активная. В этом случае на визуализации будет активна сетка, к которой можно привязывать элементы визуализации.

Ниже видео пример настройки визуализации для СПК1хх:

Ниже видео пример настройки визуализации для СПК2хх с Web визуализацией:

Для этого необходимо открыть нужную визуализацию.
С помощью вкладки Панель инструментов необходимо выбрать нужные элементы, например, Lamp1(лампа), DipSwitch (переключатель) и PushSwitch.
В основной программе (PLC_PRG) должны быть созданы переменные, которые будут отвечать за состояние кнопок и переключателей.
Если просто разместить на визуализации элементы, но не связать их с переменными — они работать не будут.

Для привязки переменных к элементам необходимо выбрать нужный элемент и открыть вкладку Свойства.
В большинстве случаев за изменение состояния (включено/выключено) отвечает поле Variable — переменная. Чтобы с этим полем связать переменную, необходимо по нему кликнуть, появится кнопка с многоточие. Необходимо нажать на эту кнопку и с помощью ассистента ввода выбрать необходимую переменную.

У каждого компонента визуализации есть много параметров, которые можно настраивать. Более подробно с ними можно ознакомиться в справочной системе CODESYS.

Видео пример:

1. Для отображения надписей на русском языке в настройках менеджера визуализации должна быть активирована галка использовать строки Unicode.
2. Если в программе используются строковые переменные, которые выводятся на визуализацию их необходимо перевести в формат WSTRING — это строки в формате Unicode. Для работы со строками данного типа предусмотрены все теже операторы, что и для строк в формате STRING. ФБ и функции для работы со строками WSTRING размещены в библиотеке Standard64.

Видео пример:

В менеджере визуализации необходимо поставить галку на пункте Use Сurrent Visu Variable (Использовать переменную Current Visu).

Далее в программе(в данном случае на ST) пишите:

где vizualization_1 — это имя визуализации, на которую необходимо перейти.

VisuElems.CurrentVisu — это глобальная переменная, которая имеет тип STRING.

При этом необходимо учитывать, что при активации данной галки все клиенты будут видеть одну и ту же визуализацию, которая указана в переменной VisuElems.CurrentVisu.

Если данную галку не активировать, то каждый клиент будет иметь свой собственный экземпляр визуализации, не зависящий от других клиентов.

На сегодняшний день при использовании в визуализации элемента TRACE наблюдаются сильные «подтормаживания» в визуализации.
В зависимости от настроек проекта, могут наблюдаться явления вплоть до отказа работы курсора.
При этом проблема проявляется только на экране с самим элементом TRACE. При переходе на другие экраны быстродействие восстанавливается.

Пока мы можем предоставить только ряд рекомендаций по оптимизации данного компонента.
Но не смотря на это, на экране с трассировкой все равно будут наблюдаться небольшие «подвисания»,
но при этом СПК не будет полностью терять управление.

Рекомендация состоит из 2-х этапов:

1. подключаем СПК к ПК
2. запускаем WinSCP
3. подключаемся к СПК
4. открываем каталог /mnt/ufs/root/CoDeSysSP
5. находим файл setupcfg207.cfg
6. скачиваем его на ПК
7. Делаем резервную копию файла
8. Открываем файл текстовым редактором.
Рекомендую использовать редактор EmEditor.
Остальные редакторы могут некорректно добавлять переносы на новую строку.
Если файл будет отредактирован не корректно СПК не запустит CODESYS.
9. В открывшемся файле ищем опцию [CmpTargetVisu]
в нее надо добавить настройку Updaterate_ms=1000,
например так:

[CmpTargetVisu]
BitmapbufferSize=3
Updaterate_ms=1000

10. После этого файл сохранить на ПК
11. Изменённый файл с заменой скопировать в СПК
12. Через меню Commands-> Open terminal запустить окно терминала
13. В открывшемся терминале выполнить команду /sbin/reboot
14. Дождаться перезагрузки СПК

Если появился курсор или загрузился заранее созданный проект, манипуляция прошла удачно.
Если CODESYS не загрузился, необходимо выполнить подключение через WinSCP
и вернуть оригинальный файл. Либо выполнить перепрошивку.

Если в проекте используется Trace, то необходимо использовать несколько простых правил:
1. Актуальная прошивка и Target, на данный момент это прошивка 3,302.
2. Для Trace лучше создать отдельную задачу, например, TraceTask, вызывающуюся циклично, с циклом 500-1000мс (или больше)
3. Переменные которые будут выводиться на график должны быть объявлены именно в этой задаче программе/Programm (POU).
4. Если переменные надо передавать из другого блока или они глобальные, то лучше создать дублирующие локальные переменные и данные просто внести переприсвоением.
5.Задача визуализации должна вызываться с циклом в 300-400мс.
6.При добавлении трассировки в визуализацию рекомендуется задать статические диапазоны для графика и статическое значение его длительности.
В этом случае график будет меньше пересчитываться и меньше тратить ресурсов процессора.
7.Параметр Measure in every n-th cycle подбирать так, чтобы значение справа было 1 секунда или больше, но не меньше!
8. Для основной программы цикл делать менее 20мс не рекомендуется.
9. Чем меньше окно трассировки, тем меньше наблюдаются подвисания.

Данные рекомендации даны для линейки СПК1хх.
Для оптимизации графиков на СПК2хх используется аналогичная технология.

Сейчас есть договоренность с компанией 3S о дальнейшей оптимизации данного компонента. Запланирована оптимизация данного компонента в CODESYS3.5 SP5, который выйдет в марте 14 года.

На СПК2хх на новом железе (на модуле SOM) данная проблема не актуальна, позже выложу видео пример для СПК2хх.SOM.

Видео пример настройки Trace на СПК с оптимальными настройками:

Начиная с прошивки 3,9хх Компания ОВЕН разработала драйвер, который поддерживает все операционные системы.
Нижеприведенный текст актуален для прошивок со старой версией драйвера и прошивок ниже 3.9хх!
В операционной системе корпорация Wicrosoft ужесточила требования к драйверам. Теперь в систему можно установить драйвер имеющий цифровую подпись.
Пока мы не получили цифровую подпись, драйвер который мы распространяем установить в Windows 8 нельзя.
Но эту проблему можно легко обойти если использовать аналогичный драйвер из самой Windows.

Полный процесс подключения и настройки СПК в Windows 8 можно посмотреть в данном видео:

Данная инструкция актуальна и для Windows 7.

Источник

сodesys v.3.5Среда программирования CODESYS v3.5

Компания 3S-Smart Software Solutions GmbH выпустила новую версию среды программирования CODESYS v3, построенную по концептуально новому принципу: разработчики взяли за основу объектно-ориентированное программирование (ООП). В третьей версии появилась возможность создания программ процедурным методом либо на принципах стандартного ООП. Языки программирования дополнены новыми типами.

Третья версия создана в новом дизайне. Используется новый метод построения конфигурации контроллера, введена версионность библиотек, Target-файлов и других компонентов. Эти возможности обеспечиваются репозиторием устройств и библиотек.

Обновлена визуализация: добавлено множество компонентов, таких как таблицы, списки, тексты с поддержкой форматирования. Появилась возможность использования различных стилей визуализации с применением собственных методов заливки с градиентами. Введена поддержка векторной графики в формате SVG.

Создание нового проекта в среде CODESYS v3.5

В первую очередь обращаем внимание на особенности создания нового проекта. Для этих целей в среде CODESYS v2.3 использовалась вкладка Конфигурация ПЛК, в CODESYS v3.5 настройка осуществляется на вкладке Устройства (в английской версии соответственно Devices).

Контроллер, интерфейс, протокол, модуль с точки зрения CODESYS v3.5 являются программными устройствами (Devices). Любое устройство, созданное в CODESYS v3.5, имеет конкретную версию. При добавлении в проект устройств CODESYS по умолчанию использует самую старшую версию. ВЕРСИИ УСТРОЙСТВ, ИСПОЛЬЗУЮЩИЕСЯ В ПРОЕКТЕ, ДОЛЖНЫ СТРОГО СООТВЕТСТВОВАТЬ ВЕРСИИ TARGETФАЙЛА КОНТРОЛЛЕРА ИЛИ БЫТЬ МЛАДШЕ.

Рис. 1. Последовательность настройки интерфейсов

Если это условие не выполнено хотя бы для одного устройства, то возникают множественные ошибки компиляции.

Далее будет подробно рассмотрено, каким образом выбираются версии устройства и Target-файла.

Среда программирования CODESYS v3.5 и Target-файлы находятся на сайте: http://www.owen.ru/catalog/25605006 в свободном доступе.

Режимы работы в CODESYS v3.5 по протоколу Modbus

Если сравнивать режимы, которые реализованы в CODESYS v2.3 и v3.5, то в новой версии имеется ряд ограничений, которые ввела компания 3S Software. CODESYS v3.5 поддерживает режимы Modbus Master RTU/TCP и Slave RTU/ TCP, но не поддерживает Modbus ASCII. Режим ASCII реализован в библиотеке Modbus ОВЕН.

Поддерживаемые скорости обмена в CODESYS v3.5:

  • 4800
  • 9600
  • 19200
  • 38400
  • 57600
  • 115200

Не поддерживаемые скорости обмена[1] в CODESYS v3.5:

  • 1200
  • 2400
  • 14400
  • 28800

Нумерация портов в CODESYS v3.5

При настройке интерфейсов RS-232/485 необходимо указывать номера портов. Номер порта в CODESYS v3.5 не соответствует номеру, указанному на корпусе прибора. Соотношение номеров портов на корпусе и в CODESYS v3.5 находятся в руководстве по эксплуатации, входящем в комплект поставки оборудования. В табл. 1 приведены номера портов для панельных контроллеров серии СПК.

Номер порта на корпусе прибора

Нумерация портов в среде программирования CODESYS

СПК105[2]

СПК107

СПК110

СПК207

СПК210

COM1

2 (RS-232)

3 (RS-485)

2

COM2

3

COM3

4

Общая методика конфигурирования интерфейсов в CODESYS v3.5

Контроллеры ОВЕН оснащены универсальными интерфейсами RS-232/485. Настройка интерфейсов в CODESYS v3.5 имеет строго определенную последовательность (рис. 1).

Во-первых, необходимо выбрать интерфейс (232 или 485) и установить режим работы порта – Master или Slave. Если порт настраивается для режима Slave, то достаточно указать перечень регистров, которые будут участвовать в обмене; если в режиме Master, то необходимо описать опрашиваемые устройства и указать регистры каждого из них.

Настройка интерфейсов

Для добавления в проект интерфейса необходимо перейти на вкладку Устройства (рис. 2). В дереве объектов выбрать настраиваемый контроллер, например, СПК107 с Target-файлом 3.5.2.0. Правой кнопкой выбрать пункт и в открывшемся меню – пункт Добавить устройство (рис. 2).

Откроется диалоговое окно (рис. 3) с перечнем устройств, поддерживаемых CODESYS. Чтобы выбрать необходимую версию устройства, нужно выставить флаг на пункте . Для добавления COM-порта нужно нажать на «+» возле пункта Modbus. В меню (рис. 4) следует выделить пункт (версия 3.4.0.0 меньше версии Target-файла 3.5.2.0) и добавить устройство, в данном случае – Modbus COM. Дерево объектов имеет вид, показанный на рис. 5.

Зададим настройки COM-порта. Если дважды нажать на , откроются его настройки (рис. 5). На вкладке Конфигурация последовательного порта Modbus следует указать номер порта, скорость передачи данных и другие параметры. Для контроллеров серии СПК2хх обмен можно реализовать через Ethernet. Он добавляется аналогично COM-порту: выбирается устройство , в открывшемся меню из списка Ethernet-адаптер добавляется устройство Ethernet (рис. 6). В контроллерах СПК207-03-CS-WEB использовался Target-файл версии 3.5.0.40. Вкладка порта Ethernet не имеет активных настроек, так как используются системные настройки.

Настройка мастера сети

После добавления интерфейсов необходимо установить режимы работы устройств (Master или Slave). Настройка режимов Modbus Master или Modbus Slave для разных интерфейсов практически одинакова. Сначала следует выбрать соответствующий интерфейс (например, Ethernet, рис. 7), правой кнопкой мыши вызвать окно Добавить устройство.

Диалоговое окно порта Ethernet показано на рис. 8. Диалоговое окно COM-порта показано на рис. 9. В зависимости от выбранного порта настраивается режим мастера сети. В данном примере используется ОВЕН СПК207 версии 3.5.0.40, поэтому версию мастера для COM-порта и Ethernet можно выбрать 3.4.3.х или 3.5.0.0.

Для порта Ethernet:

Для порта COM:

После добавления режима Master (RTU, TCP) необходимо его настроить. Для этого в дереве объектов нужно дважды выбрать добавленного мастера. Откроется окно настроек, где необходимо открыть вкладку . На рис. 10 показаны настройки для Ethernet: Таймаут ответа – время ожидания мастером ответа от Slave-устройства. Если за установленное время Slave не отвечает, Master начинает опрос следующего Slave-модуля. Выбранное значение (1000, рис. 10) будет по умолчанию использоваться для всех Slave-устройств. Для каждого модуля можно задавать свое время ожидания на вкладке Конфигурация Slave. Таймаут сокета – максимальное время ожидания мастером входящих пакетов TCP/IP.

Настройка для COM-порта аналогична Ethernet, только вместо таймаут сокета используется параметр: время между фреймами – интервал между ответом (или окончанием ожидания) и следующим запросом. Этот параметр может использоваться для увеличения скорости передачи.

Настройка Slave-устройств

После добавления мастера необходимо добавить Slaveустройства. Для этого на вкладке Устройства выбирается мастер и правой кнопкой добавляются Slave-устройства (рис. 11).

В данном примере используется СПК207 с Target-файлом 3.5.0.40.

Добавление Slave-устройства для мастера Ethernet-порта: . Добавление Slave-устройства для мастера COM-порта: . После проведенных операций дерево объектов имеет вид, показанный на рис. 12. Для удобства порты можно переименовывать, на рис. 12 показано, что порт Modbus COM переименован в COM1.

Конфигурирование Slave-устройств

После добавления Slave-устройств переходим к их конфигурированию. Для этого в дереве объектов следует выбрать Slave-устройство и двойным кликом открыть окно настроек. Slave-устройство, подключенное к мастеру Ethernet-порта (рис. 13), имеет следующие настройки: IP Адрес Slave – IP адрес устройства, которое опрашивает мастер сети.

Unit — ID – сетевой адрес устройства, который может принимать значения от 1 до 247, и используется для идентификации узла в сети.

Таймаут ответа устанавливается для каждого Slave-модуля и имеет приоритет по отношению к соответствующему параметру Master.

Порт – номер порта для Slave-модуля. Slave-устройство, подключенное к мастеру COM-порта, имеет аналогичные настройки.

Добавление каналов

Дальнейшая настройка независимо от типа интерфейса сводится к заданию канало[3]в (одного или нескольких регистров) и указанию режима работы канала – чтение или запись с последующей привязкой к переменным конфигурации.

Для добавления каналов следует перейти на вкладку Канал Modbus Slave соответствующего Slave-устройства и нажать на кнопку Добавить канал (рис. 14). Откроется диалоговое окно (рис. 15) с параметрами, приведенными в табл. 2.

После того как Slave-устройству будут заданы каналы и режимы работы, следует выполнить привязку читаемых или задаваемых регистров к переменным проекта на вкладке Соотнесение входов/выходов. Для этого необходимо выбрать канал, два раза кликнув по полю с названием «Переменная» (рис. 16). После этого поле станет

Таблица 2. Параметры каналов

Группа параметров «Канал»

Имя

Название канала

Тип доступа

Чтение регистра хранения (код функции 03) Чтение входных регистров (код 04) Запись в один регистр (код 06) Запись в несколько регистров (код 16) Запись/чтение регистров (код 23)

Триггер

CYCLIC: запрос выполняется периодически RISING_EDGE: запрос выполняется по переднему фронту логической переменной (для запуска сервисов Modbus из приложения в любое время необходимо установить триггер в RISING_EDGE)

Время цикла

Если триггер имеет значение CYCLIC: интервал между опросами в мс (должен быть равен или кратным времени цикла приложения)

Комментарий

Краткое описание реального смысла данных

Группа параметров «Регистр READ»

Сдвиг

Номер регистра для чтения (0-65535)

Длина

Количество регистров (=слов), которые будут прочитаны

Обработка ошибок

Обработка данных в случае возникновения ошибок соединения: «Set to ZERO» устанавливает все значения в 0. Keep last Value сохраняет предыдущее значение.

Группа параметров «Регистр WRITE»

Сдвиг

Номер регистра для записи (0-65535)

Длина

Количество регистров (=слов), которые будут записаны

активным для редактирования, и появится кнопка . Если на нее нажать, то произойдет вызов диалога «Ассистент ввода», с помощью которого можно связать регистр с переменной проекта (рис. 17).

Если регистры привязаны к переменным, то при запуске программы на вкладке Соотнесение входов/выходов отображаются опрашиваемые значения. Если регистры к переменным не привязаны, но эти данные необходимо просмотреть, то следует выставить галочку в окне .

Если мастер сети опрашивает несколько устройств в сети, то по описанной выше методике добавляются и настраиваются очередные Slave-устройства. На рис. 18 приведен пример дерева объектов с задействованным портом Ethernet и двумя serial-портами. Все три порта настроены в режиме Master, и каждый из них опрашивает по четыре Slave-устройства.

У Slave-устройства есть вкладка Modbus Slave Init, которая предназначена для предварительной инициализации данных, например, если перед началом обмена устройству необходимо задать настройки (например, указать тип датчика). Методика добавления регистров для инициализации аналогична методике добавления каналов, есть только еще один пункт – значение инициализации.

Настройка устройства в режиме Slave

Если устройство нужно настроить на работу в режиме Slave, то после добавления интерфейсов необходимо добавить Slave-устройства. Для этого на вкладке Устройства выбирается интерфейс и правой кнопкой добавляется режим Slave: для порта Ethernet (рис. 19), для COM-порта (рис. 20).

После настройки режима Slave необходимо задать основные настройки устройств для Modbus Slave TCP (рис. 21), для Modbus Slave RTU (рис. 22).

Таймаут: время ожидания (мс) кратное 500 мс.

Slave-порт: номер порта для Slave-модуля.

ID элемента: сетевой адрес устройства Modbus.

Регистры временного хранения: число регистров, доступных только для чтения функцией 04. Входные регистры: число регистров, доступных для чтения функцией 03 и записи функцией 16.

После задания основных настроек регистры можно связать с переменными программы на вкладке «Соотнесение входов/выходов».

На рис. 23 показан пример дерева объектов для СПК207, порт Ethernet и порты COM2 и COM3 настроены на режим работы Slave.

После выполнения описанных операций необходимо подключить настраиваемое оборудование к СПК и убедиться в корректности обмена. Таким образом, настройка СПК по протоколу Modbus завершена.


[1] На этих скоростях контроллеры ОВЕН поддерживают работу в ОС Linux, но возможность работы непосредственно в среде программирования отсутствует.

[2] В СПК105 интерфейсы RS-485 и RS-232 выведены на один порт COM1, что обеспечивает возможность одновременной работы и по RS-485, и по RS-232 в отличие от остальных контроллеров серии СПК.

[3] Канал – это группа адресов, расположенных последовательно друг за другом и опрашиваемых одной функцией.

Компилятор выдает ошибку для следующей программы. Я не могу это решить.

Это система Codesys, пишущая на языке ST. Я хочу управлять электромагнитным клапаном, используя битовую операцию.

CanRx := can_getDatabox (CAN_2, 10, ADR(CanRx_data), ADR(CanRxNumBytes));
Rx_test_1 := CanRx_data[1];
Rx_test_2 := CanRx_data[2];
Rx_test_3 := CanRx_data[3];
Rx_test_4 := CanRx_data[4];

IF(Rx_test_1 & 4 = 4)THEN
  out (OUT_1_POH_CL, 1500);
  ELSE IF(Rx_test_1 & 8 = 8)THEN
  out (OUT_1_POH_CL, 0);
END_IF

Ошибка компилятора:

 Error: 4011:Callback_MAIN_Task(XX): Type mismatch in parameter 1 of 'AND':Cannot convert 'INT' to 'ANY_BIT'  
 Error: 4024:Callback_MAIN_Task(XX): Expecting END_IF_before"

2 ответа

Я смог решить это сам. Я использовал AND вместо &, использовал ELSIF вместо ELSEIF. Вот правильный код.

Rx_test_1 : BYTE;

IF ((Rx_test_1 AND 1) =1) THEN
   statement1;
ELSIF (( Rx_test_1 AND 2) =1) THEN
   statement2;
ELSIF (( Rx_test_1 AND 4) =1) THEN
   statement3;
ELSE
   statement4;
END_IF


1

Taro NAKAMURA
20 Ноя 2020 в 13:45

В документации для операторов ST сказано, что операторы сравнения и равенства <, >, <=, >=, = и <> имеют более высокий приоритет чем операторы логической логики и операторы побитовой логики.

Кроме того, в ST побитовыми логическими операторами являются AND и OR вместо & и |. Точно так же булевы логические операторы — это AND_THEN и OR_ELSE вместо && и ||. (однако учтите, что булев логический оператор был добавлен в компилятор CODESYS V3.5 SP4, если вы используете более раннюю версию, они будут недоступны. Например, SoMachine. em> использует более старый)

Кроме того, синтаксис IF выглядит следующим образом:

IF condition THEN
    statement1;
ELSEIF condition THEN
    statement2;
ELSE
    statement3;
END_IF;

Но в вашем коде есть ELSE IF вместо ELSEIF, а в вашем END_IF отсутствует точка с запятой. (Хотя у меня никогда не было жалоб компилятора, если я пропустил это, и они сами часто опускают их в своих примерах в документации)

Итак, вам просто нужно заключить в скобки побитовую операцию перед сравнением. (Такая же ситуация и в языках семейства C, что приводит к нечитаемым выражениям со слишком большим количеством скобок), замените их допустимыми операторами ST и исправьте часть ELSE IF.

Попробуйте включить эти изменения, например:

(Обратите внимание, что я также добавил пробелы для удобства чтения. ST не накладывает никакой семантики на пробелы (в отличие от Python, Haskell и т. д.), поэтому вы должны использовать пробелы, чтобы максимизировать удобочитаемость и удобство сопровождения). (Мой личный стиль заключается в том, чтобы в скобках были пробелы, а не снаружи — другие люди категорически не согласны, YMMV)

IF ( ( Rx_test_1 AND 4 ) = 4 ) THEN

    out ( OUT_1_POH_CL, 1500 );

ELSEIF ( ( Rx_test_1 AND 8 ) = 8 ) THEN

    out ( OUT_1_POH_CL, 0 );

END_IF;


1

Guiorgy
21 Ноя 2020 в 14:50

Errors 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 «Expecting or or … before »» Enter a valid operand at the named position. «Expecting ‘:=’ or ‘=>’ before »» Enter one of the both operators at the named position. «‘BITADR’ expects a bit address or a variable on a bit address»Use a valid bit address (e.g. %IX0.1). «Integer number or symbolic constant expected» Enter a integer number or the identifier of a valid constant. «‘INI’ operator needs function block instance or data unit type instance» Check the data type of the variable, for which the INI operator is used. «Nested calls of the same function are not possible.» At not reentrant target systems and in simulation mode a function call may not contain a call of itself as a parameter. Example: fun1(a,fun1(b,c,d),e); Use a intermediate table. «Expressions and constants are not allowed as operands of ‘ADR’» Replace the constant or the expression by a variable or a direct address. «‘ADR’ is not allowed on bits! Use ‘BITADR’ instead.» Use BITADR. Please Note: The BITADR function does not return a physical memory address. «’’ operands are too few for ». At least ‘’ are needed» Check how many operands the named operator requires and add the missing operands. «’’ operands are too many for ». At least ‘’ are needed» Check how many operands the named operator requires and remove the surplus operands. «Division by 0» You are using a division by 0 in a constant expression. If you want to provocate a runtime error, use – if applicable — a variable with the value 0. 10-118 <strong>CoDeSys</strong> V2.3

Appendix J: Compiler Errors and Warnings 4035 «ADR must not be applied on ‘VAR CONSTANT’ if ‘replaced constants’ is activated» An address access on constants for which the direct values are used, is not possible. If applicable, deactivate the option ‚Replace Constants’ in ‚Project’ ‚Options’ ‚Build’. 4040 «Label » is not defined» Define a label with the name or change the name to that of a defined label. 4041 4042 4043 4050 4051 4052 «Duplicate definition of label »» The label ‘< Name>’ is multiple defined in the POU. Rename the label or remove one of the definitions. «No more than labels in sequence are allowed» The number of jump labels is limited to ». Insert a dummy instruction. «Format of label invalid. A label must be a name optionally followed by a colon.»The label name is not valid or the colon is missing in the definition. «POU ‘%s’ is not defined» Define a POU with the name » using the command ‘Project’ ‘Add Object’ or change » to the name of a defined POU. «‘%s’ is no function» Use instead of a function name which is defined in the project or in the libraries. «» must be a declared instance of FB »» Use an instance of data type » which is defined in the project or change the type of to ». 4053 «» is no valid box or operator» Replace » by the name of a POU or an operator defined in the project. 4054 «POU name expected as parameter of ‘INDEXOF’» The given paramter is not a valid POU name. 4060 «‘VAR_IN_OUT’ parameter » of » needs variable with write access as input» To VAR_IN_OUT parameters variables with write access have to be handed over, because a VAR_IN_OUT can be modified within the POU. <strong>CoDeSys</strong> V2.3 10-119

  • Page 1 and 2:

    User Manual for PLC Programming wit

  • Page 3 and 4:

    Content 1 A Brief Introduction to C

  • Page 5 and 6:

    8 The License Manager 8-1 8.1.1 Cre

  • Page 7 and 8:

    A Brief Introduction to CoDeSys 1 A

  • Page 9:

    A Brief Introduction to CoDeSys 1.3

  • Page 12 and 13:

    Project Components… The call of a

  • Page 14 and 15:

    Project Components… Calling a fun

  • Page 16 and 17:

    Project Components… In FBD : PLC_

  • Page 18 and 19:

    Languages… Data types Visualizati

  • Page 20 and 21:

    Languages… LDN BOOL2 (*save the n

  • Page 22 and 23:

    Languages… BOOL2 := FALSE; END_CA

  • Page 24 and 25:

    Languages… FOR loop • If the va

  • Page 26 and 27:

    Languages… 2.2.3 Sequential Funct

  • Page 28 and 29:

    Languages… An example for an IEC

  • Page 30 and 31:

    Languages… is stored in the branc

  • Page 32 and 33:

    Languages… Contact Each network i

  • Page 34 and 35:

    Debugging, Online Functions… Moni

  • Page 37 and 38:

    Chapter 3 — We Write a Little Progr

  • Page 39 and 40:

    3 — We Write a Little Program For t

  • Page 41 and 42:

    3 — We Write a Little Program At fi

  • Page 43 and 44:

    3 — We Write a Little Program Actio

  • Page 45 and 46:

    3 — We Write a Little Program Progr

  • Page 47 and 48:

    3 — We Write a Little Program The n

  • Page 49 and 50:

    3 — We Write a Little Program The r

  • Page 51:

    3 — We Write a Little Program CoDeS

  • Page 54 and 55:

    The Main Window… In order to see

  • Page 56 and 57:

    Project Options… • Log • Buil

  • Page 58 and 59:

    Project Options… Autodeclaration:

  • Page 60 and 61:

    Project Options… If you have chos

  • Page 62 and 63:

    Project Options… Here the comment

  • Page 64 and 65:

    Project Options… Using the option

  • Page 66 and 67:

    Project Options… Local: The POU w

  • Page 68 and 69:

    Managing Projects… ‘File’ ‘Open’

  • Page 70 and 71:

    Managing Projects… implementation

  • Page 72 and 73:

    Managing Projects… ‘File’ ‘Print’

  • Page 74 and 75:

    Managing Projects… Window for pas

  • Page 76 and 77:

    Managing Projects… Translate proj

  • Page 78 and 79:

    Managing Projects… If a translati

  • Page 80 and 81:

    Managing Projects… Dialog box for

  • Page 82 and 83:

    Managing Projects… Please Note: I

  • Page 84 and 85:

    Managing Projects… If the report

  • Page 86 and 87:

    Managing Projects… 4.3.1 ‘Project

  • Page 88 and 89:

    Managing Projects… Dialog ‘Login’

  • Page 90 and 91:

    Managing Projects… Dialog showing

  • Page 92 and 93:

    Managing Projects… Label Version

  • Page 94 and 95:

    Managing Objects in a Project… ‘N

  • Page 96 and 97:

    Managing Objects in a Project… Di

  • Page 98 and 99:

    Managing Objects in a Project… On

  • Page 100 and 101:

    General Editing Functions… 4.5 Ge

  • Page 102 and 103:

    General Editing Functions… ‘Edit’

  • Page 104 and 105:

    General Online Functions… ‘Edit’

  • Page 106 and 107:

    General Online Functions… VAR PER

  • Page 108 and 109:

    General Online Functions… Before

  • Page 110 and 111:

    General Online Functions… Dialog

  • Page 112 and 113:

    General Online Functions… ‘Online

  • Page 114 and 115:

    Window set up… 4.7 Window set up.

  • Page 117 and 118:

    5 — Editors in CoDeSys 5 Editors in

  • Page 119 and 120:

    5 — Editors in CoDeSys Input Variab

  • Page 121 and 122:

    5 — Editors in CoDeSys con1:INT:=12

  • Page 123 and 124:

    5 — Editors in CoDeSys • All iden

  • Page 125 and 126:

    5 — Editors in CoDeSys In the onlin

  • Page 127 and 128:

    5 — Editors in CoDeSys If the POU h

  • Page 129 and 130:

    5 — Editors in CoDeSys ‘Insert’ ‘Op

  • Page 131 and 132:

    5 — Editors in CoDeSys IL Editor wi

  • Page 133 and 134:

    5 — Editors in CoDeSys 5.3.2 The Ed

  • Page 135 and 136:

    5 — Editors in CoDeSys of the netwo

  • Page 137 and 138:

    5 — Editors in CoDeSys Depending on

  • Page 139 and 140:

    5 — Editors in CoDeSys ‘Extras’ ‘Se

  • Page 141 and 142:

    5 — Editors in CoDeSys All editors

  • Page 143 and 144:

    5 — Editors in CoDeSys The contact

  • Page 145 and 146:

    5 — Editors in CoDeSys The coil now

  • Page 147 and 148:

    5 — Editors in CoDeSys ‘Insert’ ‘Pa

  • Page 149 and 150:

    5 — Editors in CoDeSys setting is d

  • Page 151 and 152:

    5 — Editors in CoDeSys If IEC steps

  • Page 153 and 154:

    5 — Editors in CoDeSys 2. Text fiel

  • Page 155 and 156:

    5 — Editors in CoDeSys ‘Extras’ ‘Se

  • Page 157 and 158:

    5 — Editors in CoDeSys ‘Extras’ ‘Co

  • Page 159 and 160:

    5 — Editors in CoDeSys ‘Extras’ ‘Or

  • Page 161 and 162:

    5 — Editors in CoDeSys Example: Sel

  • Page 163:

    5 — Editors in CoDeSys PINs in macr

  • Page 166 and 167:

    Global Variables, Variable Configur

  • Page 168 and 169:

    Global Variables, Variable Configur

  • Page 170 and 171:

    Global Variables, Variable Configur

  • Page 172 and 173:

    Library Manager… variable. You ca

  • Page 174 and 175:

    Log… Remove Library With the ‘Edi

  • Page 176 and 177:

    PLC Configuration Storing the proje

  • Page 178 and 179:

    PLC Configuration All modules start

  • Page 180 and 181:

    PLC Configuration Modul id: The Mod

  • Page 182 and 183:

    PLC Configuration 6.5.5 Configurati

  • Page 184 and 185:

    PLC Configuration The GSD file pert

  • Page 186 and 187:

    PLC Configuration Basisparameter di

  • Page 188 and 189:

    PLC Configuration The Properties bu

  • Page 190 and 191:

    PLC Configuration 6.5.7 Configurati

  • Page 192 and 193:

    PLC Configuration given Guard COB-I

  • Page 194 and 195:

    PLC Configuration cyclic — synchron

  • Page 196 and 197:

    PLC Configuration CAN settings of a

  • Page 198 and 199:

    Target Settings Target-Support-Pack

  • Page 200 and 201:

    Task Configuration… • A task na

  • Page 202 and 203:

    Task Configuration… may be extend

  • Page 204 and 205:

    Watch and Receipt Manager… The sc

  • Page 206 and 207:

    Watch and Receipt Manager… Watch

  • Page 208 and 209:

    Sampling Trace Dialog Box for Trace

  • Page 210 and 211:

    Sampling Trace Display of the Sampl

  • Page 212 and 213:

    Sampling Trace ‘Load Values’ Be awa

  • Page 214 and 215:

    Parameter Manager 6.10.1 Dialog Tar

  • Page 216 and 217:

    Parameter Manager 6.11.2 Der Parame

  • Page 218 and 219:

    Parameter Manager Now close the tem

  • Page 220 and 221:

    Parameter Manager attributes. To en

  • Page 222 and 223:

    PLC Browser In a selection box the

  • Page 224 and 225:

    Tools %V If NAME is a variable name

  • Page 226 and 227:

    Tools The table lists all tools for

  • Page 228 and 229:

    Tools Parameter Path of the file wh

  • Page 230 and 231:

    Tools Mark the entry ‘Tools’ in the

  • Page 232 and 233:

    Tools • a project data base for w

  • Page 235 and 236:

    8 — The License Manager 8 The Licen

  • Page 237 and 238:

    9 — DDE Communication with CoDeSys

  • Page 239 and 240:

    9 — DDE Communication with CoDeSys

  • Page 241 and 242:

    APPENDIX 10 APPENDIX Appendix A: IE

  • Page 243 and 244:

    IEC Operators and additional norm e

  • Page 245 and 246:

    IEC Operators and additional norm e

  • Page 247 and 248:

    IEC Operators and additional norm e

  • Page 249 and 250:

    IEC Operators and additional norm e

  • Page 251 and 252:

    IEC Operators and additional norm e

  • Page 253 and 254:

    IEC Operators and additional norm e

  • Page 255 and 256:

    IEC Operators and additional norm e

  • Page 257 and 258:

    IEC Operators and additional norm e

  • Page 259 and 260:

    IEC Operators and additional norm e

  • Page 261 and 262:

    IEC Operators and additional norm e

  • Page 263 and 264:

    IEC Operators and additional norm e

  • Page 265 and 266:

    Appendix B: Operands in CoDeSys App

  • Page 267 and 268:

    Appendix B: Operands in CoDeSys $P

  • Page 269:

    Appendix B: Operands in CoDeSys %QB

  • Page 272 and 273:

    Standard data types Time Data Types

  • Page 274 and 275:

    Defined data types FUNCTION CheckBo

  • Page 276 and 277:

    Defined data types References For e

  • Page 279 and 280:

    Appendix D: CoDeSys Libraries Appen

  • Page 281 and 282:

    Appendix D: CoDeSys Libraries LD CO

  • Page 283 and 284:

    Appendix D: CoDeSys Libraries Examp

  • Page 285 and 286:

    Appendix D: CoDeSys Libraries CLK :

  • Page 287 and 288:

    Appendix D: CoDeSys Libraries Examp

  • Page 289 and 290:

    Appendix D: CoDeSys Libraries As so

  • Page 291 and 292:

    Appendix D: CoDeSys Libraries Decla

  • Page 293 and 294:

    Appendix D: CoDeSys Libraries Examp

  • Page 295 and 296:

    Appendix D: CoDeSys Libraries A P-c

  • Page 297 and 298:

    Appendix D: CoDeSys Libraries IN of

  • Page 299 and 300:

    Appendix D: CoDeSys Libraries If th

  • Page 301 and 302:

    Appendix E: Operators and Library M

  • Page 303 and 304:

    Appendix E: Operators and Library M

  • Page 305:

    Appendix E: Operators and Library M

  • Page 308 and 309: Command File (cmdfile) Commands onl
  • Page 310 and 311: Command File (cmdfile) Commands dir
  • Page 312 and 313: Command File (cmdfile) Commands ‘Co
  • Page 315 and 316: Appendix G: Siemens Import Appendix
  • Page 317 and 318: Appendix G: Siemens Import BE, BEA,
  • Page 319: Appendix G: Siemens Import redirect
  • Page 322 and 323: Command File (cmdfile) Commands 10.
  • Page 324 and 325: Command File (cmdfile) Commands Tar
  • Page 326 and 327: Command File (cmdfile) Commands Tar
  • Page 328 and 329: Command File (cmdfile) Commands Tar
  • Page 330 and 331: Command File (cmdfile) Commands 10.
  • Page 332 and 333: Command File (cmdfile) Commands 10.
  • Page 334 and 335: Key Combinations ‘File’ ‘Print’ ‘Fi
  • Page 336 and 337: Key Combinations ‘Insert’ ‘Step-Tra
  • Page 339 and 340: Appendix J: Compiler Errors and War
  • Page 341 and 342: Appendix J: Compiler Errors and War
  • Page 343 and 344: Appendix J: Compiler Errors and War
  • Page 345 and 346: Appendix J: Compiler Errors and War
  • Page 347 and 348: Appendix J: Compiler Errors and War
  • Page 349 and 350: Appendix J: Compiler Errors and War
  • Page 351 and 352: Appendix J: Compiler Errors and War
  • Page 353 and 354: Appendix J: Compiler Errors and War
  • Page 355 and 356: Appendix J: Compiler Errors and War
  • Page 357: Appendix J: Compiler Errors and War
  • Page 361 and 362: Appendix J: Compiler Errors and War
  • Page 363 and 364: Appendix J: Compiler Errors and War
  • Page 365 and 366: Appendix J: Compiler Errors and War
  • Page 367 and 368: Appendix J: Compiler Errors and War
  • Page 369 and 370: Appendix J: Compiler Errors and War
  • Page 371 and 372: Appendix J: Compiler Errors and War
  • Page 373: Appendix J: Compiler Errors and War
  • Page 376 and 377: Errors Changing connections 5-40 Cr
  • Page 378 and 379: Errors Set as project configuration
  • Page 380 and 381: Errors Insert Label in CFC 5-38 Ins
  • Page 382 and 383: Errors Function 5-13 Function Block
  • Page 384 and 385: Errors Cut/Copy/Paste line 6-55 Del
  • Page 386 and 387: Errors SFCTip 2-19 SFCTipMode 2-19
  • Page 388: Errors Window 4-62 Window Arrange S

Обновлено: 29.01.2023

I am currently working on ABB PLC, I tried to upload the program from PLC but I cann’t make it. Now I got the backup program which have number of errors. The errors are

Error4268:RECIPE(32):Expression expected.
Error4052:RECIPE(32):»must be a declared instance of function block’ADDSUB’

Please help me on this. How to remove this error?

Lifetime Supporting Member
Join Date: Apr 2004
Location: Israel
Posts: 615

Can you upload the code?

Which PLC are you using?

Member
Join Date: Nov 2011
Location: Aurangabad
Posts: 9

I am using CPU PM571, with CD522, DC522, AX521 modules.

Code is attached here with

Member
Join Date: Dec 2012
Location: Koprivnica, HR
Posts: 418
Quote:
Originally Posted by kam

Error4268:RECIPE(32):Expression expected.
Error4052:RECIPE(32):»must be a declared instance of function block’ADDSUB’

Please help me on this. How to remove this error?

First error was probably due to forgotten semicolon at the end or = instead of :=

Second error: you forgot to declare function block instance as variable:

balash
View Public Profile
Find More Posts by balash

Member
Join Date: Nov 2011
Location: Aurangabad
Posts: 9

I checked program many times, we have given all necessary punctuation marks. Also we have declared each function block.

For ex. TRAVERS_MTR: AC500_REAL_AO;
SPOOLADD: ADDSUB;

Attached Files

Program.zip (40.2 KB, 17 views)

Member
Join Date: Dec 2012
Location: Koprivnica, HR
Posts: 418

well i can’t really much compile cause i have codesys integrated with control builder, and i miss lots of your custom libraries and PLC conf but.
if i am not wrong i think you forgot to name the instance of «addsub» box in rung 32. every functionblock box must have instance that is name of the functionblock box.

that would solve one problem i guess.

not much help with second problem cause i’m cripled without conf and libs needed.

balash
View Public Profile
Find More Posts by balash

Member
Join Date: Nov 2011
Location: Aurangabad
Posts: 9

Thanks for your reply.

I have resolved all the errors by following steps.

1. If you observe the PLC configuration you won’t found CD522 module, so to insert this module I upgraded my CoDeSys.

2. The programmer have declared the Function Blocks by some variable name, but forgot to give that variable name to certain block.
For ex. in OUTPUT (11) he used AC500_REAL_AO, but didn’t give the variable name to this function block, but he declared this block by ‘LEFT SPOOLER3’. So I give the same name to function block. and Bingo.

But not while going online I am going through a error. I have attached this for reference.

Читайте также:

  • Плач ярославны что значит выражение
  • Я в курсе выражение
  • Живет же горстка людей откуда фраза
  • Примером применения нормативного подхода в макроэкономическом анализе являются высказывания что
  • В жизни шура человеку должно повезти три раза откуда фраза

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • Code leaf apex legends ошибка
  • Codesys ошибка соединения no object
  • Code language not supported or defined ошибка
  • Code ds42019 ошибка
  • Codesys ошибка 4020

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии