• обязательно заполнить свой профиль на русском языке кириллицей
  • не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему
  • дублирование сообщений приравнивается к спаму
  • за поиск и предложение пиратского ПО - бан без предупреждения
  • рекламу и частные объявления мы не размещаем ни на каких условиях

дружба altivar и TIA Portal

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 20 дек 2016, 08:44

CHANt писал(а): Я Вам открою страшную, престрашную тайну! :ext_secret: Если StateWord равен нулю, то связи нет!

"А ларчик просто открывался" :)
Согласен, можно по ноликам судить.


AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 20 дек 2016, 09:07

sprohor писал(а):
Я Вам открою страшную, престрашную тайну! :ext_secret: Если StateWord равен нулю, то связи нет!
При потере связи с ведомым устройством в ПЛК S7-300 вызываются прерывания обработки ошибки связи OB87 и доступа к периферии OB122, в которых можно узнать с кем потеряна связь.
Вот помучился с этим вчера. При потере связи CPU в стоп уходил. Почитал, и на этом форуме тоже, что необходимо создать блок ОВ86. Но его необходимо запрограммировать. У меня не получилось, т.к. я без понятия что куда писать в нем. Пытался отключить его, используя SFC с 39 по 42. Тоже безрезультатно. Их я уже программировал в соответствии с хелпом.
Далее насоздавал ОВ85, 55 и 122. И, как мне кажется, помог именно ОВ122. Теперь CPU в стоп не уходит, а горит ошибка хардвейр (SF) и по шине мигает (busf1).
Я понимаю, что временные файлы в данных ОВ можно читать, и есть расшифровки всех значений. Но как они программируются не пойму.
Я до правильного решения дошёл, как вы считаете?

Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1376
Зарегистрирован: 25 июл 2008, 09:25
Имя: Гринев Эдуард Владимирович
Откуда: село Пруды
Благодарил (а): 20 раз
Поблагодарили: 69 раз
Контактная информация:

дружба altivar и TIA Portal

Сообщение CHANt » 20 дек 2016, 09:17

Вы решите сначала задачу управления ПЧ, а уже потом диагностику и прочее ))) А то так еще не один месяц уйдет на освоение Step7 ))) Просто добавьте в проект ОВ40, ОВ82, ОВ86, ОВ121, ОВ122, программить их не надо, достаточно наличия - будет гореть SF, но мешать работать не будет. Программу достаточно будет сделать в ОВ1. Когда наладите связь и корректный обмен с ПЧ, все красные светодиоды погаснут )))
--------------------------------------------------------------------------------------------
"Почти все начальники - дилетанты." © цитата из поста hell_boy )))


AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 20 дек 2016, 09:23

Есть ещё вопрос по управлению. Каким образом лучше записывать команду в CMD? Целым словом например w#16#0044, взял с потолка. Или возможно менять один из битов этого командного слова. Как я понимаю этот процесс. При перезаписи целого слова могут поменяться и другие биты, что может нам и надо. А при перезаписи одного бита, мы меняем только то, что нам надо.

Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1376
Зарегистрирован: 25 июл 2008, 09:25
Имя: Гринев Эдуард Владимирович
Откуда: село Пруды
Благодарил (а): 20 раз
Поблагодарили: 69 раз
Контактная информация:

дружба altivar и TIA Portal

Сообщение CHANt » 20 дек 2016, 09:38

Как удобней. Я в примерах давал раскладку побитно. По алгоритму управления ПЧ, лучше, когда ПЧ не востребован постоянно посылать команду стоп, тогда он находится не в заблокированном состоянии и готов к работе. Если слать ноль в останове тогда будут приходить предупреждения всякие. А так..Это же не сложно (в рамках приведенного примера):

Код: Выделить всё

A #Pusk //при поступлении команды Пуск
= DB1.DBX21.0 // записать в нулевой бит CMD
L DB1.DBW20
T PQW264
Надо помнить, что работая побитно в DB, байты меняются местами.
--------------------------------------------------------------------------------------------
"Почти все начальники - дилетанты." © цитата из поста hell_boy )))

Аватара пользователя

Автор темы
megavolt86
шаман
шаман
Сообщения: 971
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 9 раз
Поблагодарили: 38 раз

дружба altivar и TIA Portal

Сообщение megavolt86 » 20 дек 2016, 10:16

AlexanderKhlopin писал(а): А при перезаписи одного бита, мы меняем только то, что нам надо
А биты сами по себе не существуют...только в составе слова...вот и получается что меняя состояние бита вы меняете значение слова.

CHANt, может имелось ввиду можно ли передать из аккумулятора не целиком %qw264, а только один бит %q264.0. С с7-1200 такое возможно)))
:ext_secret:

Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1376
Зарегистрирован: 25 июл 2008, 09:25
Имя: Гринев Эдуард Владимирович
Откуда: село Пруды
Благодарил (а): 20 раз
Поблагодарили: 69 раз
Контактная информация:

дружба altivar и TIA Portal

Сообщение CHANt » 20 дек 2016, 10:56

Не, не пробовал ни разу и не знаю даже. Хотя, я всегда через SFC 14/15 работал, поэтому и не задавался таким вопросом. Тут ведь фишка то в чем - все равно часть битов слова управления должны иметь предустановленное значение, типа бит 10 - управление ПЧ от ПЛК надо в =:1 и так далее, поэтому, мне было проще составить маску в программе и менять только те биты, что необходимы были. А так, %q264.0, это тоже вариант, попробовать можно.
--------------------------------------------------------------------------------------------
"Почти все начальники - дилетанты." © цитата из поста hell_boy )))


sprohor
здесь недавно
здесь недавно
Сообщения: 53
Зарегистрирован: 05 дек 2016, 16:55
Имя: не форум и был
Поблагодарили: 1 раз
Забанен: Бессрочно

дружба altivar и TIA Portal

Сообщение sprohor » 20 дек 2016, 11:29

sprohor писал(а):Хотя на современных ПЛК скорости стали больше и можно просто писать и читать по десятичным адресам частотника напрямую
Изображение
На картинке показан принцип формирования слова управления для любого устройства:
1. В самом начале в меркерной памяти формируете базовое слово управления "Стоп" - в случае данного Алтивара такое как на картинке, у Сименсов другое. Это слово находится в памяти и поэтому частотнику о его содержимом пока не знает.
2. Дальше уже изменяете нужные вам биты управления в наглядном для вас виде - Пуск, Стоп, Направление и другие нужные вам. Мне нагляднее через LAD :)
3. Формируете уставку нужной вам скорости.
4. В одном месте в программе посылаете это слово из памяти через SFC15 DPRW_DAT или напрямую по адресам PQW*** = частотник получает слово управления и уставку скорости.

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

можешь всё написанное мной стереть и удалить... мда... я ж писал... питерск4ий дэйф неадекватно себя ведёт и в реале и в виртуале


AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 21 дек 2016, 06:09

CHANt писал(а): Вы решите сначала задачу управления ПЧ, а уже потом диагностику и прочее ))) А то так еще не один месяц уйдет на освоение Step7 ))) Просто добавьте в проект ОВ40, ОВ82, ОВ86, ОВ121, ОВ122, программить их не надо, достаточно наличия - будет гореть SF, но мешать работать не будет. Программу достаточно будет сделать в ОВ1. Когда наладите связь и корректный обмен с ПЧ, все красные светодиоды погаснут )))
У меня ПЧ 5 штук. И не все сейчас находятся во включенном состоянии. А работу CPU поддерживать необходимо.
И на будущее, может появится необходимость отключения ПЧ. У меня этот вопрос стоит остро.


AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 21 дек 2016, 06:12

megavolt86 писал(а):
AlexanderKhlopin писал(а): А при перезаписи одного бита, мы меняем только то, что нам надо
А биты сами по себе не существуют...только в составе слова...вот и получается что меняя состояние бита вы меняете значение слова.

CHANt, может имелось ввиду можно ли передать из аккумулятора не целиком %qw264, а только один бит %q264.0. С с7-1200 такое возможно)))
Именно это :)

Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1376
Зарегистрирован: 25 июл 2008, 09:25
Имя: Гринев Эдуард Владимирович
Откуда: село Пруды
Благодарил (а): 20 раз
Поблагодарили: 69 раз
Контактная информация:

дружба altivar и TIA Portal

Сообщение CHANt » 21 дек 2016, 06:57

AlexanderKhlopin писал(а): У меня ПЧ 5 штук
И что? Можно 32 и проблем нет. И не только синхронный обмен, но и асинхронный, для которого как раз консистентность нужна (смена настроек ПЧ), и поперечный обмен слейв-слейв между ПЧ - это когда один ведущий ПЧ (но слейв в сети профибаса) раздает задание скорости своим собратьям соседям...
AlexanderKhlopin писал(а): И на будущее, может появится необходимость отключения ПЧ
Я не специалист по Альтивару. В ПЧ Сименса - для Микромастеров профибас это модуль, у него есть клеммы для подключения дистанционного питания 24В постоянного тока. В ПЧ Синамикс, также, есть клеммы для подключения дистанционного питания на 31,32 клеммы (по памяти пишу, могу ошибаться номерами). Так вот, наличие дистанционного питания дает возможность снимать модуль с ПЧ, и отправлять ПЧ в ремонт, при этом не нарушается сама сеть профибас физически, а дистанционное питание снятого модуля дает лишь сигнал о том что ПЧ неисправен/не работает/и т.д. Как это работает, и есть ли на Альтиваре я не знаю.
Наличие "пустых" ОВ не даст контроллеру уйти в стоп, будет просто гореть SF и buse, может даже годами))) Как поднимать диагностику и на каком уровне, вопрос зависит от Вашей программы в контроллере, ибо любая диагностика это память контроллера, прежде всего RAM, а она ограничена и S7-300 это не тот контроллер на котором поднимают всю мощь диагностики от Сименса, для этого есть S7-400. А так, можно конечно и списки SSL поднять и параллельно в буфер контроллера писать и еще многое чего. можно организовать и простейшего типа StateWord==0, и простейшая не равно нулю в результате работы SFC14/15 (в моих примерах есть, на кои ссылка была выше). До какого уровня, это Вам решать исход из процесса, его важности и прочего...Все это подразумевает наличие у Вас опыта работы со Step7. И объяснить все в 2-3 постах темы на форуме, достаточно сложно. Решайте какое направление Вам нужно и реализуйте его поэтапно. И обязательно надо тестировать в реале, с испытаниями всех режимов работы - что будет при отключении ПЧ, его снятии с сети и т.д.
AlexanderKhlopin писал(а): Именно это :)
Я не знаю работает ли такой обмен в 317, прошивки сейчас новые, может и работает. Но, все же лучше воспользоваться примером sprohor, так как он имеет простейшую форму и обеспечивает контроль за отправкой всего слова с правильно установленными битами. И тут еще бы хотел обратить Ваше внимание, в не Сименсовских частотниках возможно управление не только по профилю (правила) ProfiDrive, но и в ихних, своих правилах, профибас это всего лишь протокол))) Мне попадались профиль FC у Данфосса, и еще...Я к тому, что какого вида будет команда пуск и стоп и прочее в hex виде, зависит от профиля и тут надо читать документацию производителя на конкретный ПЧ.
--------------------------------------------------------------------------------------------
"Почти все начальники - дилетанты." © цитата из поста hell_boy )))


AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 22 дек 2016, 00:01

CHANt писал(а):
AlexanderKhlopin писал(а): У меня ПЧ 5 штук
И что? Можно 32 и проблем нет. И не только синхронный обмен, но и асинхронный, для которого как раз консистентность нужна (смена настроек ПЧ), и поперечный обмен слейв-слейв между ПЧ - это когда один ведущий ПЧ (но слейв в сети профибаса) раздает задание скорости своим собратьям соседям...
AlexanderKhlopin писал(а): И на будущее, может появится необходимость отключения ПЧ
Я не специалист по Альтивару. В ПЧ Сименса - для Микромастеров профибас это модуль, у него есть клеммы для подключения дистанционного питания 24В постоянного тока. В ПЧ Синамикс, также, есть клеммы для подключения дистанционного питания на 31,32 клеммы (по памяти пишу, могу ошибаться номерами). Так вот, наличие дистанционного питания дает возможность снимать модуль с ПЧ, и отправлять ПЧ в ремонт, при этом не нарушается сама сеть профибас физически, а дистанционное питание снятого модуля дает лишь сигнал о том что ПЧ неисправен/не работает/и т.д. Как это работает, и есть ли на Альтиваре я не знаю.
Наличие "пустых" ОВ не даст контроллеру уйти в стоп, будет просто гореть SF и buse, может даже годами))) Как поднимать диагностику и на каком уровне, вопрос зависит от Вашей программы в контроллере, ибо любая диагностика это память контроллера, прежде всего RAM, а она ограничена и S7-300 это не тот контроллер на котором поднимают всю мощь диагностики от Сименса, для этого есть S7-400. А так, можно конечно и списки SSL поднять и параллельно в буфер контроллера писать и еще многое чего. можно организовать и простейшего типа StateWord==0, и простейшая не равно нулю в результате работы SFC14/15 (в моих примерах есть, на кои ссылка была выше). До какого уровня, это Вам решать исход из процесса, его важности и прочего...Все это подразумевает наличие у Вас опыта работы со Step7. И объяснить все в 2-3 постах темы на форуме, достаточно сложно. Решайте какое направление Вам нужно и реализуйте его поэтапно. И обязательно надо тестировать в реале, с испытаниями всех режимов работы - что будет при отключении ПЧ, его снятии с сети и т.д.
AlexanderKhlopin писал(а): Именно это :)
Я не знаю работает ли такой обмен в 317, прошивки сейчас новые, может и работает. Но, все же лучше воспользоваться примером sprohor, так как он имеет простейшую форму и обеспечивает контроль за отправкой всего слова с правильно установленными битами. И тут еще бы хотел обратить Ваше внимание, в не Сименсовских частотниках возможно управление не только по профилю (правила) ProfiDrive, но и в ихних, своих правилах, профибас это всего лишь протокол))) Мне попадались профиль FC у Данфосса, и еще...Я к тому, что какого вида будет команда пуск и стоп и прочее в hex виде, зависит от профиля и тут надо читать документацию производителя на конкретный ПЧ.

Да, мне главное, чтобы CPU в стоп не уходил.
При наличии всех ОВ, что вы мне написали, CPU в стоп не уходит. Я и просто выключал ПЧ, и кабель профибас выдёргивал.
Для диагностики связи лучше воспользуюсь Stateword ETA. Комплексную диагностику попробую сделать если время останется. В хелпе более менее подробно написано как это сделать, может разберусь.
У меня остался последний неразрешенный вопрос. Считанные данные с ПЧ приходят ко мне в формате word. Как здесь описано выше, в телеграмме заменить тип данных на integer, а затем его промасштабировать. Попробую. Бывают ли какие-либо ещё варианты считывания, чтобы получить уже готовое значение?

Аватара пользователя

Автор темы
megavolt86
шаман
шаман
Сообщения: 971
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 9 раз
Поблагодарили: 38 раз

дружба altivar и TIA Portal

Сообщение megavolt86 » 22 дек 2016, 04:18

AlexanderKhlopin писал(а): затем его промасштабировать.
Ничего масштабировать не надо)
Как данные приходят так их и читайте. Это проверено)))
список параметров альтивара
Нееобходимые вам параметры вводите в настройки интерфейсной карты частотника...их вроде 5 на чтение и 5 на запись
:ext_secret:


AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 22 дек 2016, 06:05

megavolt86 писал(а):
AlexanderKhlopin писал(а): затем его промасштабировать.
Ничего масштабировать не надо)
Как данные приходят так их и читайте. Это проверено)))
список параметров альтивара
Нееобходимые вам параметры вводите в настройки интерфейсной карты частотника...их вроде 5 на чтение и 5 на запись
Попробую, что получится.


AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 22 дек 2016, 19:57

megavolt86 писал(а):
AlexanderKhlopin писал(а): затем его промасштабировать.
Ничего масштабировать не надо)
Как данные приходят так их и читайте. Это проверено)))
список параметров альтивара
Нееобходимые вам параметры вводите в настройки интерфейсной карты частотника...их вроде 5 на чтение и 5 на запись
Получаю данные в hex формате. Если их перевести в десятичный, то данные правильные. А как их преобразовать в десятичный? Настроить в хардвейре нельзя.

Аватара пользователя

Автор темы
megavolt86
шаман
шаман
Сообщения: 971
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 9 раз
Поблагодарили: 38 раз

дружба altivar и TIA Portal

Сообщение megavolt86 » 22 дек 2016, 21:35

AlexanderKhlopin писал(а): данные в hex формате
А вот это у же интересный вопрос))) 1200-ый в dec принимал...интересно будет узнать самому как это делается в старой линейке симатика, так на будущее.
Надеюсь Эдуард Владимирович(CHANt) нам подскажет)))
:ext_secret:

Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1376
Зарегистрирован: 25 июл 2008, 09:25
Имя: Гринев Эдуард Владимирович
Откуда: село Пруды
Благодарил (а): 20 раз
Поблагодарили: 69 раз
Контактная информация:

дружба altivar и TIA Portal

Сообщение CHANt » 22 дек 2016, 22:48

Вы чего это, граждане программисты? Это всего лишь форматы представления данных. ))) При записи из периферии куда нить в DB сразу указывайте тип - INT
--------------------------------------------------------------------------------------------
"Почти все начальники - дилетанты." © цитата из поста hell_boy )))

Аватара пользователя

Автор темы
megavolt86
шаман
шаман
Сообщения: 971
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 9 раз
Поблагодарили: 38 раз

дружба altivar и TIA Portal

Сообщение megavolt86 » 23 дек 2016, 08:12

CHANt писал(а): При записи из периферии куда нить в DB сразу указывайте тип - INT
А без пересохранения...так сказать для экономии памяти...
:ext_secret:

Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1376
Зарегистрирован: 25 июл 2008, 09:25
Имя: Гринев Эдуард Владимирович
Откуда: село Пруды
Благодарил (а): 20 раз
Поблагодарили: 69 раз
Контактная информация:

дружба altivar и TIA Portal

Сообщение CHANt » 23 дек 2016, 09:40

Можно, для этого надо описать в таблице символов эти переменные с форматом целое.
--------------------------------------------------------------------------------------------
"Почти все начальники - дилетанты." © цитата из поста hell_boy )))


AlexanderKhlopin
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 27 окт 2016, 15:51
Имя: Хлопин
Благодарил (а): 2 раза

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin » 23 дек 2016, 18:57

megavolt86 писал(а):
CHANt писал(а): При записи из периферии куда нить в DB сразу указывайте тип - INT
А без пересохранения...так сказать для экономии памяти...
CHANt писал(а): Можно, для этого надо описать в таблице символов эти переменные с форматом целое.
Уже попробовал ) Можно напрямую. Только указать integer в DB.
Я смотрел показания в функции, а там в шестнадцатиричном формате показывает. До этого просто в DB не заходил. Там всё хорошо :)
Спасибо за советы. За некоторые вопросы стыдно немного. Знать такое положено.

Ответить

Вернуться в «Simatic TIA Portal»