精华内容
下载资源
问答
  • C#与西门子PLC通讯

    万次阅读 2019-09-10 18:28:37
    C#与西门子PLC通讯S7NetPLC设置C#程序 S7Net PLC在工业自动化领域是常用的控制器,一般在和上位机界面通讯,经常使用组态软件。以西门子PLC为例,上位机可以使用西门子的WINCC。但是,当面对需求比较多样化的需求...

    C#与西门子PLC通讯

    S7Net

    PLC在工业自动化领域是常用的控制器,一般在和上位机界面通讯时,经常使用组态软件。以西门子PLC为例,上位机可以使用西门子的WINCC。但是,当面对需求比较多样化的需求时,WINCC难以胜任。而且,作为量产的标准化产品,WINCC授权的费用一笔不小的成本。 S7.Net .dll 是应用在 .NET平台上和西门子PLC通讯的一个动态库。大家可以到GitHub中直接去下载,或者直接搜索“S7.Net .dll”也可以找到下载的链接。文章最后也会给出链接。
    目前该动态库支持的西门子PLC类型有S7-200,S7-300,S7-400,S7-1200,S7-1500,基本涵盖了西门子所有的PLC产品。该库可以直接读写PLC中的全局DB块,作为通讯的接口。 下面对需要的一些函数以及数据类型做简单说明。
    构造函数:cpu 为枚举类型,代表PLC类型。ip 为PLC地址,需要和PLC组态的地址一致,同时,和通讯的PC IP地址应在同一局域网段。rack 为导轨号,slot 为插槽号,均可在TIA PLC 硬件组态处获得。
    如下图,ip=“192.168.0.5”。
    IP地址
    如下图,rack为0,slot为1。
    在这里插入图片描述

    public Plc(CpuType cpu, string ip, short rack, short slot);
    public enum CpuType
    {
            S7200 = 0,
            S7300 = 10,
            S7400 = 20,
            S71200 = 30,
            S71500 = 40
     }
    

    获取是否连接成功:

    public bool IsConnected { get; }
    

    连接PLC:

    public void Open();
    public Task OpenAsync();
    

    该类库提供了两个用于PLC连接的函数,区别在于第二个为异步连接,在请求连接的过程中,不会导致线程阻塞。我个人比较喜欢第二种方式。
    按位写操作:参数db代表访问的DB块编号,如下图所示UISendInt编号为3,UIReadInt编号为4。
    在这里插入图片描述
    startByteAdr是在数据块内以字节为单位的起始地址,可以传入0。bitAdr 为需要操作的位的偏移地址(以startByteAdr为基准),value 为写入的值。
    dataType为枚举类型,我们操作的是数据块,传入DataBlock。

    public void WriteBit(DataType dataType, int db, int startByteAdr, int bitAdr, bool value);
    public enum DataType
    {
         Counter = 28,
         Timer = 29,
         Input = 129,
         Output = 130,
         Memory = 131,
         DataBlock = 132
     }
    

    按字节读:count代表读的字节数量。在进行按字节读写时,对于8位的单字节变量来说没有任何问题。但是对于多字节比如在PLC中16位I的INT类型,需要注意大小端问题。在西门子PLC中以大端模式存储数据,但是在Intel的X86架构的PC上,确是以小端模式。所以,在从PLC读取一个INT类型的变量,需要将读取回来的字节数组高低字节调换,后面C#程序中会有详细的实现代码。

    public byte[] ReadBytes(DataType dataType, int db, int startByteAdr, int count);
    

    按字节写:value代表将要传输的数据转换成的字节数组,如果要操作一个INT变量,需要提前将高低字节调换,后面C#程序中会有详细的实现代码。

    public void WriteBytes(DataType dataType, int db, int startByteAdr, byte[] value);
    

    PLC设置

    实现外部程序可以访问操作DB块,需要对PLC部分做一些设置。首先对于要读取或者访问的DB块,要将优化的块访问取消,默认为勾选的,选中块右击选择属性。
    在这里插入图片描述
    同时还要在硬件组态中,设置防护与安全中的连接机制。将“允许来自远程对象的PUT/GET访问”勾选。如下图:
    在这里插入图片描述

    C#程序

    在C#上位机软件中,对通讯类库的函数做一个简单的包装,以方便我们使用。首先新建一个类S7,在项目中需要引用S7.NET,并在该类中包含命名空间。

    using S7.Net;
    

    定义一个Plc类型变量plc,并定义该类的构造函数和析构函数:

    Plc plc;
    public S7(S7DataType.CpuType cpuType,string ip,Int16 rack,Int16 slot)
    {
        plc = new Plc((CpuType)cpuType,ip, rack,slot);
    }
    
    ~S7()
    {
        this.plc.Close();
    }
    

    定义连接函数以及关闭函数:

    public void OpenAsync()
    {
           this.plc.OpenAsync();
     }
    
    public void Close()
    {
        this.plc.Close();
    }
    

    定义读写函数:之所以加lock,是因为在应用中数据通讯很有可能在不同的线程去操作,比如单独开一个线程定时从PLC更新数据。

    public byte[] PlcReadBytes(int db, int startByteAdr=0, int count=1)
    {
          try
          {
              lock (this)
              {
                  return this.plc.ReadBytes(DataType.DataBlock, db, startByteAdr, count);
              }
          }
          catch
          {
              return new byte[2];
          }
         
      }
      
    public void PlcWriteBytes(int db, byte[] value, int startByteAdr = 0)
    {
            lock (this)
            {
                this.plc.WriteBytes(DataType.DataBlock, db, startByteAdr, value);
            }    
    } 
    
    public void PlcWriteBit(int db, int bitAdr, bool value, S7DataType.DataType dataType = 
    S7DataType.DataType.DataBlock)
     {
         int temp1 = bitAdr / 8;
         int temp2 = bitAdr % 8;
         lock (this)
         {
             this.plc.WriteBit((DataType)dataType, db, temp1, temp2, value);
         }
     }
    

    定义字节和Int16类型之间的转换函数(需要进行高低字节转换):

    public static byte[] Int16ToBytes(Int16 data)
     {
          byte[] temp = new byte[2];
          temp[0] =(byte) (data >> 8);
          temp[1] = (byte)(data);
          return temp;
      }
    
    public static Int16 BytesToInt16(byte[] bytes)
     {
          Int16 temp;
          temp =(Int16)( bytes[0] << 8 | bytes[1]);
          return temp;
      }
    

    S7.NET.dll 下载链接:
    https://download.csdn.net/download/m0_37763193/11721737

    展开全文
  • (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;2)需要将...

    4a77915f8697e2882208c08af08cc407.png

    da0a9af6abf317d1b60bf166eeccad2c.png

    (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?

    1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;

    2)需要将 MPI 通讯卡 CP5611 卡安装在计算机的插槽中,使用西门子公司提供的专用电缆和网络接头将 CP5611 卡和 S7-200 的 Port 口相连(CP5611 卡的 3,8 分别和 S7200的 PORT 口 3,8 连接),一般情况下 MPI 网络中连接最后一个设置得网络接头的终端电阻应打到 ON(有效)状态;

    3)PLC 中 MPI 网络的创建和通讯波特率的正确设置;

    4)在控制面板中 SetPG/PC 接口参数的设置;具体可参考组态王电子帮助。

    3d6a9db286a48e3c0d9039b89109789c.png

    (二)组态王与西门子 200 plc 自由口协议通过 modem 通讯,硬件接线怎样实现?

    设备上插标准 PPI 电缆,modem9 针口通过一个标准 232 交叉线接到 PPI 电缆上即可,232 交叉线的 modem 侧需要 1 4 6 短接,7 和 8 短接。

    cf60aae30be0d33f0be3ef5538bbfea5.png

    (三)一台 S7 200 PLC通过串口方式能否接两个上位机通讯?

    通过串行电缆的方式不行,可以考虑使用以下两种方式:

    1)PLC 配置为 MPI 协议,这样两个上位机需要各配置一块 MPI 卡;

    2)两个 PC 机中,一个作为采集站和 PLC 通讯,另外一个作为客户端和采集站通讯。

    cf60aae30be0d33f0be3ef5538bbfea5.png

    (四)西门子 200Plc 通过 PPI 协议与组态王通讯失败,为何?

    请检查如下设置是否正确:

    1)用户编程电缆的拨码设置:在编程电缆的拨码中,第 5 个端子是设置通讯协议的:拨码设置为 0,表示 PPI/Freeport ;拨码设置为 1,表示 PPI(master);用户使用 PPI 协议和组态王通讯时,拨码选择 PPI/Freeport 对应拨码值即可;

    2)PPI 通讯传输的是 11 位的数据,也就建议客户拨码选择 8 数据位 1 停止位偶校验(拨码默认为 11 位),并且 PLC 的波特率和 PPI、组态王要一致;

    3)要求编程软件必须是离线时启动运行组态王。

    cf60aae30be0d33f0be3ef5538bbfea5.png

    (五)西门子 200plc 通过 modbus 协议与组态王通讯时,组态王中定义的寄存器地址与plc 地址是如何对应的?

    映射关系如下:0-Q,1-I,3、4、8、9-V;

    3,4,8,9 的 dd 号与 PLC 中 V 寄存器的偏移地址(实际地址-1000)的对应关系:组态王中(寄存器的 dd 号-1)*2=PLC 中的 V 寄存器的偏移地址。组态王中 40031对应 PLC:VW1060 (组态王中寄存器 4 表示 SHORT 型变量)组态王中 90640 对应 PLC:VD2278 (组态王中寄存器 9 表示 FLOAT 型变量)。

    cc163c57aa65158f4ab80eb8b81cb5ce.png

    (六)西门子 200plc 通过 modbus 协议与组态王通讯,需要注意哪些事项?

    需要注意如下几点:

    1)需要向 PLC 中下载对应的初始化程序(KVmoddbus.mwp),由亚控提供。此程序默认的 plc 通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程SBR0 中的 VB8,SMB30 进行修改);

    2)由于 PLCModbus 协议程序占用 V1000 及以前的地址,所以用户在编写逻辑控制程序中用到的寄存器不能和亚控提供的协议中所占用的 V 区地址冲突;

    3)西门子 S7200PLC 和通过 modbus 协议和组态王通讯时,CPU 上的开关必须拨在RUN 状态,否则 PLC 中的 modbus 通讯程序没有处于运行状态,组态王和设备通过自由口协议肯定通讯失败。

    cf60aae30be0d33f0be3ef5538bbfea5.png

    (七)S7 300 MPI 电缆方式是否支持通过 GPRS 和组态王通讯?

    不支持。

    组态王的 GPRS 通讯方式要求必须创建虚拟串口并通过此串口进行数据通讯。而对于 MPI 协议,我们的 MPI 驱动是通过调用西门子 PLC 的专用动态连接库(s7onlinx.dll等)实现和 PLC 进行通讯的,并不是直接通过串口实现数据通讯。

    其他类似调用方法的驱动,同样也不支持 GPRS 连接。

    cf60aae30be0d33f0be3ef5538bbfea5.png

    (八)组态王和多台西门子S7-300、400 PLC 通过 DP 协议通讯时,设备地址应如何定义?

    1)硬件连接:计算机中插入一块CP5611(或CP5613)可实现将多个S7-300/400PLC连接在一条 DP 总线上。

    2)DP 协议设置:所有 PLC 必须设置的 DP Slave 站, CP5611(或 CP5613)要求通过 Simatic net 设置的 DP 唯一 master 站;

    3)组态王中设备地址定义:选择 PLC/西门子/S7-200 系列(DP)/Profibus-DP ,设备地址固定为 1.1 (该地址与从站 PLC 的地址设置无关)。

    44bdd89fde2cd4266acc14d076aa56de.png

    (九)西门子 300 plc 通过 MPI 通讯卡与组态王进行通讯时,能否实现双设备冗余的功能?

    可以实现。

    1)一个 cp5611 卡可以连接两台 s7300plc(使用西门子厂家提供的可编程插头来实现);

    2)在组态王软件中建立两个 s7300plc,设备地址分别设备为 7.2 和 8.2(设备地址根据实际设备来设置),小数点前面的号指 plc 的地址,后面是 cpu 所在的槽号。这两个 plc 在 STEP7 编程软件中是单独定义的,所以除 plc 地址不一样,槽号是一样的;

    3)在组态王中只须定义主设备的变量即可。

    cf60aae30be0d33f0be3ef5538bbfea5.png

    (十)组态王和西门子 300、400PLC 通讯支持哪些通讯链路?是否需要西门子软件的支持?

    1)MPI 电缆通讯方式:组态王所在的计算机必须安装 STEP7 编程软件;

    2)MPI 通讯卡方式:组态王所在的计算机必须安装 STEP7 编程软件;

    3)以太网通讯方式:不需要在组态王所在的计算机上安装 STEP7 或 Simatic net 通讯软件;

    4)Profibus-DP通过方式:需要在本机上安装 STEP7 编程软件和 Simatic net 6.0(或以上版本)的通讯配置软件和授权;

    5)Profibus-S7通过方式:需要在组态王所在的计算机上安装 STEP7 编程软件 ,但不需要安装SIMATIC NET 软件。

    展开全文
  • (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;2)需要将 ...
    4b39478fce45f42293c85b6808ed25ad.png

    (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?

    1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;

    2)需要将 MPI 通讯卡 CP5611 卡安装在计算机的插槽中,使用西门子公司提供的专用电缆和网络接头将 CP5611 卡和 S7-200 的 Port 口相连(CP5611 卡的 3,8 分别和 S7200的 PORT 口 3,8 连接),一般情况下 MPI 网络中连接最后一个设置得网络接头的终端电阻应打到 ON(有效)状态;

    3)PLC 中 MPI 网络的创建和通讯波特率的正确设置;

    4)在控制面板中 SetPG/PC 接口参数的设置;具体可参考组态王电子帮助。

    d11f6ddf21f1fea58b1aa3457d56b05a.png

    (二)组态王与西门子 200 plc 自由口协议通过 modem 通讯,硬件接线怎样实现?

    设备上插标准 PPI 电缆,modem9 针口通过一个标准 232 交叉线接到 PPI 电缆上即可,232 交叉线的 modem 侧需要 1 4 6 短接,7 和 8 短接。

    (三)一台 S7 200 PLC通过串口方式能否接两个上位机通讯?

    通过串行电缆的方式不行,可以考虑使用以下两种方式:

    1)PLC 配置为 MPI 协议,这样两个上位机需要各配置一块 MPI 卡;

    2)两个 PC 机中,一个作为采集站和 PLC 通讯,另外一个作为客户端和采集站通讯。

    (四)西门子 200Plc 通过 PPI 协议与组态王通讯失败,为何?

    请检查如下设置是否正确:

    1)用户编程电缆的拨码设置:在编程电缆的拨码中,第 5 个端子是设置通讯协议的:拨码设置为 0,表示 PPI/Freeport ;拨码设置为 1,表示 PPI(master);用户使用 PPI 协议和组态王通讯时,拨码选择 PPI/Freeport 对应拨码值即可;

    2)PPI 通讯传输的是 11 位的数据,也就建议客户拨码选择 8 数据位 1 停止位偶校验(拨码默认为 11 位),并且 PLC 的波特率和 PPI、组态王要一致;

    3)要求编程软件必须是离线时启动运行组态王。

    (五)西门子 200plc 通过 modbus 协议与组态王通讯时,组态王中定义的寄存器地址与plc 地址是如何对应的?

    映射关系如下:0-Q,1-I,3、4、8、9-V;

    3,4,8,9 的 dd 号与 PLC 中 V 寄存器的偏移地址(实际地址-1000)的对应关系:组态王中(寄存器的 dd 号-1)*2=PLC 中的 V 寄存器的偏移地址。组态王中 40031对应 PLC:VW1060 (组态王中寄存器 4 表示 SHORT 型变量)组态王中 90640 对应 PLC:VD2278 (组态王中寄存器 9 表示 FLOAT 型变量)。

    fcb9a4f79e89d43a7c8182c17c05c8d8.png

    (六)西门子 200plc 通过 modbus 协议与组态王通讯,需要注意哪些事项?

    需要注意如下几点:

    1)需要向 PLC 中下载对应的初始化程序(KVmoddbus.mwp),由亚控提供。此程序默认的 plc 通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程SBR0 中的 VB8,SMB30 进行修改);

    2)由于 PLCModbus 协议程序占用 V1000 及以前的地址,所以用户在编写逻辑控制程序中用到的寄存器不能和亚控提供的协议中所占用的 V 区地址冲突;

    3)西门子 S7200PLC 和通过 modbus 协议和组态王通讯时,CPU 上的开关必须拨在RUN 状态,否则 PLC 中的 modbus 通讯程序没有处于运行状态,组态王和设备通过自由口协议肯定通讯失败。

    (七)S7 300 MPI 电缆方式是否支持通过 GPRS 和组态王通讯?

    不支持。

    组态王的 GPRS 通讯方式要求必须创建虚拟串口并通过此串口进行数据通讯。而对于 MPI 协议,我们的 MPI 驱动是通过调用西门子 PLC 的专用动态连接库(s7onlinx.dll等)实现和 PLC 进行通讯的,并不是直接通过串口实现数据通讯。

    其他类似调用方法的驱动,同样也不支持 GPRS 连接。

    (八)组态王和多台西门子S7-300、400 PLC 通过 DP 协议通讯时,设备地址应如何定义?

    1)硬件连接:计算机中插入一块CP5611(或CP5613)可实现将多个S7-300/400PLC连接在一条 DP 总线上。

    2)DP 协议设置:所有 PLC 必须设置的 DP Slave 站, CP5611(或 CP5613)要求通过 Simatic net 设置的 DP 唯一 master 站;

    3)组态王中设备地址定义:选择 PLC/西门子/S7-200 系列(DP)/Profibus-DP ,设备地址固定为 1.1 (该地址与从站 PLC 的地址设置无关)。

    06f90c50c24d24aacfe6d97115704fdc.png

    (九)西门子 300 plc 通过 MPI 通讯卡与组态王进行通讯时,能否实现双设备冗余的功能?

    可以实现。

    1)一个 cp5611 卡可以连接两台 s7300plc(使用西门子厂家提供的可编程插头来实现);

    2)在组态王软件中建立两个 s7300plc,设备地址分别设备为 7.2 和 8.2(设备地址根据实际设备来设置),小数点前面的号指 plc 的地址,后面是 cpu 所在的槽号。这两个 plc 在 STEP7 编程软件中是单独定义的,所以除 plc 地址不一样,槽号是一样的;

    3)在组态王中只须定义主设备的变量即可。

    (十)组态王和西门子 300、400PLC 通讯支持哪些通讯链路?是否需要西门子软件的支持?

    1)MPI 电缆通讯方式:组态王所在的计算机必须安装 STEP7 编程软件;

    2)MPI 通讯卡方式:组态王所在的计算机必须安装 STEP7 编程软件;

    3)以太网通讯方式:不需要在组态王所在的计算机上安装 STEP7 或 Simatic net 通讯软件;

    4)Profibus-DP通过方式:需要在本机上安装 STEP7 编程软件和 Simatic net 6.0(或以上版本)的通讯配置软件和授权;

    5)Profibus-S7通过方式:需要在组态王所在的计算机上安装 STEP7 编程软件 ,但不需要安装SIMATIC NET 软件。

    展开全文
  • 招聘电气工程师(安徽信控)●西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?①在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI ...
    问题一

    加微信号“15021230050”,邀请您加入“信控电气微信群。

    点击文章最下方阅读原文”,加入超级工控技术群。

    招聘电气工程师(安徽信控)

    西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?  

    在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数; 

     ②需要将 MPI 通讯卡 CP5611 卡安装在计算机的插槽中,使用西门子公司提供的专用电缆和网络接头将 CP5611 卡和 S7-200 的 Port 口相连(CP5611 卡的 3,8 分别和 S7200的 PORT 口 3,8 连接),一般情况下 MPI 网络中连接最后一个设置得网络接头的终端电阻应打到 ON(有效)状态;  

    ③PLC 中 MPI 网络的创建和通讯波特率的正确设置;   

    ④在控制面板中 SetPG/PC 接口参数的设置;具体可参考组态王电子帮助。

    2、问题二

    组态王与西门子 200 plc 自由口协议通过 modem 通讯,硬件接线怎样实现?    

    设备上插标准 PPI 电缆,modem9 针口通过一个标准 232 交叉线接到 PPI 电缆上即可,232 交叉线的 modem 侧需要 1 4 6 短接,7 和 8 短接。

    3、问题三

    一台 S7 200 PLC通过串口方式能否接两个上位机通讯?

     通过串行电缆的方式不行,可以考虑使用以下两种方式:  

     ①PLC 配置为 MPI 协议,这样两个上位机需要各配置一块 MPI 卡; 

      ②两个 PC 机中,一个作为采集站和 PLC 通讯,另外一个作为客户端和采集站通讯。

    4、问题四

     ●西门子 200Plc 通过 PPI 协议与组态王通讯失败,为何? 

      请检查如下设置是否正确:  

    用户编程电缆的拨码设置:在编程电缆的拨码中,第 5 个端子是设置通讯协议的:拨码设置为 0,表示 PPI/Freeport ;拨码设置为 1,表示 PPI(master);用户使用 PPI 协议和组态王通讯时,拨码选择 PPI/Freeport 对应拨码值即可; 

     ②PPI 通讯传输的是 11 位的数据,也就建议客户拨码选择 8 数据位 1 停止位偶校验(拨码默认为 11 位),并且 PLC 的波特率和 PPI、组态王要一致; 

    要求编程软件必须是离线时启动运行组态王。

    5、问题五

    西门子 200plc 通过 modbus 协议与组态王通讯时,组态王中定义的寄存器地址与plc 地址是如何对应的?

     映射关系如下:

    0-Q,1-I,3、4、8、9-V;  

     3,4,8,9 的 dd 号与 PLC 中 V 寄存器的偏移地址(实际地址-1000)的对应关系:组态王中(寄存器的 dd 号-1)*2=PLC 中的 V 寄存器的偏移地址。组态王中 40031对应 PLC:VW1060 (组态王中寄存器 4 表示 SHORT 型变量)组态王中 90640 对应 PLC:VD2278 (组态王中寄存器 9 表示 FLOAT 型变量)。

    6、问题六

     西门子 200plc 通过 modbus 协议与组态王通讯,需要注意哪些事项?

    需要注意如下几点:  

    ①需要向 PLC 中下载对应的初始化程序(KVmoddbus.mwp),由亚控提供。此程序默认的 plc 通讯端口为 port0,地址为 2,波特率 9600,无校验(地址和波特率可由程SBR0 中的 VB8,SMB30 进行修改); 

    ②由于 PLCModbus 协议程序占用 V1000 及以前的地址,所以用户在编写逻辑控制程序中用到的寄存器不能和亚控提供的协议中所占用的 V 区地址冲突;  

    ③西门子 S7200PLC 和通过 modbus 协议和组态王通讯时,CPU 上的开关必须拨在RUN 状态,否则 PLC 中的 modbus 通讯程序没有处于运行状态,组态王和设备通过自由口协议肯定通讯失败。

    7、问题七

    S7 300 MPI 电缆方式是否支持通过 GPRS 和组态王通讯?  

     不支持。   

    组态王的 GPRS 通讯方式要求必须创建虚拟串口并通过此串口进行数据通讯。而对于 MPI 协议,我们的 MPI 驱动是通过调用西门子 PLC 的专用动态连接库(s7onlinx.dll等)实现和 PLC 进行通讯的,并不是直接通过串口实现数据通讯。 

    其他类似调用方法的驱动,同样也不支持 GPRS 连接。

    8、问题八

       组态王和多台西门子S7-300、400 PLC 通过 DP 协议通讯时,设备地址应如何定义? 

    硬件连接:计算机中插入一块CP5611(或CP5613)可实现将多个S7-300/400PLC连接在一条 DP 总线上。 

    DP 协议设置:所有 PLC 必须设置的 DP Slave 站, CP5611(或 CP5613)要求通过 Simatic net 设置的 DP 唯一 master 站; 

    组态王中设备地址定义:选择 PLC/西门子/S7-200 系列(DP)/Profibus-DP ,设备地址固定为 1.1 (该地址与从站 PLC 的地址设置无关)。

    问题九

    西门子 300 plc 通过 MPI 通讯卡与组态王进行通讯时,能否实现双设备冗余的功能?  

    可以实现。 

    一个 cp5611 卡可以连接两台 s7300plc(使用西门子厂家提供的可编程插头来实现);  

    在组态王软件中建立两个 s7300plc,设备地址分别设备为 7.2 和 8.2(设备地址根据实际设备来设置),小数点前面的号指 plc 的地址,后面是 cpu 所在的槽号。这两个 plc 在 STEP7 编程软件中是单独定义的,所以除 plc 地址不一样,槽号是一样的; 

    在组态王中只须定义主设备的变量即可。

    问题十

    组态王和西门子 300、400PLC 通讯支持哪些通讯链路?是否需要西门子软件的支持?   

    MPI 电缆通讯方式:组态王所在的计算机必须安装 STEP7 编程软件;   

    MPI 通讯卡方式:组态王所在的计算机必须安装 STEP7 编程软件; 

    以太网通讯方式:不需要在组态王所在的计算机上安装 STEP7 或 Simatic net 通讯软件;  

    ④Profibus-DP通过方式:需要在本机上安装 STEP7 编程软件和 Simatic net 6.0(或以上版本)的通讯配置软件和授权;  

    ⑤Profibus-S7通过方式:需要在组态王所在的计算机上安装 STEP7 编程软件 ,但不需要安装SIMATIC NET 软件。

    免责声明:本文系网络转载或改编,版权归原作者所有!

    714d7d5542b8169ba44e2f16af93e596.png

    招聘电气工程师(安徽信控)

    加微信号“15021230050”,邀请您加入“信控电气微信群。

    点击“阅读原文”,加入超级工控技术群:818836855

    展开全文
  • 点击领取问题一●西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?①在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数...
  • (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;2)需要将 ...
  • (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置? 1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数; 2)需要将...
  • (一)、西门子200PLC使用MPI协议与组态王进行通讯时需要哪些设置?1)、在运行组态王的机器上需要安装西门子公司提供的STEP7Microwin3.2的编程软件,我们的驱动需要调用编程软件提供的MPI接口库函数;2)、需要将MPI通讯...
  • (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置? 1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数; 2)需要...
  • 大家好IO配置之前文章介绍完了,现在来介绍通讯ABB机器人可以使用DSQC667模块通过Profibus与西门子PLC进行通讯。那么如何配置呢,请看下图:注意:设置的机器人端Profibus地址,需要与PLC端添加机器人站点设置的...
  • 今天在C#中调用prodave中的db_write_ex6(BlkNr, DType, StartNr, ref pAmount, BufLen, pWriteBuffer), 出错,调用语句RetValue = Prodave6.db_write_ex6(BlkNr, DType, StartNr, ref pAmount, BufLen, ...
  • 利用visual basic所开发的opc客户端应用程序主要采用自动化通信接口和opc服务器...程序设计,opc客户程序应当首先生成opc服务器支持的opc对象,然后再使用opc对象支持的属性和方法,实现对opc服务器的操作和访问。
  • 到了该介绍西门子plc利用STEP7软件编程,组态通讯和下载用户程序方法的时分了。为了完成plc与计算机的通讯,一般选用PC/PPI多处扇电缆或USB/PPI多主站电缆,PC/PPI多主站编程电缆,用于plc与RS 232端口的计算机...
  • 请问西门子变频器与PLC通讯时,PLC如何给出控制字和主给定.mht
  • 西门子plc1500通讯配置要点

    千次阅读 2019-03-30 09:27:40
    1,有时候修改了IP,搜索设备搜不到,此时,需要在搜索设备的对话框输入当前设备的IP,然后会自动连接,等连接好以后点击下载就可以了。 2,把物理网络连接好后,在拓扑视图中连接拓扑线,在网络视图中分配io网络...
  • 触摸屏(touch screen)又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代...
  • 西门子PLC编程,西门子PLC远程下载到了该介绍西门子plc利用STEP7软件编程,组态通讯和下载用户程序方法的时分了。为了完成plc与计算机的通讯,一般选用PC/PPI多处扇电缆或USB/PPI多主站电缆,PC/PPI多主站编程电缆...
  • (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;2)需要将 ...
  • (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用编程软件提供的 MPI 接口库函数;2)需要将...
  • PLC接口异常,这种是西门子S7-200出现通讯错误多的一种情况,出现该情况我们可以选择重置端口或者更换COM口,记得操作之前备份程序。  文字说明:  步:检查PLC站点端口是否设置正常  
  • KUKA机器人控制系统,经常需要与负责逻辑控制的PLC系统一起协助,当两个系统的通讯协议不一致通讯网关提供通讯协议转换的解决方案。
  • KUKA机器人控制系统,经常需要与负责逻辑控制的PLC系统一起协助,当两个系统的通讯协议不一致通讯网关提供通讯协议转换的解决方案。 方案连接拓扑图: 通讯网关的通讯参数配置 网关的协议选择(DeviceNet从...
  • 通信说明S7-200PLC与S7-300PLC之间采用MPI通讯方式,S7-200PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300PLC中需要在组织块OB1(或是定时中断组织块OB35)...
  • 【工控课堂】电气工程师必备网站!... 组态王和多台西门子 S7-300、400PLC 通过 dp 协议通讯时,设备地址应如何定义? 1)硬件连接:计算机中插入一块 CP5611(或 CP5613)可实现将多个 S7-300/400PLC连接在一条 DP 总...
  • 两个西门子PLC1200之间的TCP通讯②--TSEND 上期主要是说了TCON指令块,说明了每个位的作用,和大概的设置,如下图 本期补充一个关于TCON的内容,就是捕捉状态代码和建立连接成功的DONE标志,用来识别连接,...
  • 西门子PLC1200的S7通讯(同一项目下)--PUT写入指令 上期主要讲了S7通讯连接的GET读取指令,如下图,用指针制定需要从伙伴PLC哪个位置读取,然后放到本地PLC的哪个位置 本期说一下S7连接的另一个关键写入指令...
  • 西门子PLC的TCP通讯(不同项目下)②--TRCV_C指令 上期主要了解了TSEND_C指令的各项参数的意义,隐藏参数LEN等可以默认 本期将了解另一个配套组合指令块TRCV_C,这是个接收指令块,大概呢跟发送指令TSEND_C...
  • 杰控公司凭借其非常深厚的使用和开发西门子PLC的经验,使得FameView组态软件与西门子PLC的通讯简单、稳定、快速,甚至超出了国外同类产品。  FameView组态软件提供以下驱动,可以通过各种方式与西门子各系列PLC通讯...
  • 西门子1200PLC与fanuc机器人使用Profinet通讯时,fanuc机器人需要适配Profinet通讯板卡,系统要刷入Profinet通讯选项。一、机器人配置1、配置机器人Profinet参数,在[I/O]选项[Profinet],选择[2频道]。IP地址和名称...
  • 两个西门子PLC1200之间的TCP通讯②--TSEND上期主要是说了TCON指令块,说明了每个位的作用,和大概的设置,如下图本期补充一个关于TCON的内容,就是捕捉状态代码和建立连接成功的DONE标志,用来识别连接,然后在说...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 130
精华内容 52
关键字:

时西门子plc通讯