2021-09-07 13:57:04 索炜达电子 1228
项目编号:E834
文件大小:18M
源码说明:带中文注释
开发环境:LabVIEW2018
简要概述:
Labview for PLC 收集整理一些本人在Labview上位机项目中使用的PLC通讯协议。 主要针对西门子系列PLC。
01_LM_S7-1200_TCP: 该项目可通过TCP直接与S7-1200PLC通信。
02_LM_S7-1500_TCP: 该项目可通过TCP直接与S7-1500PLC通信。
03_LM_S7NetCom: 该项目为开源库S7NetCom的使用演示, 关于S7NetCom库的详细信息:https://dokuwiki.hampel-soft.com/code/open-source/s7netcom
101_LM_Snap7: 该项目为Snap7库的使用演示, 关于Snap7库的详细信息:http://snap7.sourceforge.net
102_LM_HslCommunication: 该项目为HslCommunication库的使用演示, 关于HslCommunication库的详细信息:http://www.hslcommunication.cn
后续有待更新。
Labview安装: Labview下载网址:http://download.ni.com/evaluation/labview/ekit/other/downloader
选择
2018LV-WinChn.exe (Labview2018中文版)
2018DSC.exe(Labview数据采集与记录模块,附带Kepware OPC Server 2016),不是必要的,但可以尝试使用OPC的方式连接PLC。
不含安装vip库的项目直接git clone即可。
03_LM_S7NetCom: 该项目需要点击项目Vip文件夹中的vip库,直接由VI Package Manager (VIPM)安装。
目录│文件列表:
└ LabVIEW_PLC
│ _system~.ini
├ 01_LM_S7-1200_TCP
│ │ LICENSE
│ │ LM_S7-TCP.aliases
│ │ LM_S7-TCP.lvlps
│ │ LM_S7-TCP.lvproj
│ │ _system~.ini
│ ├ S7-TCP
│ │ │ S7-TCP.lvclass
│ │ │ _system~.ini
│ │ ├ Controls
│ │ │ │ DataType.ctl
│ │ │ │ RegisterType.ctl
│ │ │ │ WriteDataType.ctl
│ │ │ └ _system~.ini
│ │ └ Public
│ │ │ S7-TCP_Close.vi
│ │ │ S7-TCP_OPEN.vi
│ │ │ S7-TCP_READ.vi
│ │ │ S7-TCP_Write.vi
│ │ └ _system~.ini
│ └ VIs
│ │ S7-TCP_Demo.vi
│ └ _system~.ini
├ 02_LM_S7-1500_TCP
│ │ LM_S7-1500Lib.aliases
│ │ LM_S7-1500Lib.lvlps
│ │ LM_S7-1500Lib.lvproj
│ │ _system~.ini
│ ├ demo
│ │ │ Demo.vi
│ │ └ _system~.ini
│ └ S7-1500Lib
│ │ _system~.ini
│ ├ S7Com_Source_inkl_IP
│ │ │ S7Com_Address_Area.ctl
│ │ │ S7Com_DATATypes.ctl
│ │ │ S7Com_Data_Array.ctl
│ │ │ S7Com_from_PLC(SubVI).vi
│ │ │ S7Com_Function.ctl
│ │ │ S7Com_HexByte.ctl
│ │ │ S7Com_HexByteArray.ctl
│ │ │ S7Com_ISO_READ(SubVI).vi
│ │ │ S7Com_ISO_WRT(SubVI).vi
│ │ │ S7Com_OPEN(SubVI).vi
│ │ │ S7Com_PLC_Data.ctl
│ │ │ S7Com_RW_CMD.ctl
│ │ │ S7Com_Start_Add.ctl
│ │ │ S7Com_to_PLC(SubVI).vi
│ │ │ S7Com_TPKT_READ(SubVI).vi
│ │ │ S7Com_TPKT_WRT(SubVI).vi
│ │ │ S7Com_Transport_Size.ctl
│ │ └ _system~.ini
│ └ SPSCom_S1500
│ │ S1500_BCDtoDEZIMAL.vi
│ │ S1500_ENUM Typ.ctl
│ │ S1500_S7Com_Address_Area.ctl
│ │ S1500_S7Com_Auswertung.vi
│ │ S1500_S7Com_BITtoBYTE.vi
│ │ S1500_S7Com_DATATypes.ctl
│ │ S1500_S7Com_Data_Array.ctl
│ │ S1500_S7Com_from_PLC(SubVI).vi
│ │ S1500_S7Com_Function.ctl
│ │ S1500_S7Com_HexByte.ctl
│ │ S1500_S7Com_HexByteArray.ctl
│ │ S1500_S7Com_ISO_READ(SubVI).vi
│ │ S1500_S7Com_ISO_WRT(SubVI).vi
│ │ S1500_S7Com_Once.vi
│ │ S1500_S7Com_OPEN(SubVI).vi
│ │ S1500_S7Com_PLC_Data.ctl
│ │ S1500_S7Com_REQ(SubVI).vi
│ │ S1500_S7Com_RESP(SubVI).vi
│ │ S1500_S7Com_RW.ctl
│ │ S1500_S7Com_RW_1500.vi
│ │ S1500_S7Com_RW_CMD.ctl
│ │ S1500_S7Com_SQLtoPLC_1500.vi
│ │ S1500_S7Com_Start_Add.ctl
│ │ S1500_S7Com_to_PLC(SubVI).vi
│ │ S1500_S7Com_TPKT_READ(SubVI).vi
│ │ S1500_S7Com_TPKT_WRT(SubVI).vi
│ │ S1500_S7Com_Transport_Size.ctl
│ │ S1500_S7Com_TriggerUngerade.vi
│ │ S1500_S7Com_W+R_Loop.vi
│ │ S1500_S7Com_WRT+READ(SubVI).vi
│ │ S1500_test_S7Com_HexByteArray.ctl
│ └ _system~.ini
├ 03_LM_S7NetCom
│ │ LM_S7NetCom.aliases
│ │ LM_S7NetCom.lvlps
│ │ LM_S7NetCom.lvproj
│ │ _system~.ini
│ ├ Demo
│ │ │ Demo_Copy.vi
│ │ └ _system~.ini
│ └ Vip
│ │ hse_lib_s7netcom-0.5.6.30.vip
│ └ _system~.ini
├ 101_LM_Snap7
│ │ LabVIEW_32.bat
│ │ LabVIEW_64.bat
│ │ _system~.ini
│ ├ doc
│ │ │ Snap7-refman.pdf
│ │ └ _system~.ini
│ ├ Examples
│ │ │ Demo.vi
│ │ │ Snap7Examples.aliases
│ │ │ Snap7Examples.lvlps
│ │ │ Snap7Examples.lvproj
│ │ │ _system~.ini
│ │ ├ Client
│ │ │ │ Block-Down-Upload.vi
│ │ │ │ BlockDel.vi
│ │ │ │ BlockInfo.vi
│ │ │ │ BlockUpload.vi
│ │ │ │ DBFill.vi
│ │ │ │ DBGet.vi
│ │ │ │ Directory.vi
│ │ │ │ GetSetParam.vi
│ │ │ │ Password.vi
│ │ │ │ PlcDateTime.vi
│ │ │ │ PlcInfo.vi
│ │ │ │ ReadArea.vi
│ │ │ │ ReadSZL.vi
│ │ │ │ RunStop.vi
│ │ │ └ _system~.ini
│ │ ├ Partner
│ │ │ │ APartner.vi
│ │ │ │ PPartner.vi
│ │ │ └ _system~.ini
│ │ └ Server
│ │ │ ServerDemo.vi
│ │ └ _system~.ini
│ ├ lib
│ │ │ CliABRead.vi
│ │ │ CliABWrite.vi
│ │ │ CliClearSessionPassword.vi
│ │ │ CliColdStart.vi
│ │ │ CliCompress.vi
│ │ │ CliConnect.vi
│ │ │ CliConnectTo.vi
│ │ │ CliCopyRamToRom.vi
│ │ │ CliCreate.vi
│ │ │ CliCTRead.vi
│ │ │ CliCTWrite.vi
│ │ │ CliDBFill.vi
│ │ │ CliDBGet.vi
│ │ │ CliDBRead.vi
│ │ │ CliDBWrite.vi
│ │ │ CliDelete.vi