Показано с 1 по 10 из 1733

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    957

    По умолчанию

    Нарисовал программу опроса как в примере
    PHP код:
    com_2(enable:=TRUE,PortNum:=3,PortBaudrate:=19200,Port_Mode:=2,Port_ModeOn:=TRUE,Port_closeon:=FALSE);//Открытие портa
        
    CASE step OF    
            0
    ://Опрос модуля МК110-4ДН4Р(1)(адресс 8)
              
    MK110_4dn_4R_inputs1(Handle:=com_2.Handle,Enabl:=com_2.Done AND com_2.ErrCode=0,Addr:=8,
                
    TimeOut:=T#500MS);
              
    IF MK110_4dn_4R_inputs1.done THEN
                
    IF MK110_4dn_4R_inputs1.wErrCode=0 THEN
                    dout1
    :=MK110_4dn_4R_inputs1.inp1;
                    
    dout2:=MK110_4dn_4R_inputs1.inp2;
                    
    dout3:=MK110_4dn_4R_inputs1.inp3;
                    
    dout4:=MK110_4dn_4R_inputs1.inp4;
              
    END_IF;
              
    MK110_4dn_4R_inputs1.Enabl:=FALSE;step:=1;
              
    END_IF
            1
    ://Запись в модуль МК110-4ДН4Р(1)(адресс 8) 
              
    MK110_4dn_4R_outs1(Handle:=com_2.HandleEnabl:=com_2.Done AND com_2.ErrCode=0Addr:=8,   
              
    out1:=din1,out2:=din2,out3:=din3,out4:=din4,TimeOut:=MK110_4dn_4R_inputs1.TimeOut);
              IF 
    MK110_4dn_4R_outs1.done  THEN
                MK110_4dn_4R_outs1
    .Enabl:=FALSE;step:=2;
              
    END_IF
            2
    ://Опрос модуля МК110-4K.4Р(адресс 16)
              
    MK110_4K_4R_inputs1(Handle:=com_2.Handle,Enabl:=com_2.Done AND com_2.ErrCode=0,Addr:=16,
                
    TimeOut:=T#500MS);
              
    IF MK110_4K_4R_inputs1.done THEN
                
    IF MK110_4K_4R_inputs1.wErrCode=0 THEN
                    dout5
    :=MK110_4K_4R_inputs1.inp1
                    
    dout6:=MK110_4K_4R_inputs1.inp2
                    
    dout7:=MK110_4K_4R_inputs1.inp3
                    
    dout8:=MK110_4K_4R_inputs1.inp4 
                
    ;END_IF
                MK110_4K_4R_inputs1
    .Enabl:=FALSE;step:=3;
              
    END_IF
            3
    ://Запись в модуль МК110-4K.4Р(адресс 16)
              
    MK110_4K_4R_outs1(Handle:=com_2.HandleEnabl:=com_2.Done AND com_2.ErrCode=0,Addr:=16,
              
    out1:=din5
              
    out2:=din6
              
    out3:=din7
              
    out4:=din8,TimeOut:=MK110_4K_4R_inputs1.TimeOut);
              IF 
    MK110_4K_4R_outs1.done  THEN
              MK110_4K_4R_outs1
    .Enabl:=FALSE;step:=4;
              
    END_IF
            4
    ://Опрос модуля МВ110-8ДФ(адресс 24)
              
    MV110_8D_inputs1(Handle:=com_2.Handle,Enabl:=com_2.Done AND com_2.ErrCode=0,Addr:=24,TimeOut:=T#500MS);
              
    IF MV110_8D_inputs1.done  THEN
                
    IF MV110_8D_inputs1.wErrCode=0 THEN
                    dout9
    :=MV110_8D_inputs1.inp1;
                    
    dout10:=MV110_8D_inputs1.inp2;
                    
    dout11:=MV110_8D_inputs1.inp3;
                    
    dout12:=MV110_8D_inputs1.inp4;
                    
    dout13:=MV110_8D_inputs1.inp5;
                    
    dout14:=MV110_8D_inputs1.inp6;
                    
    dout15:=MV110_8D_inputs1.inp7;
                    
    dout16:=MV110_8D_inputs1.inp8;
                
    END_IF
                MV110_8D_inputs1
    .Enabl:=FALSE;step:=5;
              
    END_IF
            5
    ://Опрос модуля МВ110-8А(адресс 32)
              
    MV110_8A_inputs1(Handle:=com_2.Handle,Enabl:=com_2.Done AND com_2.ErrCode=0,Addr:=32,TimeOut:=T#500MS);
              
    IF MV110_8A_inputs1.done THEN
                
    IF MV110_8A_inputs1.wErrCode=0 THEN
                    aout1
    :=MV110_8A_inputs1.inp1;
                    
    aout2:=MV110_8A_inputs1.inp2;
                    
    aout3:=MV110_8A_inputs1.inp3;
                    
    aout4:=MV110_8A_inputs1.inp4;
                    
    aout5:=MV110_8A_inputs1.inp5;
                    
    aout6:=MV110_8A_inputs1.inp6;
                    
    aout7:=MV110_8A_inputs1.inp7;
                    
    aout8:=MV110_8A_inputs1.inp8;
                
    END_IF
                MV110_8A_inputs1
    .Enabl:=FALSE;step:=6;
               
    END_IF
            6
    ://Запись в модуль МУ110-8Р(адресс 40)
              
    MY110_8R_outs1(Handle:=com_2.Handle,Enabl:=com_2.Done AND com_2.ErrCode=0,Addr:=40,TimeOut:=T#500MS,
              
    out1:=din9
              
    out2:=din10
              
    out3:=din11
              
    out4:=din12
              
    out5:=din13
              
    out6:=din14
              
    out7:=din15
              
    out8:=din16);
              IF 
    MY110_8R_outs1.done  THEN
                MY110_8R_outs1
    .Enabl:=FALSE;step:=7;
              
    END_IF
            7
    ://Чтение ТРМ202(адресс 48)
              
    TRM_202_read1(Handle:=com_2.Handle,Enabl:=com_2.Done AND com_2.ErrCode=0,Modd:=, 
              
    Addr:=48,TimeOut:=T#500MS,ErCL:=,inp1=>aout9,inp2=>,ust1=>aout11, 
              
    ust2=>,out1=>aout10,out2=>,ges1=>aout12,ges2=>,wErrCode=>,done=>);
              IF 
    TRM_202_read1.done  THEN
                TRM_202_read1
    .Enabl:=FALSE;step:=8;
              
    END_IF
            8
    ://Запись в ТРМ202(адресс 48)
              
    TRM_202_write1(Handle:=com_2.Handle,Enabl:=com_2.Done AND com_2.ErrCode=0,Modd:=,Addr:=48
              
    TimeOut:=TRM_202_read1.TimeOut,ust1:=ain1,ust2:=,ges1:=ain2,ges2:=,ErCL:=,wErrCode=>,done=>);
              IF 
    TRM_202_write1.done   THEN
                TRM_202_write1
    .Enabl:=FALSE;step:=9;END_IF
            9
    ://Чтение АТВ312(адресс 54)
                
    ATV312_read1(
                    
    Handle:=com_2.Handle
                    
    Enabl:=com_2.Done AND com_2.ErrCode=0
                    
    Modd:= , 
                    
    Addr:=54
                    
    TimeOut:=T#500MS, 
                    
    ErCL:= , 
                    
    status=>aout13
                    
    freg=>aout14
                    
    tok=>aout15
                    
    volt=>aout16
                    
    narab=>aout17
                    
    eror=>aout18
                    
    wErrCode=> , 
                    
    done=> );
                 IF 
    ATV312_read1.done  THEN
                ATV312_read1
    .Enabl:=FALSE;step:=10;END_IF
            10
    ://Запись в АТВ312(адресс 54)
             
    ATV312_write1(
             
    Handle:=com_2.Handle
             
    Enabl:=com_2.Done AND com_2.ErrCode=0
             
    Modd:= , 
             
    Addr:=54
             
    TimeOut:=ATV312_read1.TimeOut
             
    fr_w:=ain3
             
    st_w:=ain4
             
    ErCL:= , 
             
    wErrCode=> , 
             
    done=> );
              IF 
    ATV312_write1.done  THEN
                ATV312_write1
    .Enabl:=FALSE;step:=11;END_IF
            11
    ://Чтение МК110-4ДН4Р(2)(адресс 64)
                
    MK110_4dn_4R_inputs2(Handle:=com_2.Handle,Enabl:=com_2.Done AND com_2.ErrCode=0,Addr:=64,TimeOut:=T#500MS);
                
    IF MK110_4dn_4R_inputs2.done  THEN
                
    IF MK110_4dn_4R_inputs2.wErrCode=0 THEN
                    dout17
    :=MK110_4dn_4R_inputs2.inp1;
                    
    dout18:=MK110_4dn_4R_inputs2.inp2;
                    
    dout19:=MK110_4dn_4R_inputs2.inp3;
                    
    dout20:=MK110_4dn_4R_inputs2.inp4;
                
    END_IF;
            
    MK110_4dn_4R_inputs2.Enabl:=FALSE;step:=12;
            
    END_IF
            12
    ://Запись в модуль МК110-4ДН4Р(2)(адресс 64) 
            
    MK110_4dn_4R_outs2(Handle:=com_2.HandleEnabl:=com_2.Done AND com_2.ErrCode=0Addr:=64,   
            
    out1:=din17,out2:=din18,out3:=din19,out4:=din20,TimeOut:=MK110_4dn_4R_inputs2.TimeOut);
            IF 
    MK110_4dn_4R_outs2.done  THEN
                MK110_4dn_4R_outs2
    .Enabl:=FALSE;step:=0
            
    END_IF
        END_CASE 
    проходит один опрос и все встает где накосячил не пойму
    Изображения Изображения

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 13:38

Ваши права

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