【E834】在LabVIEW上位机项目中使用的PLC通讯协议

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

TAGPLC
  • 7 次
  • 1 分