S7-200编程语言的基本单位是语句,而语句的构成是指令,每条指令有两部分:一部分是操作码,另一部分是操作数。操作码是指出这条指令的功能是什么,操作数则指明了操作码所需要的数据所在。所谓寻址,就是寻找操作数的过程。S7-200 CPU的寻址分三种:立即寻址、直接寻址、间接寻址。 1.立即寻址 在一条指令中,如果操作码后面的操作数就是操作码所需要的具体数据,这种指令的寻址方式就叫立即寻址。 如:在传送指令中:MOV IN OUT——操作码“MOV”指出该指令的功能把IN中的数据传送到OUT中,其中IN——源操作数,OUT——目标操作数。 若该指令为:MOVD 2505 VD500 功能:将十进制数2505传送到VD500中,这里2505就是源操作数。因这个操作数的数值已经在指令中了,不用再去寻找,这个操作数即立即数。这个寻址方式就是立即寻址方式。而目标操作数的数值在指令中并未给出,只给出了要传送到的地址VD500,这个操作数的寻址方式就是直接寻址
使用CPU内置的高速计数器和高速脉冲发生器处理序列脉冲信号 使用部分CPU数字量输入点的硬件中断功能,在中断程序中处理;进入中断的延时可以忽略S7-200拥有“直接读输入”和“直接写输出”指令,可以越过程序扫描周期的时间限制,使用部分CPU数字量输入点的“脉冲捕捉”功能捕捉短暂的脉冲 。 注意: S7-200系统中较小周期的定时任务为1ms。所有实现快速信号处理的措施,都要考虑所有限制因素的影响。例如,为一个需要毫秒级响应速度的信号选择500μs输出延时的硬件,显然是不合理的。 S7-400可编程控制器I/O模板的默认编址与S7-300不同,它的输入/输出地址分别按顺序排列。数字I/O模板的输入/输出默认首地址为0,模拟I/O模板的输入/输出默认首地址为512。模拟I/O模板的输入/输出地址可能占用32个字节,也可能占用16个字节,它是由模拟量I/O模板的通道数来决定的。 S7-200在CPU单元上设有硬件电路(芯片等)处理高速数字量I/O,如高速计数器(输入)、高速脉冲输出。这些硬件电路在用户程序的控制下工作,可以达到很高的频率;但点数受到硬件资源的限制。 S7-200 CPU按照以下机制循环工作: 读取输入点的状态到输入映像区 执行用户程序,进行逻辑运算,得到输出信号的新状态 将输出信号写入到输出映像区 只要CPU处于运行状态,上述步骤就周而复始地执行。在第二步中,CPU也执行通讯、自检等工作。 上述三个步骤是S7-200 CPU的软件处理过程,可以认为就是程序扫描时间。 实际上,S7-200对数字量的处理速度受到以下几个因素的限制: 输入硬件延时(从输入信号状态改变的那一刻开始,到CPU刷新输入映像区时能够识别其改变的时间) CPU的内部处理时间,包括: 读取输入点的状态到输入映像区 执行用户程序,进行逻辑运算,得到输出信号的新状态 将输出信号写入到输出映像区 输出硬件延时(从输出缓冲区状态改变到输出点真实电平改变的时间) 上述A,B,C三段时间,就是限制PLC处理数字量响应速度的主要因素。 一个实际的系统可能还需要考虑输入、输出器件的延时,如输出点外接的中间继电器动作时间等 。 CPU上的部分输入点延时(滤波)时间可以在编程软件Micro/WIN的“系统块”中设置,其缺省的滤波时间是6.4ms。 如果把容易受到干扰的信号接到CPU上可改变滤波时间的DI点上,调整滤波时间可能改善信号检测的质量。 支持高速计数器功能的输入点在相应功能开通时不受此滤波时间约束。滤波设置对输入映像区的刷新、开关量输入中断、脉冲捕捉功能同样有效。 有些输出点要比其他点更快些,是因为它们可以用于高速输出功能,在硬件上有特殊设计。没有专门使用硬件高速输出功能时,它们只是和普通点一样处理 继电器输出开关频率为1Hz
|