1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

дружба 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 »

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

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

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

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin »

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

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 43 раза
Поблагодарили: 93 раза

дружба altivar и TIA Portal

Сообщение CHANt »

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

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

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin »

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

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 43 раза
Поблагодарили: 93 раза

дружба altivar и TIA Portal

Сообщение CHANt »

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

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

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

Автор темы
megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

дружба altivar и TIA Portal

Сообщение megavolt86 »

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

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

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 43 раза
Поблагодарили: 93 раза

дружба altivar и TIA Portal

Сообщение CHANt »

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

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

дружба altivar и TIA Portal

Сообщение sprohor »

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

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

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

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

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin »

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

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

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin »

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

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

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 43 раза
Поблагодарили: 93 раза

дружба altivar и TIA Portal

Сообщение 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 виде, зависит от профиля и тут надо читать документацию производителя на конкретный ПЧ.
--------------------------------------------------------------------------------------------

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

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin »

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
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

дружба altivar и TIA Portal

Сообщение megavolt86 »

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

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

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin »

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

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

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin »

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

Автор темы
megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

дружба altivar и TIA Portal

Сообщение megavolt86 »

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

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 43 раза
Поблагодарили: 93 раза

дружба altivar и TIA Portal

Сообщение CHANt »

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

Автор темы
megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

дружба altivar и TIA Portal

Сообщение megavolt86 »

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

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 43 раза
Поблагодарили: 93 раза

дружба altivar и TIA Portal

Сообщение CHANt »

Можно, для этого надо описать в таблице символов эти переменные с форматом целое.
--------------------------------------------------------------------------------------------

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

дружба altivar и TIA Portal

Сообщение AlexanderKhlopin »

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

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