使用C#+Sharp7连接S7-300PLC 并采集数据做模拟示波器

已锁定

轻吻你心丶

  • 帖子

    292
  • 精华

    0
  • 被关注

    4

论坛等级:侠圣

注册时间:2017-02-02

黄金 黄金 如何晋级?

使用C#+Sharp7连接S7-300PLC 并采集数据做模拟示波器

3104

4

2020-12-15 14:27:28

Sharp7提供了一个很方便的连接S7-300PLC的方法,目前只在CPU319-3PN/DP上测试,并且已知在PLC-Sim上没法连上……

示波器这一块用的方法是微软在2014年发布的DynamicDataDisplay v0.3.0。


直接贴源码图了……源码测试用的是Dint,所以所有的字节长度都是和Dint对应。

测试IP是192.168.0.2 rack是0,slot是2,直接调用这个ConnectTo,返回值为0就是已经连接上。

连接上之后要读取对应区域的数据,调用对应函数之前要先定义一个字节数组,该数组的长度与读取的目标数据的类型有关。这个方法的返回值就是定义的字节数组。

得到返回的字节数组后,需要再调用另一个方法将字节数组转化为需要的数据。

这样就可以得到PLC内部的数据啦

示波器的部分采用的大部分是DynamicDataDisplay示例代码,其中不同的是在500ms定时器接通的时候要再建立一次同PLC的连接,然后读取一次数据,随后用DynamicDataDisplay的方法画出波形。



测试波形

目标PLC的IP:192.168.0.2 RACK:0 SLOT:2

目标地址DB12.DBD6


变量表强制DB12.DBD6的数据,波形会发生改变。


另:这个方式与PLC通讯,占用的是PLC的PG communication资源,每打开一次波形监控就会占用一次,在整个程序退出时释放。

使用C#+Sharp7连接S7-300PLC 并采集数据做模拟示波器 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54030条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。