c#发展

注册

 

发新话题 回复该主题

C与工业PLC通讯系列Sharp7连 [复制链接]

1#
白癜风的防治 https://m-mip.39.net/nk/mipso_4632474.html

在上位机开发项目中,有很多场景是需要与PLC通讯的。本系列介绍分享与主流PLC的常用通讯方法。此文档就如何使用Sharp7和西门子SPLC通讯做简介说明,当然Sharp7也是支持西门子S7系列其它的PLC通讯,支持PLC的大多数数据类型读写,CPU状态读取,CPU启停操作等等。备注:本文就如何通讯的核心做说明简介,在实际项目中需要根据情况做调整和添加严谨逻辑。

在TIA中核心的设置主要分为三步如下:

第一步:设置PLC的IP地址、记录机架和插槽号,其中sharp7需要通过IP和机架、插槽连接到此PLC。(此处我们省略了新建项目的过程)

第二步:勾选允许来自远程对象的PUT/GET通讯访问,允许上位机访问PLC

第三步:新建一个DB块,关闭优化访问,填写对应的变量,此DB块为了后期上位机和PLC建立通讯。

至此,PLC的设置部分就结束了。接下来就是在VS中调用Sharp7中的通讯方法。主要分为六步,这里仅调用并测试Sharp7中的通讯打开/关闭、读取/写入等方法。

第一步:新建窗口,添加所需要的控件。(此处我们省略了新建项目的过程)

第二步:实例化Sharp7类,定义通讯数组,此处需要定义读取和写入数组,在后期的读写方法中需要使用。

第三步:调用连接PLC的方法,通过调用ConnectTO方法,传入IP地址、机架和插槽号,读取返回值是否连接成功。返回为0即是通讯成功。

第四步:调用断开连接PLC的方法,可以调用DIsconnect方法。

第五步:编写参数读取的方法,其中读取的原理即是将PLC中DB块的数据读取到数组中,再通过对应的方法解析并显示出来。其中主要使用DBRead方法,需要注意的是填入DB块的序号,示例中是DB,0为读取的起始地址。

第六步:编写参数写入的方法,写入方法和读取方法相反,需要将参数提前写入到数组中,然后通过DBWrite方法写入到PLC中即可完成更新。

通讯测试,同步TIA中监控DB块和C#的程序,不难发现已经通讯成功,并可以顺利读写。

至此,DEMO已经完成了。有需要Sharp7通讯文件的小伙伴可以后台联系。您的

分享 转发
TOP
发新话题 回复该主题