IPB

Здравствуйте, гость ( Вход | Регистрация )

11 страниц V   1 2 3 > »   
Ответить в эту темуОткрыть новую тему
> Связь двух Fx1N по двум (трем) проводам, как сделать свой алгоритм для связи двух плк (транзисторные)
acoustik
сообщение 22.10.2015 - 20:10
Сообщение #1


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Привет всем! Вернулся из неожиданной сверх-долгой командировки и по приезду посыпалось тут.... Вобщем, идея такая - хочу попробовать как-то связать два плк между собой по двум проводам, ну и включая третий общий разумеется. Есть ли у кого какие идеи на этот счет? Если не жалко поделится, то милости прошу smile.gif

Конкретика: необходимо с одного плк на другой передавать данные о его состоянии, так же с другого на первый. то есть они как бы должны быть в курсе состояния друг друга. Понимаю что есть всякие н-н сети, 485 и прочие, но это пока не поддается моему вразумлению, да и плюс ко всему - добавочное оборудование химичить скорее всего никто не будет. Хотелось бы попробовать обойтись "своими силами" - программным путем. Понимаю что это может быть не так легко, но надо же когда нибудь лепить чтото свое? smile.gif
Оба плк транзисторные, думаю что надо как-то импульсным методом передавать данные друг другу. Пока думаю как... Возможно кто-нибудь подскажет какие-нибудь идеи...


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 22.10.2015 - 20:45
Сообщение #2


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 22.10.2015 - 21:10) *
Понимаю что есть всякие н-н сети, но это пока не поддается моему вразумлению, да и плюс ко всему - добавочное оборудование химичить скорее всего никто не будет. Хотелось бы попробовать обойтись "своими силами" - программным путем.

Цитата(acoustik @ 22.10.2015 - 21:10) *
Оба плк транзисторные, думаю что надо как-то импульсным методом передавать данные друг другу. Пока думаю как... Возможно кто-нибудь подскажет какие-нибудь идеи...


N:N-network, acoustik, это такая сеть, которая позволяет реализовать то, что требуется, легко и быстро. Модули связи с гальванической развязкой обойдутся вашей компании не дороже времени, которое придется угрохать на постановку очередной заплаты на очередное непродуманное загодя решение.

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

Успехов.



--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 22.10.2015 - 21:08
Сообщение #3


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Я понимаю, что эта сеть решит все проблемы. Спасибо inntele за подсказку и участие! Но я думаю что эта сеть все равно приводит к некоторым дополнительным примочкам, типа рс485. Мне же хотелось бы поэкспериментировать с другими вариантами, чисто на уровне входов и выходов данных плк. Токовая петля конечно хорошая штука, но в моей практике она выполняет роль измерительной части при чем поступает на контроллер уже знающий как это все воспринять. Согласен, что мой вопрос несколько "невзрачный" в виду того что есть уже готовые алгоритмы и способы и не зачем изобретать велосипед, но представим что всего этого нет что тогда? Как бы Вы выкрутились в подобной ситуации?


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 22.10.2015 - 22:00
Сообщение #4


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 22.10.2015 - 22:08) *
Я понимаю, что эта сеть решит все проблемы. Спасибо inntele за подсказку и участие! Но я думаю что эта сеть все равно приводит к некоторым дополнительным примочкам, типа рс485. Мне же хотелось бы поэкспериментировать с другими вариантами, чисто на уровне входов и выходов данных плк. Токовая петля конечно хорошая штука, но в моей практике она выполняет роль измерительной части при чем поступает на контроллер уже знающий как это все воспринять. Согласен, что мой вопрос несколько "невзрачный" в виду того что есть уже готовые алгоритмы и способы и не зачем изобретать велосипед, но представим что всего этого нет что тогда? Как бы Вы выкрутились в подобной ситуации?


Таких ситуаций не должно быть априори. У меня их не бывает, поэтому мне сложно рассуждать в сослагательном наклонении, как бы выкрутился. Постановка заплат, acoustik, не имеет ни малейшего отношения к промавтоматике.

ЦИФРОВАЯ ТОКОВАЯ ПЕТЛЯ - единственно возможное решение (а Вы, похоже, отождествляете ее с аналоговой). Аппаратно для построения такой сети в контроллере имеется все, добавлять ничего не надо. Физически реализуется элементарно, и требует только двухпроводной линии между всеми (двумя, тремя, четырьмя и т.д.) ПЛК. В программном плане потребуется мастер-контроль (кто-то должен сыграть роль мастера сети, выдавая строб-разрешение на ответ) и контроль освобождения линии. Также полезен контроль четности, без которого принятым данным грош-цена.


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 22.10.2015 - 22:18
Сообщение #5


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(inntele @ 23.10.2015 - 04:00) *
ЦИФРОВАЯ ТОКОВАЯ ПЕТЛЯ - единственно возможное решение (а Вы, похоже, отождествляете ее с аналоговой). Аппаратно для построения такой сети в контроллере имеется все, добавлять ничего не надо. Физически реализуется элементарно, и требует только двухпроводной линии между всеми (двумя, тремя, четырьмя и т.д.) ПЛК. В программном плане потребуется мастер-контроль

интересно... цифровая токовая петля. И как ее прикрутить ко входам выходам по Вашему? И что Вы имеете в виду под тем, что "аппаратно все уже имеется" ?. Я так понимаю, что входы плк имеют два состояния - это замкнут на ком или нет. Как в этом случае здесь отыграет цифровая токовая петля?


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 22.10.2015 - 22:34
Сообщение #6


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Можно ли без всяких аналоговых "штучек" как то передать информацию с одного плк на другой? Чисто в цифровом виде, то есть 1 и 0. Дело тут не в том что я незнаю (точнее) пока пренебрегаю другими, уже готовыми способами, а можно так сказать - чтобы вообще самому реализовать какой-либо вариант решения. Ведь это очень просто указать пальцем на то, что уже есть. К сожалению я только "начинающий" во всех таких контроллерных делах, и не обладаю некоторыми познаниями в этой области, вот и прошу помощи у знающих... Но я не хотел бы опираться на то, что уже задолго придумано до нас, а найти выход в каком то своем решении. Мне бы лишь подсказать дорогу...


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 22.10.2015 - 22:58
Сообщение #7


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 22.10.2015 - 23:18) *
Цитата(inntele @ 23.10.2015 - 04:00) *
ЦИФРОВАЯ ТОКОВАЯ ПЕТЛЯ - единственно возможное решение (а Вы, похоже, отождествляете ее с аналоговой). Аппаратно для построения такой сети в контроллере имеется все, добавлять ничего не надо. Физически реализуется элементарно, и требует только двухпроводной линии между всеми (двумя, тремя, четырьмя и т.д.) ПЛК. В программном плане потребуется мастер-контроль

интересно... цифровая токовая петля. И как ее прикрутить ко входам выходам по Вашему? И что Вы имеете в виду под тем, что "аппаратно все уже имеется" ?. Я так понимаю, что входы плк имеют два состояния - это замкнут на ком или нет. Как в этом случае здесь отыграет цифровая токовая петля?


Прикрепленный файл  ________________________________________________40__.pdf ( 19.02 килобайт ) Кол-во скачиваний: 22


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 23.10.2015 - 02:34
Сообщение #8


Гигант мысли
****

Группа: Пользователи
Сообщений: 377
Регистрация: 30.12.2004
Пользователь №: 108



acoustic,
Озвучьте, наконец, цифры, а то сплошная лирика.
Сколько информации и за какое время должно передаваться?
Сколько есть свободных высокоскоростных входов и выходов?

Сообщение отредактировал Sergei Troizky - 23.10.2015 - 03:14


--------------------
Делать надо сразу хорошо. Плохо само получится.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 23.10.2015 - 06:47
Сообщение #9


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(Sergei Troizky @ 23.10.2015 - 03:34) *
acoustic,
Озвучьте, наконец, цифры, а то сплошная лирика.
Сколько информации и за какое время должно передаваться?


Солидарен.
Причем такой параметр, как дальность связи, тоже не последнюю роль играет.

Цитата(Sergei Troizky @ 23.10.2015 - 03:34) *
Сколько есть свободных высокоскоростных входов и выходов?


Кстати, да, прекрасная мысль, использование высокоскоростных выходов позволит сильно упростить программную реализацию интерфейса.


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 23.10.2015 - 07:50
Сообщение #10


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



По аппаратной реализации.

Выкладывая эскиз, понадеялся, что Сергей оставит к нему ценные комментарии и замечания, тем самым облегчив мне жизнь, но окарался: Сергей из вежливости промолчал... wink.gif

Схемотехника в эскизе дана для универсальной сети с ПЛК от 2-х и выше.
В этом варианте возможна только полудуплексная связь, а ток в петле следует держать на уровне не ниже 40мА. Сопротивление шунтирующего резистора вычисляется по формуле R [кОм]=1,6*N/2, где N - кол-во узлов (ПЛК) в сети. Для 2-х ПЛК это значение 1,6кОм, для 3-х - 2,4кОм, для 4-х - 3,3кОм, для 5-ти - 3,9кОм, для 6-ти - 4,7кОм, для 7-ми - 5,6кОм и т.д. По возможности, следует придерживаться линейной топологии сети, особенно когда расстояния между узлами составляют от 50 метров.
Схему полезно дополнительно снабдить защитами от переполюсовки и перенапряжения. Для чего между клеммами Y и X ПЛК вместо перемычки ставится импульсный (або выпрямительный) диод анодом к Y катодом к X, между X и S/S параллельно с резистором - диод-супрессор на напряжение 30В, а в линию - предохранитель.

Если же ПЛК только два, то лучше проложить трехпроводную линию и использовать полный дуплекс. Перемычка между X и Y изымается, выход Y одного ПЛК подключается на вход X другого. Петля в этом случае 20мА, резистор R=1,6кОм. Защиты организуются способом, сходным с описанным выше.

Сообщение отредактировал inntele - 24.10.2015 - 09:12


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ivgtrk
сообщение 23.10.2015 - 07:59
Сообщение #11


Гигант мысли
****

Группа: Пользователи
Сообщений: 459
Регистрация: 5.02.2014
Пользователь №: 10203



Цитата(acoustik @ 23.10.2015 - 01:08) *
Я понимаю, что эта сеть решит все проблемы. Спасибо inntele за подсказку и участие! Но я думаю что эта сеть все равно приводит к некоторым дополнительным примочкам, типа рс485. Мне же хотелось бы поэкспериментировать с другими вариантами, чисто на уровне входов и выходов данных плк. Токовая петля конечно хорошая штука, но в моей практике она выполняет роль измерительной части при чем поступает на контроллер уже знающий как это все воспринять. Согласен, что мой вопрос несколько "невзрачный" в виду того что есть уже готовые алгоритмы и способы и не зачем изобретать велосипед, но представим что всего этого нет что тогда? Как бы Вы выкрутились в подобной ситуации?

Тем не менее, гляжу, вы являетесь любителем изобретения этих самых велосипедов smile.gif Помнится давеча вы кнопки прикручивали по 4м проводам - как, пошло дело? )
По теме: вобщем то основные наводящие вопросы вам уже задали выше, такие как о количестве данных и длине линии. От себя добавлю, что то, что вы задумали можно решить различными методами: все будет зависеть в итоге от используемого вами алгоритма передачи/приема.
Если в вашей системе всего два устройства, то можно отказаться от механизма их адресации, а распознавать прием/передачу по включенному входу, к примеру, Х0. Тот, кто его "зажал" - начинает передавать пачки импульсов, а плк на другом конце "знает", что это НЕ ОН придавил линию Х0, и стало быть входит в режим приема. И наоборот. Это же будет являться неким механизмом арбитража лини, т.е. пока линия зажата - другой плк передачу не начинает.

Если данных немного и время их передачи особой погоды не делает, то достаточно "кодировать" их серией импульсов. Допустим, если включили вход Х5, в линию выдалась пачка из 5-ти имп. Примерно так. Ну это такой, несколько игрушечный способ, тем не менее рекомендую потренироваться на нем, для начала. Когда с этим получится, можно будет переходить к отработке механизма распознавания ошибок из принятого сообщения, что немало важно.

Существует более продвинутый вариант (протокол). Здесь уже данные передаются по-байтно, что гораздо удобнее обычных пачек импульсов, в плане скорости и объема передаваемой инфы. Но алгоритм их выработки передающей стороной и декодирования приемной несколько сложен (будет для вас), вероятно. В любом случае, скорость линии будет определяться исходя из ограничений по частоте выдачи импульсов контроллером, длины линии, кол-вом передаваемых данных. На длиной линии на больших частотах завалите фронты из-за емкости этой линии... Придется использовать буферы... В прочем это уже частности, пока мало относятся к заданному Вами вопросу.


--------------------
Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ivgtrk
сообщение 23.10.2015 - 08:03
Сообщение #12


Гигант мысли
****

Группа: Пользователи
Сообщений: 459
Регистрация: 5.02.2014
Пользователь №: 10203



Цитата(acoustik @ 23.10.2015 - 02:18) *
Цитата(inntele @ 23.10.2015 - 04:00) *
ЦИФРОВАЯ ТОКОВАЯ ПЕТЛЯ - единственно возможное решение (а Вы, похоже, отождествляете ее с аналоговой). Аппаратно для построения такой сети в контроллере имеется все, добавлять ничего не надо. Физически реализуется элементарно, и требует только двухпроводной линии между всеми (двумя, тремя, четырьмя и т.д.) ПЛК. В программном плане потребуется мастер-контроль

интересно... цифровая токовая петля. И как ее прикрутить ко входам выходам по Вашему? И что Вы имеете в виду под тем, что "аппаратно все уже имеется" ?. Я так понимаю, что входы плк имеют два состояния - это замкнут на ком или нет. Как в этом случае здесь отыграет цифровая токовая петля?

Токовая петля в данном случае используется в качестве носителя данных. Токовая - потому что это ток, и он, обычно, во всех местах одинаков, что играет в пользу длинных линий передачи.


--------------------
Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 23.10.2015 - 09:46
Сообщение #13


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(Sergei Troizky @ 23.10.2015 - 08:34) *
acoustic,
Озвучьте, наконец, цифры, а то сплошная лирика.
Сколько информации и за какое время должно передаваться?
Сколько есть свободных высокоскоростных входов и выходов?

Да, точно ))
Сколько информации ммм, ну допустим гнать на другой ПЛК состояния пяти входов и столько же выходов (включен, не включен).
Свободные выхода и входа есть, то есть я так понял из остальных постов, что нужно использовать для этих целей высокоскоростные. Поэтому входа Х0,1 и выхода Y0,1 отдаются под цели связи.
Насчет за какое время передавать - ну незнаю, для опытов пока можно сделать скажем 1 импульс в сек.


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 23.10.2015 - 09:53
Сообщение #14


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(inntele @ 23.10.2015 - 13:50) *
По аппаратной реализации.

Выкладывая эскиз, понадеялся, что Сергей оставит к нему ценные комментарии и замечания, тем самым облегчив мне жизнь, но окарался: Сергей из вежливости промолчал... wink.gif

Схемотехника в эскизе дана для универсальной сети с ПЛК от 2-х и выше.
В этом варианте возможна только полудуплексная связь, а ток в петле следует держать на уровне 40мА. Сопротивление шунтирующего резистора вычисляется по формуле R [кОм]=1,6*N/2, где N - кол-во узлов (ПЛК) в сети. Для 2-х ПЛК это значение 1,6кОм, для 3-х - 2,4кОм, для 4-х - 3,3кОм, для 5-ти - 3,9кОм, для 6-ти - 4,7кОм, для 7-ми - 5,6кОм и т.д. По возможности, следует придерживаться линейной топологии сети, особенно когда расстояния между узлами составляют от 50 метров.
Схему полезно дополнительно снабдить защитами от переполюсовки и перенапряжения. Для чего между клеммами Y и X ПЛК вместо перемычки ставится импульсный (або выпрямительный) диод анодом к Y катодом к X, между X и S/S параллельно с резистором - диод-супрессор на напряжение 30В, а в линию - предохранитель.

Если же ПЛК только два, то лучше проложить трехпроводную линию и использовать полный дуплекс. Перемычка между X и Y изымается, выход Y одного ПЛК подключается на вход X другого. Петля в этом случае 20мА, резистор R=1,6кОм. Защиты организуются способом, сходным с описанным выше.

Благодарю за пример с токовой петлей, но пока буду пробовать все же трех-проводку, мне кажется на ней проще. Ну тоесть напрямую передавать с Y на X.


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 23.10.2015 - 09:58
Сообщение #15


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(ivgtrk @ 23.10.2015 - 13:59) *
Цитата(acoustik @ 23.10.2015 - 01:08) *
Я понимаю, что эта сеть решит все проблемы. Спасибо inntele за подсказку и участие! Но я думаю что эта сеть все равно приводит к некоторым дополнительным примочкам, типа рс485. Мне же хотелось бы поэкспериментировать с другими вариантами, чисто на уровне входов и выходов данных плк. Токовая петля конечно хорошая штука, но в моей практике она выполняет роль измерительной части при чем поступает на контроллер уже знающий как это все воспринять. Согласен, что мой вопрос несколько "невзрачный" в виду того что есть уже готовые алгоритмы и способы и не зачем изобретать велосипед, но представим что всего этого нет что тогда? Как бы Вы выкрутились в подобной ситуации?

Тем не менее, гляжу, вы являетесь любителем изобретения этих самых велосипедов smile.gif Помнится давеча вы кнопки прикручивали по 4м проводам - как, пошло дело? )
По теме: вобщем то основные наводящие вопросы вам уже задали выше, такие как о количестве данных и длине линии. От себя добавлю, что то, что вы задумали можно решить различными методами: все будет зависеть в итоге от используемого вами алгоритма передачи/приема.
Если в вашей системе всего два устройства, то можно отказаться от механизма их адресации, а распознавать прием/передачу по включенному входу, к примеру, Х0. Тот, кто его "зажал" - начинает передавать пачки импульсов, а плк на другом конце "знает", что это НЕ ОН придавил линию Х0, и стало быть входит в режим приема. И наоборот. Это же будет являться неким механизмом арбитража лини, т.е. пока линия зажата - другой плк передачу не начинает.

Если данных немного и время их передачи особой погоды не делает, то достаточно "кодировать" их серией импульсов. Допустим, если включили вход Х5, в линию выдалась пачка из 5-ти имп. Примерно так. Ну это такой, несколько игрушечный способ, тем не менее рекомендую потренироваться на нем, для начала. Когда с этим получится, можно будет переходить к отработке механизма распознавания ошибок из принятого сообщения, что немало важно.

Существует более продвинутый вариант (протокол). Здесь уже данные передаются по-байтно, что гораздо удобнее обычных пачек импульсов, в плане скорости и объема передаваемой инфы. Но алгоритм их выработки передающей стороной и декодирования приемной несколько сложен (будет для вас), вероятно. В любом случае, скорость линии будет определяться исходя из ограничений по частоте выдачи импульсов контроллером, длины линии, кол-вом передаваемых данных. На длиной линии на больших частотах завалите фронты из-за емкости этой линии... Придется использовать буферы... В прочем это уже частности, пока мало относятся к заданному Вами вопросу.


Да, кнопки работают отлично! smile.gif

Я тоже как раз думал именно про передачу импульсным методом, то есть в зависимости от того, какой вход включен - столько импульсов и давать в линию.

Про "более продвинутый" способ тоже желательно услышать, если не трудно. Мне надо же иметь перед собой различные варианты, чтоб потом выбрать из них подходящий.
Про длину линии я пока не думаю, хотя бы научить ПЛК принимать и передавать данные, а потом уж можно и о длине линии позаботится. Мне так кажется smile.gif


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

11 страниц V   1 2 3 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 29.03.2024 - 14:35