PDA

Просмотр полной версии : CODESYS V3.5. Вопросы и ответы



Страницы : 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

жекон
26.04.2019, 13:01
Тогда как при большом количестве записей , тупит жуть историю открыть вообще проблема

Евгений Кислов
26.04.2019, 13:06
Можно ограничить количество записей в настройках AlarmStorage.

жекон
26.04.2019, 14:46
Все равно со временем накопится

жекон
30.04.2019, 07:17
По словам RV9WFJ (https://www.owen.ru/forum/member.php?u=487) - будет (https://www.owen.ru/forum/showthread.php?t=20069&page=189&p=300015#post300015). Нет оснований не доверять ему в этом вопросе.
Сам я не пробовал и, честно говоря, не стал бы рекомендовать.
Нет не восстанавливается появился только после заливки программы заново и перезагрузке контроллера, и еще вопрос как с WinSCP подключится у меня не получилось

Евгений Кислов
30.04.2019, 08:20
как с WinSCP подключится у меня не получилось

https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_FAQ_v.1.3.pdf
п. 14.8

Dmitro
30.04.2019, 14:47
Есть работающая система, исходный проект которой не доступен и которую нельзя изменить,
можно ли хотя бы "послушать" ее ModBus и вытащить оттуда например температуры с модуля аналоговых входов?

Евгений Кислов
30.04.2019, 15:53
Есть работающая система, исходный проект которой не доступен и которую нельзя изменить,
можно ли хотя бы "послушать" ее ModBus и вытащить оттуда например температуры с модуля аналоговых входов?

Можно - используйте библиотеки для работы с портом (в CODESYS V3.5 - например, CAA Serial COM), ловите весь трафик и вычленяйте нужные пакеты.

Dmitro
01.05.2019, 21:16
Можно - используйте библиотеки для работы с портом (в CODESYS V3.5 - например, CAA Serial COM), ловите весь трафик и вычленяйте нужные пакеты.

Евгений, может есть готовые библиотеки вычленяющие нужные адреса и области памяти для ModBus? Спасибо

Евгений Кислов
01.05.2019, 21:23
Я о таких не слышал.

Vass0_81
07.05.2019, 09:26
Подскажите, правильное ли обращение к модулю МВ110-ph
water_ph := MV110_pH.RdRs; (считать рН)
temp_water_te := MV110_pH.Rdtm; (считать температуру)
Заранее спасибо.

trejer
13.05.2019, 14:54
Здравствуйте.
СПК107М1 (ModBus RS485 master) собирает данные с шести S7-200 (CPU215-2) (slev).
На S7-200 (CPU215-2) собраны счётчики продукции на станках (за смену, т,е с 08:00 до 20:00 и
с 20:00 до 08:00). Эти счётчики надо обнулять в конце стены. Для этого в 08:00 и в 20:00 на 10
секунд изменяю бит в посылаемом слове (функцией 16). В S7-200 (CPU215-2) по
нарастающему фронту этого бита сбрасываю счётчики. И всё работает, в 08:00 и 20:00
счётчики сбрасываются. А ещё счётчики сбрасывются (на двух - трёх контроллерах) в 11:00 и
23:00 (хаотически). "Это очень портит отчёт в конце смены".
Подскажите, как исправить ситуацию.
42677
42678
42676
42679

Евгений Кислов
13.05.2019, 16:50
Добрый день.
Какая у вас версия прошивки и таргет-файла СПК?
11 = 8+3, 23=20+3 - очевидно, в какие-то моменты возникает смещение по UTC (+3 часа).
По-моему, что-то такое было во время бета-теста, к релизу уже поправили.

trejer
13.05.2019, 17:10
Добрый день.
Какая у вас версия прошивки и таргет-файла СПК?
11 = 8+3, 23=20+3 - очевидно, в какие-то моменты возникает смещение по UTC (+3 часа).
По-моему, что-то такое было во время бета-теста, к релизу уже поправили.

Прошивка 1.0.1203.1209
Таргет-файла СПК 3.5.11.50-04

42681

Евгений Кислов
13.05.2019, 17:13
Обновите прошивку на актуальную:
https://ftp.owen.ru/CoDeSys3/10_Firmware/SPK1xx_M01/1.0.1229.1031.zip

trejer
13.05.2019, 17:25
Обновите прошивку на актуальную:
https://ftp.owen.ru/CoDeSys3/10_Firmware/SPK1xx_M01/1.0.1229.1031.zip

Ок. Завтра.

Sulfur
14.05.2019, 07:31
trejer
1. В КДС-проекте запись в S7-200 сделана циклически. А оно надо? Может быть сделать по событию?
2. Если есть доступ к проекту в S7-200, то можно подумать на тему организации сброса не по биту, а по слову. Т. е. пришло в S7 код 9293 (например), то делаем сброс, иначе - ничего не делаем.

trejer
14.05.2019, 08:58
trejer
1. В КДС-проекте запись в S7-200 сделана циклически. А оно надо? Может быть сделать по событию?
2. Если есть доступ к проекту в S7-200, то можно подумать на тему организации сброса не по биту, а по слову. Т. е. пришло в S7 код 9293 (например), то делаем сброс, иначе - ничего не делаем.

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

Никакой код(9293) не спасёт если системные часы поднимают "RESET" ("Разве что функция распределения вероятности" или TON).
Бит в слове и так должен проверяться контрольной суммой.

Vass0_81
14.05.2019, 09:58
Подскажите можно ли в Modbus Serial Deviс Соотношение входов и выходов увидеть температуру с модуля МВ110-ph?? 42696

Евгений Кислов
14.05.2019, 10:09
Вы хотите опросить модуль?
Тогда в Modbus COM надо добавить Modbus Master, а в него - Modbus Slave. В Modbus Slave настроить каналы опроса.

42697

Vass0_81
14.05.2019, 10:43
Вы хотите опросить модуль?
Тогда в Modbus COM надо добавить Modbus Master, а в него - Modbus Slave. В Modbus Slave настроить каналы опроса.

42697

Создал. Как происходит заполнение каналов. Где можно почитать, видео посмотреть?

Евгений Кислов
14.05.2019, 10:45
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_Modbus_v.1.1.pdf
https://www.youtube.com/watch?v=GHUrbkP-gU4

trejer
15.05.2019, 09:22
Добрый день.
Какая у вас версия прошивки и таргет-файла СПК?
11 = 8+3, 23=20+3 - очевидно, в какие-то моменты возникает смещение по UTC (+3 часа).
По-моему, что-то такое было во время бета-теста, к релизу уже поправили.
Здравствуйте Евгений.
Прошивку обновил. Не помогло. Вставлю TON на 5 сек. Получается криво и некрасиво( ну да ладно, главное что бы работало).
Буду рад получить от Вас другие рекомендации.

Евгений Кислов
15.05.2019, 09:35
Здравствуйте Евгений.
Прошивку обновил. Не помогло. Вставлю TON на 5 сек. Получается криво и некрасиво( ну да ладно, главное что бы работало).
Буду рад получить от Вас другие рекомендации.

Насколько я понял, заранее известно, что в 11-00 произойдет "ложный" сброс счетчиков.
Просниффьте линию связи - будет ли отправлена команда от контроллера в этом момент?
И проконтролируйте, какие значения будут в каналах узла OwenRTC.
Вы синхронизацию времени по NTP используете?

trejer
15.05.2019, 09:59
Насколько я понял, заранее известно, что в 11-00 произойдет "ложный" сброс счетчиков.
Просниффьте линию связи - будет ли отправлена команда от контроллера в этом момент?
И проконтролируйте, какие значения будут в каналах узла OwenRTC.
Вы синхронизацию времени по NTP используете?

Сегодня к 11:00 я не успею, наверное.
1. Что значит просниффеть? Как? Могу ли я это сделать "онлайн" Кодесисом?
2. Что такое NTP? Если это какой то сервис на каком то сервере, то шлюзы отключены. СПК к сети подключен для программирования, просмотра WEB-визуализации и считывания архива (вручную).

Я так же могу расширить импульс сброса (TOFом) до 10 сек и записать в архив.

Евгений Кислов
15.05.2019, 11:59
Сегодня к 11:00 я не успею, наверное.
1. Что значит просниффеть? Как? Могу ли я это сделать "онлайн" Кодесисом?
2. Что такое NTP? Если это какой то сервис на каком то сервере, то шлюзы отключены. СПК к сети подключен для программирования, просмотра WEB-визуализации и считывания архива (вручную).

Я так же могу расширить импульс сброса (TOFом) до 10 сек и записать в архив.

1. Нет. Нужно подключить к шине преобразователь типа RS-485/USB (например, АС4) и запустить на ПК приложение-сниффер - например, wTerm (http://hawkit.ru/progs/wterm/wterm.html).
2. Это сервис синхронизации времени между контроллером и сервером. Судя по вашему ответу - вы его не используете.

trejer
16.05.2019, 14:56
1. Нет. Нужно подключить к шине преобразователь типа RS-485/USB (например, АС4) и запустить на ПК приложение-сниффер - например, wTerm (http://hawkit.ru/progs/wterm/wterm.html).
2. Это сервис синхронизации времени между контроллером и сервером. Судя по вашему ответу - вы его не используете.

Здравствуйте Евгений.
Я сделал :
1) передачу данных "по событию" (нарастающий фронт)
2) поставил TON на 5 сек на сигнал "сменного" сброса (перед посылкой сообщений по ModBus)
3) поставил TOF на 30 сек на тот же сигнал и записываю теперь его в архив.
За прошедшие сутки системные часы "ложных" срабатываний (в 11:00 и 23:00) не давали.
Однако в 20:00 один из контроллеров (S7 200) не сбросился.
Подскажите, надо ли увеличивать время импульса "сменного" сброса (в 08:00 и 20:00) или сообщение должно уйти в любом случае по нарастающему фронту?

Может быть я вообще не правильно всё делаю? Может надо организовать подтверждение приёма?
42748
4274942750

Евгений Кислов
16.05.2019, 15:04
Я правильно понимаю, что алгоритм передачи данных во все контроллеры один и тот же, но счетчик не сбросился только в одном?


Может надо организовать подтверждение приёма?

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

trejer
16.05.2019, 16:21
Я правильно понимаю, что алгоритм передачи данных во все контроллеры один и тот же, но счетчик не сбросился только в одном?



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

Да правильно.
Счетчик не сбросился один раз, в одном контроллере, вчера в 20:00. Обычно он, как и другие, сбрасывается очень хорошо (если команда послана и принята). Это произошло после изменения программы СПК, описанной выше. До этого, когда обмен осуществлялся циклично (100мс), такого не было, что бы за десять секунд изменения бита в 08:00 и 20:00, какой либо контроллер не сбросил свои счётчики, а в 11:00 и 23:00 сброс происходил хаотично (всех счётчиков) на одном двух или трёх контроллерах.
Надо ли удерживать (какое либо время) сигнал запуска передачи при передачи по сигналу?
42752

Евгений Кислов
16.05.2019, 19:06
Удерживать не надо, запись по фронту происходит.

trejer
17.05.2019, 13:14
На вкладке ModbusGenericSerialSlave, у параметра Всегда обновлять
переменные выставил значение Включено 2.(вчера)
Пока всё работает.
Спасибо!

Dmitro
18.05.2019, 10:43
Здравствуйте
Мне нужно сделать отсчет наработки агрегата.

Если я сделаю переменную TIME = t#0s; потом выведу в виде наработка = %t[dd.MM.YY], я получу 1970+ год или с нулевого года?

Если с 1970, то чтобы показать с нуля, надо вычесть из TIME этот год?

Евгений Кислов
18.05.2019, 11:15
Добрый день.

TIME никак не связан с 1970 годом. И для вашей задачи, думаю, он не подойдет, у TIME максимальное значение ~49.7 суток. Можно использовать LTIME.
Но форматирование типа %t[dd.MM.YY] для типов TIME/LTIME не имеет смысла, потому что максимальный разряд для них - дни.

Dmitro
18.05.2019, 11:41
Добрый день.

TIME никак не связан с 1970 годом. И для вашей задачи, думаю, он не подойдет, у TIME максимальное значение ~49.7 суток. Можно использовать LTIME.
Но форматирование типа %t[dd.MM.YY] для типов TIME/LTIME не имеет смысла, потому что максимальный разряд для них - дни.

Если использую для наработки DATE_AND_TIME, то как считать с нуля?...

Евгений Кислов
18.05.2019, 11:48
Вы уверены, что вам нужна наработка в виде числе лет-месяцев-дней?
Обычно наработку на отказ, например, выражают в часах.
Время наработки = 10000 часов - это совершенно ясное представление.
Время наработки = 2 года 3 месяца - уже менее ясное: был ли один из годов високосным? Сколько дней было в каждом из месяцев - 30, 31, 28, 29?

Andrew_Stranger
21.05.2019, 09:09
Добрый день. При компиляции выскакивает предупреждение "Для задачи VISU TASK не задан POU". В конфигураторе случайно удалил. Вопрос какой POU задавать?

Евгений Кислов
21.05.2019, 09:13
Добрый день. При компиляции выскакивает предупреждение "Для задачи VISU TASK не задан POU". В конфигураторе случайно удалил. Вопрос какой POU задавать?

Добрый день. Добавьте в проект еще один экран визуализации - дальше все должно восстановиться автоматически. Экран после этого можно удалить.

Vass0_81
21.05.2019, 10:41
Здравствуйте. Имеется 3 шт. СПК107, необходимо с них вывести информацию на ПК (арм оператора), что для этого необходимо?

Евгений Кислов
21.05.2019, 13:48
Здравствуйте. Имеется 3 шт. СПК107, необходимо с них вывести информацию на ПК (арм оператора), что для этого необходимо?

Добрый день.
На АРМ установлено какое-то ПО для опроса устройств? (OPC-сервер, например)

Vass0_81
22.05.2019, 08:19
Добрый день.
На АРМ установлено какое-то ПО для опроса устройств? (OPC-сервер, например)

Нет. Вот, хотел узнать какое ПО для этого необходимо.

Евгений Кислов
22.05.2019, 08:26
Обычно используется OPC-сервер для сбора данных и SCADA-система для их визуализации и хранения.
Мы можем порекомендовать MasterSCADA 3.x (https://www.owen.ru/product/master_scada) и OPC-сервер от компании Insat (https://www.owen.ru/product/opc_server_insat)(платный, есть бесплатная версия на 32 тега) или OPC Овен (https://www.owen.ru/product/new_opc_server) (полностью бесплатный).

Вот инструкция по настройке опроса СПК через OPC:
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_OPC_SCADA_v.1.1.pdf

Vass0_81
30.05.2019, 09:51
Здравствуйте.
Подскажите где можно взять данную библиотеку?
[WARNING] Библиотека CAA SerialCom, 3.5.3.0 (CAA Technical Workgroup) не установлена, либо не найдено корректной лицензии
Заранее спасибо.

Евгений Кислов
30.05.2019, 09:57
Здравствуйте.
Подскажите где можно взять данную библиотеку?
[WARNING] Библиотека CAA SerialCom, 3.5.3.0 (CAA Technical Workgroup) не установлена, либо не найдено корректной лицензии
Заранее спасибо.

Добрый день.
Установите архив репозитория (ссылка в подписи).

Vass0_81
31.05.2019, 08:20
Здравствуйте.
Не могу понять клиент и интернет-клиент – MSRT-Inet он входит в MSRT-NET PRO или его надо докупать?

Евгений Кислов
31.05.2019, 08:22
Здравствуйте.
Не могу понять клиент и интернет-клиент – MSRT-Inet он входит в MSRT-NET PRO или его надо докупать?

Вам лучше такой вопрос задать здесь:
https://www.owen.ru/forum/showthread.php?t=11806&page=589

Timoxa1238
31.05.2019, 15:36
Здравствуйте! Можно ли диалоговые окна мышью перемещать по экрану и кнопкой мыши выделять нужное? Как, например, окна в windows.

Евгений Кислов
31.05.2019, 17:29
Здравствуйте! Можно ли диалоговые окна мышью перемещать по экрану и кнопкой мыши выделять нужное? Как, например, окна в windows.

Добрый день. Стандартного функционала для этого нет.
Можно, в принципе, реализовать его самому, так как координаты курсора доступны в программе - см. п. 7.28 в этом документе:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Faq_v.2.0.pdf

Но это может быть достаточно трудоемким и замедлить обработку визуализации.

yurya
03.06.2019, 11:33
Добрый день. Среда программирования CODESYS 3.5.11.5. Как можно распечатать текст программы проекта?

Евгений Кислов
03.06.2019, 11:45
Добрый день. Среда программирования CODESYS 3.5.11.5. Как можно распечатать текст программы проекта?

Добрый день.
Проект - Документ

Карбофос
04.06.2019, 10:13
Здравствуйте!

Описание функций из библиотеки Util на русском языке есть?

Евгений Кислов
04.06.2019, 10:15
Здравствуйте!

Описание функций из библиотеки Util на русском языке есть?

Добрый день.
https://help.codesys.com/webapp/f_util_library;product=codesys;version=3.5.10.0

Dmitro
05.06.2019, 20:32
Здравствуйте

Есть ли компонент чтобы вести протокол событий изменения переменных и выводить его на экран панели?

Заранее спасибо

Евгений Кислов
05.06.2019, 20:41
Здравствуйте

Есть ли компонент чтобы вести протокол событий изменения переменных и выводить его на экран панели?

Заранее спасибо

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

Dmitro
10.06.2019, 10:05
Пришлось вручную делать лог, странно что такого востребованого средства нет в станартном наборе.

Можно ли перепрограммировать СПК207 через интернет?
Имеет статический ip и веб-визуализацию.

Заранее спасибо.

Евгений Кислов
10.06.2019, 10:26
Пришлось вручную делать лог, странно что такого востребованого средства нет в станартном наборе.

Можно ли перепрограммировать СПК207 через интернет?
Имеет статический ip и веб-визуализацию.

Заранее спасибо.

Можно, пробросьте нужные порты:
https://www.owen.ru/forum/showthread.php?t=28167&p=269331&viewfull=1#post269331

Dmitro
10.06.2019, 19:45
Евгений, скажите пожалуйста, какую библиотеку получения времени использовать для СПК207 с CDS3.5?
2. В СПК207 сбивается время при выключении, можно ли там по простому заменить батарейку?

Заранее спасибо

Евгений Кислов
10.06.2019, 20:22
Евгений, скажите пожалуйста, какую библиотеку получения времени использовать для СПК207 с CDS3.5?
2. В СПК207 сбивается время при выключении, можно ли там по простому заменить батарейку?

Заранее спасибо

1. CAA DTUtil
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_SystemTime_v.1.1.pdf

2. Да, там CR2032 внутри, заменить просто.

Dmitro
12.06.2019, 21:01
В режиме редактирования CFC каждая операция ОЧЕНЬ медленна (5-8 секунд надо ждать пока после задания изменится схема),
это делает программирование на нем очень время затратным.

У меня проц 4 ядра по 3ГГц, памяти 8Гб.
Можно ли что-то сделать?

Евгений Кислов
13.06.2019, 06:23
В режиме редактирования CFC каждая операция ОЧЕНЬ медленна (5-8 секунд надо ждать пока после задания изменится схема),
это делает программирование на нем очень время затратным.

У меня проц 4 ядра по 3ГГц, памяти 8Гб.
Можно ли что-то сделать?

А сколько памяти занято при работе в CODESYS? Может, параллельно запущен какой-то ресурсоемкий софт типа Chrome с десятками плагинов и вкладок?

Timoxa1238
13.06.2019, 10:59
Здравстуйте. При добавлении в проект менеджера тревог выскакивает следующее сообщение. Работаю в режиме эмуляции. 43143

Евгений Кислов
13.06.2019, 11:00
Здравстуйте. При добавлении в проект менеджера тревог выскакивает следующее сообщение. Работаю в режиме эмуляции. 43143

Добрый день.
В режиме эмуляции менеджер тревог не работает.
Используйте виртуальный контроллер:
https://www.owen.ru/forum/showthread.php?t=28167&page=5&p=296706&viewfull=1#post296706

Dmitro
13.06.2019, 22:25
А сколько памяти занято при работе в CODESYS? Может, параллельно запущен какой-то ресурсоемкий софт типа Chrome с десятками плагинов и вкладок?

Еще 2-3 Гб свободно физической памяти.
У Вас сколько секунд после соединения блоков появляется связь? У меня минимум секунд 5.

Евгений Кислов
14.06.2019, 06:53
Еще 2-3 Гб свободно физической памяти.
У Вас сколько секунд после соединения блоков появляется связь? У меня минимум секунд 5.

У меня связь появляется мгновенно, без каких-либо задержек.
Аппаратные характеристики ПК совпадают с вашими.
Возможно, у вас проекты с сотнями блоков на холсте?

Vass0_81
14.06.2019, 12:21
Здравствуйте.
Подскажите, почему модули красным треугольником горят?431704317143172

Евгений Кислов
14.06.2019, 12:28
Здравствуйте.
Подскажите, почему модули красным треугольником горят?431704317143172

Добрый день.
Красные треугольники означают отсутствие связи.
Причины могут быть разными - несовпадение сетевых настроек, адресов модулей, ошибки в подключении кабеля и т.д.
И для СПК1хх [М01] рекомендуется использовать шаблоны модулей версии 3.5.11.4.

Inarus
14.06.2019, 17:45
Здравствуйте,
прошу не кидать помидорами, но вопрос возможно глупый:
СПК 105.
Имеем программу написанную на CFC. В программе множество таймеров (TP, TON, TOF) со временем работы до 30 минут
Проблема: нужно в случае экстренной ситуации или проведения ТО, остановить выполнение программы

ВОПРОС: как остановить выполнение программы со сбросом всех текущих значений таймеров до начальных? Сейчас все, что бы я не придумал, не сбрасывает таймер и он продолжает тикать, что приводит к возобновлению работы но с оставшимся временем.
Может какая-то функция СТАРТ/СТОП есть?

Vass0_81
14.06.2019, 20:14
Спасибо. Попробую.

Евгений Кислов
15.06.2019, 08:49
Здравствуйте,
прошу не кидать помидорами, но вопрос возможно глупый:
СПК 105.
Имеем программу написанную на CFC. В программе множество таймеров (TP, TON, TOF) со временем работы до 30 минут
Проблема: нужно в случае экстренной ситуации или проведения ТО, остановить выполнение программы

ВОПРОС: как остановить выполнение программы со сбросом всех текущих значений таймеров до начальных? Сейчас все, что бы я не придумал, не сбрасывает таймер и он продолжает тикать, что приводит к возобновлению работы но с оставшимся временем.
Может какая-то функция СТАРТ/СТОП есть?

Добрый день.
Для сброса TON надо вызвать его со значением FALSE на входе IN.
Для сброса TOF надо вызвать его со значением TRUE на входе IN.
Для сброса TP надо вызвать его со значениями FALSE и T#0ms на входах IN и PT соответственно.

Dmitro
16.06.2019, 15:09
Да, сотни блоков...такой проект достался.

Скажите пожалуйста, как заменить батарейку в СПК207-
нужно раскрутить все винты, и снять крышку, а дальше будет очевидно?

Евгений Кислов
17.06.2019, 06:40
Да, сотни блоков...такой проект достался.

Скажите пожалуйста, как заменить батарейку в СПК207-
нужно раскрутить все винты, и снять крышку, а дальше будет очевидно?

Да, там все очевидно:

43193

Vass0_81
17.06.2019, 07:34
Добрый день.
Красные треугольники означают отсутствие связи.
Причины могут быть разными - несовпадение сетевых настроек, адресов модулей, ошибки в подключении кабеля и т.д.
И для СПК1хх [М01] рекомендуется использовать шаблоны модулей версии 3.5.11.4.

Здравствуйте. Подскажите modbus com и modbus master какой версии должны быть. Заранее спасибо.

Евгений Кислов
17.06.2019, 08:57
Здравствуйте. Подскажите modbus com и modbus master какой версии должны быть. Заранее спасибо.

Для обоих компонентов - 3.5.11.20

Vass0_81
18.06.2019, 18:51
Добрый день.
Красные треугольники означают отсутствие связи.
Причины могут быть разными - несовпадение сетевых настроек, адресов модулей, ошибки в подключении кабеля и т.д.
И для СПК1хх [М01] рекомендуется использовать шаблоны модулей версии 3.5.11.4.
Добрый день.
Проблема осталась, но сейчас светиться желтый треугольник. Программа написана в CODESYS V3.5 SP7 Patch 4.
Modbus_COM и Modbus_Master_COM_Port версии 3.5.11.20, модули версии 3.5.11.4. Адресация модулей правильная, дважды проверял. Может другие версии должны быть? Создавал новый "пустой" проект, проблема та же. Где ошибка? Заранее спасибо.
4320943210432114321243213

Евгений Кислов
18.06.2019, 18:55
Программа написана в CODESYS V3.5 SP7 Patch 4.
И из этой версии CODESYS вы загружаете проект в СПК?

Vass0_81
18.06.2019, 19:10
И из этой версии CODESYS вы загружаете проект в СПК?

Да, из этой версии CODESYS я загружаю проект в СПК?

Евгений Кислов
18.06.2019, 19:14
Это плохой подход - надо установить CODESYS V3.5 SP11 Patch 5, открыть проект и согласиться на обновление версии компилятора и профиля визуализации.
Если не поможет - то удалить и заново добавить шаблон модуля.
Если и это не поможет - то, вероятно, ошибка в сетевых настройках (номер порта, адрес модуля) или физическом уровне (проблемы с линией связи и т.д.).

Vass0_81
18.06.2019, 19:28
Это плохой подход - надо установить CODESYS V3.5 SP11 Patch 5, открыть проект и согласиться на обновление версии компилятора и профиля визуализации.
Если не поможет - то удалить и заново добавить шаблон модуля.
Если и это не поможет - то, вероятно, ошибка в сетевых настройках (номер порта, адрес модуля) или физическом уровне (проблемы с линией связи и т.д.).

Хорошо, попробую. Еще один вопрос. Есть четыре СПК 1хх, с них будут передаваться данные в СКАДУ, не возникнет проблемы передачи данных если разная среда разработки в СПК? (1CПК - CODESYS V3.5 SP11 Patch 5, 3СПК- CODESYS V3.5 SP7 Patch 4)
Заранее спасибо.

Евгений Кислов
18.06.2019, 20:11
При корректных проектах проблем не должно возникнуть.
Но, тем не менее, для текущих прошивок СПК1хх [М01] мы настоятельно рекомендуем использовать исключительно CODESYS V3.5 SP11 Patch 5.

Vass0_81
20.06.2019, 07:25
Хорошо, попробую. Еще один вопрос. Есть четыре СПК 1хх, с них будут передаваться данные в СКАДУ, не возникнет проблемы передачи данных если разная среда разработки в СПК? (1CПК - CODESYS V3.5 SP11 Patch 5, 3СПК- CODESYS V3.5 SP7 Patch 4)
Заранее спасибо.

Здравствуйте.
Проект скомпилировал в версии CODESYS V3.5 SP11 Patch 5, после компиляции вылезло кучу ошибок.
Создал новый в версии CODESYS V3.5 SP11 Patch 5, модули загорелись зеленым, кроме одного. В чем может быть проблема?
43227432284322943230
Заранее спасибо.

Евгений Кислов
20.06.2019, 07:29
Здравствуйте.
Проект скомпилировал в версии CODESYS V3.5 SP11 Patch 5, после компиляции вылезло кучу ошибок.
Создал новый в версии CODESYS V3.5 SP11 Patch 5, модули загорелись зеленым, кроме одного. В чем может быть проблема?
43227432284322943230
Заранее спасибо.

Не совпадают сетевые настройки в модуле и в CODESYS либо проблемы на физическом уровне (например, с кабелем).

Vass0_81
20.06.2019, 08:29
Не совпадают сетевые настройки в модуле и в CODESYS либо проблемы на физическом уровне (например, с кабелем).

Хорошо, ещё раз проверю настройки модуля.

andron7
21.06.2019, 20:23
Может кому пригодиться.
Был создан рабочий проект в CODESYS 3.5 SP5 Patch5 для СПК-107. В СПК работает загрузочное приложение.
Умирает винчестер, естественно - замена и переустановка софта. Заново установлен CODESYS 3.5 SP5 Patch5, сохранённый на внешнем носителе проект компилируется без ошибок.
Но при попытке загрузить его (после изменений и перекомпиляции) в СПК, выскакивает окно "не достаточно прав пользователя...." и подключение обрывается (восстанавливается после перезагрузки CODESYS ).
Как исправлено:
Создал новый проект, для того же СПК. Скопировал поочерёдно все POU из старого проекта в новый.
Теперь загрузка проекта в СПК без проблем.

Gribanin
22.06.2019, 09:47
Добрый день, подскажите пожалуйста может ли СПК1ХХ М01 быть клиентом VPN PPTP?

Евгений Кислов
22.06.2019, 10:22
Добрый день, подскажите пожалуйста может ли СПК1ХХ М01 быть клиентом VPN PPTP?

Добрый день.
В данный момент нет. Но такой функционал прорабатывался и, вполне вероятно, будет реализован в будущем.

Gribanin
22.06.2019, 13:31
Добрый день.
В данный момент нет. Но такой функционал прорабатывался и, вполне вероятно, будет реализован в будущем.

Спасибо, будем ждать, очень полезный функционал.

Dmitro
23.06.2019, 10:03
Не могу разобраться, подскажите пжл.
1) Как в Action передать параметры (т.е. вызвать например action_name(string)).
2) Как в CDS3.5 / СПК207 определить причину выключения питания? (например различить пропадание питания и перезагрузка по watchdog)
3) Если я записываю RETAIN переменную с точно таким же значением, как и предыдущее значение, происходит ли износ ячеек RETAIN памяти?

Евгений Кислов
23.06.2019, 10:33
Не могу разобраться, подскажите пжл.
1) Как в Action передать параметры (т.е. вызвать например action_name(string)).
2) Как в CDS3.5 / СПК207 определить причину выключения питания? (например различить пропадание питания и перезагрузка по watchdog)
3) Если я записываю RETAIN переменную с точно таким же значением, как и предыдущее значение, происходит ли износ ячеек RETAIN памяти?

1. Действие не имеет входных переменных. Можете использовать методы - у них входы есть.
2. Такой возможности нет. Собственно, и перезагрузок по watchdog в СПК207 нет.
3. Если говорить про СПК207 - то там MRAM, он практически не деградирует.

Dmitro
23.06.2019, 11:13
перезагрузок по watchdog в СПК207 нет.

Евгений, а как же тогда настройка watchdogoв в задачах?

Еще одна пробелема:
Удаленно загружаю программу в СПК207 - несколько раз был останов в конце компиляции на строке
"Relocation POU", после чего удаленная панель переставала отвечать.
Соответственно нужно чтобы удаленно кто-то шел и передергивать питание удаленной панели.

Как можно избежать такой проблемы?

Евгений Кислов
23.06.2019, 12:06
перезагрузок по watchdog в СПК207 нет.

Евгений, а как же тогда настройка watchdogoв в задачах?

Еще одна пробелема:
Удаленно загружаю программу в СПК207 - несколько раз был останов в конце компиляции на строке
"Relocation POU", после чего удаленная панель переставала отвечать.
Соответственно нужно чтобы удаленно кто-то шел и передергивать питание удаленной панели.

Как можно избежать такой проблемы?

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

Vass0_81
26.06.2019, 13:48
Здравствуйте.
Проверил сетевые настройки и провода, все совпадает. Через конфигуратор общается все ОК. В чем еще может быть проблема. Версия прошивки? Таймаут ответа? Время между фреймами? 433194332043321

Евгений Кислов
26.06.2019, 13:51
Здравствуйте.
Проверил сетевые настройки и провода, все совпадает. Через конфигуратор общается все ОК. В чем еще может быть проблема. Версия прошивки? Таймаут ответа? Время между фреймами? 433194332043321

Увеличьте таймаут до 200, например.
Если убрать из проекта остальные модули - 8И опрашивается?

Гурин Сергей
26.06.2019, 15:28
Кто нибудь подскажет как организовать сохранение в retain переменную быстроизменяющейся переменной. Что-то типа задачи выполняемой при любом выключении контроллера, хоть штатное, хоть аварийное.

Евгений Кислов
26.06.2019, 16:50
Кто нибудь подскажет как организовать сохранение в retain переменную быстроизменяющейся переменной. Что-то типа задачи выполняемой при любом выключении контроллера, хоть штатное, хоть аварийное.

У СПК1хх [М01] запись в retain выполняется автоматически 1 раз в секунду.
Пропадание питания отследить невозможно - конденсаторов нету, контроллер мгновенно прекращает работу.
При штатной перезагрузке (через канал Reboot узла Watchdog) retain корректно сохраняется.

Гурин Сергей
27.06.2019, 08:52
Получается переменные которые изменяются быстро не стоит писать в панели, угробиш флэш память?

Евгений Кислов
27.06.2019, 08:57
Получается переменные которые изменяются быстро не стоит писать в панели, угробиш флэш память?

Retain хранятся не во flash, а в MRAM.
Угробить ее крайне затруднительно.
http://labs.vt.tpu.ru/MRAM/

Гурин Сергей
27.06.2019, 09:06
И не пойму что делаю не так43328

Евгений Кислов
27.06.2019, 09:10
Видимо, ваш POU нигде не вызывается в программе.

Гурин Сергей
27.06.2019, 09:13
Вызывается в PLC_PRG. Начал с того что присвоил переменные из узла OwenRTC, не работает, ну думаю может переменные неявно преобразовываются, хотя не должны, сделал отдельный фб, прописал в лоб, снова нулевой результат.

Евгений Кислов
27.06.2019, 09:14
Вызывается в PLC_PRG

Скриншот вызова тогда покажите, пожалуйста.

Upd. - в режиме симуляции ни OwenRTC, ни функция DTConcat работать не будут.
Запускайте проект на СПК или виртуальном контроллере.

Гурин Сергей
27.06.2019, 09:23
Тогда все понятно, Какие ещё библиотеки не работают в режиме эмуляции?

Евгений Кислов
27.06.2019, 09:30
Тогда все понятно, Какие ещё библиотеки не работают в режиме эмуляции?

Работа с файлами, сетевыми интерфейсами, внешними библиотеками, web-визуализацией...
В целом, симуляция подходит для проверки кода, не связанного с какими-то внутренними или внешними устройствами.
Практически всегда удобнее отлаживаться на виртуальном контроллере - см. тут:
https://www.owen.ru/forum/showthread.php?t=28167&page=5&p=296706&viewfull=1#post296706

wadim625
01.07.2019, 16:24
CODESYS 3.5 SP11 Patch5
на чём собрать переключатель аналоговых сигналов. SEL и MUX_R2 из OSCAT не работают.
4339943400

Евгений Кислов
01.07.2019, 20:16
Проект выложите, пожалуйста.

Umkamaks
02.07.2019, 09:26
Доброго Вам суток форумчане! Кто подскажет как использовать таймеры, счетчки, блинки в методах класса! Использую псевдо-ООП при построении приложения на языке ST!

Осинский Алексей
02.07.2019, 09:46
Доброго Вам суток форумчане! Кто подскажет как использовать таймеры, счетчки, блинки в методах класса! Использую псевдо-ООП при построении приложения на языке ST!

Добрый день!
Чтобы внести ясность, при использовании таймера невозможно "затормозить" выполнение POU, функции, метода до тех пор пока не сработает таймер.

В остальных случаях используйте такой подход:
1.1) В теле ФБ объявляете экземпляр таймера (счетчика, триггера и т.д.)


FUNCTION_BLOCK POU
VAR
m_fb_Delay : Standard.TON;
END_VAR


1.2) Добавляете метод:


(*
Возвращает TRUE, когда истекла пауза в 30 секунд
*)
METHOD isDelayPassed : BOOL
VAR_INPUT
END_VAR

в котором, собственно и вызываете таймер, например так:


m_fb_Delay.IN := TRUE;
m_fb_Delay.PT := T#30S;
m_fb_Delay();
isDelayPassed := m_fb_Delay.Q;


Вариант №2:
2.1) Объявляете таймер (счетчик, триггер и т.д.) непосредственно в методе
между ключевыми словами VAR_INST и END_VAR


(*
Возвращает TRUE, когда истекла пауза в 30 секунд
*)
METHOD isDelayPassed : BOOL
VAR_INST
_fb_Delay : Standard.TON;
END_VAR


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

2.2) Работаете с таймером так же, как в предыдущем варианте


_fb_Delay.IN := TRUE;
_fb_Delay.PT := T#30S;
_fb_Delay();
isDelayPassed := _fb_Delay.Q;


Возможен еще вариант №3, в котором таймер (счетчик, триггер и т.д.) вызывается непосредственно в теле ФБ, а метод только получает доступ к переменным, например так:
3.1) В теле ФБ объявляете экземпляр таймера (счетчика, триггера и т.д.)


FUNCTION_BLOCK POU
VAR
m_fb_Delay : Standard.TON;
END_VAR

Вызываете таймер тут же в теле:


m_fb_Delay.IN := TRUE;
m_fb_Delay.PT := T#30S;
m_fb_Delay();

3.2) А в методе:


(*
Возвращает TRUE, когда истекла пауза в 30 секунд
*)
METHOD isDelayPassed : BOOL
VAR_INPUT
END_VAR

просто узнаете, сработал таймер или нет


isDelayPassed := m_fb_Delay.Q;


Выбор конкретного варианта будет зависеть от задачи.

Осинский Алексей
02.07.2019, 09:49
Использую псевдо-ООП
а почему "псевдо"?
В CODESYS полноценное ООП с инкапсуляцией, полиморфизмом, наследованием.

Umkamaks
02.07.2019, 09:55
спасибо Вам большое!

wadim625
02.07.2019, 10:13
CODESYS 3.5 SP11 Patch5
на чём собрать переключатель аналоговых сигналов. SEL и MUX_R2 из OSCAT не работают.
проект

Евгений Кислов
02.07.2019, 10:22
CODESYS 3.5 SP11 Patch5
на чём собрать переключатель аналоговых сигналов. SEL и MUX_R2 из OSCAT не работают.
проект

Замените MUX_R2 на OSCAT_BASIC.MUX_R2

Sulfur
02.07.2019, 10:53
wadim625
Можно самостоятельно сделать ФБ

VAR_INPUT
IN1:REAL; (*вход_1*)
IN2:REAL; (*вход_2*)
A:BOOL; (*переключатель*)
END_VAR
VAR_OUTPUT
MUX_R2:REAL; (*выход*)
END_VAR
-----------
IF A THEN
MUX_R2:=IN2; (*Если А=TRUE, то выход=вход_2*)
ELSE
MUX_R2:=IN1;(*Иначе выход=вход_1*)
END_IF;

wadim625
02.07.2019, 11:20
Спасибо! Нужно было полностью писать название функционального блока

Hoblin
02.07.2019, 15:31
Здравствуйте,
Есть:
1. СПК107 с Ethernet
2. Модуль вводва/вывода МВ1108А

К модулю МВ1108А подключены 3 термопары (ТХК(L))

Через Конфигуратор МВ1108А - вижу температуру
Через Codesys - пишет 0
Что делаю не так?


Имя: SPK1xx[M01]
Производитель: Production association OWEN
Группы: ПЛК
Тип: 4096
ID: 1628 0072
Версия: 3.5.11.54
Номер модели: 4
Описание: SPK1xx[M01]

Имя: MV110-8A
Производитель: Production association OWEN
Группы: Слейв Modbus Serial
Тип: 91
ID: 1628 0001
Версия: 3.5.11.4



Имя: Modbus COM
Производитель: 3S - Smart Software Solutions GmbH
Группы: Порт Modbus Serial
Тип: 92
ID: 0000 0001
Версия: 3.5.11.20

Имя: Modbus Master, COM Port
Производитель: 3S - Smart Software Solutions GmbH
Группы: Мастер Modbus Serial
Тип: 90
ID: 0000 0002
Версия: 3.5.11.20

43413

Евгений Кислов
02.07.2019, 16:42
Архив проекта выложите, пожалуйста (Файл - Архив проекта).

Vass0_81
03.07.2019, 07:40
Здравствуйте.
Попытался при помощи MasterOPC вытащить данный из СПК107 (alarm1, tank1_min, tank1_max, tank1_al) не получилось. В чем может быть проблема? 43433434344343543436434374343843439434404344143442 4344343444434454344643447
Заранее спасибо.

Евгений Кислов
03.07.2019, 07:58
Добрый день.
На СПК у вас переменные привязаны к holding регистрам 0 и 1, а в OPC вы опрашиваете input регистры 106, 214 и т.д.
Вам надо в СПК переменные привязать к Input регистрам, а в OPC указать для тегов правильные адреса.
Нюанс - в вашей версии CODESYS функции работы с битами не поддерживаются - надо читать регистр целиком и извлекать из него отдельные биты (MasterOPC это умеет).
Посмотрите пример - там для Modbus TCP, но принцип настройки слэйва аналогичен:
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_OPC_SCADA_v.1.1.pdf

Hoblin
04.07.2019, 12:55
Архив проекта выложите, пожалуйста (Файл - Архив проекта).
Архив проекта, где нет данных на модуле ввода-вывода с датчиков температуры.

Евгений Кислов
04.07.2019, 13:13
Архив проекта, где нет данных на модуле ввода-вывода с датчиков температуры.

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

43477

yurya
04.07.2019, 14:40
Добрый день.
Подскажите, пожалуйста, куда смотреть.
Собрал сетку из модулей Мх110, подключил к СПК110, сетевые параметры установил правильно. Вопрос касается признака ошибки опроса модулей. Выходные дискретные модули ошибку не выдают, а все модули ввода, и дискретные, и аналоговые выдают признак ошибки. При этом для этих модулей пишет «Шина не запущена. Данные значения, возможно, неактуальны». Что это значит?

Евгений Кислов
04.07.2019, 14:42
Добрый день.
Подскажите, пожалуйста, куда смотреть.
Собрал сетку из модулей Мх110, подключил к СПК110, сетевые параметры установил правильно. Вопрос касается признака ошибки опроса модулей. Выходные дискретные модули ошибку не выдают, а все модули ввода, и дискретные, и аналоговые выдают признак ошибки. При этом для этих модулей пишет «Шина не запущена. Данные значения, возможно, неактуальны». Что это значит?

Добрый день. Это значит, что СПК не получает ответа от модулей или получает ответы с кодом ошибки.
Возможные причины - физические (например, проблемы с кабелем) или программные (неправильно указаны адреса модулей, адреса регистров и т.д.).

yurya
04.07.2019, 14:56
Добрый день. Это значит, что СПК не получает ответа от модулей или получает ответы с кодом ошибки.
Возможные причины - физические (например, проблемы с кабелем) или программные (неправильно указаны адреса модулей, адреса регистров и т.д.).

А что значит "Шина не запущена." Какая шина?

Евгений Кислов
04.07.2019, 14:59
"Шина не запущена" - это такой перевод сообщения "Bus failure", которое означает, что при опросе как минимум одного из устройств на линии связи возникла какая-то проблема.

Свиридов Иван
05.07.2019, 08:30
Здравствуйте! Как реализовать алгоритм с выполнением условия? На вход ФБ будет подаваться значение температуры в REAL, в зависимости от этой температуры на выход блока необходимо подавать определенное значение (плотности) тоже в REAL. Планировал использовать IF в ST, но там после THEN допускается только TRUE или FALSE. Наверняка, есть какая-то другая функция или способ. Или может подскажите, где почитать.

Евгений Кислов
05.07.2019, 08:35
Добрый день.


Планировал использовать IF в ST, но там после THEN допускается только TRUE или FALSE

Это не так. После THEN может быть записано любое корректное выражение.

Свиридов Иван
05.07.2019, 08:40
Спасибо за ответ, возможно мое значение некорректное. Какое значение является таковым?

Свиридов Иван
05.07.2019, 08:46
Немного неверно изначально условия написал, извиняюсь. Хочу реализовать что-то вроде этого:
IF 20<temp_mazut<50
THEN plotnost_r 0.88501;

END_IF

capzap
05.07.2019, 08:50
IF 20<temp_mazut and temp_mazut <50 THEN
plotnost_r := 0.88501;

END_IF

Свиридов Иван
05.07.2019, 08:55
Спасибо большое!

Свиридов Иван
05.07.2019, 12:50
А не подскажите, существует ли готовый блок сумматора в какой-нибудь библиотеке? Что-то не смог найти.

Sulfur
05.07.2019, 13:42
FBD операторы - ADD.

Hoblin
07.07.2019, 10:38
Вы, вероятно, апгрейдили проект от старого СПК и обновили шаблоны с помощью команды контекстного меню Обновить устройство.
Так делать нельзя - нужно удалить шаблон и добавить его в проект с нуля. Также рекомендую версию компилятора и профиль визуализации обновить до 3.5.11.2.

43477

Здравствуйте,
Сделал как Вы написали, Все заработало.

tmi7
07.07.2019, 19:11
Подскажите как понять фразу про модули мх110 и модбас "Обратите внимание, что цикл опроса модуля происходит в течение нескольких циклов программы" то есть может произойти так что пока опрашивается к примеру аналоговый модуль на 8 портов программа plc_prg запуститься несколько раз? а если модулей 10 или 20 совсем непонятно мне.
В сименсе 300 например сначала читаются входы потом цикл OB1 ( в самом простом проекте) потом записываются выхода

Евгений Кислов
07.07.2019, 19:40
Подскажите как понять фразу про модули мх110 и модбас "Обратите внимание, что цикл опроса модуля происходит в течение нескольких циклов программы" то есть может произойти так что пока опрашивается к примеру аналоговый модуль на 8 портов программа plc_prg запуститься несколько раз? а если модулей 10 или 20 совсем непонятно мне.
В сименсе 300 например сначала читаются входы потом цикл OB1 ( в самом простом проекте) потом записываются выхода

Вы правильно поняли фразу. В мануалах Siemens можно найти такие же - см. здесь (https://cache.industry.siemens.com/dl/files/641/2042641/att_53225/v1/s7400_cp440_manual_en_en-US.pdf) стр. 88.


A data transmission operation can run over several calls (program cycles), depending on the amount of data involved.

ASo
07.07.2019, 21:58
Уменьшите время опроса групповыми запросами к модулям, если они овеновские.

tmi7
07.07.2019, 22:15
модули сконфигурированы с помощью шаблонов модулей версии 3.5.4.5 там нет такой возможности

Евгений Кислов
08.07.2019, 06:28
Как минимум, стоит перейти на актуальную версию шаблонов - 3.5.4.13:
https://www.owen.ru/forum/showthread.php?t=27889

Свиридов Иван
09.07.2019, 07:36
FBD операторы - ADD.

Это ведь оператор сложения. Мне же нужен блок, который будет суммировать данные входа через определенное время, скажем, каждую секунду.

capzap
09.07.2019, 07:39
Это ведь оператор сложения. Мне же нужен блок, который будет суммировать данные входа через определенное время, скажем, каждую секунду.

а Вы напишите что глубоко возмущены троллингом на технических сайтах, все сразу опомнятся и "побегут" выполнять Ваше требование дать нужный блок. Может сами напишите, инструмент на основе которого можно сделать сумматор Вам подсказали

Свиридов Иван
09.07.2019, 07:56
Бежать никуда не надо. Я спросил, есть ли готовый блок, как например в TIA Portal или в КОНТАР. Зачем же изобретать велосипед, если он уже изобретен. Если нет, то нет или никто не знает, что он есть.

capzap
09.07.2019, 08:02
Бежать никуда не надо. Я спросил, есть ли готовый блок, как например в TIA Portal или в КОНТАР. Зачем же изобретать велосипед, если он уже изобретен. Если нет, то нет или никто не знает, что он есть.

ну тогда библиотеки на oscat.de и вперед искать подходящий блок

Dmitro
10.07.2019, 05:51
Доброго дня

На СПК207 сделал управление пользователями, так вот если через Веб-визуализацию двое входит одновременно, то они одновременно управляют.
Можно ли сделать, чтобы управлял только один, а другие в это время не могли зайти?

Заранее спасибо

Свиридов Иван
10.07.2019, 06:27
ну тогда библиотеки на oscat.de и вперед искать подходящий блок

Так далеко ходить не пришлось. Необходимый мне блок был (как выяснилось) в библиотеке OSCAT Basic (333), на диске, входящем в комплект поставки СПК (МО1). Называется FLOW_METER. Может кому пригодиться.

Евгений Кислов
10.07.2019, 06:39
Доброго дня

На СПК207 сделал управление пользователями, так вот если через Веб-визуализацию двое входит одновременно, то они одновременно управляют.
Можно ли сделать, чтобы управлял только один, а другие в это время не могли зайти?

Заранее спасибо

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

Dmitro
11.07.2019, 15:52
На СПК107 цикл задачи 40мс, цикл визуализации 120мс,
клиент жалуется что при одном нажатии часто двоит (распознает как два). Например при вводе цифр одно нажатие генерирует две цифры.
Я поставил цикл визуализации 40 мс (сравнял с рабочим циклом) и двоение прекратилось.
Получается всегда надо ставить равными тайминги?
Заранее спасибо

Dmitro
12.07.2019, 15:24
Помогите с менеджментом пользователй.
На СПК207 бывает, что при обновлении веб-страницы прежний пользователь попадает в одновременное управление с новым пользователем. Как отличить заходы в визуализацию с разных устройств?

Евгений Кислов
12.07.2019, 17:14
В целом, для СПК207 нет простых механизмов для работы с многопользовательским доступом к визуализации.
Посмотрите по ссылке п. 11.4.4 - возможно, что-то из этого окажется полезным:
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_Visu_v.1.2.pdf

Dmitro
14.07.2019, 21:16
СПК207 периодически зависает.
Я не разбираюсь в Линуксе, пишут помогает команда ssh: busybox reboot,
а в Windows вместо ssh putty, могу ли послать ребут через нее?

Пытаюсь просто подключиться по Интернету к СПК207 через putty и не получается.
Может быть что порт 22 на роутере закрыт? ping на ip адрес тоже не проходит. Веб-визуализация по порту 8080 работает...

Евгений Кислов
15.07.2019, 06:22
могу ли послать ребут через нее?

Можете.


Может быть что порт 22 на роутере закрыт?

Может.

yurya
25.07.2019, 14:20
Добрый день.
Среда разработки CDS 3.5.11.54. Вопрос по модулю МВ110-1ТД.
У всех модулей, которые мы используем, кроме этого, тип переменной «флаг ошибки» - BIT. При этом текущее значение – «FALSE», т.е. как и должно быть.
У модуля МВ110-1ТД тип переменной «флаг ошибки» - «BOOL». При этом текущее значение – «неверное выражение». Поясните, пожалуйста, как обрабатывать эту переменную.

Евгений Кислов
25.07.2019, 14:38
Добрый день.
Среда разработки CDS 3.5.11.54. Вопрос по модулю МВ110-1ТД.
У всех модулей, которые мы используем, кроме этого, тип переменной «флаг ошибки» - BIT. При этом текущее значение – «FALSE», т.е. как и должно быть.
У модуля МВ110-1ТД тип переменной «флаг ошибки» - «BOOL». При этом текущее значение – «неверное выражение». Поясните, пожалуйста, как обрабатывать эту переменную.

Добрый день.
Какой СПК вы используете? СПК1хх с Ethernet?

yurya
25.07.2019, 14:40
Да, СПК 110 с Ethernet?

Евгений Кислов
25.07.2019, 14:45
Вы, видимо, адаптируете проект от старого СПК?
Если нет - то добавили не ту версию шаблона для 1ТД.
Удалите текущие шаблоны из проекта и добавьте заново - проверьте, что все они будут версии 3.5.11.4.
У 1ТД в любом случае будет тип флага ошибки BOOL, но «неверное выражение» должно пропасть.

yurya
25.07.2019, 15:16
Создал новый проект. Добавил модули. Все шаблоны вер. 3.5.11.4.
С 1ТД ничего не изменилось.

Евгений Кислов
25.07.2019, 15:24
Создал новый проект. Добавил модули. Все шаблоны вер. 3.5.11.4.
С 1ТД ничего не изменилось.

А вы привязываете переменную к каналу ошибки?

yurya
25.07.2019, 15:37
Спасибо .

trejer
30.07.2019, 14:02
Добрый день.
Какая у вас версия прошивки и таргет-файла СПК?
11 = 8+3, 23=20+3 - очевидно, в какие-то моменты возникает смещение по UTC (+3 часа).
По-моему, что-то такое было во время бета-теста, к релизу уже поправили.
Здравствуйте Евгений.
Проблема прыжков системных часов (на три часа назад) остаётся.
Это видно на видео.
СПК - онлайн - CODESYS.

https://www.dropbox.com/sh/5o0b3645g5rnfex/AADpQIFkhpUXfzX0utH0aY8Va?dl=0
Помогите, пожалуйста, решить проблему.

Евгений Кислов
30.07.2019, 14:31
Проект ваш выложите, пожалуйста.
С какой периодичностью происходят подобные прыжки?

trejer
30.07.2019, 14:49
В минуту, два - три раза

trejer
31.07.2019, 10:29
Здравствуйте Евгений.
Понятно ли я изложил суть проблемы и необходима ли Вам дополнительная информация?

Евгений Кислов
31.07.2019, 10:44
Здравствуйте Евгений.
Понятно ли я изложил суть проблемы и необходима ли Вам дополнительная информация?

Добрый день.
Суть проблемы понятна, сегодня поставлю свой прибор с вашим проектом на тест.

Евгений Кислов
31.07.2019, 14:16
Проблема, по всей видимости, связана с архиватором. После удаления его из проекта за полчаса теста никаких скачков времени не было.

Upd. - судя по всему, проблема связана с тем, что и узел OwenRTC, и OwenArchiver работают с системным временем при помощи разных библиотек.
Мы постараемся решить эту проблему в следующей версии архиватора.

В данный момент можно сделать следующее:

1. оставить архиватор в проекте, но при операциях, производимых по системному времени, ввести доп. проверки.
2. удалить архиватор и реализовать архивацию другими средствами (например, через библиотеку CAA File).

trejer
31.07.2019, 15:34
Ладно. Пока я сделал проверку на разницу в три часа. Если будет работать, пусть работает.

Спасибо.

Евгений Кислов
31.07.2019, 16:45
Ладно. Пока я сделал проверку на разницу в три часа. Если будет работать, пусть работает.

Спасибо.

Если точнее, то проверку надо делать на значение канала UTC Offset.
Видимо, в вашем случае (как и моем), контроллер находится в часовом поясе UTC+3.

trejer
31.07.2019, 17:25
Завтра я попробую перевести часы на Гринвич и задать UTC+0

trejer
01.08.2019, 09:20
Ок. Тоже работает.

А. Я понял. Т.е. я могу считать UTC Offset из OwenRTC и использовать это значение для проверки.

Евгений Кислов
01.08.2019, 09:23
Ок. Тоже работает.

А. Я понял. Т.е. я могу считать UTC Offset из OwenRTC и использовать это значение для проверки.

Да, именно так.

npu3pak
01.08.2019, 11:00
Здравствуйте Господа. Приобрели новую СПК-110 (М01), дрова как RNDIS определяется. В КДС не виден, пингуется. SPK_USB_Driver не устанавливается. Windows 8.1, КДС SP11. На СПК собаку съел, на новой версии "эта собака" меня за ср...у укусила. Подскажите пожалуйста очередные костыли для новой линейки СПК. Спасибо.

Евгений Кислов
01.08.2019, 11:22
Добрый день.

1. Какая версия прошивки?
2. Какая версия таргет-файла в проекте?

Спорягин Кирилл
01.08.2019, 11:30
Добрый день, форумчане!

Как вывести русские буквы на СПК?
При использовании визуального элемента "Прямоугольник" свойство "Текст", которого установлено в "%s", а свойство
"Текстовая переменная" ссылается на переменную типа string в проекте, на экране отображаются кракозябры (см. рисунок).

Евгений Кислов
01.08.2019, 11:32
Добрый день.
Для вывода на экран кириллицы через текстовые переменные следует использовать тип WSTRING.

npu3pak
01.08.2019, 11:41
1. Firmware 1.0.1229.1031
2. Target 3.5.11.5014

Евгений Кислов
01.08.2019, 12:09
Версии таргета и прошивки должны соответствовать.
Указанная версия таргетов предназначена для прошивки 1.1.0611.1056

npu3pak
01.08.2019, 12:47
Ок. Спасибо большое, проглядел. Поехало.

Sijey
03.08.2019, 23:58
Здравствуйте.
В codesys 3.5 нет блока BLINK?
Пытался добавить на языке CFC и ST везде ошибка "Идентификатор BLINK не задан"

Евгений Кислов
04.08.2019, 07:58
Здравствуйте.
В codesys 3.5 нет блока BLINK?
Пытался добавить на языке CFC и ST везде ошибка "Идентификатор BLINK не задан"

Добрый день.
Сначала надо добавить библиотеку Util.

Sijey
04.08.2019, 15:19
Добрый день.
Сначала надо добавить библиотеку Util.

Спасибо большое!

Sijey
06.08.2019, 18:02
Добрый день.
Подскажите пожалуйста, как получить отсчет времени в таймере наоборот?(то есть 5,4,3,2,1)? Требуется вывести значение времени на визуализацию. Может можно получить время не от таймера, а от реального времени СПК?
Спасибо.

Евгений Кислов
06.08.2019, 19:06
Тут есть пример:
https://owen.ru/forum/showthread.php?t=28167&page=4&p=272238&viewfull=1#post272238

Sijey
06.08.2019, 19:11
Тут есть пример:
https://owen.ru/forum/showthread.php?t=28167&page=4&p=272238&viewfull=1#post272238

Спасибо, буду смотреть..

Sijey
06.08.2019, 19:33
Тут есть пример:
https://owen.ru/forum/showthread.php?t=28167&page=4&p=272238&viewfull=1#post272238

Еще вопрос как реализовать в TOFP сброс таймера и обратный отсчет? Спасибо!

capzap
06.08.2019, 19:51
чтоб не мучаться с разбором как таймеры работают, поставте бибку sysexec и по примеру кода, сделайте себе обратный отсчет
seconds=20; date1=$((`date +%s` + $seconds)); while [ "$date1" -ge `date +%s` ]; do echo -ne "$(date -u --date @$(($date1 - `date +%s` )) +%H:%M:%S)\r"; done

Sijey
06.08.2019, 23:12
чтоб не мучаться с разбором как таймеры работают, поставте бибку sysexec и по примеру кода, сделайте себе обратный отсчет

Разобрался с таймером, но все равно спасибо!

N.Vladimir
08.08.2019, 16:14
Name: OWEN PLC323.03-CS.WEB. Codesys 3.5 SP5 Patch5. Возможна потеря связи устройством ModbusTCP_Slave_Device.
1). Видимо, переменную диагностики, компонентным доступом ModbusTCP_Slave_Device.xInternalError обнаружить, верно?
2). Как правильно сбросить/перезапустить устройство ModbusTCP_Slave_Device?
3). Как перезагрузить из программы сам PLC323, для других целей?
4). ModbusTCP_Slave_Device Version: 3.4.1.10. Ethernet Version: 3.4.2.0. Ограничение на 40 Holding registers, 40 Input registers, как преодолеть это ограничение?. На первый взгляд можно размножить порты 502, 503, 504.. есть ли и такой подход?. Более правильней кажется использование сокетов. Попробовал CAA Net Base Services, но не пошло дело.
5). Возможно ли, использование версий библиотек, старше таргет файла устройства, в каких случаях?

Евгений Кислов
09.08.2019, 07:21
Name: OWEN PLC323.03-CS.WEB. Codesys 3.5 SP5 Patch5. Возможна потеря связи устройством ModbusTCP_Slave_Device.
1). Видимо, переменную диагностики, компонентным доступом ModbusTCP_Slave_Device.xInternalError обнаружить, верно?
2). Как правильно сбросить/перезапустить устройство ModbusTCP_Slave_Device?
3). Как перезагрузить из программы сам PLC323, для других целей?
4). ModbusTCP_Slave_Device Version: 3.4.1.10. Ethernet Version: 3.4.2.0. Ограничение на 40 Holding registers, 40 Input registers, как преодолеть это ограничение?. На первый взгляд можно размножить порты 502, 503, 504.. есть ли и такой подход?. Более правильней кажется использование сокетов. Попробовал CAA Net Base Services, но не пошло дело.
5). Возможно ли, использование версий библиотек, старше таргет файла устройства, в каких случаях?

Добрый день.

1. xInternalError - это внутренняя ошибка слэйва (например, при старте проекта не удалось выделить память под регистры).
Она не имеет отношения к статусу соединения.
Если верно понял, то в вашем случае слэйв через какое-то время работы перестает отвечать на запросы мастера?

2. У стандартного слэйва такой возможности нет.

3. С помощью библиотеку CmpSysExec:
https://ftp.owen.ru/CoDeSys3/04_Library/02_Manual_installation/07_CmpSysExec/1.0.0.2/CmpSysExec_1.0.0.2.compiled-library

См. пример здесь в п. 14.5:
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_FAQ_v.1.3.pdf

4. Можно использовать ModbusTCP_Slave_Device версии 3.5.2.0 - там ограничение увеличено с 40 до 500.

5. В целом, лучше не пробовать так делать.
В отдельных конкретных случаях (как, например, в предыдущем пункте) это возможно.

N.Vladimir
09.08.2019, 11:24
Спасибо, за тех.поддержку ОВЕН, и лично как популяризатора CDS и др.. Добра! По делу, далее.
1). ModbusTCP_Slave_Device предполагает мастера удалёно. Сбой связи локального контролера и мастера, необходимо восстановить. У стандартного слэйва такой возможности нет. Что применимо в таком случае, сокеты?
2). Если сокеты, то как на одном Modbus_COM_Port правильно совместить использование стандартно определённых устройств и программой реализации через сокет. Должна быть определена последовательность действий в программе CDS. Объясните пожалуйста, в общем, направление размышлений. Если возможно добавьте пожалуйста ссылки, заполнить пробелы в образовании.

Евгений Кислов
09.08.2019, 11:29
Что вы называете "сбоем связи"? Приведите, пожалуйста, какой-то конкретный пример.

N.Vladimir
09.08.2019, 12:40
Контролер нормально работает, является мастером сети Modbus локально. Дополнительно он же слейв, в Ethernet, по отношению другому.
Довольно редко связь с мастером сети, по Ethernet, пропадает. Значок связи, в CDS, в этом случает, красный треугольник.
Помогает простая перезагрузка: по питанию; либо тёплый сброс через CDS. Причина не понятна.
Объект автоматизации не критическое предприятие, ИБП, и все фильтры есть. Помог бы, рестарт устройства, есть энергонезависимые переменные, может восстановить приемлемое состояние. Связь с диспетчеризацией нужна непрерывно. Нужен механизм восстановления связи в канале Ethernet.
Автоматизация работает автономно, обслуживания нет.

Евгений Кислов
09.08.2019, 17:04
Попробуйте слэйв через библиотеку поднять.
https://owen.ru/forum/showthread.php?t=12081&page=16&p=204977#post204977

Zerling
11.08.2019, 20:51
Здравствуйте)
Что-то не смог найти инфу по версиям codesys. На store.codesys.com есть боле новые версии //3.5.15.0// - что будет, если поставлю ее? по идее ничего страшного не должно быть. Но, блин, не уверен

Евгений Кислов
12.08.2019, 06:30
Здравствуйте)
Что-то не смог найти инфу по версиям codesys. На store.codesys.com есть боле новые версии //3.5.15.0// - что будет, если поставлю ее? по идее ничего страшного не должно быть. Но, блин, не уверен

Добрый день.
Мы рекомендуем использовать только те версии CODESYS, которые выложены на нашем сайте.
Они соответствуют системам исполнения наших контроллеров.

Slava21
16.08.2019, 11:18
Здравствуйте.
Подскажите, пожалуйста, можно ли в СПК207 изменить время во время работы программы? Не через экран установок, а в процессе, что бы не перезагружать СПК. Так как она управляет паровым котлом, который работает постоянно.
Дело с в том, что часы торопятся, по минуте... по две... В итоге разница накапливается довольно внушительная.
В СП307 есть экран настройки времени, а в СПК207 я что то не нахожу как это сделать. Или ткните носом в инструкцию, дальше я сам разберусь.

Евгений Кислов
16.08.2019, 11:20
Добрый день.
См. здесь п. 6:
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_SystemTime_v.1.1.pdf

Slava21
16.08.2019, 11:25
Спасибо. Теперь разберусь.

Vass0_81
17.08.2019, 09:00
Здравствуйте. Подскажите как проверить связь СПК с ПК.

Евгений Кислов
17.08.2019, 09:54
Здравствуйте. Подскажите как проверить связь СПК с ПК.

Добрый день.
Какой именно СПК используется?
Требуется установить связь между СПК и средой CODESYS?

Vass0_81
17.08.2019, 16:54
Добрый день.
На СПК у вас переменные привязаны к holding регистрам 0 и 1, а в OPC вы опрашиваете input регистры 106, 214 и т.д.
Вам надо в СПК переменные привязать к Input регистрам, а в OPC указать для тегов правильные адреса.
Нюанс - в вашей версии CODESYS функции работы с битами не поддерживаются - надо читать регистр целиком и извлекать из него отдельные биты (MasterOPC это умеет).
Посмотрите пример - там для Modbus TCP, но принцип настройки слэйва аналогичен:
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_OPC_SCADA_v.1.1.pdf

Здравствуйте.
Проблема так и не решена. Пытаемся разобраться с чтением хотя бы одного тэга (типа word). Настроили СПК107 и опрос на ОРС-сервере OWEN согласно примеров из документации. Таймаут опроса 300 мс и так и нет ответа от устройства...
4414144142

Евгений Кислов
17.08.2019, 17:57
1. Проверьте настройки порта (номер порта, скорость, четность и т.д.) и адрес слэйва.
2. Проверьте, что в конфигураторе СПК для порта установлен режим RS-485, а не RS-232.
3. Проверьте физический уровень - распиновку кабеля связи, работоспособность адаптера RS/USB и т.д.

capzap
17.08.2019, 21:02
а мне показалось странным что запросы в область регистров ввода, а в КДС раскрыт список типа регистров хранения

Евгений Кислов
17.08.2019, 21:09
На скриншоте как раз список регистров ввода - тут все правильно.
Названия папок связаны не с Modbus, а с классом переменных ФБ, который обслуживает слэйв (выходы ФБ доступны только для чтения и недоступны для записи - поэтому input регистры представлены в виде выходов).

ILich
18.08.2019, 08:35
Добрый день, Форумчане.
Помогите пожалуйста тёмному и дремучему мне, разобраться со способом программирования CFC:
1) при использовании шаблонов опроса МУ110-8Р, задал переменную Mu1108R1R1_8 (чтение состояния выходов, тип Byte).
2) задал переменную Mu1108R1W1_8 (запись состояния выходов, тип Byte).
теперь не могу ни прочитать конкретный выход, ни записать его.
признаюсь CFC для меня новое слово в технике, нашел в компонентах Bool_to_Byte и Byte_to_Bool, но там по одному входу и выходу. и как расписать их ума не приложу, может есть готовые примеры?

ILich
18.08.2019, 09:33
да все как везде, точка Вам поможет

спасибо. разобрался, теперь модуль МВ210-204, та 20 входов, тип dword. пробую (как в КВН_УПи, "потому сто гладиолус") так же через "точку".

capzap
18.08.2019, 09:59
спасибо. разобрался, теперь модуль МВ210-204, та 20 входов, тип dword. пробую (как в КВН_УПи, "потому сто гладиолус") так же через "точку".

ну если раздражает использовать точку, вполне подойдет добавление элемента SHR указав разряд, какой хочется выделить, затем провести линию да элемента AND на второй вход подав константную единицу и закончить элементом EQ|GT срвнив опять же с единицей

N.Vladimir
18.08.2019, 19:20
Попробуйте слэйв через библиотеку поднять.
https://owen.ru/forum/showthread.php?t=12081&page=16&p=204977#post204977

Добрый день. Не разобрался какие ФБ использовать из Modbus_TCP_Slave_Library 18, чтобы организовать TCP Slave. Многое понятно, как это связать, но что конкретно использовать для Slave не понял. Если есть документ на библиотеку, или ссылку на пример пожалуйста. Или в нескольких предложениях опишите какие ФБ связать, постараюсь сам обвязать. MB_TCP_SERVER он и есть slave? Ошибок не возвращает и не отвечает, или правильно собрать из MB_handler и MB_IO_intern? Так понимаю библиотека позволяет с файлами работать, интересно применить.

Евгений Кислов
18.08.2019, 19:52
Нужен только MB_TCP_SERVER.
Выложите скриншот, как вы его вызываете.

northeagle
18.08.2019, 20:38
Добрый вечер!
Подскажите по gateway v3 используемый Codesys V3.5 SP11 P5.
При первичном подключении к СПК107 все было норм, сейчас возникла проблема, что Gateway как-то не работает. При подключении к СПК кабелем пингуется хорошо, в трее иконка о том что шлюз запущен видно, и включал и выключал его, и по всякому перезапускал, переустанавливал, но исход один - в окне "установки соединения" - "проверьте параметры связи и состояние gateway", в конфигурации gateway - "Ошибка, проверьте запущен ли gateway по указанному IP адресу". В log файле - ERROR: Failed to set current service status [reason: 6].
Попутный вопрос, при подключении к СПК, создаю gateway с IP ПК, и при активации он должен стать зелененьким. А при отсутствии СПК под рукой, могу ли создавать gateway c localhost вместо IP? для проверки работоспосоности шлюза.

Евгений Кислов
18.08.2019, 20:45
Добрый вечер.


А при отсутствии СПК под рукой, могу ли создавать gateway c localhost вместо IP? для проверки работоспосоности шлюза, т.к. спк не под рукой.

Да, и практически во всех случаях имеет смысл использовать именно gateway на localhost.

Иконка в трее ни на что не влияет - проверьте, запущена ли служба CODESYS Gateway V3, попробуйте ее перезапустить.
Возможно, она заблокирована антивирусом.

northeagle
18.08.2019, 20:50
Добрый вечер.



Да, и практически во всех случаях имеет смысл использовать именно gateway на localhost.

Иконка в трее ни на что не влияет - проверьте, запущена ли служба CODESYS Gateway V3, попробуйте ее перезапустить.
Возможно, она заблокирована антивирусом.

Службы проверял, "выполняется", переустанавливал отдельно gateway, и полностью пакет программный, антивирус отключал, в принципе не ругался.

Евгений Кислов
19.08.2019, 06:24
Пришлите в личку или на почту данные для подключения по TeamViewer, пожалуйста.
https://www.teamviewer.com/

Avdey
19.08.2019, 06:50
Доброе время суток! Подскажите, где можно взять не битые ссылки на библиотеку SysTimeLib? на сайте овена не хочет работать

Евгений Кислов
19.08.2019, 06:58
Доброе время суток! Подскажите, где можно взять не битые ссылки на библиотеку SysTimeLib? на сайте овена не хочет работать

Добрый день. Отмечу, что библиотека относится к CoDeSys V2.3, а не V3.5.
Вот ссылка: https://dropmefiles.com/VuPG9

Avdey
19.08.2019, 07:23
Добрый день. Отмечу, что библиотека относится к CoDeSys V2.3, а не V3.5.
Вот ссылка: https://dropmefiles.com/VuPG9

Получается что на v3.5 она не пойдет? а есть какой то аналог на 3.5?

capzap
19.08.2019, 07:25
Доброе время суток! Подскажите, где можно взять не битые ссылки на библиотеку SysTimeLib? на сайте овена не хочет работать

на дисках идущих с контроллерами всегда была папка с библиотеками, например этот диск ссылка работтает https://owen.ru/license-file?f=https://www.owen.ru/upl/PO/Codesys2/Navigator_PLC_DVD_v3.iso
кроме этого админ оставил мыло по которому нужно сообщить о проблемах здесь (https://owen.ru/forum/showthread.php?t=711&p=3770&viewfull=1#post3770)

Avdey
19.08.2019, 07:28
на дисках идущих с контроллерами всегда была папка с библиотеками, например этот диск ссылка работтает https://owen.ru/license-file?f=https://www.owen.ru/upl/PO/Codesys2/Navigator_PLC_DVD_v3.iso
кроме этого админ оставил мыло по которому нужно сообщить о проблемах здесь (https://owen.ru/forum/showthread.php?t=711&p=3770&viewfull=1#post3770)

Про почту не знал , буду пользоваться

Евгений Кислов
19.08.2019, 07:29
Получается что на v3.5 она не пойдет? а есть какой то аналог на 3.5?

Какой вы контроллер используете?

Avdey
19.08.2019, 07:30
Какой вы контроллер используете?

Контроллер СПК107 М01

Вообще хочу сделать что бы в визуализации можно было бы задавать время включения и отключения вентиляции(например ежедневно в 7 вкл, а в 20 выкл), данная библиотека как раз мне подходит :)

Если есть какие то другие варианты, то я был бы не против подсказки

Евгений Кислов
19.08.2019, 07:32
СПК107 М01

Тогда библиотеки не нужны - все уже есть в узле OwenRTC:

44150

ILich
19.08.2019, 10:36
Добрый день, может что-то пропустил, но возник вопрос, есть способ записать в переменную "активна визуализация1" bool. (как в ПР-ах экраны) что бы при переходе на другой экран переменная обнулялась, а переменная активного экрана принимала значение "1"?

Евгений Кислов
19.08.2019, 10:37
Добрый день, может что-то пропустил, но возник вопрос, есть способ записать в переменную "активна визуализация1" bool. (как в ПР-ах экраны) что бы при переходе на другой экран переменная обнулялась, а переменная активного экрана принимала значение "1"?

Добрый день.
У вас в проекте подразумевается использование веб-визуализации контроллера?

ILich
19.08.2019, 11:09
Добрый день.
У вас в проекте подразумевается использование веб-визуализации контроллера?

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

Евгений Кислов
19.08.2019, 11:16
нет, обычные, просто есть желание использовать разные алгоритмы выполнения в зависимости от выбранной логики (разная визуализация разная логика, там и картинки разные будут, а входы выходы одни.)

Тогда в Менеджере визуализации установите галочку Использовать переменную CurrentVisu.

44159

После этого можно использовать в коде программы системную переменную VisuElems.CURRENTVISU
Она имеет тип STRING и содержит имя текущего открытого экрана.

44160

ILich
19.08.2019, 11:30
Тогда в Менеджере визуализации установите галочку Использовать переменную CurrentVisu.

44159

После этого можно использовать в коде программы системную переменную VisuElems.CURRENTVISU
Она имеет тип STRING и содержит имя текущего открытого экрана.

44160

спасибо конечно. а еще проще есть?
(галочку поставил, VisuElems.CURRENTVISU не появилась, т.е. автозаполнения нет, как с другими глобальными переменными). пробую пересохранить проект и перезапустить. может есть способ в bool выдать на прямую?. (проверяю возможность CFC программирования, по идее все должно быть проще, а на деле все привычные элементы и глобальные переменные: то не достанешь, то не конвертируешь. про написать выражения и вычисления даже не заикаюсь. но ничего освоюсь, научусь, найду способы.)

Евгений Кислов
19.08.2019, 11:33
При наличии упомянутой системной переменной нет проблемы в том, чтобы сгенерировать флаги экранов самому:

44161

ILich
19.08.2019, 11:37
При наличии упомянутой системной переменной нет проблемы в том, чтобы сгенерировать флаги экранов самому:

44161

переменной не нашел, если ее пропишу в Vаr, она появится?44162

Евгений Кислов
19.08.2019, 11:41
Нет, не появится.
Попробуйте в элементе Ввод ввести VisuElems и нажать точку - должен развернуться список доступных переменных:

44163

ILich
19.08.2019, 11:44
Нет, не появится.
Попробуйте в элементе Ввод ввести VisuElems и нажать точку - должен развернуться список доступных переменных:

44163
УРАААА, заработала.

Avdey
19.08.2019, 11:48
Тогда библиотеки не нужны - все уже есть в узле OwenRTC:

44150

не могу разобраться как обращаться с этими данными. привязать получилось только тип STRING. Как потом сделать сравнение с вручную введеным временем в такой же тип STRING?

Евгений Кислов
19.08.2019, 11:51
Обращаться просто - нужно привязать переменные тех типов, которые указаны в столбце Канал (за исключением ARRAY [0..80] OF BYTE - там нужен тип STRING).
Насчет сравнения не очень понял - что именно вы хотите сделать?

N.Vladimir
19.08.2019, 13:27
Нужен только MB_TCP_SERVER.
Выложите скриншот, как вы его вызываете.

44164

Скриншот и .project

Евгений Кислов
19.08.2019, 13:34
Вынесите ФБ слэйва за пределы СASE и сразу при вызове передавайте ему все нужные аргументы.

N.Vladimir
19.08.2019, 16:56
Вынесите ФБ слэйва за пределы СASE и сразу при вызове передавайте ему все нужные аргументы.

Не удалось использовать этот MB_TCP_SERVER. Использую CoDeSys Control Win V3, Версия: 3.5.0.40. Модуль должен работать на ПЛК323. При подключении библиотеки owen_modbus_tcp_slave_18, связанные библиотеки не выше версии 3.5.0.0, но в связанной библиотеке CAA Net Base Services, 3.5.4.0, только библиотеки TCP, UDP не подключились. Заполнителем (плейсхолдер) подключил, выбрал действующую версию 3.5.4.0. Возможно здесь несовместимость использования более новых библиотек на более старом целевом устройстве? Библиотека owen_modbus_tcp_slave_18, owen произвёл, есть ли описание?

Евгений Кислов
19.08.2019, 17:03
На CoDeSys Control Win V3 работать не будет.
Несовместимости быть не должно.
Описание, насколько я помню, встроено в библиотеку.

Avdey
20.08.2019, 06:46
Обращаться просто - нужно привязать переменные тех типов, которые указаны в столбце Канал (за исключением ARRAY [0..80] OF BYTE - там нужен тип STRING).
Насчет сравнения не очень понял - что именно вы хотите сделать?

Доброе утро! Я хочу в визуализации вводить время в которое должно произойти событие, и сравнивать его с реальным временем. как я понял, если вводить время через переменную STRING, то потом нельзя их сравнить с переменной реального времени?

Евгений Кислов
20.08.2019, 06:54
Доброе утро! Я хочу в визуализации вводить время в которое должно произойти событие, и сравнивать его с реальным временем. как я понял, если вводить время через переменную STRING, то потом нельзя их сравнить с переменной реального времени?

Добрый день.
Строки лучше не сравнивать - есть шанс, что оператор при вводе случайно поставит лишний пробел и т.д.
Вводите и сравнивайте метку времени поразрядно.

Avdey
20.08.2019, 09:45
Добрый день.
Строки лучше не сравнивать - есть шанс, что оператор при вводе случайно поставит лишний пробел и т.д.
Вводите и сравнивайте метку времени поразрядно.

Вот этого я и боялся :)

ILich
20.08.2019, 09:48
44187
Здравствуйте, проблема с отображением диалогового окна в codesys 3.5 SP11 patch5+ 32bit.

это можно как-то исправить.

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

Евгений Кислов
20.08.2019, 09:50
Добрый день.
Вам нужно установить хотфикс:
https://owen.ru/forum/showthread.php?t=29382&p=297193&viewfull=1#post297193

ILich
20.08.2019, 09:56
Добрый день.
Вам нужно установить хотфикс:
https://owen.ru/forum/showthread.php?t=29382&p=297193&viewfull=1#post297193

Не удается получить доступ к сайту Превышено время ожидания ответа от сайта ftp.owen.ru.
Попробуйте сделать следующее:

Проверьте подключение к Интернету.
Проверьте настройки прокси-сервера и брандмауэра.
Выполните диагностику сети в Windows
ERR_CONNECTION_TIMED_OUT

Евгений Кислов
20.08.2019, 10:06
Да, у нас, к сожалению, проблемы с фтп. Администраторы разбираются.
Пока залил сюда хотфикс: https://dropmefiles.com/lZTjb

ILich
20.08.2019, 10:13
подскажите пожалуйста, использую переменную из библиотеки Mx210, как в визуализации отображать тип датчика модуля МВ210-101 (переменную нашел и привязал, что писать в панели вывод текста) для значения понятно, "%3,2f" это тип float 3 знака целых и 2 знака после запятой, а с текстом как, что вводить после знака "%" ?

Евгений Кислов
20.08.2019, 10:18
Посмотрите видео: https://www.youtube.com/watch?v=vItmuaRHHH4&t=13s
В нем показывается, как получить строку с кодом ошибки. С типом датчика аналогично (перечисление ANALOG_SENSORS, функция ANALOG_SENSOR_TO_WSTRING).

ILich
20.08.2019, 10:41
Посмотрите видео: https://www.youtube.com/watch?v=vItmuaRHHH4&t=13s
В нем показывается, как получить строку с кодом ошибки. С типом датчика аналогично (перечисление ANALOG_SENSORS, функция ANALOG_SENSOR_TO_WSTRING).

Евгений Кислов, Спасибо Вам Большое.
так и делал, просто переменную не до конца написал. надо было после переменной точку поставить и выбрать eSensorType.

З.Ы.
теперь с всплывающим меню разбираться буду (выбор из списка).
З.З.Ы.
буду еще обращаться. )

Евгений Кислов
20.08.2019, 11:51
Добрый день.
Какой контроллер вы используете?

Avdey
20.08.2019, 12:26
Добрый день! Подскажите, в какой лучше теме обсуждать примеры программирования? Вопрос в следующем: нужно чтобы из OwenCloud или прямо с панели ПЛК запускался движок, но приоритет плк и облака одинаковый, можно вкл/выкл и там и там

Евгений Кислов
20.08.2019, 13:03
Добрый день.
Облако само по себе производит запись только по команде.
В ПЛК надо запись производить однократно, например, через ФБ R_TRIG:



VAR
xEnableMotor: BOOL; // команда включения мотора
xMotor: BOOL; // сигнал управления мотором
fbRtrig: R_TRIG;
END_VAR

fbRtrig(CLK := xEnableMotor);

IF fbRtrig.Q THEN
xMotor := TRUE;
END_IF

Avdey
20.08.2019, 13:39
Добрый день.
Облако само по себе производит запись только по команде.
В ПЛК надо запись производить однократно, например, через ФБ R_TRIG:



VAR
fbRtrig: R_TRIG;
END_VAR

fbRtrig(CLK := xEnableMotor);

IF fbRtrig.Q THEN
xMotor := TRUE;
END_IF


Спасибо, буду изучать :)

N.Vladimir
20.08.2019, 14:30
На CoDeSys Control Win V3 работать не будет.
Несовместимости быть не должно.
Описание, насколько я помню, встроено в библиотеку.

На контроллере работает блок MB_TCP_SERVER, идёт обмен. Спасибо за консультацию.

Andrew_Stranger
21.08.2019, 11:00
Почему при редактировании переменных диалога возникает предупреждение "Вы задали параметры OUTPUT или INOUT, но не задали итоговых значений для обновления этих параметров. Продолжить?" ???

Евгений Кислов
21.08.2019, 11:06
Вероятно, ваш диалог имеет переменные класса VAR_OUTPUT или VAR_IN_OUT, но при вызове диалога они не связываются с переменными программы.
Таким образом, их значения невозможно будет обработать.
Среда акцентирует ваше внимание на этом моменте.

Andrew_Stranger
21.08.2019, 11:27
Но, все что можно, уже связано.

Евгений Кислов
21.08.2019, 11:32
Если выложите проект - я постараюсь прокомментировать происходящее.

Andrew_Stranger
21.08.2019, 11:55
44216 Скриншот

Евгений Кислов
21.08.2019, 12:09
На скриншоте почему-то не видно этой менюшки:

44217

Вы используете SP5?