17838383235
6DD1611-0AF0西门子代理商
报价: 面议
最小起订: 1
有效期至: 长期有效
发布时间: 2024-05-14 10:53
发布IP: 175.13.200.46
浏览次数: 34
手机号: 17838383235
在线咨询: 点击这里给我发消息
17838383235
详细信息

如何用C#编写程序读写西门子PLC?

图片

S7.NET介绍

S7.NET是一个C#编写的,以太网连接西门子带有Profinet接口CPU的dll驱动库,官方文件介绍可连接S7-200、S7-300、S7-400、S7-1200、S7-1500(经本人测试,也可连接S7200 SMART)。



图片

S7.NET使用问题说明:(本人踩过的坑,写给大家借鉴一下)

1、连接S7200 SMART需使用S71200、S71500驱动都可以。

2、读写S7200或S7200 SMART的V区数据时,DB块号需设置为1。

3、使用中发现下面两个bug:

public object Read(DataType dataType, int db, int startByteAdr, VarType varType, int varCount)

public ErrorCode Write(DataType dataType, int db, int startByteAdr, object value)

上述两个函数无法完成位操作,请使用其他函数代替。

该函数在读取DInt(32位有符号整型)数据时出现问题,读取不了负数,负数时,值始终为-2147483648。


4、本程序中一次仅读取1个数据,实际应用中请按照S7.NET文档修改!


图片

测试环境说明:

1、连接S7200 SMART:

测试硬件:CPU SR20,自带以太网接口


2、连接S7-200:(因该系列CPU无以太网接口,需外接模块,如:西门子CP243-1,大连德嘉CP243u、ETH-ibus等)

测试硬件:S7-200 CPU226 CN + 大连德嘉CP243u模块(西门子CP243-1设置太麻烦,这里用CP243u代替,协议都一样)。


3、连接S7-300:(该系列PLC也多数不带以太网口,需外接模块,如CP343-1、大连德嘉ETH-MPI(Plus)等)

测试硬件1:CPU 314 + ETH-MPI(Plus) (同上,CP343-1设置同样麻烦,这里用ETH-MPI(Plus)代替,协议一样)

测试硬件2:CPU315-2PN/DP,自带以太网接口


4、连接S7-1200:

测试硬件:CPU 1214C AC/DC/Rly


5、连接S7-1500:

测试硬件:CPU 1511-1PN


6、连接S7-400:未经测试,鄙人手上无S7-400 CPU,如有哪位帮忙测试,请告知结果(请给出详细硬件说明)。


图片

下面是PLC建立连接部分代码片段:

建立连接:



读函数:





写函数:




这里有一条非常重要的设置,之前忘记了,现在补上:如下图,1500或者1200编程的时候下图两个地方需要注意:



读写DB块的话下面这两个地方需要设置一下:






相关产品
相关西门子产品
联系方式
  • 地址:中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
  • 手机:17838383235
  • 联系人:徐嘉泉
产品分类
最新发布
企业新闻
站内搜索