当SIMATIC NET和S7-200SMART通讯正常时,一切都不是问题,但是一旦通信失败或者CPU停机,如何获取该信息?
可以利用SIMATIC NET中的该变量&statepathval(),该变量状态:
返回值:
1未建立连接
2已建立连接
3正在建立连接
当该变量不是2的时候是连接没有建立,但是CPU停机的时候,此时连接也可以是建立的,可以用以下方法得知CPU是否运行。
以ST30为例,可以利用Q1.4这种不存在真实物理点的Q点,在程序中对其置1,当CPU停止时该值将为0(之所以不使用M区或者V区,是因为在CPU停止时,这两个区的状态会保持),综合判断如下:
没建立连接:&statepathval()≠2
建立连接但CPU停止:&statepathval()=2且Q1.4=0
建立连接且CPU正常运行:&statepathval()=2且Q1.4=1