Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2023, 10:31   #1
Sultan
Новичок
 
Аватара для Sultan
 
Регистрация: Apr 2015
Адрес: Ижевск, УР
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Сбросить бит (coil) записанный по modbus

Добрый день!
Не получается решить элементарную задачу...
ПЛК Matrix

Задача:
Записываем по modbus "1" в coil бит ПЛК и нужно этот бит сбросить через 1 секунду.( Имитация нажатия физической НЗ кнопки стоп)

Не нашел тем, как писать в собственные Coil переменные...

Прошу помочь знатаков)


__________________
Не мы такие... ТЗ такое)
Sultan вне форума   Ответить с цитированием
Старый 17.08.2023, 11:21   #2
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 339
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

https://forum.segnetics.com/showthread.php?t=4401


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 17.08.2023, 12:06   #3
Sultan
Новичок
 
Аватара для Sultan
 
Регистрация: Apr 2015
Адрес: Ижевск, УР
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
"В четвёрке создайте слейва на эзернете на адрес 127.0.0.1 и подключите свою же карту памяти. Будете сами в себя записывать."
Вот так пробовал, но тогда пропадает доступ по эзернет из вне... OPC-сервер Lectus ругается "Ошибка приема/передачи".


__________________
Не мы такие... ТЗ такое)
Sultan вне форума   Ответить с цитированием
Старый 17.08.2023, 12:09   #4
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Задача:
Записываем по modbus "1" в coil бит ПЛК и нужно этот бит сбросить через 1 секунду.( Имитация нажатия физической НЗ кнопки стоп)
Ну так со стороны мастера и сбрасывайте. Тем более что он еще может и писать циклически.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 17.08.2023, 12:11   #5
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 339
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Вот так пробовал, но тогда пропадает доступ по эзернет из вне... OPC-сервер Lectus ругается "Ошибка приема/передачи".
Значит что-то не так делаете. Приложите проект и покажите как вы пробуете записывать и сбрасывать.


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 17.08.2023, 13:04   #6
Sultan
Новичок
 
Аватара для Sultan
 
Регистрация: Apr 2015
Адрес: Ижевск, УР
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от ATS Посмотреть сообщение
Ну так со стороны мастера и сбрасывайте. Тем более что он еще может и писать циклически.
Мастером выступает Скада в связке с Lectus OPC, который опрашивает 100+ объектов циклически по радиоканалу 160 Мгц. Фактически от мастера до слева пакеты долетают с 5-10 запроса из-за плохого качества связи. Но при этом нужно управлять насосом (с помощью релейных выходов ПЛК, которые подключены в цепи управления в разрыв кнопок местного управления). Писать отдельно в регистры 0 и 1 невозможно, т.к. сама скада использует шаблоны объектов и так повелось, что все остальные объекты работают именно так.... посылаем 1 в бит управления, реле замкнулось и тут же разомкнулось через 1 сек и бит сбросился.


__________________
Не мы такие... ТЗ такое)
Sultan вне форума   Ответить с цитированием
Старый 17.08.2023, 13:17   #7
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Писать отдельно в регистры 0 и 1 невозможно, т.к. сама скада использует шаблоны объектов и так повелось, что все остальные объекты работают именно так.... посылаем 1 в бит управления, реле замкнулось и тут же разомкнулось через 1 сек и бит сбросился.
Что-то не улавливаю связь между битом и работой реле.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 17.08.2023, 13:34   #8
Sultan
Новичок
 
Аватара для Sultan
 
Регистрация: Apr 2015
Адрес: Ижевск, УР
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от ATS Посмотреть сообщение
Что-то не улавливаю связь между битом и работой реле.
Бит из группы модбас койлов, управляет выходным реле ПЛК.
Записали мы по модбас в этот бит "1" , замкнулось реле.
Вопрос:
Как не записывая в этот же бит "0" с верхнего уровня, сбросить его (что бы разомкнуть реле) через 1 сек после того как он стал "1" ?


__________________
Не мы такие... ТЗ такое)
Sultan вне форума   Ответить с цитированием
Старый 17.08.2023, 13:48   #9
Sultan
Новичок
 
Аватара для Sultan
 
Регистрация: Apr 2015
Адрес: Ижевск, УР
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Вот проект, в самом верху эксперимент...
Даже работает, но почему то через раз. То устанавливается бит, то нет.
Проверяю на прямом подключении по езернет.16_08_2023.rar


__________________
Не мы такие... ТЗ такое)
Sultan вне форума   Ответить с цитированием
Старый 17.08.2023, 14:18   #10
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 163
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

не проще ли работать по фронту?

изменилось значение на входе - на выходе получил строб. дале делай с ним что хошь
Изображения
Тип файла: png 2023-08-17 17-17-12 Скриншот экрана.png (2.9 Кбайт, 20 просмотров)


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 17.08.2023, 14:26   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Вот проект, в самом верху эксперимент...
Даже работает, но почему то через раз. То устанавливается бит, то нет.
Проверяю на прямом подключении по езернет.Вложение 11908
Вы его скидываете 10 раз в секунду. Думаю, часто у вас скорости реакции глаз не хватает, чтобы увидеть его установку.


PS. Программеры на вашем объекте от бога собрались. Реально, что они, что вы - как микроскопом гвозди забиваете. Электронным микроскопом.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 17.08.2023 в 14:37
Arsie сейчас на форуме   Ответить с цитированием
Старый 17.08.2023, 14:31   #12
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Как не записывая в этот же бит "0" с верхнего уровня, сбросить его (что бы разомкнуть реле) через 1 сек после того как он стал "1" ?
Зачем? Скада опять будет писать туда единицу.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 17.08.2023, 14:32   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Вот проект, в самом верху эксперимент...
Даже работает, но почему то через раз. То устанавливается бит, то нет.
Проверяю на прямом подключении по езернет.Вложение 11908
Безымянный.png


Не обижайтесь, я вообще-то добрый) Просто острый излишне на язык и правду говорить люблю.


PS. Для генерации секундного импульса используйте задержку отключения после блока Raise. Счётчик поставлен специально, чтобы не проморгать импульс. Глазам веры нет и быть не может в делах быстрых процессов.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 17.08.2023, 14:35   #14
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Вот проект, в самом верху эксперимент...
Даже работает, но почему то через раз. То устанавливается бит, то нет.
Ну реле вы выключили. Задержка не лучшим образом ну да ладно.
А скада опять будет единицу писать. Тем более что связь плохая.


И уберите все лишнее из карты SELF_PLC. Вы видимо не понимаете что пишете нули во все DO-x


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 17.08.2023, 14:36   #15
Sultan
Новичок
 
Аватара для Sultan
 
Регистрация: Apr 2015
Адрес: Ижевск, УР
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Arsie Посмотреть сообщение
Вы его скидываете 10 раз в секунду. Думаю, часто у вас скорости реакции глаз не хватает, чтобы увидеть его установку.


PS. Хотелось бы ещё про проф. уровень программеров скады поговорить, да и ваш тоже, но меня тут и так злым считают. Реально, что они, что вы - как микроскопом гвозди забиваете. Электронным микроскопом.
Ну так покажите как надо, в чем проблема)
В сименсах, шнайдерах, директ лоджиках, митсубиши да тот же кодесис... всегда есть стандарные функции SET BIT и RESET BIT, которые можно связать с одним и тем же модбас битом.
Я попросил помощи, а не дисскусии о том кто какого уровня хакер...
Раз уж вы не реализовали простейшую функцию записи значения в собственный модбас бит, то хотябы ткните пальцем как с ващей средой разработки это реализовать.
Арсений, я не сомневаюсь что вы гениальный программист, но как сотрудник техподдержки, могли бы и подсказать на конкретном примере, вместо громких палемик.


__________________
Не мы такие... ТЗ такое)
Sultan вне форума   Ответить с цитированием
Старый 17.08.2023, 14:39   #16
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Ну так покажите как надо, в чем проблема)
В сименсах, шнайдерах, директ лоджиках, митсубиши да тот же кодесис... всегда есть стандарные функции SET BIT и RESET BIT, которые можно связать с одним и тем же модбас битом.
Никакие громкие имена не спасут, если с алгоритмикой проблемы.

Безымянный.png


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 17.08.2023, 14:39   #17
Sultan
Новичок
 
Аватара для Sultan
 
Регистрация: Apr 2015
Адрес: Ижевск, УР
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от ATS Посмотреть сообщение
Ну реле вы выключили. Задержка не лучшим образом ну да ладно.
А скада опять будет единицу писать. Тем более что связь плохая.
Скада только при нажатии кнопки оператором(1 раз в сутки макс) будет отсылать единственный запрос(ну или перезапросы при неудачных попытках) на взведение бита, да.
Почему некорректно отрабатывает, через раз такая схема не знаете?


__________________
Не мы такие... ТЗ такое)
Sultan вне форума   Ответить с цитированием
Старый 17.08.2023, 14:40   #18
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Арсений, я не сомневаюсь что вы гениальный программист, но как сотрудник техподдержки, могли бы и подсказать на конкретном примере, вместо громких палемик.
https://forum.segnetics.com/showpost...8&postcount=13

Я всегда подсказываю) А вот пошипеть - это святое


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 17.08.2023, 14:40   #19
Sultan
Новичок
 
Аватара для Sultan
 
Регистрация: Apr 2015
Адрес: Ижевск, УР
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Arsie Посмотреть сообщение
Никакие громкие имена не спасут, если с алгоритмикой проблемы.
Вы сотрудник техподдержки или троль возникает вопрос...
Давайте сразу в бан, что уж...


__________________
Не мы такие... ТЗ такое)
Sultan вне форума   Ответить с цитированием
Старый 17.08.2023, 14:45   #20
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Вы сотрудник техподдержки или троль возникает вопрос...
Давайте сразу в бан, что уж...
У вас картинки не отображаются в браузере? Ответ давно дан уже. Дублирую ссылку: https://forum.segnetics.com/showpost...8&postcount=13

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


Добавлено через 9 минут


Цитата:
Сообщение от Sultan Посмотреть сообщение
Скада только при нажатии кнопки оператором(1 раз в сутки макс) будет отсылать единственный запрос(ну или перезапросы при неудачных попытках) на взведение бита, да.
Теперь поясню за программистов скады. В плохой сети теряются как запросы, так и ответы. Т.е. может случиться ситуация:

1) Скада отсылает единицу, запрос теряется

2) Скада опять отсылает единицу, запрос доходит, контроллер щёлкает реле, но ответ от контроллера к скаде теряется

3) Скада думает, что запрос потерялся, поэтому ещё раз отсылает единицу, запрос доходит, но вот ответ опять потерялся. Реле щёлкает второй раз

И вот эта беготня 2-3 шаг может вертеться довольно долго. А реле щёлкает и щелкает. Алгоритмист из программера скады реально уровня школьника 3 класса на кружке программирования. Не троллить это невозможно, ибо ошибка ну совсем школьная.

Полностью аналогичная ошибка совершена и вами. Контроллер сам себе записывает ноль 10 раз в секунду. Вы лично попросили его это делать. И вот незадача, почему это воду в решете носить нельзя. А воду в решете нельзя носить потому, что вода оттуда постоянно выливается.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 17.08.2023 в 15:01
Arsie сейчас на форуме   Ответить с цитированием
Старый 17.08.2023, 15:00   #21
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Цитата:
Сообщение от Sultan Посмотреть сообщение
Скада только при нажатии кнопки оператором(1 раз в сутки макс) будет отсылать единственный запрос(ну или перезапросы при неудачных попытках) на взведение бита, да.
Почему некорректно отрабатывает, через раз такая схема не знаете?
Вы первым предложением сами на вопрос отвечаете.
Значит она перечитывает и взводит снова.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 17.08.2023, 15:58   #22
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Правильно данная задача выполняется так:

Т.к. событие редкое - заявлено раз в сутки, то скада передаёт holding с текущей датой. Хоть до посинения передаёт её на контроллер. Контроллер, видя, что дата сравнялать с текущей, щёлкает релюхой. Дошел ответ контроллера до скады или не дошёл - не важно. Каждый последующий запрос будет с текущей датой. Рано или поздно скада поймёт, что всё произошло. Даже если связи не будет до полуночи, то в полночь даты перестанут совпадать, хотя более правильно отменить отправку на стороне скады.

На следующий день всё повторится.

В результате:

а) Мы исключаем многократное щёлкание реле. Реле не может щёлкнуть чаще раза в сутки

б) Нам становятся не нужны любые манипуляции с переменными на стороне слейва

Задача решена. Качественно.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 18:48.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024