EnglishУкраїнськаmRussian
Login/New
Topic with many replies

Вопрос о ModBus


Author Message
Written on: 26. 10. 2012 [15:57]
almaz
Almaz Karimov
Contributor
registered since: 25.09.2008
Posts: 516
dt - это период времени, через который данный участок программы выполняется. Вы его сами задаёте в настройках контроллеров блочного вычислителя. По умолчанию стоит 1 секунда. В проге же просто впишите заданную константу.

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Written on: 26. 10. 2012 [16:04]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3747
"almaz" wrote:

dt - это период времени, через который данный участок программы выполняется. Вы его сами задаёте в настройках контроллеров блочного вычислителя. По умолчанию стоит 1 секунда. В проге же просто впишите заданную константу.

Или системный флаг-переменную "f_frq", как 1/f_frq, если вызов прямо из вычислителя.

Learn, learn and learn better than work, work and work.
Written on: 31. 10. 2012 [10:36]
Alexx
Александр Иванов
registered since: 16.07.2012
Posts: 64
Все получилось, спасибо.
Written on: 08. 11. 2012 [14:42]
Vorgehen
Артём Корниевский
registered since: 08.07.2012
Posts: 20
здравствуйте уважаемые товарищи. Продолжаю борьбу с последовательными портами. один из последних вызовов dmesg | tail в консоли ос альт линукс выдал следующую строчку
JAVASCRIPT
openscada [4072]: segfault at bf216f2f0 ip b73bc79b sp bf216ff0 error 6 in libc-2.11.3.so
может это связано с тем что я в адресс порта ввёл путь вместо /dev/tryUSBx следующее /dev/serial/by-id/usb-Silicon_Labs_CP2103_USB_to_UART_Bridge_Controller_0001-if00-port0 или такие нюансы не влияют? кто-нибудь сталкивался с подобными делами? может библиотека libc неисправна ?

Written on: 08. 11. 2012 [16:30]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3747
"Vorgehen" wrote:

здравствуйте уважаемые товарищи. Продолжаю борьбу с последовательными портами. один из последних вызовов dmesg | tail в консоли ос альт линукс выдал следующую строчку
JAVASCRIPT
openscada [4072]: segfault at bf216f2f0 ip b73bc79b sp bf216ff0 error 6 in libc-2.11.3.so


Прикладывайте нормальный/полный отчёт, а не обрезки из dmesg, http://wiki.oscada.org/Doc/OtchjotOSboe .

Learn, learn and learn better than work, work and work.
Written on: 30. 01. 2013 [23:37]
AlexUS
Алексей Мальцев
registered since: 20.11.2011
Posts: 9
Здравствуйте!

У меня возник следующий вопрос:
организована автоматизированная система управления насосной станцией, в которой в качестве мозга использован ПЛК FATEK FBs MC32 (он собирает данные с датчиков и управляет частотником), для передачи данных на диспетчерский пункт используется GSM модем ОВЕН ПМ 01.220АВ, соответственно информация поступает на сервер,где установлена SCADA 0.8.0.

Требуется отрабатывать управляющие воздействия,которые будет задавать оператор (что-то типа сменить давление при нажатии какой-либо кнопки или передать цифровое значение непосредственно в контроллер),но так как работаю с этим недавно, хочу спросить совета возможно ли это сделать при данной организации связи между сервером и ПЛК и если да, то как приблизительно должен выглядеть запрос (или где это можно посмотреть), модем же насколько я понимаю работает в данном случае на передачу данных из ПЛК на сервер,а можно сделать наоборот,то есть от сервера к модему а из модема в ПЛК?

Заранее спасибо,буду благодарен за любую помощь!
Written on: 31. 01. 2013 [01:10]
almaz
Almaz Karimov
Contributor
registered since: 25.09.2008
Posts: 516
Связь между контроллером и скадой организована. Непонятно где ведущий-ведомый. Непонятно по какому протоколу. Посмотрите в дереве скады. Если ведущий контроллер, то, кроме записи в скаду данных, он сможет и прочитать воздействия оператора (соответственно надо добавить регистры, если протокол модбас). Если скада ведущая, то воздействия оператора пишет в контроллер скада (надо знать в какие регистры контроллера записывать данные).

[This article was edited 1 times, at last 31.01.2013 at 01:16.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Written on: 31. 01. 2013 [12:10]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3747
"AlexUS" wrote:

организована автоматизированная система управления насосной станцией, в которой в качестве мозга использован ПЛК FATEK FBs MC32 (он собирает данные с датчиков и управляет частотником), для передачи данных на диспетчерский пункт используется GSM модем ОВЕН ПМ 01.220АВ, соответственно информация поступает на сервер,где установлена SCADA 0.8.0.

Поступает как, GPRS или GSM?

"AlexUS" wrote:

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

Также как и получаете.

Learn, learn and learn better than work, work and work.
Written on: 31. 01. 2013 [12:51]
AlexUS
Алексей Мальцев
registered since: 20.11.2011
Posts: 9

Ведущим во всей системе является контроллер, информация поступает на сервер посредством GPRS по протоколу ModBus TCP.

В данном случае я программирую контроллер,который посредством двухпроводного 485 интерфейса управляет модемом, то есть идет подключение к интернету и посылка пакетных данных с помощью команды AT+CIPSEND.После определенного промежутка времени канал закрывается для экономии трафика и потом после паузы идет новое подключение.
А вот какой командой контроллер должен приказать модему считать регистр из скады,в котором будет цифра или логический управляющий сигнал,для меня загадка. Может есть совет по этому поводу,заранее спасибо!

[This article was edited 3 times, at last 31.01.2013 at 12:55.]
Written on: 31. 01. 2013 [13:22]
almaz
Almaz Karimov
Contributor
registered since: 25.09.2008
Posts: 516
Так как контроллер ведущий, его модем должен иметь реальный ip-адрес в интернете, чтобы сервер модбас (скада) смог выслать ответ на запрос. Для случая без реального ip-адреса (и не только) контроллер должен уметь создавать vpn-тоннель до сервера (данный вроде не умеет), чтобы быть с ним в одной сети. При обмене данными с оборудованием через интернет лучше применять шифрование, иначе вашими частотниками смогут управлять не только уполномоченные операторы. Запрос формируется так же, как и посылка данных (AT+CIPSEND), меняются только данные в команде в соответствии с требованиями протокола модбас. Соответственно через некоторое время контроллер должен прочитать полученный с модема (сервера) ответ и расшифровать его. Далее можно закрыть канал GPRS. И проделывать это контроллер должен почаще, чтобы действия оператора доходили до контроллера не так долго.

[This article was edited 2 times, at last 31.01.2013 at 14:06.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.



0226