广东湘恒智能科技有限公司
主营产品: 西门子PLC,触摸屏,伺服电机,变频器,人机界面 ,线缆, DP接头
解读专家大讲堂——S7-200 SMART 编程探秘之子程序和中断
发布时间:2024-06-04

精彩内容

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 变量的线圈输出和置位输出是不是一样的效果?

线圈和置位的输出效果不一样。置位和复位需要配合使用。


展开全文
商铺首页 拨打电话 QQ联系 发送询价