签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
项目背景:S7-1200连接了很多设备,如火灾预警、烟雾预警设备等,S7内部的程序已经实现。我负责开发上位机,连接S7并实时获取监控信息。
个人背景:我之前做过一些设备数据采集,用的都是串口、TCP、UDP等协议。PLC、Snap7是第一次用,不太了解。我读了Snap7官方examples,并且将Snap7下载到本地用C++编译成功了。知道用Client建立连接,用ReadArea函数读取数据,用WriteArea函数写入数据。
那么问题来了:我必须及时知道报警信息,所以我希望当S7设备发现有火灾时,可以主动向上位机发送数据,然后我在上位机会有一个线程去处理报警信息。请问这种方法能实现吗?
我在Snap7官方文档中没有找到这方面的介绍,在examples中也没有找到这种代码。我现在的思路是在上位机实现一个计时器,每秒调用ReadArea函数到指定地址去读取监控数据。请问这种方法能实现吗?大家都是用的什么方法,可以简单介绍一下吗?
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1662270&b_id=50&s_id=0&num=6
循环读,S7又没有订阅功能
1200的OPC UA支持订阅功能
创建两个DB块,
一个拱上位机读取作为上位机的输入存储区,
一个拱上位机写入作为上位机的输出存储器!
上位机开辟一个线程,
周期性的读写DB块里面的数据,
这样就可以周期性的更新数据!
线程开的越多就越卡。
不停地读,可以设定一定的逻辑,只读必要的数据
是不是要自己开发上位机程序啊,如果是用组态软件的话,组态软件里的变量可以设定更新周期的,一般组态软件是500ms一次
不停读取,或者通过TCP/IP发送
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录