在plc编程中,多数指令需要指定具体的存储单元或具体数据参与其运算,这些就是指令所需的操作数。按照表现形式的不同,西门子s7-200系列plc可提供3种形式的操作数,即存储单元、常数、能流。
1.存储单元
在直接寻址中涉及的所有存储器都可以作为操作数。此类操作数包括输入映像寄存器(i)、输出映像寄存器(q)、变量存储器(v)、内部标志位存储器(m)、特殊标志位存储器(sm)、顺序控制继电器(s)、局部存储器(l)中的位寻址方式、字节寻址方式、字寻址方式、双字寻址方式。还包括定时器存储器(t)、计数器存储器(c)、高速计数器(hc)、模拟量输入(ai)、模拟量输出(aq)和累加器(ac)。不同的cpu模块中存储单元类操作数的数量有所不同,可在编程软件的帮助栏查找到cpu存储单元的地址范围。
2.常数
常数是指令中常用的一种操作数,常数值可为字节、字或双字。在plc内部,所有常数均以二进制存储,但在编程时可以输入的常数形式有二进制、十进制、十六进制、ascii码或浮点数(实数)等。
3.能流
在梯形图中,没有真正的电流流动。为方便对plc周期扫描过程的分析和指令运行状态,假想有“电流”在梯形图中流动,这就是“能流”。“能流”只能在梯形图中从左向右流动,任何可以连接到左/右母线或触点的梯形图元件都有“能流”的输入(en)/输出端(eno)。输入(en)端必须有能量流,才能执行该元件功能,在元件正确无误地执行其功能后,输出端(eno)才能将能量流传送到下一个单元。只有梯形图( lad)和功能块图( fbd)中才有能流的概念。对应于指令表为栈顶值为1。