Просмотр полной версии : Панели оператора СП3xx. Вопросы и ответы
Страницы :
1
2
3
4
5
6
7
[
8]
9
10
11
12
13
14
15
16
17
Евгений Кислов
21.05.2020, 18:16
А если экспортировать проект? не поможет увидеть пароли разных уровней?
Что вы называете экспортом проекта?
Shera_Best
25.05.2020, 18:58
Вопрос про хранилища СП3ХХ в свойствах трендов и таблиц.
Для них нужно указывать совсем новые номера регистров и учитывать чтобы они дальше не пересекались с существующими регистрами, или это выделенные регистры для хранилищ каждого тренда и таблицы. Если второй вариант тогда не понятно в чем смысл их указывать в ручную, пусть автоматам система сама ставит.
Евгений Кислов
26.05.2020, 06:46
Вопрос про хранилища СП3ХХ в свойствах трендов и таблиц.
Для них нужно указывать совсем новые номера регистров и учитывать чтобы они дальше не пересекались с существующими регистрами, или это выделенные регистры для хранилищ каждого тренда и таблицы. Если второй вариант тогда не понятно в чем смысл их указывать в ручную, пусть автоматам система сама ставит.
Второй вариант может быть полезен, когда данные трендов надо разместить начиная с определенного регистра (это может потребоваться, если панель устанавливается в качестве замены какого-то другого устройства, и надо повторить его карту регистров Modbus).
В большинстве случаев действительно более удобно использовать авторазмещение.
Здравствуйте, подскажите пожалуйста, с чем может быть связано что контроллер пишет в панель значения, но не читает? Контроллер мастер, панель слейв, значения читаю PFW, типа уставки задаются с панели, с вкладки Настройки. В контроллере UMD настройки для панели поставил тип Both, время 400мс. Причём в другом проекте всё практически аналогично, но всё читается и пишется. Если надо вложу проекты, но думаю что есть распрастраненные какие то ошибки.
Real input module
30675
Только не забывайте, что в настройках UMD нужно для параметра Byte Sequence установить значение "Native"
30676
Petera, здравствуйте.
Что дает Native? У меня и без него работало, а вот сейчас не работает. Попробую завтра поставить. И еще у меня на линии с панелью 2 модуля мва8.
И еще, разве PFW регистры не смещаются при чтении ПЛК (PFW300=>Real input module 10301)?
Petera, здравствуйте.
Что дает Native? У меня и без него работало, а вот сейчас не работает. Попробую завтра поставить. И еще у меня на линии с панелью 2 модуля мва8.
И еще, разве PFW регистры не смещаются при чтении ПЛК (PFW300=>Real input module 10301)?
1. Native действует на порядок передачи слов(Word) в 32 битных переменных - Real или DWord. Если ПЛК от ОВЕН, то для связи с панелями СП, параметра Byte Sequence должен иметь значение "Native".
2. Регистры в конфигурации ПЛК нумеруются начиная с "0". Регистры в панели (PFW, PSW) - тоже от "0". По этому никаких смещений типа +1 нет
PFW300=>Real input module 10300 !!!
https://owen.ru/forum/attachment.php?attachmentid=12241&d=1394708722
ЗЫ
У меня и без него работало
При некоторых значениях Real (для чисел <0), без Native и адресации PFW300=>Real input module 10301, полученное число из панели будет очень похоже на правду.:)
И еще у меня на линии с панелью 2 модуля мва8
В мастере ПЛК можно делать несколько UMD, например отдельный для панели, для каждого UMD можно делать свой параметр Byte Sequence
При некоторых значениях Real (для чисел <0), без Native и адресации PFW300=>Real input module 10301, полученное число из панели будет очень похоже на правду.:)
Т.е. похоже но не то? Блин:(А можно пару сотен регистров разом перенумеровать)))?
Спасибо за дельное пояснение, завтра буду пробовать, а то голову сломал. Два идентичных проекта, на одном работает на другом нет.
Artemegorich75
27.05.2020, 05:32
Добрый день!
Пытаюсь разобраться с настройкой обмена между codesys v3.5. SP14 patch3 через виртуальный контроллер Control win v3 (slave) и онлайн эмуляцию в конфигураторе СП300 (master) по Modbus TCP. Ни контроллер, ни панель еще не куплены. Разбирался по примеру на вкладке с информацией по СП300 : "СП3xx-Р. Пример обмена с ПЛК210 по Modbus TCP, панель - Master" . Вопрос в том, что не могу прочитать переменную xReadBool, которая находится во входных регистрах модбас байт 0, бит 0, т.е при установке индикатора как в примере 1x0, он считывает байт0, бит 0 регистров временного хранения, куда записана переменная xWriteBool. Так же не выходит изменить и записать переменную xWriteBool, привязывая ее к переключателю с индикацией указывая 4x-0-00, однако чтение и запись xWriteBool происходит при настройке 0х0. Вопрос наверное простецкий, но разобраться никак не могу, по крайней мере как из области входных данных получить состояние бита? Так же насколько я понял нумерация битов при обращении 0x, 1x сквозная т.е. 1 байт 2бит записывается как 0x17 или 1x17, а нумерация бит во входных данных начинается с нуля или идет после временных данных? не могу понять, не работает ни так ни так, остальные данные, word, real, string передаются корректно. 49263
Заранее спасибо!4926449265
Если из сотни регистров я поменял адреса десяти и при этом поменял ByteSequence и никакой реакции не произошло. чтение PFW регистров всё равно не происходит. Подскажите в чем может быть еще проблема? Ставил Native, ставил Input register, Holding registr, комбинировал по разному нет данных с панели.
Панель 315Р
ПЛК 110-24.60 м02
PS: еще есть такая ситуёвина, 5-6 регистров иногда всё таки считывает из 40 PFW, после следующего подключения к контроллеру может другие 5-6 считать, а может и нет. Может что со временем?
kondor3000
27.05.2020, 10:45
Если из сотни регистров я поменял адреса десяти и при этом поменял ByteSequence и никакой реакции не произошло. чтение PFW регистров всё равно не происходит. Подскажите в чем может быть еще проблема? Ставил Native, ставил Input register, Holding registr, комбинировал по разному нет данных с панели.
Панель 315Р
ПЛК 110-24.60 м02
PS: еще есть такая ситуёвина, 5-6 регистров иногда всё таки считывает из 40 PFW, после следующего подключения к контроллеру может другие 5-6 считать, а может и нет. Может что со временем?
У вас полная каша тут, всё что касается чтения из панели, должны быть все Input регистры, в настройках By Poll Time и Native.
Для записи в панель, Ouput регистры, в настройках By Value Change и Trace Mode
Все Real регистры должны начинаться с чётного адреса. Кроме того, для правильного отображения Real, нужно ещё перевернуть регистры
Shera_Best
27.05.2020, 10:47
Добрый день.
Возникла проблема при загрузке проекта в панель. Выдает сообщение "Не достаточно памяти для загрузки проекта".
Поясните пожалуйста, о чем идет речь? При симуляции такой проблемы не было.
Если из сотни регистров я поменял адреса десяти и при этом поменял ByteSequence и никакой реакции не произошло. чтение PFW регистров всё равно не происходит. Подскажите в чем может быть еще проблема? Ставил Native, ставил Input register, Holding registr, комбинировал по разному нет данных с панели.
Панель 315Р
ПЛК 110-24.60 м02
PS: еще есть такая ситуёвина, 5-6 регистров иногда всё таки считывает из 40 PFW, после следующего подключения к контроллеру может другие 5-6 считать, а может и нет. Может что со временем?
Со всей ответственностью заявляю
1. В конфигурации ПЛК адреса регистров панели для ВСЕХ real output/input модулей должна быть ЧЕТНОЙ, как для регистров PSW так и для регистров PFW! У Вас в конфигурации ПЛК все адреса НЕЧЕТНЫЕ!
2. Byte Sequence должен иметь значение "Native"
По поводу времени.
Запись в Регистры PFW в панели кешируется. Т.е. физическая запись в регистры PFW происходит с задержкой, может через несколько десяток секунд.
Может это и влияет
Однако в вашем проекте ПЛК есть другая засада!
Овен ПЛК через конфигурацию не умеет делать групповые запросы к слейвам.
А у Вас в Мастере, в UMD сотни регистров!
Т.к. групповых запросов нет, то все регисты читаются и пишутся по очереди, по списку, ПО ОДНОМУ,
Интервал между запросами к регистрам панели - polling time Вы задали в одном случае 0,4 сек, а во втором 0,3 сек
49273 49274
При этом Work mode установлен как Both ! Т.е. ВСЕ output модули будут записываться в панель циклически по времени, а не по изменению их значений!
Запись/чтение чередуются
Теперь смотрите как будет работать обмен с панелью 80
1. зп. ПЛК --> Панель PSW301, 302
пауза 300мс
2. чт. Панель --> ПЛК PFW399, 400
пауза 300мс
3. зп. ПЛК --> Панель PSW303, 304
пауза 300мс
4. чт. Панель --> ПЛК PFW403, 404
пауза 300мс
5. зп. ПЛК --> Панель PSW305, 306
пауза 300мс
6. чт. Панель --> ПЛК PFW405, 406
пауза 300мс
.......
и т.д. пока список ВСЕХ модуле не закончится, затем сначала
Теперь сложите ВСЕ 300мс и скажите, через сколько минут ПЛК прочитает последние регистры PFW469, 470 ?
А кроме панели 80 есть еще и 88 и модули!
Дополнение
Если в конфигурации несколько UDM, то мастер обрабатывает по одной переменной из каждого UMD по очереди. Т.е сначала одну переменную из одного UMD, затем одну переменную из второго UMD, опять одну переменную из одного UMD, затем одну переменную из второго UMD и т.д. Если количество переменных в UMD разное, то переменные одного UMD фактически будут опрашиваться чаще. Даже при одинаковом времени Polling time для обоих UMD.
У вас полная каша тут, всё что касается чтения из панели, должны быть все Input регистры, в настройках By Poll Time и Native.
Для записи в панель, Ouput регистры, в настройках By Value Change и Trace Mode
Спасибо огромное,
Евгений Кислов
27.05.2020, 12:10
Добрый день!
Пытаюсь разобраться с настройкой обмена между codesys v3.5. SP14 patch3 через виртуальный контроллер Control win v3 (slave) и онлайн эмуляцию в конфигураторе СП300 (master) по Modbus TCP. Ни контроллер, ни панель еще не куплены. Разбирался по примеру на вкладке с информацией по СП300 : "СП3xx-Р. Пример обмена с ПЛК210 по Modbus TCP, панель - Master" . Вопрос в том, что не могу прочитать переменную xReadBool, которая находится во входных регистрах модбас байт 0, бит 0, т.е при установке индикатора как в примере 1x0, он считывает байт0, бит 0 регистров временного хранения, куда записана переменная xWriteBool. Так же не выходит изменить и записать переменную xWriteBool, привязывая ее к переключателю с индикацией указывая 4x-0-00, однако чтение и запись xWriteBool происходит при настройке 0х0. Вопрос наверное простецкий, но разобраться никак не могу, по крайней мере как из области входных данных получить состояние бита? Так же насколько я понял нумерация битов при обращении 0x, 1x сквозная т.е. 1 байт 2бит записывается как 0x17 или 1x17, а нумерация бит во входных данных начинается с нуля или идет после временных данных? не могу понять, не работает ни так ни так, остальные данные, word, real, string передаются корректно. 49263
Заранее спасибо!4926449265
Добрый день.
В эмуляторе обращение к discrete inputs слэйва CODEYS возможно только через 3x (в функциональной области выбираете операцию Копировать регистр, например 3x0-->PSW256).
Биты 0-15 регистра PSW256 будут отображать значения discrete inputs слэйва 0-15.
Для записи coils надо использовать обращение типа 0x0.
На реальной панели - обращение к discrete inputs через 1x и обращение к coils слэйва CODESYS через 4x - работает корректно.
Теперь сложите ВСЕ 300мс и скажите, через сколько минут ПЛК прочитает последние регистры PFW469, 470 ?
А кроме панели 80 есть еще и 88 и модули!
Спасибо большое, получается время минимальным надо ставить? а для модулей тоже Native ставить? Ведь чтение с модулей и запись в панель идет прекрасно. И изменение входных значений идет постоянно. Как тогда быть со скоростью обмена?
Shera_Best
27.05.2020, 12:27
Вопрос решил.
В историческом графике параметры среза были большие.
Спасибо большое, получается время минимальным надо ставить? а для модулей тоже Native ставить? Ведь чтение с модулей и запись в панель идет прекрасно. И изменение входных значений идет постоянно. Как тогда быть со скоростью обмена?
Если для модулей - чтение идет правильное, то менять Трейс Моде не надо.
Для панелей - лучшее решение в плане повышения быстродействия - сделать ПЛК слейвом,
Я понимаю, что много переделывать нужно, тогда это совет на будущие проекты
А сейчас
Минимум - разнести для панелей все модули input и ouput по разным UMD. В UMD c ouput сделать режим работы By Value Change.
Максимум
Для реализации групповых запросов, хотя бы для чтения регистров из панели, использовать в конфигурации модули String, тогда можно по 40 регистров за один раз читать из панели. Здесь тоже правка проекта в ПЛК нужна, но проще.
Минимум - разнести для панелей все модули input и ouput по разным UMD. В UMD c ouput сделать режим работы By Value Change.
Спасибо Petera! Буду исправляться потихоньку. И тут сразу вопрос раскидал по разным UMD input и output, вообще теперь контроллер не видит панель(81 ошибка). Наверное из-за того что у меня на столе только панель и плк, без модулей или где то время сделать поменьше/побольше?
Спасибо Petera! Буду исправляться потихоньку. И тут сразу вопрос раскидал по разным UMD input и output, вообще теперь контроллер не видит панель(81 ошибка). Наверное из-за того что у меня на столе только панель и плк, без модулей или где то время сделать поменьше/побольше?
Я бы для начала, чтобы понять принципы обмена, сделал тестовый проект ПЛК-Панель, по 3..4 регистра для чтения и записи и поигрался бы с ним, разные там Byte Sequence, адреса - четные/нечетные.
Для примера использования модулей String для организации групповых запросов к панели
Принцип простой
49283
1. В UMD создаем String Output/Input
2. Смотрим какой адрес типа "AT % ......" конфигуратор присвоил модулю
3. В разделе объявления PLC_PRG создаем Массивы типа
<Наше Имя> AT <смотрим п.2>:ARRAY [<число элементов>] OF <нужный тип> (WORD, BYTE, REAL)
4. При этом число байт(символов) в свойствах String Output/Input д.б. для
- WORD ровно в 2 раза больше чем число элементов в массиве п.3.
- REAL ровно в 4 раза больше чем число элементов в массиве п.3.
- BYTE равно числу элементов в массиве п.3.
но для любого типа число байт(символов) в свойствах String д.б НЕ БОЛЕЕ 80. Почему максимум 80 - отдельная тема. Меньше можно.
49284
Осталось в программе извлечь элементы массивов по привычным названиям переменных.
Результат в работе
49285
Внимание! Значение Byte Sequence для данного способа не имеет значения, т.к. при групповом чтении массива регистров из панели они приходят в правильном порядке.
ЗЫ.
Команды чтения для String input нужно заменить на 0х03
49287
Shera_Best
27.05.2020, 19:24
1. Native действует на порядок передачи слов(Word) в 32 битных переменных - Real или DWord. Если ПЛК от ОВЕН, то для связи с панелями СП, параметра Byte Sequence должен иметь значение "Native".
2. Регистры в конфигурации ПЛК нумеруются начиная с "0". Регистры в панели (PFW, PSW) - тоже от "0". По этому никаких смещений типа +1 нет
PFW300=>Real input module 10300 !!!
https://owen.ru/forum/attachment.php?attachmentid=12241&d=1394708722
ЗЫ
При некоторых значениях Real (для чисел <0), без Native и адресации PFW300=>Real input module 10301, полученное число из панели будет очень похоже на правду.:)
В мастере ПЛК можно делать несколько UMD, например отдельный для панели, для каждого UMD можно делать свой параметр Byte Sequence
классно помог мне этот момент.
Спасибо еще раз Petera, вот что значит помощь новичку, всё понятно на примерах изложено. Но я не могу понять один момент, я делал подобие температурной защиты на 3 сервисные (с коррекцией), 2 операторные(для просмотра) панели и 12 модулей AI, все UMD были TraceMode, все регистры панели (кроме битовых) были смещены на 1, и всё до сих пор работает, причём не плохо, как так то? А тут вроде и не много и даже связь с панелью не налаживается.
Ну теперь буду всё по уму делать, всё переделывать, главное чтобы времени на всё хватало.
kondor3000
28.05.2020, 14:27
Для примера использования модулей String для организации групповых запросов к панели
1. В UMD создаем String Output/Input
2. Смотрим какой адрес типа "AT % ......" конфигуратор присвоил модулю
3. В разделе объявления PLC_PRG создаем Массивы типа
<Наше Имя> AT <смотрим п.2>:ARRAY [<число элементов>] OF <нужный тип> (WORD, BYTE, REAL)
4. При этом число байт(символов) в свойствах String Output/Input д.б. для
- WORD ровно в 2 раза больше чем число элементов в массиве п.3.
- REAL ровно в 4 раза больше чем число элементов в массиве п.3.
- BYTE равно числу элементов в массиве п.3.
Почти всё понятно, но есть вопросы: Для чего эта строчка? 0011 BlokByte AT %IB7.2.3.0:ARRAY [0..20] OF BYTE;
Почему её начальный адрес 350, 49303
а для REAL, указан адрес 0, хотя должен быть 350 как раз.
49304
Artemegorich75
29.05.2020, 08:37
Добрый день.
В эмуляторе обращение к discrete inputs слэйва CODEYS возможно только через 3x (в функциональной области выбираете операцию Копировать регистр, например 3x0-->PSW256).
Биты 0-15 регистра PSW256 будут отображать значения discrete inputs слэйва 0-15.
Для записи coils надо использовать обращение типа 0x0.
На реальной панели - обращение к discrete inputs через 1x и обращение к coils слэйва CODESYS через 4x - работает корректно.
Спасибо, помогло)
Shera_Best
29.05.2020, 10:27
Для разработчиков, вопрос к работе Конфигуратора СП-300..
создаю текстовой объект и всё что в нем указываю сразу после ;№+-/*(и может быть других символов) не отображается
49331,
а если после этих знаков и буквы/цифры ставить пробел, то всё корректно отображается
49332
И еще если сделать жирным то можно не ставить пробел после символа и буквы/цифры, работает корректно.
Как-то так.
Почти всё понятно, но есть вопросы: Для чего эта строчка? 0011 BlokByte AT %IB7.2.3.0:ARRAY [0..20] OF BYTE;
Почему её начальный адрес 350, 49303
а для REAL, указан адрес 0, хотя должен быть 350 как раз.
49304
Спасибо за замечания!
Так получилось потому, что хотелось побыстрей выложить пример. Есть еще две ошибки в количестве элементов в массиве
Конечно должно быть так
49343
и
49344
Для чего эта строчка? 0011 BlokByte AT %IB7.2.3.0:ARRAY [0..20] OF BYTE;
Последняя картинка иллюстрация использования String для замены модулей типа 8bit input. Для 8bit output - аналогично. Если в панели нужно читать/писать PSB, то для String нужны команды 0х01 или соответственно 0х0f
kondor3000
29.05.2020, 19:29
Последняя картинка иллюстрация использования String для замены модулей типа 8bit input. Для 8bit output - аналогично. Если в панели нужно читать/писать PSB, то для String нужны команды 0х01 или соответственно 0х0f
Вам спасибо!
Я так понимаю такая строка будет правильной, для записи байт в панель: BlokByte_toPanel AT %QB7.1.4.0:ARRAY [0..19] OF BYTE;
49363
А вот с битами что то не получается правильно написать.
Команды чтения для String input нужно заменить на 0х03
49287
Пытаюсь понимать, есть проблема с чтением из панели, в чем дело не пойму, то ли таргет старый то ли контроллер старый. Наводит это на мысль потому что и в Output и в Input string moduls, цифро-буквенные обозначения одинаковые AT%QB ...... вроде так не должно быть. Т.е. мне кажется что из-за этого чтение не идёт, а запись в панель хорошо идёт
kondor3000
01.06.2020, 13:35
Пытаюсь понимать, есть проблема с чтением из панели, в чем дело не пойму, то ли таргет старый то ли контроллер старый. Наводит это на мысль потому что и в Output и в Input string moduls, цифро-буквенные обозначения одинаковые AT%QB ...... вроде так не должно быть. Т.е. мне кажется что из-за этого чтение не идёт, а запись в панель хорошо идёт
У вас физический контроллер точно версия PLC 110-60 v.2 ?
Тоже проверил у себя, с PLC 110-60, все адреса правильные получаются, 49397
а с версией PLC 110-60 v.2, как у вас, и в Output и в Input ВСЕХ модулей, адреса одинаковые AT%QB , разница только в цифрах.
49398
а с версией PLC 110-60 v.2, как у вас, и в Output и в Input ВСЕХ модулей, адреса одинаковые AT%QB , разница только в цифрах.[/ATTACH]
А почему не читается с панели? Там случаем PFW37.2 не надо включать? или наоборот?
Почему то в панель с ПЛК могу писать а с панели читать не могу, нули сплошь
У вас физический контроллер точно версия PLC 110-60 v.2 ?
Тоже проверил у себя, с PLC 110-60, все адреса правильные получаются, 49397
а с версией PLC 110-60 v.2, как у вас, и в Output и в Input ВСЕХ модулей, адреса одинаковые AT%QB , разница только в цифрах.
49398
Это такая фишка новых ПЛК, у них все переменные в конфигурации начинаются на Q
Например, Register input/output
49402
в обоих случаях QW
А в старом ПЛК
49403
Здесь Input и Output - разные IW и QW
Но ведь никто не жаловался, что мастер не может прочитать простые регистры из слейва
Может ошибка в адресе слейва в настройках UMD в котором String input?
Вопрос следующий:
Панель - слейв (их несколько). Хочу, чтобы панель на запрос от мастера передавала (в старшем байте) кроме запрошенных данных и свой ID (адрес в модбасRTU). Посмотрел - а он в системных регистрах не отражен. Или я плохо смотрел?
Парсить модбас-ответ неудобно, опрашиваю панели из конфигуратора (не из библиотеки).
Евгений Кислов
03.06.2020, 10:15
Вопрос следующий:
Панель - слейв (их несколько). Хочу, чтобы панель на запрос от мастера передавала (в старшем байте) кроме запрошенных данных и свой ID (адрес в модбасRTU). Посмотрел - а он в системных регистрах не отражен. Или я плохо смотрел?
Парсить модбас-ответ неудобно, опрашиваю панели из конфигуратора (не из библиотеки).
PFW24 (Dowload-порт), PFW34 (PLC-порт)
В актуальной документации (.pdf) эти системные регистры приведены.
Спасибо. Что-то я протупил :(
Вячеслав@
04.06.2020, 17:38
День добрый. Правильно ли я понял, что при опросе панели шлюзом ПЕ210 нужный регистр указывать в 16-ричной форме? Например, PSW2038 будет в конфигураторе OwenCloud "7f6"? А PFW 2038 - "18e96"?
Евгений Кислов
04.06.2020, 18:21
День добрый. Правильно ли я понял, что при опросе панели шлюзом ПЕ210 нужный регистр указывать в 16-ричной форме? Например, PSW2038 будет в конфигураторе OwenCloud "7f6"? А PFW 2038 - "18e96"?
Добрый день. с PSW правильно, с PFW нет.
Для PFW смещение +10000 к адресу регистра: PFW2038 = 10000 + 2038 = 12038 = 0x2F06.
Вячеслав@
05.06.2020, 06:05
Добрый день. с PSW правильно, с PFW нет.
Для PFW смещение +10000 к адресу регистра: PFW2038 = 10000 + 2038 = 12038 = 0x2F06.
Да, я ноль лишний поставил для pfv. Спасибо.
Всех приветствую! Что то и так и так приём с панели не идёт. Само просто сделал, что не так не пойму, помогите господа.
Похоже у всех кто просмотрел всё получилось? Получается что проблема конкретно в моем контроллере или панели? Хотя не String modul если ставить, а просто Register modul, то всё передается.
Еще подскажите, по поводу системных регистров PFW36,37 и остальных, которые не указаны в руководстве
Похоже у всех кто просмотрел всё получилось? Получается что проблема конкретно в моем контроллере или панели? Хотя не String modul если ставить, а просто Register modul, то всё передается.
Еще подскажите, по поводу системных регистров PFW36,37 и остальных, которые не указаны в руководстве
Я посмотрел, но проверить не могу - нет ПЛК v2.
Вам нужно посмотреть, какие запросы ПЛК посылает при использовании String input, может еще не кто не пользовался таким модулем даже по прямому назначению и есть косяк в прошивке ПЛК.
kondor3000
10.06.2020, 17:45
Похоже у всех кто просмотрел всё получилось? Получается что проблема конкретно в моем контроллере или панели? Хотя не String modul если ставить, а просто Register modul, то всё передается.
В том что вы последним выложили, даже программы для записи, чтения String нет. Что там проверять? Только запись бит. А в программе для СП300, полно косяков.
И контроллера v2 у меня тоже нет.
49570 Везде 49571 косяки 49572
В том что вы последним выложили, даже программы для записи, чтения String нет. Что там проверять? Только запись бит. А в программе для СП300, полно косяков.
И контроллера v2 у меня тоже нет.
49570 Везде 49571 косяки 49572
Спасибо, господин Кондор большое за помощь, вы очень помогли мне, я обязательно все косяки учту в реальном проекте. Я просто проверял связь двустороннюю между панелью и ПЛК с помощью модулей Стринг по рекомендации Петра, и даже со всеми этими ошибками данные передаются, в чём я собственно и убедился. Проблема оказалась более глобальной и это больше вопрос к фирмачам. Настроил связь ПЛК с панелью 307Б, всё работает, а с панелью 315Р не хочет, программа одна и та же на ПЛК, подключал разные панели. По сему и вопрос, может есть какие то системные регистры в панели которые нужно включить или отключить?
kondor3000
12.06.2020, 14:04
с панелью 307Б, всё работает, а с панелью 315Р не хочет, программа одна и та же на ПЛК, подключал разные панели. По сему и вопрос, может есть какие то системные регистры в панели которые нужно включить или отключить?
С СП315 не работал, но есть отличия по описанию. На сколько я понял:
1) Регистры возможно (PFW36.2 и PFW130) переключать только в режиме Мастер, в режиме Слейв ничего не надо. Про PFW37.2 вообще ничего нет.49608
2) При каждой заливке программы, надо переподключать USB кабель.
3) Есть отличия в названии портов, в СП315 есть COM1- Download и COM2- PLC. Вам надо COM2- PLC. Проверить кабель.
4) Проверить DIP переключатели.
5) Панель у меня всегда в Слейве с адресом 1, может вам с 80 попробовать на 1 поменять.
1) Регистры возможно (PFW36.2 и PFW130) переключать только в режиме Мастер, в режиме Слейв ничего не надо. Про PFW37.2 вообще ничего нет.49608
2) При каждой заливке программы, надо переподключать USB кабель.
3) Есть отличия в названии портов, в СП315 есть COM1- Download и COM2- PLC. Вам надо COM2- PLC. Проверить кабель.
4) Проверить DIP переключатели.
5) Панель у меня всегда в Слейве с адресом 1, может вам с 80 попробовать на 1 поменять.
П.П. 1,5 - У меня тоже всегда слейв панель, но адрес не думаю что может влиять, так как контроллер может через модуль стринг отправлять в панель, только считать через стринг не может. (На счет 130 регистра если можно поясните, что он такое.)
П 2 - Это действительно так и очень не удобно.
П 3 - Тут всё проверено
П 4 - DIPы все стандартно вниз отпущены.
Всё таки я склоняюсь к багу именно 315 панели, так как на 307ой всё прекрасно получилось.
Поэтому вопрос уже выше, будут, интересно, исправлять?
Вячеслав@
17.06.2020, 17:27
Можно пример чтения/записи PFW в макросе? А то в справке написано, что "Для PFW: с помощью функций Read/Reads и Write/Writes. Обратите внимание, что присвоения в стиле PSB[300]=TRUE; и PFW[300]=100; не сработают.", а конкретного примера, как надо, я не нашел. Например мне нужно присвоить переменной x значение PFW1000.
Read(HMI_LOCAL_MCH,0,TYPE_PFW,11000,0,TYPE_WORD,&X)
Так? Какой адрес писать в SlaveID, ноль?
Панели нет под рукой, проверить не могу.
Можно пример чтения/записи PFW в макросе? А то в справке написано, что "Для PFW: с помощью функций Read/Reads и Write/Writes. Обратите внимание, что присвоения в стиле PSB[300]=TRUE; и PFW[300]=100; не сработают.", а конкретного примера, как надо, я не нашел. Например мне нужно присвоить переменной x значение PFW1000.
Read(HMI_LOCAL_MCH,0,TYPE_PFW,11000,0,TYPE_WORD,&X)
Так? Какой адрес писать в SlaveID, ноль?
Панели нет под рукой, проверить не могу.
Панель не нужна.
Вводи команду не копи/пасте, а по символам, после того как введешь "Read(" появится окно ассистента ввода операндов. Ошибиться с параметрами будет невозможно.
Вячеслав@
18.06.2020, 14:09
Панель не нужна.
Вводи команду не копи/пасте, а по символам, после того как введешь "Read(" появится окно ассистента ввода операндов. Ошибиться с параметрами будет невозможно.
О, круто, спасибо ) Правда я уже экспериментально сам нашел правильный вариант, но теперь буду знать правильный способ.
Доброго времени суток, уважаемые форумчане. Подскажите пожалуйста почему связь с панелью встала в проекте, свежим взглядом. Возможно что то углядеть не могу? А может есть какие непрописанные истины о которых я узнаю здесь на форуме часто)
И тут на вторые сутки заработала панель, сама, несколько раз пришлось ресетить ПЛК, и сразу нашел много ошибок у себя, а всё таки почему иногда отваливается связь?
Вячеслав@
22.06.2020, 08:55
И тут на вторые сутки заработала панель, сама, несколько раз пришлось ресетить ПЛК, и сразу нашел много ошибок у себя, а всё таки почему иногда отваливается связь?
У меня были проблемы с панелью из-за плохого контакта разъёма rs485 и из-за ошибок в программе, связанных с записью по rs485. После устранения этих проблем недели 3 уже работает без сбоев. Хотя наверное рано ещё судить.
Вячеслав@
22.06.2020, 15:32
Наверняка вопрос был, но я не нашел. Есть возможность сделать автоматический выход из пароля (логоф)? В справке и настройках проекта не нашел. Или только с системными регистрами PSB 60-68 работать вручную?
И есть ли возможность отслеживать активность пользователя, чтобы автоматически выключить бит доступа через определенной время?
Евгений Кислов
22.06.2020, 17:51
Наверняка вопрос был, но я не нашел. Есть возможность сделать автоматический выход из пароля (логоф)? В справке и настройках проекта не нашел. Или только с системными регистрами PSB 60-68 работать вручную?
И есть ли возможность отслеживать активность пользователя, чтобы автоматически выключить бит доступа через определенной время?
Добрый день.
Насколько я помню - автоматический logoff происходит при переходе на экран заставки (Настройка проекта - Общие - Заставка).
Вячеслав@
22.06.2020, 21:08
Добрый день.
Насколько я помню - автоматический logoff происходит при переходе на экран заставки (Настройка проекта - Общие - Заставка).
О, отлично, а то я уже начал макрос с PFW100 городить )
kondor3000
24.06.2020, 18:58
И тут на вторые сутки заработала панель, сама, несколько раз пришлось ресетить ПЛК, и сразу нашел много ошибок у себя, а всё таки почему иногда отваливается связь?
Самое главное думаю вам надо увеличить минимальное время цикла с 1ms хотя бы до 5ms, а может и больше (возможно PLC не успевает отработать цикл, можно проверить добавив Statistic и посмотреть сколько mks процессор отдыхает в цикле).
Уменьшить время опроса панелей с 50 ms до 10 ms ( будет быстрей опрос)
А про ошибки, в UMD со StringOutput не правильные настройки (Надо By value change ), в StringOutput не правильно 0х06, надо 0х10
В конфигураторе панели вызов не той страницы настроек. И вообще не понятно для чего многократное преобразование int - real и обратно, по другому никак? Понятно , что вы избавились от REAL, но получились тысячи преобразований.
Это то что нашёл за 3 минуты.
Здравствуйте!
СП307-Р через DOWNLOAD порт печатает этикетку 49996 на термопринтере BRIGHTEK WH-E44KR901
49994, 49995 в 10 строк за 3,5 минуты.
Строка формируется 15-20секунд. Speed "fast" в настройках принтера на скорость заметно не влияла.
Это нормально для такого принтера ли что-то не так? Отзовитесь, кто имеет опыт.
Здравствуйте!
Подключаю СП307-Р по ModbusTCP к ПЛК110, соответственно при добавлении ПЛК указываю его IP.
Хранится ли он где-нибудь в регистрах панели и можно ли его поменять из панели?
Евгений Кислов
22.07.2020, 09:36
Здравствуйте!
Подключаю СП307-Р по ModbusTCP к ПЛК110, соответственно при добавлении ПЛК указываю его IP.
Хранится ли он где-нибудь в регистрах панели и можно ли его поменять из панели?
Добрый день.
Нет, поменять IP опрашиваемых slave-устройств через регистры нельзя.
Доброго дня...
Подскажите пожалуйста, как сохранять имеющиеся в панели рецепты при загрузке обновленного ПО?
Евгений Кислов
23.07.2020, 08:17
Доброго дня...
Подскажите пожалуйста, как сохранять имеющиеся в панели рецепты при загрузке обновленного ПО?
Добрый день.
Если панель расширенной модификации - то можно экспортировать данные рецептов на USB накопитель и импортировать их после загрузки нового проекта.
Если панель расширенной модификации - то можно экспортировать данные рецептов на USB накопитель и импортировать их после загрузки нового проекта.
Панель бюджетная
А возможно написать утилиту для ПК, - задать область регистров панели, выгрузить, затем загрузить? По USB. Думается, много кому может пригодиться.
Евгений Кислов
26.07.2020, 13:10
Панель бюджетная
А возможно написать утилиту для ПК, - задать область регистров панели, выгрузить, затем загрузить? По USB. Думается, много кому может пригодиться.
В принципе, это можно сделать средствами эмулятора, подключив панель к ПК по RS-232 или RS-485.
Это будет требовать дополнительных манипуляций, а к USB все равно ведь как бы уже подключились для обновления.
Евгений Кислов
26.07.2020, 13:27
Это будет требовать дополнительных манипуляций, а к USB все равно ведь как бы уже подключились для обновления.
Это справедливо - но эмулятор через USB не работает, а разработки каких-либо утилит для импорта рецептов в планах пока нет.
Добрый день.
Панель СП310 рисует при включении в центре экрана (сразу после промаргивания загрузки ОВЕН) странную картинку (увеличено) и после этого тупо не реагирует ни на что.
Кто-то встречал подобное?
Пардон, попал не в ту ветку, перенесите, пожалуйста...
Евгений Кислов
29.07.2020, 18:59
Добрый день.
Пришлите, пожалуйста, проект, после загрузки которого наблюдается этот эффект.
Да, высылаю, но проект вполне рабочий (правда недоделанный), при попытке внести очередную правку тестовая панель при подаче питания вот так взбрыкнула (правку так и не внес). Крышку снял, криминала не вижу.
Евгений Кислов
29.07.2020, 19:16
Да, высылаю, но проект вполне рабочий (правда недоделанный), при попытке внести очередную правку тестовая панель при подаче питания вот так взбрыкнула. Крышку снял, криминала не вижу.
Вы сейчас можете попробовать сделать принудительные загрузку, с использованием DIP-переключателя (в РЭ и РП написано, как это сделать).
Если при повторной загрузке эффект повторится - то, вероятно, проблема в проекте.
Опп, загрузил через USB. Проект работает.
Почему-то думал, что принудиловка только по COM-порту, а кабеля все равно не было.
А что это могло быть?
Евгений Кислов
29.07.2020, 20:02
Опп, загрузил через USB. Проект работает.
Почему-то думал, что принудиловка только по COM-порту, а кабеля все равно не было.
А что это могло быть?
Cложно сказать. Проект не изменялся после предыдущей попытки?
Возможно, во время прошлой загрузки был задет кабель?
jury_yamal
18.08.2020, 06:55
Добрый день.
Настроил обмен СП310-Р с ПВТ 100 по RS-485 вывел значения на числовые дисплеи, а дальше нужно эти же данные получить в OPC сервере по TCP как это сделать? в каких регистрах панель хранит данные? или делать копирование через функциональную область? а как тогда сделать управление и с панели и OPС сервера допустим перезагрузку ПВТ 100. Да и проект просто тестовый для понимания логики.
Евгений Кислов
18.08.2020, 07:34
Добрый день.
или делать копирование через функциональную область?
Вы правы, нужно сделать именно так.
Cм. пример:
https://youtu.be/c_PfSdLZWlY
а как тогда сделать управление и с панели и OPС сервера допустим перезагрузку ПВТ 100.
Нужно создать функциональную область с типом вызова Бит управления и действием Присвоить значение.
Воздействовать на этот бит можно будет как через OPC, так и с экрана панели (например, через элемент Переключатель).
Shade876
21.08.2020, 15:02
Здравствуйте!
Панель подвисала, я вывел внутренние регистры посмотреть сетевой обмен, увидел кучу ошибок.
Увеличил таймаут и заменил витуху, количество ошибок уменьшилось в разы. Теперь.
Панель в роли мастера опрашивает плк 110 по модбас рту. Регистров около 500. Скорость 115.2, таймаут 20 мс повторных запросов 3.
Панель и плк стоят в кабинете, провод длинной около метра терминаторы не ставил из-за маленького расстояния.
В час выскакивает примерно 5 ошибок, вопоос в том на сколько это приемлимо.
Поимерно какой процент считается нормой, подскажите пожалуйста знающие спецы.
Здравствуйте!
Панель подвисала, я вывел внутренние регистры посмотреть сетевой обмен, увидел кучу ошибок.
Увеличил таймаут и заменил витуху, количество ошибок уменьшилось в разы. Теперь.
Панель в роли мастера опрашивает плк 110 по модбас рту. Регистров около 500. Скорость 115.2, таймаут 20 мс повторных запросов 3.
Панель и плк стоят в кабинете, провод длинной около метра терминаторы не ставил из-за маленького расстояния.
В час выскакивает примерно 5 ошибок, вопоос в том на сколько это приемлимо.
Поимерно какой процент считается нормой, подскажите пожалуйста знающие спецы.
5 ошибок/час - это ничто. Ошибочные пакеты при обмене отбраковываются.
Здравствуйте, подскажите пожалуйста, в СП307-Р есть возможность экспорта/импорта записей аварий и исторической таблицы?
Евгений Кислов
24.08.2020, 07:23
Здравствуйте, подскажите пожалуйста, в СП307-Р есть возможность экспорта/импорта записей аварий и исторической таблицы?
Добрый день.
Вы говорите про импорт/экспорт на уровне конфигуратора или самой панели в процессе ее работы?
Евгений Кислов
24.08.2020, 07:56
На уровне конфигуратора.
К сожалению, такой возможности нет.
Чили-Рома
27.08.2020, 10:14
Добрый день. Смогу ли я опрашивать с помощью СП3хх 18 слейвов(ТРМ201) по Мастер каналу, передавать эти и дополнительные 8 регистров на ПР102 по слейв-каналу?
Мне было бы проще, конечно, сделать опрос ТРМов через ПРку, но там есть ограничение в 16 устройств на 1 интерфейс. А один интерфейс нужен для передачи в Облако.
Евгений Кислов
27.08.2020, 10:23
Добрый день. Смогу ли я опрашивать с помощью СП3хх 18 слейвов(ТРМ201) по Мастер каналу, передавать эти и дополнительные 8 регистров на ПР102 по слейв-каналу?
Мне было бы проще, конечно, сделать опрос ТРМов через ПРку, но там есть ограничение в 16 устройств на 1 интерфейс. А один интерфейс нужен для передачи в Облако.
Добрый день.
Да, это возможно.
Чили-Рома
27.08.2020, 10:36
Для этого не обязательно будет какие-то макросы городить? А то я только начинаю изучать панель. Циферки в регистрах и адресах я еще проставлю)) А вот макросы в виде кода - это пока для меня ново.
И нет ли руководства или видео урока по передаче данных между интерфейсами СП3хх?
Евгений Кислов
27.08.2020, 10:47
Для этого не обязательно будет какие-то макросы городить? А то я только начинаю изучать панель. Циферки в регистрах и адресах я еще проставлю)) А вот макросы в виде кода - это пока для меня ново.
И нет ли руководства или видео урока по передаче данных между интерфейсами СП3хх?
Вам потребуется использовать функциональную область, чтобы считать данные из ТРМ в локальные регистры панели.
А уже локальные регистры опрашивать через ПР.
Вот пример использования функциональной области:
https://youtu.be/c_PfSdLZWlY
Серёга Букашкин
27.08.2020, 10:57
Для этого не обязательно будет какие-то макросы городить?
Не обязательно макросы городить. Но ставить панель как сетевой дистрибьютор наверное плохо с точки зрения надёжности такой сети. Всегда устраивайте в обработке приемников правильные реакции на прекращение обмена с источником сигнала, потому что в этом случае данные не будут обновляться, и это может сказаться печально на управляемом объекте. Это относится и к командам HMI через панель.
Чили-Рома
27.08.2020, 11:04
Вам потребуется использовать функциональную область, чтобы считать данные из ТРМ в локальные регистры панели.
А уже локальные регистры опрашивать через ПР.
Вот пример использования функциональной области:
https://youtu.be/c_PfSdLZWlY
Спасибо. Буду изучать.
Чили-Рома
27.08.2020, 11:05
Не обязательно макросы городить. Но ставить панель как сетевой дистрибьютор наверное плохо с точки зрения надёжности такой сети. Всегда устраивайте в обработке приемников правильные реакции на прекращение обмена с источником сигнала, потому что в этом случае данные не будут обновляться, и это может сказаться печально на управляемом объекте. Это относится и к командам HMI через панель.
А эти реакции где указываются?
Серёга Букашкин
27.08.2020, 11:55
А эти реакции где указываются?
Там где от сигнала зависит результат технологических функций программы (сигнализация, защиты, регулирование и т.п.). Если их нет и система только информационная, то достаточно предупредительных сигналов о потере связи, в разветвленной сети - с указанием с кем именно.
Здравствуйте!
Нужно создать что-то типа журнала событий, по взведению бита в журнал пишется время и номер события. Историческая таблица вроде похожа, но там присутствует квитирование, а оно мне ну совсем не нужно. Можно бы и наплевать, но вся таблица получается кликабельна и висит выделенная строка. Ну и лишние байты для хранения времени квитирования..
Неужели по другому никак?
Евгений Кислов
15.09.2020, 20:08
Здравствуйте!
Нужно создать что-то типа журнала событий, по взведению бита в журнал пишется время и номер события. Историческая таблица вроде похожа, но там присутствует квитирование, а оно мне ну совсем не нужно. Можно бы и наплевать, но вся таблица получается кликабельна и висит выделенная строка. Ну и лишние байты для хранения времени квитирования..
Неужели по другому никак?
Cтолбец времени квитирования можно убрать - задайте ему ширину 0 и удалите заголовок.
А чтобы запретить выделение - наложите на таблицу функциональную кнопку с установленной галочкой Скрыть кнопку.
Тогда всегда будет выделена только первая строка, клики отрабатывать не будут.
Это сделал, но периодически при работе с окном свойств таблицы вылетает сообщение "задайте шрифт". Кмк потому, что убран заголовок.
А почему нет выбора шрифтов для времени и сообщений? Или я не вижу?
И до кучи, - при первом событии заполняются все верхние строки таблицы (событие 1, но время - нули), от этого не избавиться?
Евгений Кислов
15.09.2020, 20:43
Это сделал, но периодически при работе с окном свойств таблицы вылетает сообщение "задайте шрифт". Кмк потому, что убран заголовок.
А почему нет выбора шрифтов для времени и сообщений? Или я не вижу?
И до кучи, - при первом событии заполняются все верхние строки таблицы (событие 1, но время - нули), от этого не избавиться?
Сообщение про шрифт вылетает, если снять галочку Показывать год.
На шрифт времени и сообщений влияет Файл/Настройки проекта/Шрифт.
Если время в нулях - вероятно, память таблицы использует кто-то еще. Или дело тоже в галочке про год - лучше ее вернуть.
Сообщение про шрифт вылетает, если снять галочку Показывать год.
На шрифт времени и сообщений влияет Файл/Настройки проекта/Шрифт.
Если время в нулях - вероятно, память таблицы использует кто-то еще. Или дело тоже в галочке про год - лучше ее вернуть.
Дело оказалось тоже в галочке про год.
Про шрифт - шрифт сообщений изменился согласно /Настройки проекта/Шрифт
А шрифт для времени - нет. Использую Arail полужирный.
Но в целом уже более-менее, спасибо.
Евгений Кислов
16.09.2020, 08:22
Дело оказалось тоже в галочке про год.
Про шрифт - шрифт сообщений изменился согласно /Настройки проекта/Шрифт
А шрифт для времени - нет. Использую Arail полужирный.
Но в целом уже более-менее, спасибо.
Да, посмотрел - там есть нюанс.
Шрифт времени цепляется из настроек таблицы - он совпадает со шрифтом столбца 1.
Надо поставить там нужный вам шрифт, а потом вернуть его обратно на стандартный - тогда заголовок и время будут отображаться разными шрифтами.
Здравствуйте! Как узнать что Панель не связывается с ПЛК. по Модбасу РТУ РС485.
PSB51 вытаскиваю на СП310 , бит всегда отключен, что епсть связь, что нет.
ПЛК мастер.
Евгений Кислов
17.09.2020, 16:35
Здравствуйте! Как узнать что Панель не связывается с ПЛК. по Модбасу РТУ РС485.
PSB51 вытаскиваю на СП310 , бит всегда отключен, что епсть связь, что нет.
ПЛК мастер.
Если панель слэйв - то она не "связывается с ПЛК". Это ПЛК "связывается с ней".
Классический подход - постоянно записывать что-то из ПЛК в панель (например, увеличивающееся на единицу значение в какой-то регистр) и в панели макросами проверять, меняется его значение или нет. Если не меняется - значит, ПЛК перестал присылать запросы.
Егор Шелдышов
18.09.2020, 13:07
Добрый день. Хочу подключить ПЛК 110 к СП315, в наличии нет кабеля кс 16, зато есть кабель з раземом DB 9F, хочу подключиться по 485 интерфейсу, соответствено вопрос - какие сигналы подключать?
Евгений Кислов
18.09.2020, 13:10
Добрый день. Хочу подключить ПЛК 110 к СП315, в наличии нет кабеля кс 16, зато есть кабель з раземом DB 9F, хочу подключиться по 485 интерфейсу, соответствено вопрос - какие сигналы подключать?
Добрый день.
Распиновка КС16 приведена тут:
https://owen.ru/product/kabeli
5-6 можно не подключать
Если панель слэйв - то она не "связывается с ПЛК". Это ПЛК "связывается с ней".
Классический подход - постоянно записывать что-то из ПЛК в панель (например, увеличивающееся на единицу значение в какой-то регистр) и в панели макросами проверять, меняется его значение или нет. Если не меняется - значит, ПЛК перестал присылать запросы.
Евгений, а готового решения нет с макросами? Просто некогда. Спасибо!
Евгений Кислов
18.09.2020, 14:20
Евгений, а готового решения нет с макросами? Просто некогда. Спасибо!
У меня нету.
kondor3000
21.09.2020, 15:43
Здравствуйте! Как узнать что Панель не связывается с ПЛК. по Модбасу РТУ РС485.
PSB51 вытаскиваю на СП310 , бит всегда отключен, что епсть связь, что нет.
ПЛК мастер.
Пример есть в посте 1623
https://owen.ru/forum/showthread.php?t=22915&page=163
приборист
29.09.2020, 21:46
Добрый день!
Как можно реализовать выбор изображения?
Т.е. переменная - для определенных значений - выбор определенного изображения.
Или возможно как то изменять цвет кнопки?
Евгений Кислов
30.09.2020, 06:41
Добрый день!
Как можно реализовать выбор изображения?
Т.е. переменная - для определенных значений - выбор определенного изображения.
Или возможно как то изменять цвет кнопки?
Добрый день.
Можно использовать элемент Динамическое изображение.
51176
Но надо учитывать, что он не поддерживает изображения с прозрачным фоном.
приборист
30.09.2020, 11:58
Добрый день.
Можно использовать элемент Динамическое изображение.
51176
Но надо учитывать, что он не поддерживает изображения с прозрачным фоном.
Спасибо. Подойдет.
Еще вопрос:
Эмулятор работает на запись по TCP Coil (0x) в адрес 256, но не хочет работать на запись Coil в адрес 257-258 и т.д. Я так понимаю кратно 8.
При этом функция 4х - работает нормально.
Это ограничение эмулятора? Панели нет, проверить негде (Хотя из других проектов - по-моему все работало нормально)
Евгений Кислов
30.09.2020, 12:18
Спасибо. Подойдет.
Еще вопрос:
Эмулятор работает на запись по TCP Coil (0x) в адрес 256, но не хочет работать на запись Coil в адрес 257-258 и т.д. Я так понимаю кратно 8.
При этом функция 4х - работает нормально.
Это ограничение эмулятора? Панели нет, проверить негде (Хотя из других проектов - по-моему все работало нормально)
Да, у эмулятора есть ограничения по работе с битовыми функциями Modbus.
Айрат Гарафутдинов
02.10.2020, 09:35
Добрый день!
Подскажите, пожалуйста, возможное решение по архивации.
Есть несколько (около 10-15) булевских значений, срабатывание которых необходимо архивировать на USB. Желательно, чтобы были только строки с наименованием сработанного сигнала и временем.
Если это возможно реализовать, скиньте, пожалуйста, какой-нибудь пример.
Евгений Кислов
02.10.2020, 09:57
Добрый день!
Подскажите, пожалуйста, возможное решение по архивации.
Есть несколько (около 10-15) булевских значений, срабатывание которых необходимо архивировать на USB. Желательно, чтобы были только строки с наименованием сработанного сигнала и временем.
Если это возможно реализовать, скиньте, пожалуйста, какой-нибудь пример.
Добрый день.
Можно начать с этого примера:
https://ftp.owen.ru/SP300/99_ForumFiles/Example_MacroEventTable.zip
Айрат Гарафутдинов
02.10.2020, 14:32
Добрый день.
Можно начать с этого примера:
https://ftp.owen.ru/SP300/99_ForumFiles/Example_MacroEventTable.zip
Спасибо, алгоритм примерно такой и нужен, а есть что-то подобное, но без макросов?
Евгений Кислов
02.10.2020, 14:41
Без макросов сформировать строку с временем будет достаточно затруднительно - лучше потратить немного времени на изучение примера и адаптировать его под свои нужды.
Добрый день.
Начал осваивать панель СП307. Подключил ТРМ 210 к нему.
Считываю показание с ТРМ и пытаюсь сделать float.
WORD tek_temp_read=0;
WORD dpt=0;
DWORD t1=0;
DWORD t2=0;
float tek_temp=0.0;
Read(PLC, 1, MODBUS_RTU_REG_4X, 1, 0, TYPE_WORD, &tek_temp_read);
Read(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, &dpt);
t1=tek_temp_read;
t2=dpt;
tek_temp=DWord_2_Float(t1)/(10.0*DWord_2_Float(t2)); (dpt<>0)
*(float*)(PSW+256)=tek_temp;
И этот код не работает. В SP300_help нет описания преобразования word в float. Как это правильно сделать?
В цифровом дисплее ставлю тип word и формат float отображает 22.0 вместо 22,1. Если ставить тип dword и формат float, то 0.00.
Заработал такой вариант:
Read(PLC, 1, MODBUS_RTU_REG_4X, 1, 0, TYPE_WORD, &tek_temp_read);
Read(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, &dpt);
t1=tek_temp_read;
t2=dpt;
tek_temp=DWord_2_Float(t1)/(DWord_2_Float(t2)*10.0);
*(float*)(PSW+256)=tek_temp;
И отображение тоже заработало :)
Заработал такой вариант:
Read(PLC, 1, MODBUS_RTU_REG_4X, 1, 0, TYPE_WORD, &tek_temp_read);
Read(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, &dpt);
t1=tek_temp_read;
t2=dpt;
tek_temp=DWord_2_Float(t1)/(DWord_2_Float(t2)*10.0);
*(float*)(PSW+256)=tek_temp;
И отображение тоже заработало :)
А сразу значение float прочитать из ТРМ не судьба?
51238
float tek_temp;
Read(PLC, 1, MODBUS_RTU_REG_4X, 4105, 0, TYPE_DWORD, &tek_temp); //PV - 0x1009; 0x100A Float32
*(float*)(PSW+256)=tek_temp;
float tek_temp;
Read(PLC, 1, MODBUS_RTU_REG_4X, 4105, 0, TYPE_DWORD, &tek_temp); //PV - 0x1009; 0x100A Float32
*(float*)(PSW+256)=tek_temp;
Не посмотрел, что есть дублирование значения еще и во float. Спасибо ваш вариант работает.
А все таки есть адекватный вариант преобразования WORD во Float (может понадобиться в будущем там где нет дублирования)?
Евгений Кислов
05.10.2020, 10:00
WORD IntValue = 11;
*(float*)(PSW+300) = IntValue * 1.5;
После выполнения - в регистрах PSW300-301 значение 16.50.
Еще одна проблема :).
В ТРМ написано:
51247
Я пытаюсь записать параметр DPt, который имеет тип Int16.
Write(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, w_val); Использует 6 функцию и соответственно ТРМ выдает ошибку функция не поддерживается. Тут все понятно.
Writes(PLC, 1, MODBUS_RTU_REG_4X, 513, 1, w_val); Использует тоже 6 функцию и ошибка та же.
Writes(PLC, 1, MODBUS_RTU_REG_4X, 513, 2, w_val); использует уже 10 функцию, но ТРМ выдает некорректные данные, потому что пытаюсь записать 2 регистра.
Как записать 10 функцией 1 регистр как того требует ТРМ?
Александр И.
05.10.2020, 10:12
Добрый день. Уважаемые коллеги, прошу направить на нужный путь. Впервые мне пришлось работать с ПЛК, а конкретно с ПЛК 160МО, и панелью оператора СП307Р. И то и другое устройство находятся в пути и к концу этой недели должны быть у меня. Я готовлюсь к их изучению, и пока той информации которую нашел на оф. сайте ОВЕН мне достаточно, но есть один вопрос: я не могу понять где прописаны адреса регистров ПЛК. Прошу подсказки. Заранее благодарен.
Евгений Кислов
05.10.2020, 10:16
Еще одна проблема :).
В ТРМ написано:
51247
Я пытаюсь записать параметр DPt, который имеет тип Int16.
Write(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, w_val); Использует 6 функцию и соответственно ТРМ выдает ошибку функция не поддерживается. Тут все понятно.
Writes(PLC, 1, MODBUS_RTU_REG_4X, 513, 1, w_val); Использует тоже 6 функцию и ошибка та же.
Writes(PLC, 1, MODBUS_RTU_REG_4X, 513, 2, w_val); использует уже 10 функцию, но ТРМ выдает некорректные данные, потому что пытаюсь записать 2 регистра.
Как записать 10 функцией 1 регистр как того требует ТРМ?
https://owen.ru/product/sp3xx/faq
п. 3.8
Евгений Кислов
05.10.2020, 10:17
Добрый день. Уважаемые коллеги, прошу направить на нужный путь. Впервые мне пришлось работать с ПЛК, а конкретно с ПЛК 160МО, и панелью оператора СП307Р. И то и другое устройство находятся в пути и к концу этой недели должны быть у меня. Я готовлюсь к их изучению, и пока той информации которую нашел на оф. сайте ОВЕН мне достаточно, но есть один вопрос: я не могу понять где прописаны адреса регистров ПЛК. Прошу подсказки. Заранее благодарен.
Добрый день.
Посмотрите учебное видео, пожалуйста: https://youtu.be/yJkwRU33I80
https://owen.ru/product/sp3xx/faq
п. 3.8
Есть подробная инструкция по работе с панелью? Я использую help файл и там такой информации нет. И почему там нет?
Александр И.
05.10.2020, 10:59
Спасибо. Сейчас посмотрю.
Айрат Гарафутдинов
05.10.2020, 11:06
Без макросов сформировать строку с временем будет достаточно затруднительно - лучше потратить немного времени на изучение примера и адаптировать его под свои нужды.
А если без времени, можно обойтись без макросов?
Евгений Кислов
05.10.2020, 11:33
А если без времени, можно обойтись без макросов?
В принципе, да - тексты сообщений тогда можно будет набить в регистры с экрана (через элемент Текстовый ввод) и в нужный момент копировать их в регистры таблицы.
Но, как мне кажется, это будет более неудобным, чем использование макросов.
Подскажите пожалуйста как на языке LAD это будет выглядеть, не могу понять, и как принять это по модбасу на спк107
Добрый день.
При выполнении этого макроса каждую секунду панель зависает
if (ind_read==0)
{
Read(PLC, 1, MODBUS_RTU_REG_4X, 4105, 0, TYPE_DWORD, &tek_temp);
*(float*)(PSW+256)=tek_temp;
ind_read=ind_read+1;
}
else if (ind_read==1)
{
Read(PLC, 1, MODBUS_RTU_REG_4X, 4111, 0, TYPE_DWORD, &out_pow);
*(float*)(PSW+259)=out_pow;
ind_read=ind_read+1;
}
else if (ind_read==2)
{
Read(PLC, 1, MODBUS_RTU_REG_4X, 4107, 0, TYPE_DWORD, &zad_temp);
//*(float*)(PSW+261)=zad_temp;
ind_read=ind_read+1;
}
else if (ind_read==3)
{
Read(PLC, 1, MODBUS_RTU_REG_4X, 513, 0, TYPE_WORD, &dpt);
PSW[258]=dpt;
ind_read=ind_read+1;
}
else if (ind_read>=4)
ind_read=0;
Если закоментировать строку *(float*)(PSW+259)=out_pow, то панель не зависает.
Условия - это попытка делать запросы по очереди, но это не помогло.
Евгений Кислов
06.10.2020, 16:20
Адрес под указателем должен быть четным.
51272
Адрес под указателем должен быть четным.
51272
Спасибо. А где взять эту инструкцию?
Айрат Гарафутдинов
08.10.2020, 14:05
В принципе, да - тексты сообщений тогда можно будет набить в регистры с экрана (через элемент Текстовый ввод) и в нужный момент копировать их в регистры таблицы.
Но, как мне кажется, это будет более неудобным, чем использование макросов.
Добрый день!
Не много не разобрался с макросом этим.
Нужно оставить столбцы Время и Событие. Сейчас при удалении столбцов, отображение выводится какое-то хаотичное.
Что нужно удалить/откорректировать, чтобы удалив 2 последних столба в таблице, алгоритм работал правильно?
Rednaxel
08.10.2020, 14:09
Всем привет!
Добавил на экран СП310 индикатор регистра PSB51: "Ошибка связи для порта PLC". Хотелось также записать это событие в историческую таблицу, но от этой идеи пришлось отказаться, поскольку каждые 6-7 сек. данный бит включается примерно на 200-300 мс. и записей слишком много :(
Изменение настроек скорости, четности и т.п. (естественно с обоих сторон) ничего не изменили.
Подробности: RS232 ModBus RTU, панель мастер: СП310P -> ПЛК 110-30 [M02]; кабель 2,5 м, неэкранированный.
Собственно вопрос: это нормальное поведение для бита PSB51 или есть какая-то проблема в моём проекте?
Евгений Кислов
08.10.2020, 14:42
Всем привет!
Добавил на экран СП310 индикатор регистра PSB51: "Ошибка связи для порта PLC". Хотелось также записать это событие в историческую таблицу, но от этой идеи пришлось отказаться, поскольку каждые 6-7 сек. данный бит включается примерно на 200-300 мс. и записей слишком много :(
Изменение настроек скорости, четности и т.п. (естественно с обоих сторон) ничего не изменили.
Подробности: RS232 ModBus RTU, панель мастер: СП310P -> ПЛК 110-30 [M02]; кабель 2,5 м, неэкранированный.
Собственно вопрос: это нормальное поведение для бита PSB51 или есть какая-то проблема в моём проекте?
Добрый день.
Судя по поведению бита - у вас в проекте панели некорректные настройки опроса (несуществующие Slave ID, адреса регистров и т.п.).
Rednaxel
08.10.2020, 16:44
Добрый день.
Судя по поведению бита - у вас в проекте панели некорректные настройки опроса (несуществующие Slave ID, адреса регистров и т.п.).
Таки "Да": сбился при подсчете бит :( Благодарю за помощь!
Rednaxel
11.10.2020, 18:42
И снова здравствуйте!
Подскажите пожалуйста: нужно в СП307 сделать что-то вроде дросселя, чтобы однократное нажатие вызывало изменение переменной на опр.величину, а удержание кнопки - постоянный рост этой переменной:
51318
Пока сделал на кнопке "Операции с данными", но она делает операцию только при нажатии, а удержания "не понимает".
Получается нужно через кнопку управления битом и модуль в ПЛК... И вроде был такой модуль в какой-то библиотеке CodeSys, с настройкой задержек и т.п. только не помню: в какой и как называется?
Евгений Кислов
11.10.2020, 19:07
И вроде был такой модуль в какой-то библиотеке CodeSys, с настройкой задержек и т.п. только не помню: в какой и как называется?
Библиотека OSCAT Basic, ФБ Tune или Tune2.
Всем привет. Реализовываю обмен данными между ПЛК 210 и панелью сп310 через TCP IP, но когда загружаю проект в панель, любой, даже не касающийся данного проекта, панель отказывается нажимать на переключатели и вообще выполнять какие-либо действия, просто происходит звук нажатия, после которого тапнуть по экрану представляется возможным через сек. 5, хотелось бы узнать, что не так делаю. Собственно всю настойку и пробный вариант из видео 11 о таком методе обмена тоже пробовал, и такая же история.
Евгений Кислов
12.10.2020, 13:22
Всем привет. Реализовываю обмен данными между ПЛК 210 и панелью сп310 через TCP IP, но когда загружаю проект в панель, любой, даже не касающийся данного проекта, панель отказывается нажимать на переключатели и вообще выполнять какие-либо действия, просто происходит звук нажатия, после которого тапнуть по экрану представляется возможным через сек. 5, хотелось бы узнать, что не так делаю. Собственно всю настойку и пробный вариант из видео 11 о таком методе обмена тоже пробовал, и такая же история.
https://owen.ru/forum/showthread.php?t=23897&p=341168&viewfull=1#post341168
Айрат Гарафутдинов
12.10.2020, 14:33
В принципе, да - тексты сообщений тогда можно будет набить в регистры с экрана (через элемент Текстовый ввод) и в нужный момент копировать их в регистры таблицы.
Но, как мне кажется, это будет более неудобным, чем использование макросов.
Добрый день!
Помогите, пожалуйста, с описанием макроса. Во вложении выделил не понятные мне строки.
Евгений Кислов
12.10.2020, 14:46
1. Число байт, выделяемых под хранение строки. Равно длине строки + 2.
2. Объявление массивов символов, в которых будут храниться строки.
3. Копирование сформированных в макросе строк в регистры панели для отображения в таблице.
Rednaxel
13.10.2020, 12:36
Здравствуйте! Хочу освоить продвинутые приёмы создания нестандартных элементов управления.
Вот в Example_SystemRegisters_v2.txp (https://owen.ru/uploads/83/example_systemregisters_v2.zip) кнопки текущей страницы раскрашены в другой цвет:
51327
Или в другом примере (https://ftp.owen.ru/SP300/99_ForumFiles/Example_Checkbox_and_Radiobutton.txp) вообще не смог найти похожих кнопок в стандартных библиотеках:
51330
Подскажите пожалуйста:
1) Есть ли способ узнать какой именно файл из какой библиотеки используется для данного элемента? Из диалога настроек элемента понять это не получается.
2) Приоткройте завесу тайны над методикой создания или изменения таких элементов, как в примерах (https://owen.ru/product/sp3xx/video) ;)
Евгений Кислов
13.10.2020, 12:40
Добрый день.
1. Это изображение из галереи 2 (в настройка элемента: Кнопка - Изменить - выбрать изображение из галереи)
51332
2. Это картинки из CODESYS V3.
https://dropmefiles.com/osI1h
Rednaxel
13.10.2020, 16:02
Добрый день.
1. Это изображение из галереи 2 (в настройка элемента: Кнопка - Изменить - выбрать изображение из галереи)
Виноват, действительно сразу не заметил такого цвета кнопку. Тем более актуален первый вопрос: где можно подсмотреть какая именно картинка использовалась для кнопки, чтобы не листать эти бесконечные галереи и библиотеки?
2. Это картинки из CODESYS V3.
https://dropmefiles.com/osI1h
Вот картинки знатные, огромное спасибо!
Евгений Кислов
13.10.2020, 16:06
Где можно подсмотреть какая именно картинка использовалась для кнопки, чтобы не листать эти бесконечные галереи и библиотеки?
С сожалению, такой возможности нет.
Вячеслав@
14.10.2020, 11:09
Добрый день. С чем может быть связана огромная задержка при чтении данных из панели СП310 в ПЛК110?
Панель связана с ПЛК по TCP. В обратную сторону (от ПЛК к панели) все работает быстро, данные обновляются почти мгновенно. При изменении параметра на панели, на ПЛК параметр изменяется через 10-30 секунд. Это видно в Codesys в режиме онлайн.
Изначально проблемы не было, началось все после того, как я переделал проект, сделал пакетный опрос/запись от ПЛК с помощью String. Ну и одновременно добавил переменных. Сейчас ПЛК опрашивает с панели около 70 WORD (10 String). Все они PFW.
Искал ошибки по регистрам, не нашел. Да и в случае ошибок по номерам регистров были бы просто некорректные данные, насколько я понимаю.
Есть идеи, куда копать?
p.s. ПЛК мастер.
Евгений Кислов
14.10.2020, 11:25
Добрый день. С чем может быть связана огромная задержка при чтении данных из панели СП310 в ПЛК110?
Панель связана с ПЛК по TCP. В обратную сторону (от ПЛК к панели) все работает быстро, данные обновляются почти мгновенно. При изменении параметра на панели, на ПЛК параметр изменяется через 10-30 секунд. Это видно в Codesys в режиме онлайн.
Изначально проблемы не было, началось все после того, как я переделал проект, сделал пакетный опрос/запись от ПЛК с помощью String. Ну и одновременно добавил переменных. Сейчас ПЛК опрашивает с панели около 70 WORD (10 String). Все они PFW.
Искал ошибки по регистрам, не нашел. Да и в случае ошибок по номерам регистров были бы просто некорректные данные, насколько я понимаю.
Есть идеи, куда копать?
p.s. ПЛК мастер.
Добрый день.
Я бы рекомендовал вам создать в Codesys пустой проект и последовательно добавлять в него запросы на чтение, контролируя, в какой момент появится задержка.
Это поможет локализовать проблему.
kondor3000
14.10.2020, 11:37
Изначально проблемы не было, началось все после того, как я переделал проект, сделал пакетный опрос/запись от ПЛК с помощью String. Ну и одновременно добавил переменных. Сейчас ПЛК опрашивает с панели около 70 WORD (10 String). Все они PFW.
p.s. ПЛК мастер.
У вас и была эта проблема, для этого вам и предложили переделать на String.
Зачем только 10 String было делать, можно и 2 уложиться ( 35 и 35 WORD или 40 и 30).Если Polling у вас 100ms на 10 String уйдёт 1 сек
2 String и Polling 10ms = 20 ms
И скорее всего напутали с настройками и адресами, проект выкладывайте.
Да и вам обязательно PFW опрашивать? У меня в панели ( с помощью функциональной области) регистры переписываются из постоянной в оперативную память, и уже они опрашиваются, около 100 регистров всего и всё летает.
Вячеслав@
14.10.2020, 12:06
У вас и была эта проблема, для этого вам и предложили переделать на String.
Зачем только 10 String было делать, можно и 2 уложиться ( 35 и 35 WORD или 40 и 30).Если Polling у вас 100ms на 10 String уйдёт 1 сек
2 String и Polling 10ms = 20 ms
И скорее всего напутали адреса, проект выкладывайте.
Проблемы с задержками не было. Был вопрос большого количества переменных Модбас и путаницы, связанной с этим. И хотелось работать с данными, как с массивами, что и сделал.
10 String для удобства. К ПЛК подключено 5 ПР. Большинство данных передаются от ПЛК к ПР и обратно без обработки контроллером. ПР может за раз работать с 11 регистрами максимум. Поэтому и получилось 5 Пр по 2 пакета. На панели сделал такую же разбивку, чтобы напрямую присваивать массив от Панели к ПР и обратно. То есть, есть два массива (от String переменных) от панели, которые я просто присваиваю двум массивам , привязанных к двум String ПР. Да и к тому же в панели у меня адреса разбиты по ПР. Все данные ПР№1 идут от 512 адреса панели , Пр№2 от 1012 адреса и т.д. Так гораздо проще управлять проектом и меньше шансов допустить ошибку.
Весь проект выкладывать не буду, надо долго объяснять, что для чего. Да и стыдно, первый проект на КДС :)
С адресами мог конечно напутать, перепроверю еще раз, но в реальной работе все хорошо, все передается, куда надо.
Предвидя подозрения на медленную связь ПЛК с ПР - при автоматическом изменении режима от ПЛК (без панели) все меняется быстро.
Вот немного скриншотов, чтобы понять, как реализовал чтение/запись на примере одного пакета:
51359 51360
51361 51362
51363
Вячеслав@
14.10.2020, 12:08
Добрый день.
Я бы рекомендовал вам создать в Codesys пустой проект и последовательно добавлять в него запросы на чтение, контролируя, в какой момент появится задержка.
Это поможет локализовать проблему.
К сожалению свободных ПЛК и панели у меня сейчас нет, а на объекте это реализовать сложно, непрерывное производство.
Вячеслав@
14.10.2020, 12:10
Да и вам обязательно PFW опрашивать? У меня в панели ( с помощью функциональной области) регистры переписываются из постоянной в оперативную память, и уже они опрашиваются, около 100 регистров всего и всё летает.
Не обязательно, но так удобнее. При перепрошивки панели все уставки на месте, если адреса не менял. Ну и к тому же именно панель хранит параметры при отключении питания.
Не сразу дошло, извиняюсь. Да, попробую переписать PFW в PSW, спасибо за совет.
kondor3000
14.10.2020, 12:40
Вот немного скриншотов, чтобы понять, как реализовал чтение/запись на примере одного пакета:
Самого главного нет, какая функция на чтение и запись Snring, настройки модулей Модбас ( UMD) чтения и записи панели и Модбас ПР
Так у вас на скринах, Input и Output регистры в одном UMD находятся, а должны быть в разных с разными настройками)))) Вот и вся проблема
Вставлю свои 5 копеек
Большинство данных передаются от ПЛК к ПР и обратно без обработки контроллером. ПР может за раз работать с 11 регистрами максимум. Поэтому и получилось 5 Пр по 2 пакета.
У Вас устаревшая информация.
Такое безобразие было где-то до 9 версии ОL
Сейчас ПР200 за раз все 64 регистра может отдать в одном запросе.
Вячеслав@
14.10.2020, 13:05
Самого главного нет, какая функция на чтение и запись Snring, настройки модулей Модбас ( UMD) чтения и записи панели и Модбас ПР
Так у вас на скринах, Input и Output регистры в одном UMD находятся, а должны быть в разных с разными настройками)))) Вот и вся проблема
То есть для чтения и записи нужно создавать разные UMD? А в чем разница в настройках?
Сейчас параметры модбас такие:
Панель:
51367
ПР:
51366
Чтение звезде 0x03, запись везде 0x10
Вячеслав@
14.10.2020, 13:13
Вставлю свои 5 копеек
У Вас устаревшая информация.
Такое безобразие было где-то до 9 версии ОL
Сейчас ПР200 за раз все 64 регистра может отдать в одном запросе.
Вот так, сколько я лишней работы себе устроил )
Спасибо!
kondor3000
14.10.2020, 13:21
То есть для чтения и записи нужно создавать разные UMD? А в чем разница в настройках?
У вас с панелью проблемы, там и создавайте разные UMD
Для чтения Input регистров By Poll Time, для записи Output регистров By Value Change, другие настройки для String без разницы ( а для обычных регистров есть разница). Polling везде 10 ms
Да и не забудьте поменять адреса в программе, они у вас изменятся.
Вячеслав@
14.10.2020, 13:38
У вас с панелью проблемы, там и создавайте разные UMD
Для чтения Input регистров By Poll Time, для записи Output регистров By Value Change, другие настройки для String без разницы ( а для обычных регистров есть разница). Polling везде 10 ms
Да и не забудьте поменять адреса в программе, они у вас изменятся.
Все понял, так и сделаю. Заодно объединю запросы с/на один ПР, сокращу кол-во String.
Большое спасибо!
kondor3000
14.10.2020, 14:10
Заодно объединю запросы с/на один ПР, сокращу кол-во String.
На данный момент у вас около 45 String по 100 ms, это почти 5 сек задержки, уменьшайте кол-во String и Polling везде 10 ms
Вячеслав@
16.10.2020, 12:46
На данный момент у вас около 45 String по 100 ms, это почти 5 сек задержки, уменьшайте кол-во String и Polling везде 10 ms
Отчет о проделанной работе :) Для интереса попробовал по очереди реализовать все советы.
В итоге помогло разделение UMD панели на два отдельных, чтение и запись, с разными настройками, как Вы писали. Время отклика сразу сократилось с 30 секунд (в среднем) до 1-2 сек. Может и меньше, но мне и этого достаточно )
Остальные изменения (Polling 10ms, объединение String, чтение из PSW вместо PFW) уже не дают заметного эффекта.
Огромная благодарность за помощь!
P.S. я по наивности думал, что режим "Both" объединяет "By value change" и "By pooling time". Оказывается, совсем нет.
Григорий Чумакин
16.10.2020, 17:40
Добрый день. Вот дошли руки навести красоты в проекте. Есть ли возможность анимировать имеющиеся в стандартной библиотеке изображения электрических контактов - ну чтобы в зависимости от бита открыт или закрыт? или только рисовать свои изображения? И если свои рисовать - какие размеры изображения стандартные для индикатора например в пикселях и форматы какие конфигуратор понимает? Спасибо
otporuchik
16.10.2020, 17:41
всем привет! коллеги, подскажите, пожалуйста, что не так?
вот макрос для панели СП3хх:
WORD Addr=PSW[600];
DWORD Var=PSW[602];
Write(HMI_LOCAL_MCH, 0, TYPE_PFW, Addr, 0, TYPE_DWORD, Var);
на самой панели выведены два поля ввода для PSW[600] и PSW[600].
после этого кнопкой активируется функциональная область, вызывающая этот макрос.
ожидание: в регистр PFW с адресом, считанным из PSW[600] записывается значение из PSW[602].
реальность: регистр PFW остается без изменений
Григорий Чумакин
16.10.2020, 17:49
День добрый - да беда с этими макросами - в эмуляции не работают, отлаживать достаточно проблеммно. Я бы для начала убедился что макрос вообще выполняется - ну какую нибудь переменную дернул при выполнении и индикатор зажег. А потом уже разбираться - может чего еще меняет значение в этом адресе. Синтаксис вроде как верный. С уважением
otporuchik
16.10.2020, 18:38
День добрый - да беда с этими макросами - в эмуляции не работают, отлаживать достаточно проблеммно. Я бы для начала убедился что макрос вообще выполняется - ну какую нибудь переменную дернул при выполнении и индикатор зажег. А потом уже разбираться - может чего еще меняет значение в этом адресе. Синтаксис вроде как верный. С уважением
Да, выполнение. На всякий случай пропишу флажок какой-нибудь, чтобы хоть это увидеть.
Спасибо.
День добрый - да беда с этими макросами - в эмуляции не работают, отлаживать достаточно проблеммно. Я бы для начала убедился что макрос вообще выполняется - ну какую нибудь переменную дернул при выполнении и индикатор зажег. А потом уже разбираться - может чего еще меняет значение в этом адресе. Синтаксис вроде как верный. С уважением
Мои попытки предложить инструменты для отладки макросов оказались в курилке, вряд ли Вы туда заглядываете https://owen.ru/forum/showthread.php?t=26783&p=251022&viewfull=1#post251022
Я предложил функцию для вывода диагностической информации из выполняемого макроса на спец.окно.
Есть возможность приостановить выполнение макроса в заданных точках останова на заданное время или до нажатия на экран
В этот момент в окно выводится диагностическая информация - любая, например, заданный текст, значения тех или иных переменных.
В нужном месте любого своего макроса помещаете вызов "функции"
DEBUG(int delay, const char *format, ... ), где
- delay - время "показа" окна отладки в сек
- format - строка формата аналогичная функции fprint, в строке формата можно использовать \n - переход на новую строку, \t - табуляция, \a - короткий бип
- ... собственно сами переменные, которые нужно вывести на экран.
Например,
int a, b, c;
a= 2;
b = PSW[250];
c = a + b;
DEBUG(20, " This is my test\n a= %d b= %d c= %d", a, b, c);
PSW[300] = 100;
PSW[400] = PSW[256] + PSW[300];
DEBUG(30, "PSW[256]= %d PSW[300]= %d PSW[400]= %d", PSW[256], PSW[300], PSW[400]);
Если в Глобальном макросе
#define DEBUG_ENB 1
то
при вызове макроса из примера
на экране панели появится на 20 сек сначала такое окно
> Func1 line 134 in Mac355\Mac355.c
This is my test
a= 2 b= 0 c= 2
Затем, на 30 сек такое окно
> Func1 line 137 in Mac355\Mac355.c
PSW[256]= 0 PSW[300]= 100 PSW[400]= 100
-
Первая строка служебная, формируется автоматически и содержит название макроса, откуда вызывался DEBUG, и номер строки в скомпилированной программе.
Турлюн_Александр
20.10.2020, 16:30
Добрый день, не могу считать данные с панели СП307-Б (561192003321251) контроллером ПЛК 110-24.30.Р-L(54213200332112610 targets_v3.3_for_plc1xx_m02) по rs 485 (Modbus-rtu).
Отправить данные на панель получается. Получать и отправлять данные на ПР200 получается.
Оба порта Контроллера в режиме Мастер.
Пробовал с обоих портов подключать и панель и ПР200. С панели данные не приходят.
Григорий Чумакин
20.10.2020, 19:16
Мои попытки предложить инструменты для отладки макросов оказались в курилке, вряд ли Вы туда заглядываете
Спасибо за ваш труд - почитал, отличная реализация отладчика макросов- возьму на вооружение. Действительно в курилку не заглядывал - зря как оказалось)
Спасибо за ваш труд - почитал, отличная реализация отладчика макросов- возьму на вооружение. Действительно в курилку не заглядывал - зря как оказалось)
Если будете использовать этот отладчик, то следует иметь ввиду, что:
Режим выполнения отлаживаемого макроса, хотя бы на время отладки, должен быть установлен - "Параллельный"
51465
Иначе нельзя управлять "Окном отладки" кнопками Влево, Вправо и ОК.
После отладки режим выполнения может быть установлен как - "Последовательный"
... Действительно в курилку не заглядывал - зря как оказалось)
Там еще кое что в качестве примера макросов на Си можно посмотреть https://owen.ru/forum/showthread.php?t=33784
kondor3000
24.10.2020, 21:01
Добрый день, не могу считать данные с панели СП307-Б (561192003321251) контроллером ПЛК 110-24.30.Р-L(54213200332112610 targets_v3.3_for_plc1xx_m02) по rs 485 (Modbus-rtu).
Отправить данные на панель получается. Получать и отправлять данные на ПР200 получается.
Оба порта Контроллера в режиме Мастер.
Пробовал с обоих портов подключать и панель и ПР200. С панели данные не приходят.
Предыдущие 2 страницы читайте, только обсуждали.
Bigcrash
29.10.2020, 15:19
Как настроить часы реально времени на СП307?
Евгений Кислов
29.10.2020, 16:17
Как настроить часы реально времени на СП307?
https://youtu.be/oV6MrQPyakw
Андрей007
03.11.2020, 15:53
Товарищи, подскажите пожалуйста!
Затираются PFW регистры в СП307-Р, может эта тема уже была?
Дайте ссылку если не трудно.
Коротко: задаю в 300-450 PFW значения , через пару дней там 65535!
В проекте есть тренды в автообласти и архив
https://yadi.sk/d/xxEmAHNJdY4BpA
Техподдержка, на мое удивление, дала заднюю, вот так..
Термокон
04.11.2020, 20:15
Здравствуйте, коллеги!
У меня панель СП307 соединена по Modbus RTU с контроллером температуры и влажности Термодат 38Е6. Необходимо с панели оператора вводить значения уставки температуры в контроллер. Формат регистра уставки в контроллере - беззнаковая целая. Когда вводишь отрицательные значения, контроллер естественно ругается. Необходимо вводить значения в формате "DEC", а записывать в контроллер в формате "UNSIGNED". Каким образом можно это реализовать "малой кровью"? Люди не поймут, чтобы выставить температуру минус 10 градусов, надо вводить 65528 !!
Евгений Кислов
04.11.2020, 20:22
Если вы для теста добавите на экран два цифровых ввода (один с dec, другой с unsigned), привязанных к одному регистру, и введете в dec -10, то увидите, что во втором отобразится именно 65526.
Т.е. это просто разные представления одного и того же набора байт в памяти.
Поэтому вопрос в другом - как именно "ругается" ваш контроллер и какой формат данных ему нужен?
Термокон
05.11.2020, 09:19
Контроллеру как раз нужен формат unsigned, два регистра на экране с разными форматами я уже делал. Надо передать в контроллер значение Unsigned, с положительными значениями все ОК, а с отрицательными не идет. Короче , надо вводить DEC, а передавать Unsigned.
Евгений Кислов
05.11.2020, 09:24
Контроллеру как раз нужен формат unsigned, два регистра на экране с разными форматами я уже делал. Надо передать в контроллер значение Unsigned, с положительными значениями все ОК, а с отрицательными не идет. Короче , надо вводить DEC, а передавать Unsigned.
DEC и Unsigned - это представление, понятное людям.
С точки зрения хранения в памяти -10 и 65528 - это один и тот же набор бит.
Поэтому я не могу понять фразу "надо вводить DEC, а передавать Unsigned".
kondor3000
05.11.2020, 10:06
Контроллеру как раз нужен формат unsigned, два регистра на экране с разными форматами я уже делал. Надо передать в контроллер значение Unsigned, с положительными значениями все ОК, а с отрицательными не идет. Короче , надо вводить DEC, а передавать Unsigned.
DEC соответствует INT , а Unsigned - WORD. У вас два варианта, с помощью масштабирования в дисплее перевести DEC в Unsigned, либо с помощью макроса INT_TO_WORD.
Есть и 3 вариант, с помощью функциональной области ( или функциональной кнопки) копировать задающий регистр в другой, там же математической операцией прибавить к заданному числу 65536. И уже его отправить в контроллер.
Термокон
05.11.2020, 12:54
Огромное Вам спасибо, буду пробовать.
Bigcrash
15.11.2020, 10:50
Добрый день.
Вопрос про подсветку.
В панели есть системный регистр, отвечающий за яркость подсветки, хочу чтоб по истечении заданного времени она отключалась до следующего нажатия, и включалась при любом тапе, но не могу придумать, как это сделать. Т.е. как можно отследить само нажатие?
PS СП310-Р
Евгений Кислов
15.11.2020, 10:56
Добрый день.
Посмотрите этот пример: https://ftp.owen.ru/SP300/99_ForumFiles/Example_AutoDimScreen.txp
Время неактивности задается в Настройки проекта - Общие - Заставка/Интервал.
Чили-Рома
16.11.2020, 13:39
Там где от сигнала зависит результат технологических функций программы (сигнализация, защиты, регулирование и т.п.). Если их нет и система только информационная, то достаточно предупредительных сигналов о потере связи, в разветвленной сети - с указанием с кем именно.
Дошло, что Вы имели в виду.) Не смогли бы Вы подсказать, как это реализовать при варианте СП-слейв, а ПРка - мастер?
Варианта с контролем Статуса достаточно?52044
Bigcrash
23.11.2020, 09:52
Добрый день.
Панель с одной стороны работает как мастер, опрашивая термостаты, с другой стороны как слейв, передает данные ПЛК160.
Вопрос: как переданные значения температуры передать на ПЛК? Когда панель слейв, тут все ясно, есть внутренняя именованная область память (PSW, PFW и тп.), но когда панель как мастер, она куда данные складывает, как их вытащить?
Евгений Кислов
23.11.2020, 09:54
Добрый день.
Панель с одной стороны работает как мастер, опрашивая термостаты, с другой стороны как слейв, передает данные ПЛК160.
Вопрос: как переданные значения температуры передать на ПЛК? Когда панель слейв, тут все ясно, есть внутренняя именованная область память (PSW, PFW и тп.), но когда панель как мастер, она куда данные складывает, как их вытащить?
Добрый день.
Используйте фунциональную область для опроса ваших приборов.
https://youtu.be/c_PfSdLZWlY
Здравствуйте.
Пишу проект для связки СП315Р +ПЛК160(старая версия)+МВ210-101 - все общается по эзерент. Данные с МВ тянуться в ПЛК, а результат обработки идет в СП.
СП с ПЛК, но без МВ работает отлично. ПЛК с МВ, но без СП работает отлично.
Однако если стартануть все вместе то происходит следующее:
1. СП стартует первой и пока грузиться ПЛК, сообщает что не видит ПЛК.
2. Загружается ПЛК и далее два варианта:
а)СП отваливается от ПЛК. При этом данные в ПЛК с МВ тянуться нормально - это видно в онлайне ПЛК;
б) СП подключается к ПЛК и тянуться данные со входов ПЛК, быстродействие панели отличное, НО отваливается МВ - это видно онлайне ПЛК.
Так же изредка появляется третий вариант: СП и МВ подключаются к ПЛК, но СП очень сильно тормозит и через 5-10 отваливается от ПЛК.
СП и МВ конфликтуют при одновременной работе. СП для ПЛК мастер, МВ для ПЛК слейв универсал модбас девайс. Уже и порты разные ставил и пробовал поиграться с настройками связи в панели (время ожидания и таймаут) ничего не помогает.
Можно подключить СП по 232му, но тогда панель работает медленнее по сравнению с эзернет.
Подскажите пожалуйста, где я допустил ошибку.
Евгений Кислов
23.11.2020, 11:10
Здравствуйте.
Пишу проект для связки СП315Р +ПЛК160(старая версия)+МВ210-101 - все общается по эзерент. Данные с МВ тянуться в ПЛК, а результат обработки идет в СП.
СП с ПЛК, но без МВ работает отлично. ПЛК с МВ, но без СП работает отлично.
Однако если стартануть все вместе то происходит следующее:
1. СП стартует первой и пока грузиться ПЛК, сообщает что не видит ПЛК.
2. Загружается ПЛК и далее два варианта:
а)СП отваливается от ПЛК. При этом данные в ПЛК с МВ тянуться нормально - это видно в онлайне ПЛК;
б) СП подключается к ПЛК и тянуться данные со входов ПЛК, быстродействие панели отличное, НО отваливается МВ - это видно онлайне ПЛК.
Так же изредка появляется третий вариант: СП и МВ подключаются к ПЛК, но СП очень сильно тормозит и через 5-10 отваливается от ПЛК.
СП и МВ конфликтуют при одновременной работе. СП для ПЛК мастер, МВ для ПЛК слейв универсал модбас девайс. Уже и порты разные ставил и пробовал поиграться с настройками связи в панели (время ожидания и таймаут) ничего не помогает.
Можно подключить СП по 232му, но тогда панель работает медленнее по сравнению с эзернет.
Подскажите пожалуйста, где я допустил ошибку.
Добрый день.
Попробуйте в настройках СП для Modbus TCP увеличить таймаут и число перезапросов.
Добрый день.
Попробуйте в настройках СП для Modbus TCP увеличить таймаут и число перезапросов.
Спасибо за столь быстрый ответ.
Связь стала устойчивей и скорость реакции СП возросла, но все равно как бы "закусывает" интерфейс панели.
1. До каких величин можно увеличивать таймаут?
2. Стоит ли увеличить таймаут в модулях?
3. С чем может быть связна, описанная выше, ситуация?
Добрый день, а есть какая-то возможность сбросить пароль на панели СП307-Б?
Исходного проекта нет.
С уважением.
Евгений Кислов
26.11.2020, 14:16
Добрый день, а есть какая-то возможность сбросить пароль на панели СП307-Б?
Исходного проекта нет.
С уважением.
Добрый день.
Речь о пароле для выгрузки проекта или пароле в визуализации?
Aviator_VZh
29.11.2020, 22:18
Добрый день.
Подскажите, пожалуйста, есть ли возможность, что бы при открытии окна видимые элементы экрана были неактивными?
Добрый день.
Подскажите, пожалуйста, есть ли возможность, что бы при открытии окна видимые элементы экрана были неактивными?
Можно закрыть видимые элементы экрана вторым окном, пустым, с размерами как у экрана (800х480).
А первое открывать поверх пустого окна.
52248 52249
52250 52251
Добрый день.
Подскажите, пожалуйста, есть ли возможность, что бы при открытии окна видимые элементы экрана были неактивными?
Вариант номер 2
Будет именно так, как Вы хотите - видимые элементы экрана будут неактивными
Способ подходит если у Вас в проекте не используются парольный доступ или используете не все уровни доступа
Делаем для всех элементов экрана доступ по паролю, например 9 уровень
52253 52254
Теперь нужно манипулировать системным битом PSB68 - разрешить/запретить доступ девятого уровня.
Биты PSB для других уровней доступа - см. в руководстве панели.
При открытии окна сбрасываем бит PSB68
52255
видимые элементы экрана будут неактивными
При закрытии окна - устанавливаем бит PSB68
52256
Ну и чтобы первоначальный доступ к элементам экрана был разрешен, нужно в первый момент времени ф. областью ВКЛ. бит PSB68,например, при открытии окна или при включении панели (глобально)
52257
Aviator_VZh
30.11.2020, 11:15
Вариант 2 красивый, спасибо!
И отдельное Вам спасибо за ГМ для СП300 и, вообще, за постоянную поддержку участников форума!
Bigcrash
01.12.2020, 13:21
Добрый день. Как в СП307 можно организовать кнопку, чтоб при достижении верхнего предела происходил сброс на начальное значение? Т.е. скажем массив 1,2. Изначально записана 1. При нажатии 2, еще раз - 1 и так по кругу? Есть идея сделать это через функциональную область, но может еще какой вариант посоветуете?
Bigcrash
01.12.2020, 13:23
Добрый день. Как в СП307 можно организовать кнопку, чтоб при достижении верхнего предела происходил сброс на начальное значение? Т.е. скажем массив 1,2. Изначально записана 1. При нажатии 2, еще раз - 1 и так по кругу?
Добрый день. Как в СП307 можно организовать кнопку, чтоб при достижении верхнего предела происходил сброс на начальное значение? Т.е. скажем массив 1,2. Изначально записана 1. При нажатии 2, еще раз - 1 и так по кругу?
52282
52283
Bigcrash
02.12.2020, 13:40
Спасибо, отличное решение!
Bigcrash
02.12.2020, 14:25
Вопрос про функциональную область.
Панель собирает данные с приборов по одному порту и нужно передать их на ПЛК по другому, который также является слейвом по отношению к панели. Я эти данные копирую через функциональную область от приборов в ПЛК (Download ---> PLC порт), но этих функциональных областей создал по кол-ву приборов (но нумерация идет сквозная для регистров ПЛК). Режим - циклический опрос. Правильная ли эта схема организации передачи данных?
Сразу ремарка, приборы опрашиваются на 9600, больше некоторые не могут, поэтому ПЛК посажен на отдельный порт на 115200.
Добрый день.
Речь о пароле для выгрузки проекта или пароле в визуализации?
Речь о пароле в визуализации.
Евгений Кислов
03.12.2020, 09:14
Речь о пароле в визуализации.
Пароли хранятся в системных регистрах (см. в справке) - если панель настроена как slave по одному из интерфейсов, и настройки обмена известны, то можно подключиться к ней модбас мастером, считать эти регистры и узнать пароли/изменить их.
приборист
03.12.2020, 12:02
Когда FTP Начнет нормально работать?
Вечно с ним косяки - сидишь на объекте, надо что-то скачать - хрен тебе, а не скачать.
Вот где взять конфигуратор СП300?
Евгений Кислов
03.12.2020, 13:12
Когда FTP Начнет нормально работать?
Вечно с ним косяки - сидишь на объекте, надо что-то скачать - хрен тебе, а не скачать.
Вот где взять конфигуратор СП300?
Здесь:
http://www.owen.ru/upl_files/PO/SP300_project_V2.D3k-5.zip
Aviator_VZh
05.12.2020, 12:56
Добрый день.
Вопрос по функции управления обменом со slave устройствами. Видимо, при PFW130 = 0 эта функция отключена. При PFW > 0 резервируется группа из 192 последовательных регистров. Я правильно понимаю, что функционально будут работать только биты slave устройств, прописанных в программе? Все остальные биты в этой группе регистров я могу использовать по своему усмотрению?
Евгений Кислов
05.12.2020, 14:57
Добрый день.
Вопрос по функции управления обменом со slave устройствами. Видимо, при PFW130 = 0 эта функция отключена. При PFW > 0 резервируется группа из 192 последовательных регистров. Я правильно понимаю, что функционально будут работать только биты slave устройств, прописанных в программе? Все остальные биты в этой группе регистров я могу использовать по своему усмотрению?
Добрый день.
Да, можете использовать их по своему усмотрению.
Newcomer
13.12.2020, 21:42
Добрый вечер.
К сенсорной панели СП307-Р по Ethernet (протокол Modbus/TCP) подключено Slave устройство. Из этого устройства необходимо читать в панель 32-х битную переменную. В эти 32 бита упакованы две переменные PDV1 и PDV2 (см.картинку). Как эту 32-х битную переменную прочитать в панель и как затем из нее вычленить две переменные ?
Евгений Кислов
13.12.2020, 22:09
Добрый вечер.
К сенсорной панели СП307-Р по Ethernet (протокол Modbus/TCP) подключено Slave устройство. Из этого устройства необходимо читать в панель 32-х битную переменную. В эти 32 бита упакованы две переменные PDV1 и PDV2 (см.картинку). Как эту 32-х битную переменную прочитать в панель и как затем из нее вычленить две переменные ?
Это можно сделать через элемент Функциональная область (действие Копировать регистр, тип DWORD).
Newcomer
13.12.2020, 23:21
Это можно сделать через элемент Функциональная область (действие Копировать регистр, тип DWORD).
Спасибо, попробую.
Mr_Camel
14.12.2020, 08:36
Добрый день!
А есть какая то возможность использовать граф.элементы расширением WMF?
Раньше работал с панелями weintek и создал свою библиотеку элементов, хотелось бы использовать ее здесь, но не знаю как подсунуть их в конфигуратор.
Евгений Кислов
14.12.2020, 08:47
Добрый день!
А есть какая то возможность использовать граф.элементы расширением WMF?
Раньше работал с панелями weintek и создал свою библиотеку элементов, хотелось бы использовать ее здесь, но не знаю как подсунуть их в конфигуратор.
Добрый день.
Поддержки .wmf нет, можно только конвертировать в поддерживаемый формат (.png, .jpg) и после этого импортировать в конфигуратор.
Mr_Camel
14.12.2020, 09:40
Спасибо. Так то понятно. Просто это же мета данные и там была анимация. Естественно она потеряется. Жаль, прямо не хватает кое чего. Ладно руками нарисуем)))
Aviator_VZh
15.12.2020, 11:15
Добрый день.
Объясните, пожалуйста, подробнее эту фразу из Руководства по эксплуатации: "Не допускается соединение панели с другими приборами по клеммам функционального заземления без использования заземлителя."
Евгений Кислов
15.12.2020, 11:19
Добрый день.
Объясните, пожалуйста, подробнее эту фразу из Руководства по эксплуатации: "Не допускается соединение панели с другими приборами по клеммам функционального заземления без использования заземлителя."
Добрый день.
Смысл фразы в том, что если клемма FE используется - то она должна быть подключена исключительно к шине функционального заземления (а не к чему-либо еще).
Aviator_VZh
15.12.2020, 11:35
Добрый день.
Смысл фразы в том, что если клемма FE используется - то она должна быть подключена исключительно к шине функционального заземления (а не к чему-либо еще).
А что такое "Заземлитель"?
Aviator_VZh
15.12.2020, 11:52
И еще вопрос.
Из Руководства пользователя: "В случае использования элементов ввода (Переключатель, Цифровой ввод, Операции с данными и т. д.) панель записывает значения в slave-устройства не циклически, а однократно.
Соответственно, у slave-устройств должен быть отключен таймаут ожидания запроса от мастера..."
Как в ПР200 отключить таймаут? Установить значение 0? При таких настройках облачный шлюз будет нормально работать?
Евгений Кислов
15.12.2020, 12:09
1. Под заземлителем понимается шина функционального заземления.
2. В OwenLogic, насколько я помню, в слэйве нет настройки таймаута ожидания запросов от мастера. Так что проблем быть не должно.
Aviator_VZh
15.12.2020, 12:47
Ок, спасибо!
Всем привет. Имеется следующая проблема, использую ПЛК 210-03 в связке с СП310-р, связь через эзернет, панель является мастером в данном случае. После отключения питания с устройств и его возобновления, панель не видит контроллер, но, если подключиться к контроллеру через usb, зайти в кодесис в режим онлайн, он сразу его видит. Как сделать так, чтобы после отключения питания панель сразу находила ПЛК?
Евгений Кислов
29.12.2020, 20:03
Всем привет. Имеется следующая проблема, использую ПЛК 210-03 в связке с СП310-р, связь через эзернет, панель является мастером в данном случае. После отключения питания с устройств и его возобновления, панель не видит контроллер, но, если подключиться к контроллеру через usb, зайти в кодесис в режим онлайн, он сразу его видит. Как сделать так, чтобы после отключения питания панель сразу находила ПЛК?
Добрый день.
Попробуйте поставить такие настройки:
52845
Добрый день.
Попробуйте поставить такие настройки:
52845
Хорошо. А По хорошему при подключении панели как мастера, такой проблемы быть не должно?
Добрый день.
Попробуйте поставить такие настройки:
52845
Это не решило проблему. Так же попробовал сделать панель слейвом, и такая же ситуация. В чем может быть ошибка и как в этим бороться?
Евгений Кислов
02.01.2021, 15:07
Это не решило проблему. Так же попробовал сделать панель слейвом, и такая же ситуация. В чем может быть ошибка и как в этим бороться?
Снимите видео с демонстрацией проблемы и выложите проекты для ПЛК и панели, пожалуйста.
Снимите видео с демонстрацией проблемы и выложите проекты для ПЛК и панели, пожалуйста.
Отправил Вам на почту.
VladimirRabcun
25.01.2021, 03:37
Здравствуйте, есть нужда задавать структуру каталогов на USB носителе в виде год/месяц/час.csv. При проверочной компиляции компилятор макросов не ругается на mkdir, но во время загрузки в панель выдает ошибку. Есть ли возможность создавать каталоги? Панель СП310-Р.
Newcomer
25.01.2021, 11:26
Добрый день.
К панели по Ethernet (протокол Modbus TCP) подключено внешнее устройство (IO-Link master). В панели надо задать IP адрес этого устройства и номер порта. IP адрес устройства известен. Вопрос - какой номер порта можно задать в данном случае ?
Евгений Кислов
25.01.2021, 11:32
Добрый день.
К панели по Ethernet (протокол Modbus TCP) подключено внешнее устройство (IO-Link master). В панели надо задать IP адрес этого устройства и номер порта. IP адрес устройства известен. Вопрос - какой номер порта можно задать в данном случае ?
Добрый день.
По спецификации для Modbus TCP используется порт 502.
Newcomer
25.01.2021, 11:34
Добрый день.
По спецификации для Modbus TCP используется порт 502.
Большое спасибо.
Евгений Кислов
25.01.2021, 11:43
Здравствуйте, есть нужда задавать структуру каталогов на USB носителе в виде год/месяц/час.csv. При проверочной компиляции компилятор макросов не ругается на mkdir, но во время загрузки в панель выдает ошибку. Есть ли возможность создавать каталоги? Панель СП310-Р.
Добрый день.
Не могу оперативно дать комментарий, можно ли это сделать из макросов, но с помощью элемента Архирование на USB вашу задачу решить можно - в настройках элемента можно указать путь до файла с учетом каталогов, они будут созданы автоматически.
VladimirRabcun
25.01.2021, 12:37
Добрый день.
Не могу оперативно дать комментарий, можно ли это сделать из макросов, но с помощью элемента Архирование на USB вашу задачу решить можно - в настройках элемента можно указать путь до файла с учетом каталогов, они будут созданы автоматически.
Спасибо за совет, но, к сожалению, с помощью этого элемента, не решить некоторых других проблем. Пожалуйста, отпишитесь позже, если этот вопрос возможно решить с помощью макросов.
VladimirRabcun
28.01.2021, 07:51
Здравствуйте. Решил создавать каталоги через элемент "Архивирование на USB" и скриптом уже писать туда свой файл. Все получилось, но этот элемент создает свой файл, который мне не нужен. При попытке удаления файла командой remove, панель повисает. Эта команда тоже не работает?
Евгений Кислов
28.01.2021, 09:20
Здравствуйте. Решил создавать каталоги через элемент "Архивирование на USB" и скриптом уже писать туда свой файл. Все получилось, но этот элемент создает свой файл, который мне не нужен. При попытке удаления файла командой remove, панель повисает. Эта команда тоже не работает?
Через remove и fremove не получится, насколько я помню.
Пример решения задачи отправил вам на почту.
Здравствуйте. панель СП310 в качестве слэйва по rs232 скорость 115200, мастером являетя плк 160(м2). Проблема в том что обновление данных происходят порядка через секунд 20 это очень долго. что посоветуете?
krollcbas
04.02.2021, 11:18
Использовал такую панель не так давно и на отклик не было жалоб. До секунды воздействие.
1. Соединял с ПЛК110 по Ethernet
2. Панель любая, любой HMI (даже если их несколько) всегда делаю мастерами.
Это "глаза" что с точки зрения схемы управления - первично.
53355
Здравствуйте. панель СП310 в качестве слэйва по rs232 скорость 115200, мастером являетя плк 160(м2). Проблема в том что обновление данных происходят порядка через секунд 20 это очень долго. что посоветуете?
проверить еще раз регистры, которые в ПЛК и СП, WORD, DWORD. Возможно где-то что-то накладывается. У меня когда-то было из за это связь тормозилась. А так скорость, для человека мгновенная (если ПАНЕЛЬ - МАСТЕР).
Здравствуйте. панель СП310 в качестве слэйва по rs232 скорость 115200, мастером являетя плк 160(м2). Проблема в том что обновление данных происходят порядка через секунд 20 это очень долго. что посоветуете?
Это потому, что мастер, который в конфигурации ПЛК, не умеет делать групповые запросы с слейву(к панели).
Используйте в в КОНФИГУРАЦИИ ПЛК модули String input/output для ускорения обмена по шине ModBus, например
https://owen.ru/forum/showthread.php?t=22915&p=333593&viewfull=1#post333593
https://owen.ru/forum/showthread.php?t=22915&p=244022&viewfull=1#post244022
kondor3000
05.02.2021, 18:18
Здравствуйте. панель СП310 в качестве слэйва по rs232 скорость 115200, мастером являетя плк 160(м2). Проблема в том что обновление данных происходят порядка через секунд 20 это очень долго. что посоветуете?
Читайте пост 1926 и ранее
https://owen.ru/forum/showthread.php?t=22915&page=193
kondor3000
06.02.2021, 11:16
Всем спасибо. Лучше сделаю панель Мастером. скорее всего это оптимальное решение для 24 регистров.
Но а насчет слэйва если панель в режиме слэйв, то мне всегда не дает покоя такой параметр как polling time в конфигураторе плк. к примеру UDM содержит грубо 32 регистра, то какую цифорку мне поставить в настройках UDM в поле polling time цифорку 100мс или цифору 3200 мс?? как грамотно ? или аж 10 мс?
Странный вы человек, 24 регистра в любом виде практически мгновенно передаются и в Мастере и в Слейве (даже через конфигурацию), если правильно настроена связь, проблемы возникают при нескольких сотнях регистров. Ответы все уже даны, осталось прочитать и сделать.
wladimirovich
19.02.2021, 16:17
Здравствуйте.
В процессе работы с СП315 в связке с ПЛК 110-60 по Modbus TCP, столкнулся с тем, что после перезагрузки по питанию контроллера и панели СП315 не подключается по TCP к ПЛК 110-60, у ПЛК переключатель работы включен, проверил на СП310 после перезагрузки по питанию почти сразу подключается, проект тот же настройки те же.
Евгений Кислов
19.02.2021, 17:35
Здравствуйте.
В процессе работы с СП315 в связке с ПЛК 110-60 по Modbus TCP, столкнулся с тем, что после перезагрузки по питанию контроллера и панели СП315 не подключается по TCP к ПЛК 110-60, у ПЛК переключатель работы включен, проверил на СП310 после перезагрузки по питанию почти сразу подключается, проект тот же настройки те же.
Добрый день.
Попробуйте установить такие настройки:
https://owen.ru/forum/showthread.php?t=22915&p=346707&viewfull=1#post346707
Здравствуйте.
Может панель работать как слейв по Ethernet (протокол Modbus TCP) ?
Евгений Кислов
20.02.2021, 08:39
Здравствуйте.
Может панель работать как слейв по Ethernet (протокол Modbus TCP) ?
Добрый день.
Да, может.
Спасибо.
не нашел в инструкции
почему то связь не стабильная53574
Какая распиновка шнурка для конфигурирования панели через Download порт. Через USB программируется но хочется сделать дистанционное программирование попробовать.
Евгений Кислов
08.04.2021, 18:47
Какая распиновка шнурка для конфигурирования панели через Download порт. Через USB программируется но хочется сделать дистанционное программирование попробовать.
Обычный нуль-модемный кабель: 2-3, 3-2, 5-5.
kondor3000
08.04.2021, 18:58
Какая распиновка шнурка для конфигурирования панели через Download порт. Через USB программируется но хочется сделать дистанционное программирование попробовать.
А панель разве можно через Download порт запрограммировать? Там кроме RS485 и RS232 нет ничего.54432
Или я чего то не знаю?
Обычный нуль-модемный кабель: 2-3, 3-2, 5-5.Не шьется через обычный. Может 7 пина не хватает как у СП270?
Евгений Кислов
09.04.2021, 07:43
Не шьется через обычный. Может 7 пина не хватает как у СП270?
Там режим загрузки активируется DIP-переключателем, так что перемычка не нужна.
Объясните в подробностях, как именно вы пытаетесь загрузить проект, пожалуйста.
А панель разве можно через Download порт запрограммировать? Там кроме RS485 и RS232 нет ничего.54432
Или я чего то не знаю?
Можно, но зачем?
Скорость загрузки даже простейшего проекта катастрофически медленная!
https://www.youtube.com/watch?v=8fnrt-G-io8
Загрузка через USB
https://www.youtube.com/watch?v=CEWkz70etgM
Почувствуйте разницу!
ЗЫ.
Кабель для загрузки не делал, взял от СП270 (КС4)
MikiMouse
13.04.2021, 10:59
Добрый день! Я решил-таки внедрить графики в свой проект на панели оператора и ужаснулся возможностям и реализации этой функции на ОВЕН СП310.
Может быть я чего-то не увидел, но как я понял выбирать дату графика для просмотра невозможно? Можно только пользоваться кнопками "Предыдущий/следующий элемент"?
На историческом графике почему-то отображается одна и та же дата, хотя я переключаюсь между разными датами, периодически отображаются странные цифры, типа "0А.5В.0000", не настраивается отображение Y шкалы.
Тренды вообще не понял, периодически сбрасываются, при загрузке выдают ошибку, что для него мало памяти на панели и т.д. и т.п.
Правильно ли я понял, что все графики в данной панели сделаны, чтобы наблюдать информацию максимум за ближайший день и то без особого удобства в навигации? Или я что-то не обнаружил в возможностях конфигуратора?
krollcbas
13.04.2021, 11:29
Правильно ли я понял, что все графики в данной панели сделаны, чтобы наблюдать информацию максимум за ближайший день и то без особого удобства в навигации? Или я что-то не обнаружил в возможностях конфигуратора?
Сделано не самым удобным образом и действительно запутаться при разработке не представляется сложной задачей.
Говорю за себя: мне видится неправильным ждать от панели функциональности как от SCADA
В тех проектах, которые сдавал, там действительно не используются графики как исторические.
Несколько минут. Если где не прав, прошу поправить
54499
Там режим загрузки активируется DIP-переключателем, так что перемычка не нужна.
Объясните в подробностях, как именно вы пытаетесь загрузить проект, пожалуйста.
Да, изначально я пробовал без dip2 заливать. Но у меня и с dip2 не заливается через порт Download. Попутно dip1 и dip4 проверил. Они тоже не работают несмотря на то что в программе порт не задействован. В итоге я приостановил свои попытки сделать дистанционное программирование панели.
Что касается ужасных трендов, так и хочется спросить. А вас только тренды смутили У меня после опыта Weintek и СПК программирование СП3хх вызвало очень много ярких сопровождающихся нецензурной лексикой эмоций
MikiMouse
13.04.2021, 11:45
Сделано не самым удобным образом и действительно запутаться при разработке не представляется сложной задачей.
Говорю за себя: мне видится неправильным ждать от панели функциональности как от SCADA
В тех проектах, которые сдавал, там действительно не используются графики как исторические.
Несколько минут. Если где не прав, прошу поправить
54499
Со скадой, конечно не сравниваю, но вот с панелями Weintek пришлось сравнить. Заказчик поставил задачу, чтобы вся автоматика была фирмы Овен.
Контроллерами более чем доволен, а вот с панелькой грустняшка. До этого все проекты реализовывали на панелях Weintek. Чудесный график с возможностью включения/выключения определённого пера, его толщины, всплывающее окно с выбором даты, возможность записи на флешку, чтение с той же флешки, в общем полноценный самодостаточный втроенный инструмент без костылей, очень даже замещающий возможности средненького по функционалу Скада проекта.
А тут, к сожалению, достатков у графиков не обнаружил. Ещё раз повторюсь, возможно не разобрался в чём-то, но последнее, что добило, это Y шкала на историческом графике, разделённая на 4 зоны, и имеющая средний срез не по середине. Обнаружил в графическом редакторе, добавляя свою сетку. 54500
У Weinteka очень неудобно динамические адреса реализованы. Их там считай что нет, только через макросы. В остальном вообще проблем с ними нет, а СП3хх для меня одна большая проблема, но динамические адреса есть - это плюс.
Добрый день. Подскажите пожалуйста есть ли в СП-315Р возможность загрузки проекта через порт ethernet?
Евгений Кислов
19.04.2021, 10:13
Добрый день. Подскажите пожалуйста есть ли в СП-315Р возможность загрузки проекта через порт ethernet?
Добрый день.
Такой возможности нет.
mitroshkin
30.04.2021, 11:41
Разрабы!!!!! Обьясните, неужели масштаб 125%, 150%, 350% удобны при пересчете графики? Я молчу о том что при этом на экране происходит.
Разве сложно подсмотреть в известных системах разработки? 200%, 400% ....
- Почему нет привязки к сетке?
- Почему курсор при рисовании движется не по пикселям, а как ему вздумается? Вертикальную или горизонтальную линию нарисовать в многоугольнике просто не возможно.
- Почему линия на конце закругляется? При толщине 3 пикселя торчит убогий хвостик. Сделайте в свойствах возможность убрать закругление.
Добрый день!
Как оптимально разделить флоат (к примеру из регистров PSB300-301) на целую и дробную (то, что после запятой нужно видеть целым числом) часть?
Дополню, после запятой фиксировано два знака, не более.
С алгоритмом проблем нет, беда с указателями... Не использовал, даже когда (15 лет назад) программил на единственном варианте С для PIC-ов.
Да, опечатка. Работа с флоат в панели, как я понимаю, через указатели происходит. Насчет тайного смысла "разделить" тоже ничего сложного, - заказчик попросил изменить способ ввода: вместо ввода двух номеров (шкаф и клапан) сделать зараз, через ввод с точкой.
Панели, увы, дома нет, без проверки рабочий код боюсь не напишу, а эксперементировать в цехе на живом производстве некомильфо.
WORD box, valve;
float fValue;
fValue = *(float*)(PSW+380);
box = (int) fValue;
valve = (int) ((fValue - (float)box) * 100);
Это код рабочий (не в смысле алгоритма, а в смысле правил использования языка)?
Вот так, наверное, правильней.
WORD box, valve;
float fValue;
fValue = *(float*)(PSW+380);
box = (int) fValue;
valve = (int) ((fValue - (float)box) * 100 + 0.49);
mitroshkin
06.05.2021, 19:14
Можно ли в Конфигураторе задать для простой картинки простую анимацию (visible) и при этом не изголяться с индикатором?
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot