Благодарю, изменил. Правда изменения отобразились при новом вызове программы,это правильно?
Вид для печати
Благодарю, изменил. Правда изменения отобразились при новом вызове программы,это правильно?
Как я понял, табличный режим дублирует обычный. Вводимые переменные в обычном режиме представлены в табличном в виде таблицы.Для удобства работы?
Подскажите по следующему вопросу - ранее в КДС 2.3 при работе с ПЛК и СП данные (например весовые или температурные уставки) хранились в определенных регистрах и передавались по протоколам обмена, а как в СПК 1хх? Тот же принцип? Ведь экран и ПЛК в одном корпусе и по-видимому аппаратно связаны?
Так же в версии 2.3 мы в конфигурации настраивали соединения, где указывали биты, байты и т.д.. В СПК тот же принцип?
Для передачи данных в визуализацию настройка обмена вообще не требуется, это одно из ключевых преимуществ подобных устройств.
Посмотрите учебное видео: https://www.youtube.com/watch?v=YBaWlXs-UxM
Подскажите, не совсем понял _CommState относится к PLC или к PLC и OPC.
Тогда что такое _CommStateOK ? это только к OPC ?
For each configured PLC the OPC Server V3 generates the status variables _CommState and
_CommStateOK. _CommState can be interpreted from an OPC Client and the following states can be
requested:
STATE_TERMINATE = -1
STATE_PLC_NOT_CONNECTED = 0
STATE_PLC_CONNECTED = 1
STATE_NO_SYMBOLS = 2
STATE_SYMBOLS_LOADED = 3
STATE_RUNNING = 4
STATE_DISCONNECT = 5
STATE_NO_CONFIGURATION = 6
CommStateOK is a Boolean variable indicating in state TRUE a communication with the OPC server. The
name of the plc can be taken from the prefix of the Boolean variable. If the variable is FALSE, currently no
communication is possible. This happens for example during download.
In redundant groups the status variables are generated for each plc in the group. Then for differentiation the
name of the status variables follows the syntax:
__CommStateOK<PLCName>
__CommState<PLCName>
Подскажите возможно ли сделать самому вот такую кнопочку "Параметры" ?Вложение 40574
На мои сообщения почему то вообще никто не отвечает )))) Веселоооо....:):):):):):):):):):):):):):):)
Покажите скриншотами область объявления ФБ и блок экземпляра на холсте.
Добрый день. Подскажите, пожалуйста. Запутался...
CODESYS 3.5, подключил библиотеку OSCAT BASIC. Могу обращаться к элементам библиотеки через префикс OSCAT_BASIC, например OSCAT_BASIC.CYCLE_TIME. А что нужно сделать чтобы обращаться без префикса?
Спасибо!
Возникла необходимость адресовать биты в переменной word. Знаю, что можно использовать вариант Имя_переменной.Номер_бита, но это не совсем удобно, невозможно применять в циклах с адресацией через счётчик i. Пробовал через UNION, но оказалось, что тоже такое объединение не работает:
TYPE Bool_Word :
UNION
Value:Word
BitArray:ARRAY [0..15] OF BOOL;
END_UNION
END_TYPE
Такое объединение почему-то не работает. Ошибку не выдаёт, но и не объединяет... Переменные ведут себя независимо.
Есть ещё варианты?
См. в библиотеке Util функции Extract и Putbit.
В своих проектах использую глобальные переменные, а в слова упаковываю и распаковываю по маскам
Запись из бита в булевую переменную:
IF (BURN_CMD AND 4)<>0 THEN TEN_OUT_R:=TRUE; END_IF;
IF (BURN_CMD AND 8)<>0 THEN TEN_OUT_R:=FALSE; END_IF;
Обратно:
IF TEN_OUT THEN BURN1_TMP1:=BURN1_TMP1 OR 1; ELSE BURN1_TMP1:=BURN1_TMP1 AND NOT 1; END_IF;(**)
Здравствуйте, подскажите пожалуйста где искать блок управления трехходовым краном в Codesys3.5. Уже все библиотеки перерыл.
Спасибо, попробую.
Здравствуйте.
СПК 105
Библиотека SPK_Tools, 1.3.13 (Owen)
Функциональный блок Real_Time_Clock
с выхода Hour (UINT) (Текущий час) выдаёт неправильное время. Может правильное выдать, может не правильное.
Подхожу, как то, к СПК в 11.55, а на экран выводится 8.55. Подождал пять минут, переменная часов не экране изменилась с восьми на девять.
Минуты идут правильно.
Лезу в сервисное меню - там всё правильно.
Перезагружаю СПК - всё работает.
СПК у меня считает время работы пяти станков за смену (и ещё управляет скоростью насосов охлаждения одного из них).
Подскажите, были ли у кого подобные проблемы?
Как можно решить эту проблему?
В VISU был выбран элемент "Тренд". Codesys v3.5 sp5.
Вставляю, привязываю переменную, но при компиляции выдаются ошибки
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): TrendFbTable: C0086 : Не найдено определения для интерфейса ' STO .ITable2'
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): TrendFbRow : C0086 : Не найдено определения для интерфейса ' STO .IRow2'
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): TrendFbCursor: C0086 : Не найдено определения для интерфейса 'STO.ICursor2'
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): TableOpen [TrendFbStorage]: C0032: Невозможно конвертировать тип 'TrendFbTable( visutrendstorageaccess , 3.5.5.0 ( system ))' в тип 'ITable(caa storage, 3.5.4.0 (caa technical workgroup))'
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): TableOpen [TrendFbStorage]: C0032: Невозможно конвертировать тип 'TrendFbTable( visutrendstorageaccess , 3.5.5.0 ( system ))' в тип 'ITable(caa storage, 3.5.4.0 (caa technical workgroup))'
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): CursorOpen [TrendFbTable]: C0032: Невозможно конвертировать тип 'TrendFbCursor( visutrendstorageaccess , 3.5.5.0 ( system ))' в тип 'ICursor(caa storage, 3.5.4.0 (caa technical workgroup))'
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): RowDelete2 [TrendFbTable]: C0032: Невозможно конвертировать тип 'LINT' в тип 'DWORD'
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): RowDelete2 [TrendFbTable]: C0032: Невозможно конвертировать тип 'LINT' в тип 'DWORD'
[ ERROR ] visutrendstorageaccess , 3.5.5.0 ( system ): RowSelect [TrendFbTable]: C0032: Невозможно конвертировать тип ' TrendFbRow ( visutrendstorageaccess , 3.5.5.0 ( system ))' в тип 'IRow(caa storage, 3.5.4.0 (caa technical workgroup))
........
Компиляция завершена -- 44 ошибок, 3 предупреждений
Компиляция завершена -- 44 ошибок, 3 предупреждений : загрузка невозможна!
Подскажите пожалуйста в чём проблема:(
Библиотека не рекомендуется к использованию как устаревшая и содержащая ошибки.
Попробуйте получать системное время таким способом:
https://ftp.owen.ru/CoDeSys3/11_Docu...Time_v.1.1.pdf
Если ситуация не изменится - необходимо обновить прошивку до актуальной и если в проекте используется обмен по RS - желательно поднять скорость до 115200.
Благодарю Вас за скорую помощь. И всё же позвольте мне уточнить для себя...
Если у меня ПЛК СПК 110, то тренды я не выведу даже используя среду CODESYS V3.5 SP11 Patch 5?
Был бы Вам бесконечно признателен за ещё один ваш, очень важный для меня, ответ.
Если у вас модель из старой линейки (без Ethernet) - то тренды никак не вывести.
Добрый день.
Не могу добавить "Список текстов"
https://cloud.mail.ru/public/B2Zy/JumqANqhN
Добрый день.
См. здесь п. 8.2:
https://ftp.owen.ru/CoDeSys3/11_Docu..._FAQ_v.1.3.pdf
Я ранее уже писал, что GateWay CS 3.5 SP11 Path 5 не связывается с контроллерами СПК207 если в поле контроллера ввести IP адрес. (CS 3.5 SP5 Path 5 это делал без проблем). Тогда я все списал на разницу версий GateWay и RunTime контроллера. Но проблема оказывается намного глубже. Новый GateWay через IP и с контроллерами СПК1хх М01 не связывается по IP если контроллер в другой подсети. При этом маршрут на него настроен, Ping идет. Если же контроллер в той же подсети то GateWay работает.
У меня, например, связывается:Цитата:
Новый GateWay через IP и с контроллерами СПК1хх М01 не связывается по IP если контроллер в другой подсети
Вложение 40820
Если вам необходима помощь, чтобы разобраться, что происходит в вашем конкретном случае - пожалуйста, обеспечьте возможность удаленного доступа и свяжитесь со мной на неделе в рабочее время.
Весь день сегодня просидел пытаясь подключиться через разные компьютеры, по разному пробрасывая маршрут - все бесполезно. Потом я стал процесс наблюдать в Wireshark и у меня создалось ощущение, что дело или в таймауте или новый GateWay немного другой запрос отправляет который умирает раньше. Результат один GateWay 3.5 SP5 цепляется даже к СПК1хх М01 а GatWay 3.5 SP11 не цепляется ни к чему если соединение через 3G. Готов предоставить вам доступ в рабочее время.
Здравствуйте Евгений.
Использовал библиотеку рекомендованную Вами.
Не помогло. Реакция та же. При чём, при считывании в переменный и при считывании на прямую
визуализацией реакция одинакова (данные одинаковы, изменяются, но не совпадают с реальным
временем).
Повысил прошивку с 3.947 на 5.482, (слегка упростил проект) пока всё работает (сутки).
(Неделю буду тестировать.)
В сети (Mod Bus) - два частотника, МВ110-8А, два теплосчётчика ВЗЛЕТ ТСР-К.
Не могу я повысить скорость сети выше 4800 (из за этих теплосчётчиков).
Ещё у меня архив пишется на флешку.
Нельзя ли уточнить, чем (или как) скорость сети может помешать чтению системного времени?
Не подскажите, что за функция такая MOVE?
Я её скопировал из примера, а что это, не пойму.
А вы хотя бы раз устанавливали корректное время в Конфигураторе СПК?
Чтение, конечно, не помешает. Мы неоднократно наблюдали ситуации, когда у СПК наблюдалось значительное отставание времени (например, за сутки время могло "убежать" за несколько часов от реального).Цитата:
Нельзя ли уточнить, чем (или как) скорость сети может помешать чтению системного времени?
Эта проблема редуцировалась увеличением скорости обмена до 115200. Причины я прокомментировать не могу, но, по всей видимости, они были связаны с тем, что время из микросхемы RTC вычитывалось только при старте контроллера, и дальше CODESYS работал с системными часами Linux, которые могли отставать в ряде случаев. В более поздних прошивках добавили регулярную синхронизацию часов Linux и RTC.
Но у вас, насколько я понял, другая ситуация.
Это оператор присвоения.Цитата:
Не подскажите, что за функция такая MOVE?
a--->MOVE--->b эквивалентно b:= a;
4800 работало всегда. Раньше не работало все, что ниже (1200, 2400). На новых СПК1хх поддержаны и низкие скорости.
Я нашёл инструкцию на СПК207.
Там написано - скорость от 1200 до 115200