在QT中配置snap7库
前面的博客中已經有PLC通過snap7的通訊文章,如有需請查看
snap7讀寫西門子plc1200步驟(python) - 工大機器人工作室 - CSDN博客 ?https://blog.csdn.net/qq_34935373/article/details/97374783
之前已經實現:通過手柄讀,然后寫文件,然后在通過python通過snap7寫PLC。時間閑下來,琢磨怎么配置QT和SNAP7,以及之后可能還要結合到ROS,所以嘗試了一番。特此記錄。
其實之前配置還想過python融到qt(C)里面,雖然以及有了python版本的Qt,嘗試過可行。自行百度。
?
下面記錄:
其實很簡單,下載好snap7的源碼包。文章資源處會提供,下載后解壓放在工程文件夾同一層,修改文件夾名稱為snap7-full-1.4.1,或者修改代碼。
然后配置下.pro文件:具體如下
這里新建的是基本的mainwindows:添加頭文件和源文件,以及相應的庫文件。
windows下如此,一開始沒有加安裝路徑下的庫文件i686微處理器的兼容指令集,編譯會報一些類型錯誤,還需要加上C++11標準
CONFIG(debug, debug|release){
?DESTDIR = $$_PRO_FILE_PWD_/../debug
?#DEFINES += QT_NO_DEBUG
}
else{
?DESTDIR = $$_PRO_FILE_PWD_/../release
}
這一段也可以省略,目前還沒有碰到問題,我都加上了。
#------------------------------------------------- # # Project created by QtCreator 2019-08-09T10:34:02 # #-------------------------------------------------QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = snaptest TEMPLATE = appCONFIG(debug, debug|release){DESTDIR = $$_PRO_FILE_PWD_/../debug#DEFINES += QT_NO_DEBUG } else{DESTDIR = $$_PRO_FILE_PWD_/../release }LIBS += H:\Qt\Qt5.5.0\Tools\mingw492_32\i686-w64-mingw32\lib\libws2_32.a LIBS += H:\Qt\Qt5.5.0\Tools\mingw492_32\i686-w64-mingw32\lib\libwinmm.a#此處的H:\Qt\Qt5.5.0\Tools\mingw492_32\i686-w64-mingw32\lib是自己安裝QT的文件夾目錄INCLUDEPATH += ../snap7-full-1.4.1/release/Wrappers/c-cpp/ \../snap7-full-1.4.1/src/lib/ \../snap7-full-1.4.1/src/core/ \../snap7-full-1.4.1/src/sys/SOURCES += main.cpp\mainwindow.cpp\../snap7-full-1.4.1/release/Wrappers/c-cpp/snap7.cpp \../snap7-full-1.4.1/src/core/s7_client.cpp \../snap7-full-1.4.1/src/core/s7_isotcp.cpp \../snap7-full-1.4.1/src/core/s7_micro_client.cpp \../snap7-full-1.4.1/src/core/s7_partner.cpp \../snap7-full-1.4.1/src/core/s7_peer.cpp \../snap7-full-1.4.1/src/core/s7_server.cpp \../snap7-full-1.4.1/src/core/s7_text.cpp \../snap7-full-1.4.1/src/lib/snap7_libmain.cpp \../snap7-full-1.4.1/src/sys/snap_msgsock.cpp \../snap7-full-1.4.1/src/sys/snap_sysutils.cpp \../snap7-full-1.4.1/src/sys/snap_tcpsrvr.cpp \../snap7-full-1.4.1/src/sys/snap_threads.cppHEADERS += mainwindow.h\../snap7-full-1.4.1/release/Wrappers/c-cpp/snap7.h \../snap7-full-1.4.1/src/core/s7_client.h \../snap7-full-1.4.1/src/core/s7_firmware.h \../snap7-full-1.4.1/src/core/s7_isotcp.h \../snap7-full-1.4.1/src/core/s7_micro_client.h \../snap7-full-1.4.1/src/core/s7_partner.h \../snap7-full-1.4.1/src/core/s7_peer.h \../snap7-full-1.4.1/src/core/s7_server.h \../snap7-full-1.4.1/src/core/s7_text.h \../snap7-full-1.4.1/src/core/s7_types.h \../snap7-full-1.4.1/src/lib/snap7_libmain.h \../snap7-full-1.4.1/src/sys/snap_msgsock.h \../snap7-full-1.4.1/src/sys/snap_platform.h \../snap7-full-1.4.1/src/sys/snap_sysutils.h \../snap7-full-1.4.1/src/sys/snap_tcpsrvr.h \../snap7-full-1.4.1/src/sys/snap_threads.h \../snap7-full-1.4.1/src/sys/sol_threads.h \../snap7-full-1.4.1/src/sys/unix_threads.h \../snap7-full-1.4.1/src/sys/win_threads.hCONFIG +=C++11FORMS += mainwindow.ui然后編譯就行了,具體使用請查看頭文件和源文件。
如果依然報錯uint8之類類型錯誤,下載程序,將debug文件夾中的相應snap的庫文件.o文件拷貝到新工程下的debug文件夾下替換。
總結
以上是生活随笔為你收集整理的在QT中配置snap7库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蝙蝠算法c语言,求解0-1背包问题的二进
- 下一篇: 在C++中调用DLL中的函数(2)