C#用S7.net.dll控制西门子S1200PLC

8 篇文章 1 订阅
7 篇文章 2 订阅

第一步,首先把西门子PLC端配置好,如下图。这个很重要,后面编码都会依据这个,也就是说想要C#做读做写那么PLC部分要先规划好。

这个是DB1块的。

这个是DB3块的。

上面步骤不懂请自行学习PLC相关知识。

二、添加S7.NET引用。

安装完成后我们开始正题。

CpuType:PLC的cpu型号。我这里是1200。

IP:PLC的IP地址。

rack:机台号的位置,这个也是PLC的知识点。

slot:插槽号的位置,也是PLC的知识点。

使用这个属性来判别是否连接成功。

三、读取数据。

Read方式读取。直接根据DB1.DBX.0.0地址读取

列如:myplc.read("DB1.DBX.0.0");

将会返回一个obj的类型数据。我们需要根据PLC内不同数据类型去转换。就可以读取到相应的值

Read还有一个按偏移量去读取的,可以批量连续读取相同数据类型的,我这里的案例就只读一个出来,为了演示而已。

DataType:数据存储的位置类型。这里我是固定的选着DB块类型。

DB:第几个DB块。

startByteAdr:开始的偏移量位置。

varType:数据的类型。

carCount:结束的偏移量位置

ReadBytes方式读取根据偏移量去读取,可以是不同数据读取上来

DataType:数据存储的位置类型。这里我是固定的选着DB块类型。

DB:第几个DB块。

startByteAdr:开始的偏移量位置。

count:结束的偏移量位置,也可以理解读取多少个位数据上来。

ReadClass按照类的方式读取。

首先我们要根据上面的PLC去建立类

这个是根据DB3建立的类

然后我们使用方法读取

sourceClass:要读取的类。

DB:哪个db块

ReadStruct读取,使用结构去读取

和类一样,我们要根据PLC去建立结构

这个是根据DB1块建立的结构体

structType:结构体。

db:哪个db快。

四、写入数据。

Write写入。单个数据写入

variable:PLC具体写入块名称(例如:DB1.DBX0.0)

value:写入的值

 

还有按偏移量写入的就不演示了,具体看案例。

WriteBytes方式写入。

DataType:数据存储的位置类型。这里我是固定的选着DB块类型。

DB:第几个DB块。

startByteAdr:开始的偏移量位置。

value:要写入的byte数组。

WriteClassAsync 使用类方式写入数据

类写入的情况一样我们要用到刚刚建立的类,然后给类赋值,这里使用DB3块做样例。

 

classValue:类的值。

db:第几个db块。

WriteStructAsync 使用结构方式写入数据

structValuue:结构体。

db:第几个db块。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值