S7-1200封装在标准的FC读取IO设备(变频器)传感器等的一致性数据分享与探讨

已锁定

威师爷

  • 帖子

    5108
  • 精华

    47
  • 被关注

    255

论坛等级:至圣

注册时间:2013-09-18

白金 白金 如何晋级?

S7-1200封装在标准的FC读取IO设备(变频器)传感器等的一致性数据分享与探讨

4654

20

2017-09-02 20:15:43

 大家好!


最近在研究如何在1200使用标准的FC/FB读取PROFIBUS-DP /PROFINET-IO的一致性数据,经过研究PEEK/POKE 等等间接寻址指令感觉实现不了,或者说我不知道如何实现,所以想了一个老办法


手头上有两个1200的PLC,一个是1211C,一个是1214C,本次本次实验把1211C作为一个IO设备,在博图组态好以后生成GSD文件具体如下


把1211C组态为IO设备,并且导出GSG文件,具体如下,由于这个不是介绍IO通讯是为了介绍数据的读写问题,所以就不详细解释图片的内容。

 


组态好以后导出GSD文件


 

为了可以在IO控制器可以直接查看写入IO设备的值,在IO设备里面进行了 20个字节的MOVE程序编写


 

以上是在IO设备组态的内容


建立一个新的项目,1200_SCL_组态1214C控制器,并且导入刚才导出的GSD文件,

 


在网络视图建立IO控制器与IO设备的连接

 


在IO控制器1214建立一个读写数据库,DB1,A1-A5的20个BYTE 是控制器写入IO设备的一致性数据区

A11-A55的20个BYTE是IO控制器读取IO设备的一致性数据区具体如下:

 

编写读写的FC,使用SCL来编写,调用了 DPWR_DAT  与DPRD_DAT也就是300的SFC14/15

并且定义好INPUT/OUTPUT参数,具体参考图片

 


在IO控制器的OB1调用上面编写好的SCL_程序块,并且监控返回值没有错误

 


在变量表对DB1的A1-A5的20个BYTE写入1.2.3.4.5.,然后DB1的A11-A55立即返回同样的值1,2,3,4,5


 

 

通过这样的封装,这个FC就可以实现一次编写多次调用也无需要修改了,只需要修改INPUT与OUTPUT的接口参数 P#DB1.DBX0.0 BYTE XX 就可以了,这样的程序就可以作为库程序了。


不知道大家还有没有更加快捷的方法?希望大家探讨一下!


谢谢!



S7-1200封装在标准的FC读取IO设备(变频器)传感器等的一致性数据分享与探讨 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15120条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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