项目背景:S7-1200连接了很多设备,如火灾预警、烟雾预警设备等,S7内部的程序已经实现。我负责开发上位机,连接S7并实时获取监控信息。
个人背景:我之前做过一些设备数据采集,用的都是串口、TCP、UDP等协议。PLC、Snap7是第一次用,不太了解。我读了Snap7官方examples,并且将Snap7下载到本地用C++编译成功了。知道用Client建立连接,用ReadArea函数读取数据,用WriteArea函数写入数据。
那么问题来了:我必须及时知道报警信息,所以我希望当S7设备发现有火灾时,可以主动向上位机发送数据,然后我在上位机会有一个线程去处理报警信息。请问这种方法能实现吗?
我在Snap7官方文档中没有找到这方面的介绍,在examples中也没有找到这种代码。我现在的思路是在上位机实现一个计时器,每秒调用ReadArea函数到指定地址去读取监控数据。请问这种方法能实现吗?大家都是用的什么方法,可以简单介绍一下吗?