S7.Net与西门子PLC通讯——纯新手必看

 

本文档适合从未接触过PLC的.NET开发程序员入门查看。(其实看完了之后,PLC开发也就那样)

PLC通讯入门比较难,需要关注的细节比较多。一边学习一边举一反三多思考,一定要自己创建Demo跟着步骤

 

由于项目还未开发完成,准备空抽补充陆续完成这篇博客,更好的设计思路也能给自己加深印象。

近期公司有一个跟雷达、光电、干扰炮等设备通讯的项目,并让我来负责,整个系统只有我一个软件工程师(项目功能不多),但是对于从未接触过PLC开发的我来说,无疑还是一团迷雾,不知从何入手。公司也从未有PLC开发经验和项目, 头大。。。

正所谓“没有撤退可言,只有活下来的人才有资格清兵线!”,开始在网上找各种资料,在此记录一下学习的过程和踩过的坑

 

由于也是初学,如有讲错或不到位的地方还望大佬指教,及时修正!

 

1. 快速锁定有效文章,对于初学来说,先看理论,有些花里胡哨且乱的资料直接关闭

2. 尽量能找到可以理解的demo,觉得有用但还看不懂的可以先notepad做下笔记

3. 如果有人在看 WinTcpS7_1K.dll 的,赶紧关闭,并送到回收站快速清理,收费的。1500授权3台电脑(这个家伙广告特别多,涉及各个论坛,还要CSDN下载积分,注意看评论),最主要被封装的很难用

4. 后来找到 S7NetPlus ,成功实现了PLC的通讯,博客也会总结对 S7NetPlus 的使用。

 

先发个视频,这是我在Youtube上找到的一系列视频中的一个,作者通过S7.net的dll控件实现了与西门子S7系列的PLC通信的功能

链接:https://pan.baidu.com/s/1g3wo4e1HEiuwrzXYD-dSGA
提取码:lllg

 

同时由于设备还未采购,没有设备进行测试开发,会安装一个仿真模拟器进行调试。(真心的,谁想到还能仿真模拟设备)

需要安装的软件包括

?TIA Portal V14

?S7-PLCSIM V14

?NetToPLCsim-S7o-v-1-2-2-0

 

TIA Portal

 西门子官方管理设备数据块的客户端,每一个项目等同于一个设备型号,可以理解为是我们经常使用的数据块客户端

S7.Net与西门子PLC通讯——纯新手必看

 

S7-PLCSIM

创建一个仿真的模拟环境,需要使用TIA Portal进行调用,控制仿真设备的运行停止

S7.Net与西门子PLC通讯——纯新手必看

 

NetToPLCsim

提供本地服务去连接到仿真设备,和PLCsim之间建立网络通讯

S7.Net与西门子PLC通讯——纯新手必看

 

 

安装完TIA之后,有两处需要进行设置

1. 选中组态的PLC设备,常规下找到防护与安全,选择允许从远程伙伴使用PUT/GET通信访问

S7.Net与西门子PLC通讯——纯新手必看

 

 

2. 建立的数据块文件,右键属性,需要取消优化的块访问选项,使用绝对地址

S7.Net与西门子PLC通讯——纯新手必看

 

 

 

创建控制台应用程序简单测试,具体如下:

static void Main(string[] args)
    {
        using(var plc = new Plc(CpuType.S71200, "127.0.0.1", 0, 1))
        {
            plc.Open();

            bool db1Bool1 = (bool)plc.Read("DB1.DBX0.0");
            Console.WriteLine("DB1.DBX0.0: " + db1Bool1);

            bool db1Bool2 = (bool)plc.Read("DB1.DBX0.1");
            Console.WriteLine("DB1.DBX0.1: " + db1Bool2);
        }

        Console.WriteLine("\nPress a key to continue...");
        Console.ReadKey();
    }

 

-- 未完,后面继续补充软件之间交互使用

S7.Net与西门子PLC通讯——纯新手必看

上一篇:在Vue项目里,利用Iview的upload组件,上传图片,在图片上传前,判断图片尺寸


下一篇:MSSQL 查询表结构