Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя
Показано с 31 по 40 из 46

Тема: ПЛК63+МК110+СП270+Lectus ?!

  1. #31
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Если Вы кого-то выключаете, и опрос норм. - тупо коллизия 2 мастера или по адресам.
    Если плк всегда норм. опрошивает МК, а в опс-слейве данных нет, 2 варианта:
    1.Хреновый слейв на опс. Копайте там
    2.Хреновый мастер на 63. Тут все от рук аффтора зависит.

  2. #32

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Если Вы кого-то выключаете, и опрос норм. - тупо коллизия 2 мастера или по адресам.
    Если плк всегда норм. опрошивает МК, а в опс-слейве данных нет, 2 варианта:
    1.Хреновый слейв на опс. Копайте там
    2.Хреновый мастер на 63. Тут все от рук аффтора зависит.
    1. Что подразумевается под этой фразой?
    2. Не нашел как вставить файл поэтому код ФБ опроса МК вставляю текстом, может поможет в чем:
    IF NOT Port_opened THEN
    Com_handle := SysComOpen(0);
    IF Com_handle = 16#FFFFFFFF THEN
    SysComClose(0);
    Com_handle:=SysComOpen(0);
    END_IF;

    Com_setEx.Size := SIZEOF(com_setEx);
    Com_setEx.Port := 0; (*Èñïîëüçó åìûé ïîðò*)
    Com_setEx.dwBaudRate := 115200; (*cêîðîñòü ïåðåäà÷&#232 ; äàííûõ*)
    Com_setEx.byStopBits := 0; (*Êîë. ñòîï-áèò*)
    Com_setEx.byParity := 0; (*Êîíòðîë&#252 ; ÷åòíîñò&#232 ;*)
    Com_setEx.dwTimeout := 0;
    Com_setEx.dwBufferSize := 0;
    Com_setEx.dwScan := 0;
    Com_setEx.cByteSize := 8; (*Êîë. áàéò â ïîñûëêå*)

    Res:=SysComSetSettingsEx(0,ADR(Com_setEx));

    IF NOT Res THEN
    Port_opened:=TRUE;
    END_IF;
    END_IF;

    IF NOT Port_opened THEN
    RETURN;
    END_IF;

    (************************************************* *************************************)

    CASE Master OF

    (************************************************* *************************************)

    0:

    (*ôóíêöèÿ 03 èíò - ÔÁ ñ÷èòûâàå&# 242; çíà÷åíè&#229 ; ïàðàìåòð&# 224; òèïà int èç ïðèáîðà ñ àäðåñîì 16 â ðåãèñòð ñ íîìåðîì 8 ïî ïðîòîêîë&# 243; Modbus-RTU*)

    Read(
    Enable:=Port_opened, (* ðàçðåøåí&# 232;å ðàáîòû áëîêà *)
    Mode:=MB_RTU , (*ðåæèì ïåðåäà÷&#232 ;*)
    DevAddr:=16, (*àäðåñ*)
    FirstAddr:=51, (*íîìåð ðåãèñòð&#224 ;*)
    Quantity:=1, (*êîëè÷åñò âî ðåãèñòðî&# 226;*)
    ComHandle:=0 , (*íîìåð COM-ïîðòà*)
    TimeOut:=T#10ms, (*Òàéìàóò T#50ms*)
    Buffer:=Buffer , (* áóôåð äàííûõ *)
    Complete=>Cmpl , (* ñêîïèðîâ&# 224;òü ïðèçíàê çàâåðøåí&# 232;ÿ îïåðàöè&#232 ; *)
    Exception=>Error , (* ñêîïèðîâ&# 224;òü ðåãèñòð îøèáîê *)
    ByteCnt=>DataSize ); (*êîë-âî ñ÷èòàííû&# 245; áàéòîâ *)
    (*åñëè óñòàíîâë&# 229;í ïðèçíàê çàâåðøåí&# 232;ÿ îïåðàöè&#232 ;, òî *)
    IF Cmpl THEN
    IF Error=0 THEN (*Åñëè íåò îøèáîê, òî ïîëó÷àå&#236 ; äàííûå èç áóôåðà òèïà INT*)
    MK_IB:=(BUFFER[4]);
    END_IF
    Master:=1; (*ïåðåõîäè ì ê âûïîëíåí&# 232;þ ñëåäóþùå&# 227;î ÔÁ*)
    END_IF

    (************************************************* *************************************)

    1:

    (*ôóíêöèÿ 16 - çàïèñü ïàðàìåòð&# 238;â òèïà Int (ðåãèñòð 4) è Real (ðåãèñòð 6) â ïðèáîð ñ àäðåñîì 2 *)

    Buffer[1] := DINT_TO_BYTE(MK_OB); (*çàïèñü â áóôôåð ïàðàìåòð&# 224; òèïà INT*)

    Writing(
    Enable:= Port_opened, (* ðàçðåøåí&# 232;å ðàáîòû áëîêà *)
    Mode:=MB_ASCII , (*ðåæèì ïåðåäà÷&#232 ;*)
    DevAddr:=16 , (*àäðåñ*)
    FirstAddr:= 50, (*íîìåð ðåãèñòð&#224 ;*)
    Quantity:= 1, (*êîëè÷åñò âî çàïèñûâà&# 229;ìûõ ðåãèñòðî&# 226;*)
    ComHandle:=0 , (*íîìåð ñîì-ïîðòà*)
    TimeOut:=T#10ms , (*òàéìàóò T#50ms*)
    Buffer:=Buffer , (* áóôåð äàííûõ *)
    Complete=>Cmpl , (* ñêîïèðîâ&# 224;òü ïðèçíàê çàâåðøåí&# 232;ÿ îïåðàöè&#232 ; *)
    Exception=>Error , (* ñêîïèðîâ&# 224;òü ðåãèñòð îøèáîê *)
    RegCnt=> DataSize); (*êîë-âî ñ÷èòàííû&# 245; áàéòîâ *)

    IF Cmpl THEN
    Master:=0; (*ïåðåõîäè ì ê âûïîëíåí&# 232;þ ñëåäóþùå&# 227;î áëîêà*)
    END_IF

    (************************************************* *************************************)

    END_CASE

    (************************************************* *************************************)
    (*Ïîáèòîâî å ïðåäñòàâ&# 235;åíèå âõîäîâ ÌÊ*)
    _SPARE_4:=MK_IB.0;
    water_pump_run:=MK_IB.1;
    water_pump_fail:=MK_IB.2;
    MK_I4:=MK_IB.3;
    MK_I5:=MK_IB.4;
    MK_I6:=MK_IB.5;
    MK_I7:=MK_IB.6;
    MK_I8:=MK_IB.7;
    (************************************************* **************************************)
    (*Ïîîäèíî÷ íîå ïðåäñòàâ&# 235;åíèå âûõîäîâ ÌÊ*)
    MK_OB.0:=v_2;
    MK_OB.1:=v_3_o;
    MK_OB.2:=v_3_c;
    MK_OB.3:=v_4;

  3. #33

    По умолчанию

    Цитата Сообщение от LM0901 Посмотреть сообщение
    "ПЛК63 - Master (у Master в сети RS-485 нет адреса)"- а опрашивать нужно буде не один контроллер. Только ПЛК63-х будет два, еще и другие скорее всего- как тогда с мастерами слейвами быть?
    Если в сети RS-485 будет несколько ПЛК63, то один из них будет Master, а остальные Slave. Тебе надо твердо усвоить, что в сети RS-485 может быть только один Master. То что у тебя не хрена не получается скорее всего из-за того, что не корректно написан кусок программы для ПЛК63, отвечающий за обмен с OPC-сервером.
    Последний раз редактировалось Вольд; 21.03.2015 в 10:11.

  4. #34

    По умолчанию

    Цитата Сообщение от Вольд Посмотреть сообщение
    Если в сети RS-485 будет несколько ПЛК63, то один из них будет Master, а остальные Slave. Тебе надо твердо усвоить, что в сети RS-485 может быть только один Master. То что у тебя не хрена не получается скорее всего из-за того, что не корректно написан кусок программы для ПЛК63, отвечающий за обменс OPC-сервером.
    Это понятно что один мастер. Но проблема в том что каждый из этих двух контроллеров опрашивает свой МК. Конфигурации и программы идентичные (два котла) а нужно оба прицепить к скаде.
    Задам вопрос по другому как можно реализовать мою задачу- два котла, каждый управляется своим ПЛК63 каждый из которых опрашивает по 485му свой МК на каждом из контроллеров висит на 232м панель оператора. Понятно что каждый из них сейчас мастер для своей сети (контроллер- МК) так вот можно ли оба эти контроллера прицепить каким то образом к одной скаде?
    Последний раз редактировалось LM0901; 20.03.2015 в 19:30.

  5. #35
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Мастер опрашивает все модули (и свои и чужие) и раздает результат тем слэйвам (дополнительным контроллерам), которым эти значения нужны.

  6. #36

    По умолчанию

    А вот посетила такая мысль. Оба контроллера с панелями СП270. В панелях все необходимые мне для скады переменные есть. Панель СП270 имеет два железных порта. Сейчас работает с контроллером через порт "PLC" по 232 интерфейсу в качестве мастера. Могу ж я открыть (в конфигурации панели) порт "Download" в качестве мастера, порт PLC сделать слейвом, переназначить все переменные в программе панели на порт "Download" (c одновременной переадресацией их на порт "PLC" (для нужд скады)). Подключить ПЛК к порту "Download" (панель мастер- ПЛК слейв) и спокойно опрашивать панели opc сервером через порт "PLC" (опс мастер- панель слейв).
    Как насчет такого варианта?

  7. #37
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Как насчет такого варианта?
    пойдет

    PS
    Цитата Сообщение от LM0901 Посмотреть сообщение
    1. Что подразумевается под этой фразой?
    2. Не нашел как вставить файл поэтому код ФБ опроса МК
    1.1. Опс не может быть слейвом
    1.2. У опс левые настройки (к автору)
    2. А причем тут МК если речь о опс-слейве ?

  8. #38

    По умолчанию

    Буду пробовать вариант с подключением опс к панелям.
    Где то видел информацию по поводу недокументированного присутствия интерфейса толи 422 то ли 485 на порту "Download" панели СП270.
    Может кто знает точно- в "Download" нет 485го? (чтоб не перепахивать всю программу панели)

  9. #39
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Со стороны "PLC" 485й вытягивается с двух пинов 232-ого. Разъем ДБ9 с двумя жилками - так всегда и делаю.
    На "Download" видимо тоже самое - не пробывал.

  10. #40

    По умолчанию

    Самое смешное что сейчас начал пробовать с панелью экспериментировать а она не хочет коннектиться с компом. Кабель рабочий, преобразователь тоже (этим кабелем и преобразователем(Моха) проекты в эти панели и вдувал) А сейчас при нажатии "кнопки" "Загрузить" в программе панель грустно пикает один раз и на экране появляется рисунок панели "BEST Loading..." и висит. А программа тупо перебирает порты и говорит что пригодного нет. Что может быть?

Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя

Похожие темы

  1. Вопрос по ПЛК+МК110+СП270
    от AndryB в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 03.10.2011, 13:20
  2. проблема плк63+сп270
    от Систематехник в разделе ПЛК63/73
    Ответов: 1
    Последнее сообщение: 03.11.2010, 12:27
  3. Ответов: 16
    Последнее сообщение: 23.04.2010, 15:33
  4. передача данных с плк63 в сп270
    от morcegolamer в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 22.04.2010, 08:44
  5. сп270-> плк63
    от sergsm в разделе Панели оператора (HMI)
    Ответов: 13
    Последнее сообщение: 15.03.2010, 16:06

Ваши права

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