|
  |
Modicon Premium, Modicon Premium |
|
|
Гость_Lowkee_*
|
21.10.2010, 11:05
|
Guest Forum

|
Всем привет Собственно возник вот такой вопрос....,поблема,большая проблема
Усть список массивов с адресами(массивов порядка 30,адресов всего примерно 400)
Эти адреса находятся на 3х контролерах,мне нужно чтобы,все эти адреса шли на 4ый,
Но решения этой проблемы так и не получил,точнее мне многие объясняли,но из-за того,Что я новичок в этой области,мне тяжело достаточно понять....
Каким образом я смогу это сделать(желательно не образно а чуть-чуть п-детальнее)
Спасибо
|
|
|
|
Гость_Lowkee_*
|
21.10.2010, 14:12
|
Guest Forum

|
Вот,что вызывает вопросы...
|
|
|
|
|
21.10.2010, 15:30
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
1) not FBI_0.q - таймер сам себя перезапускает 2) в моем примере на входе блока AND стоит инверсия. В Вашем пример test это массив, с помощью которого контролируется обработка функции READ_VAR. 0-й бит этого 1-го слова массива указывает на то, что функция в стадии обработки. Тоесть если test[1].0=1 - то предыдущий вызов функции еще не обработан, а если равно 0, то уже обработан. По-этому ставится инверсия 3) NUM -это с какого, а NB - это количество 4) настоятельно рекомендую обмениваться словами %MW а не %M, в конце концов биты можно паковать в слова
|
|
|
|
Гость_Lowkee_*
|
26.10.2010, 9:01
|
Guest Forum

|
Вроде бы кое как улеглось у меня что к чему,но единственное что не могу понять Мы эти блоки ставим в тот контроллер с которого хотим считать,но каким образом я смогу отправить мои массивы с адресами...Вот вроде понял,что нужно создать массив из 4х слов,а в какой раздел вставлять те массивы которые нужно выслать? заранее спасибо
|
|
|
|
|
26.10.2010, 9:33
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
READ_VAR ставится на том ПЛК, который хочет считать. А на том ПЛК с которого считуют ничего ставить не надо. Modbus/TCP Сервер прописан на уровне операционки. Если нужно записывать с ПЛК, туда нужно прописать программу с функцией WRITE_VAR. А на том ПЛК на который пишут ничего ставить не надо. Modbus/TCP Сервер прописан на уровне операционки.
|
|
|
|
|
26.10.2010, 9:34
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
если я Вас правильно понял
Сообщение отредактировал san - 26.10.2010, 9:35
|
|
|
|
Гость_Lowkee_*
|
26.10.2010, 9:57
|
Guest Forum

|
ну впринципе я так и понимал,а вот главный вопрос,в read_var(вы мне уже не первый раз говорили об этом) Но,я так и не совсем понял,раз мне нужно считать все те массивы что у меня находятся на другом ПЛК,что же я тогда должен вводить в read_var ,он же у меня получается совершенно пустой...
Ну создам я этот массив,и 4х слов,а как же быть дальше....вот не укладывается это у меня в голове,столько времени уже прошло,а в голове так особо и не улеглось,как быть в таких случаях...
|
|
|
|
|
26.10.2010, 10:14
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
Цитата(san @ 21.10.2010, 14:30)  2) в моем примере на входе блока AND стоит инверсия. В Вашем пример test это массив, с помощью которого контролируется обработка функции READ_VAR. 0-й бит этого 1-го слова массива указывает на то, что функция в стадии обработки. Тоесть если test[1].0=1 - то предыдущий вызов функции еще не обработан, а если равно 0, то уже обработан. По-этому ставится инверсия Это массив из 4-х слов не для обмена данными, а для контроля за роботой функции. Цитата(san @ 21.10.2010, 14:30)  3) NUM -это с какого, а NB - это количество А вот это указывается "массив" источника данных на чужом ПЛК. А массив, куда ложатся считанные данные указывается на выходе RECP в READ_VAR.
Сообщение отредактировал san - 26.10.2010, 10:15
|
|
|
|
|
26.10.2010, 10:18
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
1) Можно сделать глобальную таблицу в каждом контроллере и тогда все данные будут доступны везде 2) Можно использовать стандартную таблицу обмена - ничего писать не надо, нужно только сконфигурировать контроллеры на чтение-запись. Читать-писать ПЛК будут сами.
К сожалению сейчас Юнити не установлена, так что как это выглядит не покажу - посмотрите раздел communications. Позвоните в техподдержку, там помогут и расскажут как и что.
Сообщение отредактировал ScrewDriver - 26.10.2010, 10:22
|
|
|
|
Гость_Lowkee_*
|
26.10.2010, 10:20
|
Guest Forum

|
Цитата(san @ 26.10.2010, 11:14)  3) NUM -это с какого, а NB - это количество то есть в num я могу вводить посто имя начального массива,а в nb общее кол-во массивов? Я правильно понят?
|
|
|
|
|
26.10.2010, 10:33
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
Нет не правильно. В NUM нужно вводить начальный адресс массива - 100 это будет %MW100, а в NB - количество слов, если NB=32 - то это будет массив в чужом ПЛК - %MW100:32.
|
|
|
|
|
26.10.2010, 10:38
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
Сейчас только вспомнил, что у Вас Пермиум. Там вместо функции ADDM должна использоваться функция ADDR. И еще - ScrewDriver прав. В бортовых ЦПУшных Ethernet портах Премиум доступны также GloabalData и функции IO Scaning, которые конфигурируются. Но если Вы пошли по этому пути, то наверное не стоит уже сварачивать.
|
|
|
|
Гость_Lowkee_*
|
26.10.2010, 10:51
|
Guest Forum

|
Это точно))тут хоть как то добраться до конченой точки) а про i/o scanning слышал,думаю тоже стоит посмотреть Спасибо еще раз,буду смотреть...
|
|
|
|
|
26.10.2010, 11:05
|
Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316

|
IO Scaning конфигурируется только со стороны Клиентского приложения. Укзываете диапазон переменных для записи и для чтения и периодичность опроса для конкретного девайса с нужным IP. Девайс может быть любой фирмы, требование - наличие Modbus/TCP сервера. Global Data работает только если все ПЛК у Вас Modicon. В настройках объявляете груповой адресс для всех ПЛК. Нужную перменную для записи в другие ПЛК (до 1 Кбайта) в ее свойствах объявлете как Издаваемую (Publish) а для чтения как Подписываемую (Subscribte). Название и структура переменных должны совпадать на Издателе и на подписчике. В принципе для вашего случая подходят оба эти сервиса. Надо было Вас сразу туда направить, там программу писать не надо. Но в любом случае внимательно почитайте хелп.
|
|
|
|
Гость_Lowkee_*
|
11.11.2010, 10:55
|
Guest Forum

|
Всем доброго дня Я уже обращался с вопросом о передаче информации с нескольких массивов на один, но тогда мненужно было передавать %MW , а теперь задача изменилась, нужно передать %M ,а как это осуществить? Так как в IO Scanning возможно настройка только по %MW? Подскажите пож-та
|
|
|
|
|
11.11.2010, 13:06
|
Группа: Участники форума
Сообщений: 449
Регистрация: 15.5.2007
Из: Барнаул->Москва
Пользователь №: 8174

|
сделайте сбор всех %M в %MW (%MW0.0:=%M0; %MW0.1:=%M1......), передайте %MW, расшифруйте обратно. (%M0:=%MW0.0; %M1:=%MW0.1....) Я извиняюсь, но может с такими знаниями почитать книжки по PLC или сходить на курсы? У И. Петрова помнится была хорошая книжка для начинаюших - спросите в..... http://www.twirpx.com/file/4896/
Сообщение отредактировал ScrewDriver - 11.11.2010, 13:12
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО "Русич" ИНН 9721068883 / ЕРИД 2Vtzqx9HerZ
ООО «УНИСПЛИТ» ИНН: 6453155081 erid: 2VtzqvmjJqS
ООО "АйДи-Электро" ИНН:6670013662 erid:2Vtzqwtpv5j
Последние сообщения Форума
|