Qt5调用Snap7
生活随笔
收集整理的這篇文章主要介紹了
Qt5调用Snap7
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Snap7是一個(gè)與西門(mén)子PLC通信的開(kāi)源庫(kù), 在網(wǎng)上下載了一個(gè)例子, 研究了一天終于通信成功了, 在此記錄一下
項(xiàng)目文件
win32:LIBS += C:\Qt\Qt5.7.0\Tools\mingw530_32\i686-w64-mingw32\lib\libws2_32.a win32:LIBS += C:\Qt\Qt5.7.0\Tools\mingw530_32\i686-w64-mingw32\lib\libwinmm.aINCLUDEPATH += 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-full-1.4.2/release/Wrappers/c-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/src/lib/snap7_libmain.cpp \snap7-full-1.4.2/src/sys/snap_msgsock.cpp \snap7-full-1.4.2/src/sys/snap_sysutils.cpp \snap7-full-1.4.2/src/sys/snap_tcpsrvr.cpp \snap7-full-1.4.2/src/sys/snap_threads.cppHEADERS += mainwindow.h \snap7-full-1.4.2/release/Wrappers/c-cpp/snap7.h \snap7-full-1.4.2/src/core/s7_client.h \snap7-full-1.4.2/src/core/s7_firmware.h \snap7-full-1.4.2/src/core/s7_isotcp.h \snap7-full-1.4.2/src/core/s7_micro_client.h \snap7-full-1.4.2/src/core/s7_partner.h \snap7-full-1.4.2/src/core/s7_peer.h \snap7-full-1.4.2/src/core/s7_server.h \snap7-full-1.4.2/src/core/s7_text.h \snap7-full-1.4.2/src/core/s7_types.h \snap7-full-1.4.2/src/lib/snap7_libmain.h \snap7-full-1.4.2/src/sys/snap_msgsock.h \snap7-full-1.4.2/src/sys/snap_platform.h \snap7-full-1.4.2/src/sys/snap_sysutils.h \snap7-full-1.4.2/src/sys/snap_tcpsrvr.h \snap7-full-1.4.2/src/sys/snap_threads.h \snap7-full-1.4.2/src/sys/sol_threads.h \snap7-full-1.4.2/src/sys/unix_threads.h \snap7-full-1.4.2/src/sys/win_threads.hlibws2_32.a libwinmm.a這兩個(gè)文件的路徑要在本機(jī)上找.
連接PLC并進(jìn)行讀寫(xiě)
void MainWindow::on_pushButton_clicked() // 連接 {QByteArray ad(ui->lineEdit->text().toUtf8());char *Address;Address = ad.data();int Rack = ui->lineEdit_2->text().toInt();int Slot = ui->lineEdit_3->text().toInt();int tmp = Client->ConnectTo(Address, Rack, Slot);;showLog("建立連接", QString::number(tmp)); } void MainWindow::on_pushButton_3_clicked() // write DB {qint32 buff = ui->lineEdit_5->text().toInt();qDebug() << "write:" << buff;Client->DBWrite(8007, 12, 4, &buff); }void MainWindow::on_pushButton_4_clicked() // read DB {qint32 buff;Client->DBRead(8007, 12, 4, &buff);qDebug() << "read:" << buff; }測(cè)試可以正常讀寫(xiě)DB塊.
總結(jié)
以上是生活随笔為你收集整理的Qt5调用Snap7的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 485通讯实验
- 下一篇: 【51单片机快速入门指南】2.2:任意位