[西门子] 200SMART 系统块,程序块,数据块

[复制链接]
查看172 | 回复0 | 2024-7-9 08:26:55 | 显示全部楼层 |阅读模式
>

三大块总结

你是否也有这样的疑惑,点了编程软件中的下载按钮,在弹出的界面中显示有程序块,数据块,系统块三个可选项,下载时应该怎全部勾选还是部分勾选呢?

今天的文章让我们先来了解这三个块都是起什么作用的,最后再分析下载时怎样勾选比较合理。

系统块

双击CPU图标即可打开系统块进行配置

硬件组态

打开系统块后,最上面的列表就是硬件组态列表,硬件组态列表需要按照实际的模块排列配置进行组态。

做完此配置后,系统便自动排出了输入输出过程映像寄存器的地址,有了这些地址,就相当于打开了PLC与外部世界连接的大门,CPU可以从外界接收输入信息并控制外部输出。
模块配置

有了上一步的基础,我们就可以继续对已经组态的模块进行配置。
开关量模块

开关量输入模块可以配置模块的输入滤波时间,脉冲捕捉功能的关闭和启用。开关量输出模块可以配置模块的输出冻结功能,即STOP模式下是否将输出冻结为最后一个运行状态,停机前状态是1的,停机后输出还保持为1.
模拟量模块

模拟量模块可配置输入输出的信号类型和信号范围,例如可以将模拟量输入通道接收信号的类型配置为电压型,范围配置成+/-5v,模拟量输入AIW的值的范围是-27648~27648;如果类型配置为电流型,范围配置成0-20mA,模拟量输入AIW的值的范围是0~27648。如果实际输入信号是4-20mA,换算程序的下限值就不是0了,而是5530(4/20*27648≈5530)。
关于模拟量输入转换成实际值的子程序使用请参考
S7-200SMART更多库文件的下载 库的应用章节

此外还可以配置模拟量模块的抑制,滤波,报警选项等参数,请参考
【PLC基础知识】200SMART PLC硬件组态介绍【上】

通信设置

以太网接口参数主要包括了:网络接口的IP地址,子网掩码,网关这三个参数,注意如果在系统块里设置了这些参数并下载了系统块,那么CPU的IP地址将不能通过通信搜索界面更改。

串口通信参数主要包括了:串口类型,地址,波特率。串口类型可根据实际接口选择使用RS232或RS485;地址在这里特指使用PPI协议时的站地址;波特率根据实际连接设备两端必须设置为相同的波特率才能正常通讯。

系统默认RS485接口启用的是西门子自己的S7协议,S7协议的地址在系统块中修改,奇偶校验默认为偶校验。如果是用485接口做Modbus通讯,那么接口的编号,波特率,校验位这些参数需要在程序调用的指令接口中做设置;如果是自由口通信,接口的参数就需要通过系统的SM(特殊寄存器)进行设置。
针对CPU的其他设置

此类设置包括了保持范围,安全,启动三个类别,下面我们来举例说明这三类参数需要配置的重要性。
保持范围

一般我们在设计程序时会可以设置的变量作为参数使用,例如变送器量程,手自动转换,延时时间等可调整的参数。如果这些参数不能断电保存,那PLC断电再上电,这些参数如果在数据块中有配置,参数值将初始化为数据块中的值,如果在数据块中没有配置,参数值将被清0。这将会为用户使用带来不必要的麻烦,例如每次停电再来电都需要重新选择手自动位,更换了不同量程的变送器并做好了设置,停电再来电发现量程变回原来的初始值,实际值显示不准确。

我们如果在保持范围中配置了这些参数所在存储区区域的断电保持功能,PLC断电再上电后,这些参数的值还会保持断电前的值,这样就可以避免上述例子所产生的问题。
安全

安全中的密码配置主要为保护用户知识产权而设计,如果你写的这套PLC程序花费了很大精力,有些算法是你独有的,不希望被别人窃取。那就可以按照重要程度来选择不同的权限进行加密。

通信写访问的限制和串口操作的限制主要为了避免在上位机或触摸屏编程时不小心误修改了某些寄存器的值而可能发送某些不安全的事件。
启动

刚拿到一个CPU,创建一个新项目,下载程序后运行CPU调试,断电再上电CPU怎么停机了?如果不注意设置CPU的启动模式,就会遇到这个问题。
因为系统默认CPU启动后的模式为STOP模式,这就好像变频器或软起动出于安全考虑,如果在上电前运行指令已经为1了,设备默认是不会启动运行的。只有修改参数设置,在明确确认无安全风险的情况下,才允许上电再启动。
在确认好你的需求后,如果将此选项设置为RUN,那么每次断电再来电,不论断电前CPU是什么状态,来电后CPU都会自动切换至运行模式。

此外,如果在某些模块发生错误时仍然需要CPU保持运行状态,比如某个模块缺失或与组态的模块不一致,此模块仅承担系统的一部分功能,CPU保持运行状态可以使其他部分的功能正常使用,勾选这两个选项就不会导致CPU无法启动。
关于系统块配置的详细说明

【PLC基础知识】200SMART PLC硬件组态介绍【下】

程序块

CPU循环执行程序块中OB1主程序及主程序中调用的子程序的内容。执行相关中断程序。





主程序OB1

PLC运行时,OB1中的程序指令被循环执行。在OB1中可以调用其他SBR子程序。

子程序SBR

可以从主程序、另一个子程序或中断子程序调用子程序。也可从子例程本身调用子程序。子程序是可以重复调用的。
注意:主要子程序最大嵌套深度为8层。
使用子程序的好处

  • 增加程序易读性:将很多程序指令按照不同功能区分在不同的子程序中。

  • 提高编程效率:相同功能的程序制作成子程序,通过形参连接不同实参来区分设备,再按设备多次调用即可。

中断程序

中断是指PLC从当前程序执行到的位置跳转出来进入中断事件执行中断程序,当中断程序执行完,再次进入中断前跳出的位置继续执行程序。
数据块


  • 上电时为变量提供初始值
数据块的作用是为变量提供初始值,使未设置断电保存的变量再次上电后被初始化为数据块中的数值。

断电保持值的优先级更高
数据块
系统块保持设置
再上电初始值
-
-
0

-
数据块中设置的值
-

断电前的值


断电前的值

  • 刷新变量的值
下载数据块后,变量值被刷新为数据块中的值。例如,在PID向导中修改过PID回路的参数,需要下载数据块后才能生效。

下载时的勾选建议

系统块

已经下载过系统块,系统块中数据没有更改,不需要下载系统块;没有下载过系统块或者系统块中的设置有更改,必须下载系统块才生效。
需要下载系统块
不需要下载系统块
没有下载过系统块
已经下载过系统块且系统块中的数据没有修改过
系统块中的设置有过修改

程序块

调试过程中,修改过的程序必须将程序块下载至PLC再监视调试程序。
数据块

首次调试时下载,目的是给变量一个初始值以保证程序能按目标正常运行。
在程序调试的过程中,如果数据块中所列的变量值有被在线更改过,且这些值需要断电保存,那么请不要再次下载数据块,直到程序调试完成,可将数据块中的值修改为最终确定的实际值。这样下载不下载数据块对程序运行没有影响,这样做的目的是防止误下载数据块后,参数变为数据块中的数据,而之前调试好的实际值并没有被记住,还需要重新整定这些值。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则