QT与西门子S7通讯

Snap7用途

Snap7 是一个基于以太网与S7系列的西门子PLC通讯的开源库。

支持包括S7系列的S7-200、S7-200 Smart、S7-300、S7-400、S7-1200以及S7-1500的以太网通信。

Snap7 API

QT与西门子S7通信主要有以下部分:

  1. 创建Snap7 Client连接;
  2. 连接到PLC;
  3. 读取DB数据;
  4. 关闭Client(连接会自动销毁)

C++源码

#include “snap7.h”;
   
    byte MyDB32[256]; //
  byte is a portable type of snap7.h
    TS7Client *Client;
   
  void SymplyGet()
  {
   
   
    MyClient = new TS7Client();
   
  MyClient->ConnectTo(192.168.10.100,0,2);
   
  MyClient->DBRead(32, 0, 16, &MyDB32);
    delete MyClient;
  }

实例

  1. 添加Snap7库

将文件snap7.h,snap7.cpp,snap7.dll,snap7.lib全部加入创建工程的目录下,其中将snap7.dll放入debug目录下。
在这里插入图片描述

  1. 项目文件
/************************
自己的QT安装路径
*************************/
LIBS += D:\QT\qt_anzhuang\Tools\mingw530_32\i686-w64-mingw32\lib\libws2_32.a
LIBS += D:\QT\qt_anzhuang\Tools\mingw530_32\i686-w64-mingw32\lib\libwinmm.a
INCLUDEPATH += ./snap7-full-1.4.2/release/Wrappers/c-cpp/ \
               ./snap7-full-1.4.2/src/lib/ \
               ./snap7-full-1.4.2/src/core/ \
               ./snap7-full-1.4.2/src/sys/



SOURCES += \
        main.cpp \
        mainwindow.cpp \
    snap7.cpp \
    snap7-full-1.4.2/src/core/s7_client.cpp \
    snap7-full-1.4.2/src/core/s7_isotcp.cpp \
    snap7-full-1.4.2/src/core/s7_micro_client.cpp \
    snap7-full-1.4.2/src/core/s7_partner.cpp \
    snap7-full-1.4.2/src/core/s7_peer.cpp \
    snap7-full-1.4.2/src/core/s7_server.cpp \
    snap7-full-1.4.2/src/core/s7_text.cpp \
    snap7-full-1.4
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值