联系我们

联系人:黄勇(先生)

联系手机:13701633515

固定电话:31660605

企业邮箱:77956468@qq.com

联系我时,请说是在地方电气网上看到的,谢谢!

今日最新资讯
热门资讯
地方电气网资讯
    西门子6SL3211OAB125UB1
    发布者:黄工  发布时间:2016-04-09 00:07:05  访问次数:32

    西门子6SL3211OAB125UB1,西门子6SL3211OAB125UB1

                                                                   {心中有空间,梦想就有可能} 

    德国制造: 现货               联   系   人: 黄勇《黄工》        24小时联系手机:  13701633515
    全新原装: 参数
    质量保证: 保修
    价格优势: 特价
    我公司大量现货供应,价格优势,品质保证,德国原装进口
     
     

    西门子6SL3211OAB125UB1
    HMI
    6AV6 640-0BA11-0AX0 OP 73 micro s7-200系列用
    6AV6 640-0CA11-0AX0 TP177 micro 触摸式 s7-200系列用
    6AV6 640-0DA11-0AX0 K-TP 178 micro s7-200系列用
    6AV6 641-0AA11-0AX0 OP 73  单色  3英寸  
    6AV6 641-0BA11-0AX0 OP 77A  单色 4.5英寸  
    6AV6 641-0CA01-0AX0 OP 77B  单色 4.5英寸  
    6AV6 642-0AA11-0AX0 TP 177A  单色 5.7英寸  
    6AV6 642-0BC01-1AX1 TP 177B DP 单色 5.7英寸
    6AV6 642-0BA01-1AX0 TP 177B PN/DP 彩色 5.7英寸
    6AV6 642-0DC01-1AX0 OP 177B DP 单色 5.7英寸
    6AV6 642-0DA01-1AX0 OP 177B PN/DP 彩色 5.7英寸
    6AV6 643-0BA01-1AX0 OP 277-6操作员面板,5.7寸彩色中文显示
    6AV6 643-0AA01-1AX0 TP277-6 触摸式面板,5.7寸彩色中文显示
    6AV6 643-0CB01-1AX1 MP277-8 触摸式面板,8寸64K色中文
    6AV6 643-0DB01-1AX1 MP277-8 按键式面板,8寸64K色中文显示
    6AV6 643-0CD01-1AX1 MP277-10 触摸式面板,10寸64K色中文
    6AV6 643-0DD01-1AX1 MP277-10 按键式面板,10寸64K色中文显示
    6AV6671-1CB00-0AX0  MMC 存储卡 128 MB 用于 OP77B, OP/TP 177B, MOBILE PANEL 177 
    6AV6671-1CB00-0AX1  MMC 存储卡 64 MB 用于 OP77B, OP/TP 177B, MOBILE PANEL 177 
    6AV6644-0AA01-2AX0 SIMATIC  MP 377 12" TOUCH      
    6AV6644-0AB01-2AX0 SIMATIC  MP 377 15" TOUCH      
    6AV6644-0AC01-2AX0 SIMATIC  MP 377 19" TOUCH
    6AV6644-0BA01-2AX0 SIMATIC  MP 377 12" KEY
    6AV6647-0AA11-3AX0  SIMATIC KTP400 Basic mono PN 3.8" mono STN 显示屏,以太网接口
    6AV6647-0AB11-3AX0  SIMATIC KTP600 Basic mono PN 5.7" mono STN 显示屏,以太网接口,
    6AV6647-0AC11-3AX0  SIMATIC KTP600 Basic color DP 5,7" TFT 显示屏,256 色 MPI/PROFIBUS DP 接口
    6AV6647-0AD11-3AX0  SIMATIC KTP600 Basic color PN 5,7" TFT 显示屏,256 色以太网接口
    6AV6647-0AE11-3AX0  SIMATIC KTP1000 基本色 DP 10.4" TFT 显示器,256 色 MPI/PROFIBUS DP 接口
    6AV6647-0AF11-3AX0  SIMATIC KTP1000 基本色 PN 10,4" TFT 显示器,256 色,以太网接口,
    6AV6647-0AG11-3AX0  SIMATIC TP1500 基本色 PN 15.0" TFT 显示器,256 色,以太网接口,
    6AV6647-0AH11-3AX0  SIMATIC HMI kp300基本单PN,基本面板,按键操作,3寸”
    6AV2124-0GC01-0AX0  SIMATIC HMI TP700 7.0 英寸宽屏 TFT 显示屏,分辨率 800 x 480,1600 万色 
    6AV2124-0JC01-0AX0  SIMATIC HMI TP900,?9.0 英寸宽屏 TFT 显示屏,分辨率 800 x 480,1599 万色
    6AV2124-0MC01-0AX0  SIMATIC HMI TP1200 ?12.1 英寸宽屏 TFT 显示屏,分辨率 1280 x 800,1600 万色 
    6AV2124-0QC02-0AX0  SIMATIC HMI TP1500 ?15.4 英寸宽屏 TFT 显示屏,分辨率 1280 x 800,1600 万色
    ?2 个PROFINET 接口(2 个端口带有集成开关 + 支持千兆位的附加接口)和 1 个 PROFIBUS 接口
    6AV2124-0UC02-0AX0  SIMATIC HMI TP1900 ?18.5 英寸宽屏 TFT 显示屏,分辨率 1366 x 768,1600 万色 
    6AV2124-0XC02-0AX0  SIMATIC HMI TP2200,?21.5 英寸宽屏 TFT 显示屏,分辨率 1920 x 1080,1600 万色 
    6AV2124-1DC01-0AX0  SIMATIC HMI KP400 ?4.3 英寸宽屏 TFT 显示屏,分辨率 480 x 272,1600 万色 
    6AV2124-1GC01-0AX0 SIMATIC HMI KP700 ?7.0 英寸宽屏 TFT 显示屏,分辨率 800 x 480,1600 万色 
    6AV2124-1JC01-0AX0  SIMATIC HMI KP900 ?9.0 英寸宽屏 TFT 显示屏,分辨率 800 x 480,1600 万色 
    6AV2124-1MC01-0AX0  SIMATIC HMI KP1200 ,?12.1 英寸宽屏 TFT 显示屏,分辨率 1280 x 800,1600 万色 
    6AV2124-1QC02-0AX0  SIMATIC HMI KP1500 ?15.4 英寸宽屏 TFT 显示屏,分辨率 1280 x 800,1600 万色 
    6AV2124-2DC01-0AX0  SIMATIC HMI KTP400 ?4.3 英寸宽屏 TFT 显示屏,分辨率 480 x 272,1600 万色 
    6AV6645-0AA01-0AX0  SIMATIC 移动式面板177 DP,带集成启动按钮,使用WINCC FLEXIBLE紧凑型2005或以上进行组态 
    6AV6645-0AB01-0AX0  SIMATIC 移动式面板177 DP,带集成启动按钮和急停按钮,使用WINCC FLEXIBLE紧凑型2005或以上进行组态
    6AV6645-0AC01-0AX0  SIMATIC 移动式面板177 DP,带集成启动按钮和急停按钮、手轮、钥匙开关和亮光按钮, 
    6AV6645-0BA01-0AX0  SIMATIC 移动式面板177 PN,带集成启动按钮,使用WINCC FLEXIBLE紧凑型2005或以上进行组态 
    6AV6645-0BB01-0AX0  SIMATIC 移动式面板177 PN,带集成启动按钮和急停按钮,使用WINCC FLEXIBLE紧凑型2005或以上进行组态 
    6AV6645-0BC01-0AX0  SIMATIC 移动式面板177 PN,带集成启动按钮和急停按钮、手轮、钥匙开关和亮光按钮, 
    6AV6645-0BE02-0AX0  SIMATIC 移动式面板 277 10" W,集成使能按钮、停止按钮和触控按钮,
    6AV6645-0CA01-0AX0  SIMATIC 移动式面板277,带集成启动按钮,
    6AV6645-0CB01-0AX0  SIMATIC 移动式面板277,带集成启动按钮和急停按钮,
    6AV6645-0CC01-0AX0  SIMATIC 移动式面板277,带集成启动按钮和急停按钮、手轮、钥匙开关和两个亮光按钮 

    • 20个不同的CPU:
      • 7种标准型CPU(CPU 312,CPU 314,CPU 315-2 DP,CPU 315-2 PN/DP,CPU 317-2 DP,CPU 317-2 PN/DP,CPU 319-3 PN/DP)
      • 6 个紧凑型 CPU(带有集成技术功能和 I/O)(CPU 312C、CPU 313C、CPU 313C-2 PtP、CPU 313C-2 DP、CPU 314C-2 PtP、CPU 314C-2 DP)
      • 5 个故障安全型 CPU(CPU 315F-2 DP、CPU 315F-2 PN/DP、CPU 317F-2 DP、CPU 317F-2 PN/DP、CPU 319F-3 PN/DP)
      • 2种技术型CPU(CPU 315T-2 DP, CPU 317T-2 DP)
    • 18种CPU可在-25°C 至 +60°C的扩展的环境温度范围中使用
    • 具有不同的性能等级,满足不同的应用领域。

    西门子S7200PLC如何每进入定时中断子程序寄存器或计数器C0自动加

    1 。 在MAIN 主程序中调用定时中断子程序的下面,并联写入上升

     

    沿,使寄存器或计数器C0 加1  。例如:

    2 。 M10.0
    ----------|  |-----------------------------------------( 1 )----
              M10.0           
    ----------|  |----------------|  P |-------------------( 2 )-----
      
      (1) 表示调用定时中断子程序。
     ( 2) 表示寄存器或计数器C0加1

    WinCC中定时器使用方法介绍

    1、定时器功能介绍
    2、脚本中定时器介绍
    3、使用脚本实现更多定时器功能
    3.1 整点归档
    3.2 WinCC 项目激活时避免脚本初次执行及延迟执行脚本1 定时器功能介绍
        WinCC 中定时器的使用可以使 WinCC按照指定的周期或者时间点去执行任务,比如周期执行变量归档、在指定的时间点执行全局脚本或条件满足时打印报表。WinCC 已经提供了一些简单的定时器,可以满足大部分定时功能。但是在有些情况下,WinCC 提供的定时器不能满足我们需求,这时我们就可以通过 WinCC 提供的脚本接口通过编程的方式实现定时的功能,因为脚本本身既可以直接 调用 WinCC其他功能,比如报表打印,也可以通过中间变量来控制其他功能的执行,比如通过置位/复位归档控制变量来触发变量记录的执行。WinCC 提供了 C 脚本和 VBS 脚 本,本文主要以全局 C 脚本编程为例介绍定时功能的实现。
    2 脚本中定时器介绍     既然在全局脚本中可以编程控制其他功能的执行,那么首先看看全局脚本的触发:

    1
                             图1   脚本触发器分类 如图1所示: 脚本触发器分为使用定时器和使用变量, 定时器又分为周期执行和非周期执行一次,比如每分钟执行一次脚本属于周期执行,指定2012年10月1日执行一次属于非周期执行。 使用变量触发脚本,即在变量发生变化时,脚本就执行一次, 而变量的采集可以根据指定周期循环采集,或者根据变化采集,根据变化实际是1秒 钟采集变量一次。
    3使用脚本实现更多定时器功能
       利用脚本自身的定时器, 可以通过在脚本中编程的方式实现更多其它定时功能。

    3.1整 点归档

        WinCC提供了变量归档,变量归档分为周期归档和非周期归档,不管是周期归档或非周期的归档,都又可以通过一些 变量或脚本返回值来控制归档, 比如:整点归档。下面的设置结合WinCC脚本,实现了在 整点开始归档,归档五分种后停止归档,即每个小时仅归档前五分钟的数据。
        软件环境:Windows 7 Professional Service Pack1 , WinCC V7.0 SP3
        归档名称:ProcessValueArchive
        归档变量:NewTag
        归档周期:1 分钟
        归档控制变量  startarchive
        C脚本触发周期:10秒
        脚本代码:
    #include "apdefap.h"
    intgscAction( void )
    {
        #pragma option(mbcs)
        #pragma code ("kernel32.dll"); 
        void GetLocalTime (SYSTEMTIME* lpst); 
        #pragma code(); 
          SYSTEMTIME time;
          int  t1; 
          GetLocalTime(&time); 
          t1=time.wMinute; 
    if(t1==00) 
          { 
                      SetTagBit("startarchive",1);  
           } 
         if(t1==05) 
          { 
                      SetTagBit("startarchive",0);    
     } 
    return0;
    }
    归档设置如图2:

                         图2   归档设置
        同理,在以上脚本的基础上做修改,可以实现在某个指定的时间点打印报表,只要在满足触发条件时调用下列函数:    
           RPTJobPrint(" Myprintjob");
          Myprintjob为 事先创建好的打印作业。 
           脚 本主要部分在于获取系统当前时间,下 面的脚本实现了获取当前时间并分别获取年、月、日、时、分、秒、毫秒,星期几的功能。
     
        Varname1 到 Varname8 为 WinCC 内部变量。若在 WinCC画面上显示时,由于默认 I/O 域的 格式为999.99, 要把 Varname1 的显示格式改为9999。 
      #include "apdefap.h"
    intgscAction( void )
    {
              #pragma option(mbcs)
     
              #pragma code ("kernel32.dll"); 
                 void GetLocalTime (SYSTEMTIME* lpst); 
             #pragma code(); 
             SYSTEMTIME time;
                GetLocalTime(&time); 
                 SetTagWord("Varname1",time.wYear);
               SetTagWord("Varname2",time.wMonth);
               SetTagWord("Varname3",time.wDayOfWeek);
               SetTagWord("Varname4",time.wDay);
               SetTagWord("Varname5",time.wHour);
               SetTagWord("Varname6",time.wMinute);
               SetTagWord("Varname7",time.wSecond);
               SetTagWord("Varname8",time.wMilliseconds);
      return 0;
    }
        设置或读取系统时间的函数如下: 
            SetSystemTime
            SetLocalTime
            GetSystemTime
            GetLocalTime 
        系统中本地计算机时间和格林威治时间是有区别的。函数“SetSystemTime / GetSystemTime”用于设置或读取格林威治时间。
       函数“SetLocalTime / GetLocalTime”用于设置或读取本地计算机时间。
      两种时间会因地理的时区不同而改变。两个函数使用方法相 同。
      3.2 WinCC 项目激活时避免脚本初次执行及延迟执行脚本
        全局脚本在项目激活时,是要执行一次的,在有些情况下,需要避免脚本执行,就采用在脚本中去判断。比如 可以创建 WinCC 内部布尔型变量 flag,脚本如下:
      #include "apdefap.h"
    intgscAction( void )
    {
          #pragma option(mbcs)
     
          if ( GetTagBit("flag")==1) 
                  SetTagWord("NewTag",1);//根据自己的需求编写对应代码.
         else
                  SetTagBit("flag",1);    //Return-Type: BOOL
    return0;
    }
        除了避免项目运行激活时触发脚本执行,我们 还可以通过 Sleep() 延迟脚步功能执行,比如开机后五分钟开始执行脚本具体功能,代码如下:
      #include "apdefap.h"
    intgscAction( void )
    {
            #pragma option(mbcs)

    西门子STL间接寻址常问问题集

    1.1如何获得指针或者间接寻址有关的信息?
    指针的类型包括16位指针、32位指针、Pointer(6Byte)和Any(10Byte)。16位指针用于定时器、计数器、程序块的寻址;32位指针用于I/Q/M/L/数据块等存储器中位、字节、字以及双字的寻址,其中第0~2位表示位地址(0~7)、第3~18位为字节地址,其余位未定义;Pointer和Any一般应用在复杂数据类型(比如Date_and_Time /Array/String等)在FB、FC之间的传递。而Any可以看做是对Pointer的延伸,因为由10Byte组成的Any中Byte4~Byte9就是一个Pointer。
    了解指针的格式十分重要,为正确使用指针,应阅读如下内容:
    1、 "SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 参数类型
    2、文档:1008用于S7-300 和S7-400 的语句表(STL)编程
    3、文档:F0215,S7-300和S7-400寻址 1.2为什么语句 LAR1 P##PointerInput 在一个函数(FC)中是无效的,然而,同样的语句在一个功能块(FB)中是有效的?
    在FC被调用时,复杂数据类型例如指针是被复制到调用者的临时变量区中,在FC内部对此V区地址直接取址放入到地址寄存器AR1或AR2是不被编译器规则接受的(导致MC7寄存器信息过长),也就是说在FC内部通过P#进行地址寄存器取址仅能支持Temp临时变量。因此如果需要在FC中操作指针等复杂输入输出变量地址需要使用累加器进行中转。
    考虑到程序的一致性、遵守编译器规则和STL手册中LAR1指令说明,建议用户使用如下指令操作:
    L P##PointerInput
    LAR1 1.3 STEP 7 中哪些操作会覆盖DB/DI寄存器或者地址寄存器AR1/AR2的内容?
    下面说明了可能引起DB/DI寄存器或者地址寄存器AR1/AR2内容改变的一些操作:


    • DB寄存器和AR1受到影响的操作
      1. 使用完整的DB路径(如L DB20.Val)或者调用FC/FB时使用DB块完整地址作为其参数,则DB寄存器内容被覆盖。
      例如在OB1中调用FC1后,DB寄存器变成20。
      OPN DB1
      Call FC1
      Input(bit):DB20.DBX0.2
      因此在编程的时候,OPN 指令打开数据块,通过DBX x.y的方式访问其中内容, 但是如果在打开数据块后DB寄存器的内容被修改了,则DBX x.y的方式访问变量则 会访问到错误的地址。可以通过使用符号寻址的方式或者使用完整路径编程避免,当 然重新使用 OPN指令也是可以的。
      2. 调用FC时使用string, array, structure ,UDT作为其形参或者调用FB时使用string, array, structure 或者UDT作为其in out形参,在FC/FB程序中访问这些地址则AR1寄存器内容被覆盖,因此当使用AR1进行间接寻址时需要注意AR1内容的正确性。
    • AR2地址寄存器和DI寄存器在FB中作为参数和静态变量的基址寻址使用。AR2和DI如果被修改,会影响FB的参数访问,如果希望在FB中使用DI寄存器或者地址寄存器AR2,必须预先保存它们中的内容,并在使用后恢复它们,例如:
      TAR2 #AR2_SAVE; //AR2寄存器状态保存到#AR2_SAVE
      L DINO;
      T #DB2_SAVE; //DI寄存器状态保存到#DB2_SAVE
    User Program
    LAR2 #AR2_SAVE; //AR2寄存器恢复到使用前状态
    OPN DI [#DB2_SAVE]; //DI寄存器恢复到使用前状态
    1.4 如何得到多重背景FB中的变量在背景DB里的绝对偏移量呢?
    可以用下面的方法处理:
    TAR2 (得到多重背景FB在背景DB里的偏移地址)
    AD DW#16#00FFFFFF (屏蔽掉存储区ID,可参考32位指针格式)
    L P##Variable (得到变量在多重背景FB里的地址)
    +D (多重背景FB的偏移地址与变量在多重背景FB里地址相加,即得到实际绝对偏移量)
    LAR1
    上述语句就是就得到了变量在背景DB中的绝对偏移量,从而供后续程序处理。 1.5如何在程序中使用ANY 型指针? 简要说明如下:
    L P##Input //指向存储地址指针Input首地址
    //这个参数是一个Any类型,P##Input指向参数Input的值所在地址,这就是指针的指针
    LAR1 //装载到地址寄存器AR1中。
    L W [AR1,P#4.0] //打开DB块
    // 由Any类型结构知道Any类型的Byte4、Byte5存放的数据块号
    T #BLOCK_NO
    OPN DB [#BLOCK_NO] //如果是DB块,打开指定的DB块。
    L W [AR1,P#2.0] //判断ANY指针中数据长度
    // Any类型的Byte2、Byte3是重复系数,如P#DB1.DBX0.0 Byte 8后面的Byte 8
    _001:T #DATA_LEN //通常此处做loop循环!!
    L D [AR1,P#6.0] //找出需要计算数据区的开始地址
    // Any类型Byte6~Byte9是32位区域地址
    理解Pointer、Any的类型的数据结构,对于正确使用指针有很大帮助。
    为正确使用指针,应仔细阅读如下内容:
    "SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 参数类型 如下的程序实现了SFC20的部分功能,可以作为Any使用的参考。
    FUNCTION FC 1 : VOID
    TITLE =
    VERSION : 0.1
    VAR_INPUT
    SRCBLK : ANY ;
    END_VAR
    VAR_OUTPUT
    RETVAL : INT ;
    DSTBLK : ANY ;
    END_VAR
    VAR_TEMP
    LOOP : INT ;
    BLOCK_NO_DB : WORD ;
    BLOCK_NO_DI : WORD ;
    SRC_ADD : DWORD ;
    DST_ADD : DWORD ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    L P##SRCBLK; //读取输入any的首地址
    LAR1 ; //装载到ar1
    L P##DSTBLK; //读取输出any的首地址
    LAR2 ; //装载到ar2
    L W [AR1,P#4.0]; //打开DB块
    T #BLOCK_NO_DB;
    L W [AR2,P#4.0]; //打开DI块
    T #BLOCK_NO_DI;
    OPN DB [#BLOCK_NO_DB]; //打开DB块
    OPN DI [#BLOCK_NO_DI]; //打开DI块
    L D [AR1,P#6.0];
    T #SRC_ADD; //读取地址
    L D [AR2,P#6.0];
    T #DST_ADD; //读取地址 L W [AR1,P#2.0]; //读取循环次数
    _001: T #LOOP;
    L DBB [#SRC_ADD];
    T DIB [#DST_ADD]; //赋值
    //地址偏移1个字节
    L P#1.0;
    L #SRC_ADD;
    +D ;
    T #SRC_ADD;
    L P#1.0;
    L #DST_ADD;
    +D ;
    T #DST_ADD;
    L #LOOP; //循环
    LOOP _001;
    END_FUNCTION 1.6 当FC 或FB的输入参数类型为:BLOCK_DB, TIMER或者 COUNTER,如何确定其编号?
    例1 :FB 块
    FB1 变量声明中定义了“ Timer” 类型的变量“ Time_1” ,在 FB2 中调用 FB1,将定时器“T5”传递给变量“ Time_1”。如图 01 所示程序代码中数值 5 表示“T5”。


    图 01 FB中确定定时器编号 在使用多重实例时,需要在图 01 所示程序中增加以下代码:
    TAR2 //多重实例偏移地址
    LAR1 P##Time_1
    +AR1 //多重实例偏移地址与当前地址相加
    L W[AR1,P#0.0]
    T MW0
    例 2 FC
    FC1 变量声明中定义了“ Timer” 类型的变量“ Time_1” ,在 FC2 中调用 FC1,将定时器“T8”传递给变量“ Time_1”。如图 02 所示程序代码中数值 8 表示“T8”。


    S7-300如何通过GSD文件实现PROFIBUS DP主从通讯

    1 GSD文件介绍
    GSD文件是一种设备描述文件,一般以“*.GSD”或“*.GSE”为后缀。它描述了设备的功能参数,用来将不同厂家支持PROFIBUS产品集成在一起。另外在工程开发中有时候由于开发人员不同,要用两个独立的STEP 7项目来实现同一个PROFIBUS 网络通讯,此时需要借助GSD文件的方法来实现。


    2 GSD文件的导入方法
    下面以CPU314C-2DP为例,说明一下 GSD 文件的导入步骤:
    首先从西门子网站上下载相关产品的 GSD 文件,下面是SIMATIC系列产品的GSD文件下载链接:113652
    选择相关产品并下载到本地硬盘中。


    图 1 GSD文件下载界面

    打开SIMATIC Manager,进入硬件组态界面,选择菜单栏的“Options”->“Install GSD File…”,如图 2 所示。


    图 2 安装GSD文件

    进入GSD安装界面后,选择“Browse…”,选择相关GSD文件的保存文件夹,选择对应的GSD文件(这里选择语言为英文的“*.GSE”文件),点击“Install”按钮进行安装。


    图 3 选择安装GSD文件

    安装完成后可以在下面的路径中找到CPU314C-2DP,如图 4:


    图 4 硬件目录中的保存路径


    3 CP342-5做主站采用GSD方法实现PROFIBUS DP 通信

    3.1网络拓扑介绍
    PROFIBUS DP主站由CPU314+CP342-5组成,其中CP342-5做主站。
    PROFIBUS DP 从站由CPU314C-2DP组成,集成的DP接口做从站。
    网络拓扑图如下:


    图 5 网络拓扑图

    3.2 从站组态
    首先插入SIMATIC S7-300站,添加CPU314-2DP,双击DP接口,分配一个PROFIBUS地址,然后在“Operating Mode”中选择“DP salve”模式,进入“Configuration”标签页,新建两行通信接口区,如图 6所示:


    图 6 从站通信接口区

    注意:上述从站组态的通信接口区和主站导入的GSD从站的通信接口区在顺序、长度和一致性上要保持一致。

    3.3 主站组态及编程

    3.3.1主站组态
    首先插入SIMATIC S7-300站,添加CPU314以及CP342-5,然后双击CP342-5,将“Operating Mode”设置为“DP Master”。新建一条PROFIBUS网络。然后从硬件目录中选择CPU314C-2DP GSD文件(路径参照图4),添加到新建的PROFIBUS网络中,为其分配PROFIBUS地址,该地址要与前文的从站地址一致。
    然后组态CPU314C-2DP从站对应的通信接口区。本文在硬件目录中CPU314C-2DP GSD文件下方选择了“Master_I Slave_Q 1B unit”和“Master_Q Slave_I 1B unit”,和从站组态时通信接口区保持一致,如图 7所示。


    图 7 主站组态

    3.3.2 主站编程
    由于CP342-5提供的是虚拟地址映射区,所以需要分别调用FC1(DP_SEND)和FC2(DP_RECV)来实现数据访问。如图8 和图9所示。


    图 8发送程序

     


    图 9接收程序

    如图7所示,主站侧在组态CPU314C-2DP GSD从站时,第一行通信接口区选择了“Master_I Slave_Q 1B unit”,“Master_I”对应主站的IB0。参照图6可知“Slave_Q”对应从站的QB0, 表示数据由从站的QB0发送到主站的IB0。又由于CP342-5通过调用FC2,将IB0读取的数据保存在MB11,所以数据由从站的QB0经过主站的IB0,最终保存在MB11。 同理可分析第二行通信接口区“Master_Q Slave_I 1B unit”。综上所述,主站和从站通信接口的对应关系,如表 1:

    主站 传输方向 从站
    MB11IB0      QB0
    MB10QB0      IB0

    表1 主站和从站通信接口区对应表


    4 S7-300做主站采用GSD方法实现PROFIBUS DP 通信

    4.1 网络拓扑介绍
    PROFIBUS DP主站由CPU314C-2DP组成,集成的DP接口做主站。
    PROFIBUS DP 从站由CPU314C-2DP组成,集成的DP接口做从站。
    网络拓扑图如下:


    图 10 网络拓扑图

    4.2 从站组态
    组态步骤同3.2节,这里不再赘述。

    4.3 主站组态
    首先新建S7-300站,添加CPU314C-2DP,双击DP接口,新建一条PROFIBUS网络。然后从硬件目录中选择CPU314C-2DP GSD文件(路径参照图4),添加到新建的PROFIBUS网络中,为其分配PROFIBUS地址,该地址要与前文的从站地址一致。
    然后为CPU314C-2DP从站组态的通信接口区。本文在硬件目录中CPU314C-2DP GSD文件下方选择了“Master_I Slave_Q 1B unit”和“Master_Q Slave_I 1B unit”,必须和从站组态时通信接口区保持一致。如图 11所示。


    图 11 主站组态

    主站和从站通信接口区的对应关系如表 2 所示:

    主站 传输方向 从站
    IB0         QB0
    QB0          IB0

    表 2 主站和从站通信接口区对应表

    注:文档涉及到西门子产品如下:

    表 3 产品列表

    产品名称 订货号 版本号
    STEP 7(英文版) 6ES7 810 - 4CC08 - 0YA5 V5.4 SP5
    CPU314C-2DP 6ES7 314 - 6CG03 - 0AB0 V2.6
    CPU314 6ES7 314 - 1AG13 - 0AB0 V2.6
    CP342-5 6GK7 342 - 5DA02 - 0XE0 V5.2
    PS307 6ES7 307 - 1EA00 - 0AA0  

来源:上海赞国
免责声明:地方电气网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系电话:0571-87774297。
0571-87774297