西门子PLC局部变量的说明类型 对局部变量赋值*的类型取决于在其中赋值的POU。西门子PLC的主程序(OB1)、中断例行程序和子例行程序可使用临时(TEMP)变量。
说明类型 说明
IN 调用POU提供的输入参数。
OUT 返回调用POU的输出参数。
IN_OUT 数值由调用POU提供的参数,由西门子PLC的子例行程序修改,然后返回调用POU。
TEMPORARY 临时保存在局部数据堆栈中的临时变量。一旦POU完全执行,临时变量数值则无法再用。在两次POU执行之间,临时变量不保持其数值。
局部变量数据类型检查 返回*
将局部变量作为仿西门子PLC的子例行程序参数传递时,在该子例行程序局部变量表中*的数据类型必须与调用 POU中数值的数据类型相匹配
举例:
您从OB1调用SBR0,将称为INPUT1的全局符号用作子例行程序的输入参数。
在SBR0的局部变量表中,您已经将一个称为FIRST的局部变量定义为输入参数。
当0B1调用SBR0时,INPUT1数值被传递至FIRST。
INPUT1和FIRST的数据类型必须匹配。
如果INPUT1是实数,FIRST也是实数,则数据类型匹配。如果INPUT1是实数,但FIRST是整数,则数据类型不匹配,梯形图为广泛应用在自动控制的一种图形语言,这是沿用电气控制电路的符号所组合而成的一种图形,透过梯形图编辑器画好梯形图形后,西门子PLC的程序设计也就完成,以图形表示控制的流程较为直观,易为熟悉电气控制电路的技术人员所接受。在梯形图形很多基本符号及动作都是根据在传统自动控制配电盘中常见的机电装置如按钮、开关、继电器(Relay) 、定时器(Timer)及计数器(Counter)等等。
西门子PLC的内部装置:PLC内部装置的种类及数量随各厂牌产品而不同。内部装置虽然沿用了传统电气控制电路中的继电器、线圈及接点等名称,但西门子 PLC内部并不存在这些实际物理装置,及它对应的只是西门子PLC内部存储器的一个基本单元(一个位,bit) ,若该位为 1 表示该线圈受电,该位为 0 表示线圈不受电,使用常开接点(Normal Open, NO 或 A 接点)即直接读取该对应位的值,若使用常闭接点(Normal Close, NC 或B 接点)则取该对应位值的反相。多个继电器将占有多个位(bit) ,8 个位,组成一个字节(或称为一个字节,byte) ,二个字节,称为一个字(word) ,两个字,组合成双字(double word) 。
当多个继电器一并处理时(如加/减法、移位等)则可使用字节、字或双字,且 PLC 内部的另两种装置:定时器及计数器,不仅有线圈,而且还有计时值及计数值,因此还要进行一些数值的处理,这些数值多属于字节、字或双字的形式。
由以上所述,各种内部装置,在西门子PLC内部的数值储存区,各自占有一定数量的储存单元,当使用这些装置,实际上就是对相应的储存内容以位或字节或字的形式对MT6100IV5进行读取。
输入继电器是西门子PLC及外部输入点 (用来及外部输入开关连接并接受外部输入信号的端子)对应的内部存储器储存基本单元。它由外部送来的输入信号驱动,使它为 0 或 1。用程序设计的方法不能改变输入继电器的状态,即不能对输入继电器对应的基本单元改写,亦无法由 HPP/WPLSoft 作强行 On / Off 动作 (SA/SX/SC/EH/EH2/SV系列主机可仿真输入继电器 X作强行On/Off 的动作,但此时外部输入点状态更新动作关闭,亦即外部输入信号的状态不会被读入至西门子PLC内部相对的装置内存,只限主机的输入点,扩展的输入点仍依正常模式动作)。它的接点(A、B 接点)可无限制地多次使用。无输入信号对应的输入继电器只能空着,不能移作它用。
固定地址分配方式是一种对PLC安装机架上的每一个安装位置(插槽)都规定地址的分配方式。其特点如下:
①PLC的每一个安装位置都按照该系列PLC全部模块中可能存在的较大I/O点数分配地址。
例如:S7-300系列I/O模块中较大开关量输入/输出为32点,因此,每一个安装位置都必须分配32点地址:如果实际安装的模块只有16点输入,那么剩余的I/O地址将不可以再作为物理输入点使用。
②对于输入或输出来说,I/O地址是间断的,而且,在输入与输出中不可以使用相同的二进制字节与位。
例如:S7-300系列I/O模块的*1安装位中安装了32点输入模块,地址数据中的0.0~3.7就被该模块所占用,地址固定为I0.0~13.7;即使*2安装位中安装了32点输出模块,其输出地址也只能是Q4.O~Q7.7,而不可以是QO.O~Q3.7,在实际编程时QO.O~Q3.7就变成了不存在的输出。同样,如果在*3安装位中接着安装了16点输入模块,其地址将为I8.0~19.7,在实际编程时I4.0~17.7就变成了不存在的输入。
以上分配原则对模拟量模块同样适用。 西门子PLC变量的采集模式
变量具有三种采集模式,循环连续,循环使用及根据命令。
默认情况下,我们应该将其设置为循环使用的方式。这表示只有当前画面中使用到了某变量,该变量才会被刷新,才会产生通信负荷。如果错误地设置为循环连续,那么不管当前画面中是否使用该变量,面板都会在后台不停地刷新该变量,从而产生不必要的通信负荷,降低了面板整体的通信速度。
设置为循环连续方式常见的应用是该变量组态了数值更改事件。
1、变量的刷新周期
普通的通信方式,面板能支持的较小刷新周期是100ms。
是不是设置得越短,通信就越快呢?当变量很少时,基本上是这样。但若变量很多时,则不然。因为大量的通信任务执行的时间远**刷新周期,将导致通信堵塞。表现就是通信速度反而会下降。所以应该根据项目的实际需要,变量刷新周期该长的长,该短的短。
对于某些特殊的应用,如直接键。则可以将面板组态为 DP 从站。从而保证某些关键数据的快速传送。