2021-09-07 13:57:04 索煒達電子 1602
項目編號:E834
文件大?。?8M
源碼說明:帶中文注釋
開發(fā)環(huán)境:LabVIEW2018
簡要概述:
Labview for PLC 收集整理一些本人在Labview上位機項目中使用的PLC通訊協(xié)議。 主要針對西門子系列PLC。
01_LM_S7-1200_TCP: 該項目可通過TCP直接與S7-1200PLC通信。
02_LM_S7-1500_TCP: 該項目可通過TCP直接與S7-1500PLC通信。
03_LM_S7NetCom: 該項目為開源庫S7NetCom的使用演示, 關(guān)于S7NetCom庫的詳細信息:https://dokuwiki.hampel-soft.com/code/open-source/s7netcom
101_LM_Snap7: 該項目為Snap7庫的使用演示, 關(guān)于Snap7庫的詳細信息:http://snap7.sourceforge.net
102_LM_HslCommunication: 該項目為HslCommunication庫的使用演示, 關(guān)于HslCommunication庫的詳細信息:http://www.hslcommunication.cn
后續(xù)有待更新。
Labview安裝: Labview下載網(wǎng)址:http://download.ni.com/evaluation/labview/ekit/other/downloader
選擇
2018LV-WinChn.exe (Labview2018中文版)
2018DSC.exe(Labview數(shù)據(jù)采集與記錄模塊,附帶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