精彩内容
HIGHLIGHTS
在日常的程序编辑和调试过程中,可能会遇到各种各样的问题,比如编辑好的逻辑程序执行结果不正确,子程序多次调用结果相互影响,中断触发会相互干扰不正常输出,在了解这些常见问题前,我们需要先了解一下关于 PLC 程序执行的逻辑顺序,下图是关于 PLC 的完整程序执行逻辑。
图1 S7-200 SMART程序执行逻辑
S7-200 SMART PLC 的程序执行顺序如下:
更新过程映像输入区
主程序开始执行
子程序、中断执行
主程序结束程序执行
事件触发:HMI PC 通信
事件触发:状态图表更新
自诊断
更新过程映像输出区
通过本次专家大讲堂,西门子主讲专家屈扬详细的解释了程序执行顺序之间的相互关系。屈工具有多年丰富的 S7-200 SMART 的产品使用和故障处理经验。本次技术讲座涵盖的主要内容如下:
S7-200 SMART 产品概述
PLC 程序执行逻辑和相关影响
子程序调用对于整个程序的影响
中断执行过程中的奇怪现象
1
系统块的通信背景时间是 5%-50%,是可选的,它的含义是,通信执行的时间占扫描周期的百分比。如果要增大通信背景时间,扫描周期就会增加,从而就减缓了控制过程的运行速度。在通信量较小的情况下,不太建议去修改,反之是可行的。
2
S7-200 SMART 支持 Modbus RTU通信吗?
支持。Modbus RTU 从站和主站通信都可以使用自由口通信模式实现,都用的是接收完成中断和发送完成中断实现的。可以调用 Modbus 的库指令,这简化了与其他设备的通信编程。
3
S7-200 SMART 都是异步指令吗?
不是,一般通信是异步指令,但是加法指令、运算指令、比较指令都不是异步指令。
4
如何找到数据中的最大值?
可以使用指针进行多次比较的方式判断。
5
梯形图中的加法指令可以被中断吗?
指令会被中断,因为程序在执行过程中,数据有两个地方会被赋值,但是不知道数据更改发生的具体位置,如果此时在中间触发中断的话,就会出现一致性问题。
6
S7-200 SMART 走 PN 通讯,可以支持多少连接?
V2.4 版本以上的 S7-200 SMART 做为 PROFINET 控制器最多可支持八个连接(IO 设备或驱动器)。
7
定时中断的优先级可以提高吗?
不可以,关于中断的优先级是固定的,无法进行提高。
8
中断什么时候执行?是周期的吗?
中断根据功能分为,定时中断、输入中断、接收完成中断等。定时中断有 100 毫秒,那么 100 毫秒就会触发一次;输入边沿中断就是通过外部输入触发的;自由口的接收完成中断,当接收完成就会触发中断。
9
中断里面可以调用 FOR 指令吗?
FOR 指令是进行多次扫描,在中断里面调用 FOR 指令,中断执行时间会加长,但不会影响结果。
10
两个 100 毫秒的中断程序如何排列先后顺序?
中断的先后顺序根据优先级来比较判断,同优先级根据先后顺序来判断。
11
S7-200 SMART 支持 TCP/IP 协议或者其他协议实现和第三方组态软件(例如 VB )读写数据吗?
S7-200 SMART 支持开放式以太网协议,MODBUS TCP 协议,PROFINET 协议,如果第三方软件或者应用支持相同的协议就可以正常通信。也可以借助 PC Access SMART/SIMATIC NET 软件实现 OPC 通信。
12
子程序中 OUT 变量的线圈输出和置位输出是不是一样的效果?
线圈和置位的输出效果不一样。置位和复位需要配合使用。