Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2022, 00:37   #1
sea007
Member
 
Регистрация: Feb 2021
Сообщения: 54
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Групповая запись в Slave по изменению переменных (RTFM)

Корректно сформирована программа для групповой записи переменных в Slave при изменении значения любой из переменных?
Считывание регистров Slave, сравнение их с новыми значениями в ПЛК, запись при неравенстве. Или возможны какие-то проблемы при этом?

ГЗР.png
sea007 вне форума   Ответить с цитированием
Старый 03.02.2022, 06:45   #2
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 163
Благодарил(а): 240 раз(а)
Поблагодарили: 165 раз(а) в 157 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от sea007 Посмотреть сообщение
Корректно сформирована программа для групповой записи переменных в Slave при изменении значения любой из переменных?
Считывание регистров Slave, сравнение их с новыми значениями в ПЛК, запись при неравенстве. Или возможны какие-то проблемы при этом?

Вложение 10302
вы сначала пишете, а потом проверяете и сравниваете, но это лоджик уже сделал за вас по умолчанию.

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


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 03.02.2022, 09:56   #3
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от sea007 Посмотреть сообщение
Считывание регистров Slave, сравнение их с новыми значениями в ПЛК, запись при неравенстве.
Если нужно отслеживать только изменения в ПЛК (мастер) то вполне будет работать. Вот только зачем переписывать все, если меняется одна?
И что подразумевалось как Групповая запись?
ATS вне форума   Ответить с цитированием
Старый 03.02.2022, 12:11   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 105
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от sea007 Посмотреть сообщение
Корректно сформирована программа для групповой записи переменных в Slave
Групповая запись сформирована правильно.


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

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

Цитата:
Сообщение от Arsie Посмотреть сообщение
Групповая запись сформирована правильно.
Если еще и в карте слейва они попадают в один групповой запрос.

P.S. Кстати длительность строба будет равна времени обмена туда-обратно плюс 1 тик.
ATS вне форума   Ответить с цитированием
Старый 03.02.2022, 14:08   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 105
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от ATS Посмотреть сообщение
Если еще и в карте слейва они попадают в один групповой запрос.
На картинке этого не видно


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 04.02.2022, 10:55   #7
sea007
Member
 
Регистрация: Feb 2021
Сообщения: 54
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от ATS Посмотреть сообщение
Если нужно отслеживать только изменения в ПЛК (мастер) то вполне будет работать. Вот только зачем переписывать все, если меняется одна?
И что подразумевалось как Групповая запись?
Специально так задумано, постоянно будут меняться две переменные.
Групповая запись - запись нескольких регистров по одному запросу.
sea007 вне форума   Ответить с цитированием
Старый 04.02.2022, 11:15   #8
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 335
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от sea007 Посмотреть сообщение
Специально так задумано, постоянно будут меняться две переменные.
Групповая запись - запись нескольких регистров по одному запросу.
Покажете карту переменных?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 04.02.2022, 12:06   #9
sea007
Member
 
Регистрация: Feb 2021
Сообщения: 54
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Вот карта памяти Slave-устройства. Только регистры чтения R(in) поменяю на R(out).

КП.png
sea007 вне форума   Ответить с цитированием
Старый 04.02.2022, 12:19   #10
sea007
Member
 
Регистрация: Feb 2021
Сообщения: 54
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Заменил R(in) на R(out). В результате изменилась последовательность регистров.Так и должно быть или лучше переделать карту памяти?

КП2.png
sea007 вне форума   Ответить с цитированием
Старый 04.02.2022, 13:14   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 105
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от sea007 Посмотреть сообщение
Заменил R(in) на R(out). В результате изменилась последовательность регистров.Так и должно быть или лучше переделать карту памяти?

Вложение 10307
Последовательность здесь ни на что не влияет. Внимание нужно обращать только на цвет - он показывает группировку.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 04.02.2022, 13:47   #12
sea007
Member
 
Регистрация: Feb 2021
Сообщения: 54
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Можно блоки чтения, записи в Slave в макрос упаковывать? Все нормально будет работать? Или на рабочем поле программы эти блоки должны быть?
sea007 вне форума   Ответить с цитированием
Старый 04.02.2022, 13:49   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 105
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от sea007 Посмотреть сообщение
Можно блоки чтения, записи в Slave в макрос упаковывать? Все нормально будет работать? Или на рабочем поле программы эти блоки должны быть?
Переменные в макрос поместить невозможно.


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

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

Цитата:
Сообщение от sea007 Посмотреть сообщение
Заменил R(in) на R(out).
Input и Holding это совершенно разные регистры.
Вы точно понимаете что делаете?
ATS вне форума   Ответить с цитированием
Старый 04.02.2022, 15:45   #15
sea007
Member
 
Регистрация: Feb 2021
Сообщения: 54
Благодарил(а): 2 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Групповая запись в Slave по изменению переменных

Цитата:
Сообщение от ATS Посмотреть сообщение
Input и Holding это совершенно разные регистры.
Вы точно понимаете что делаете?
Все регистры у ведомого устройства Holding. Просто сразу не обратил внимание поставил R(in).
sea007 вне форума   Ответить с цитированием
Ответ


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

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



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


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