秦皇西门子代理商
一般的逻辑控制系统用软继电器、定时器和计数器及基本指令就可以实现。利用功能指令可以开发出更复杂的控制系统,以致构成网络控制系统。这些功能指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。功能指令的丰富程度及其合用的方便程度是衡量PLC性能的一个重要指标。
S7-200的功能指令很丰富,大致包括这几方面:算术与逻辑运算、传送、移位与循环移位、程序流控制、数据表处理、PID指令、数据格式变换、高速处理、通信以及实时时钟等。
功能指令的助记符与汇编语言相似,略具计算机知识的人学习起来也不会有太大困难。但S7-200系列PLC功能指令毕竟太多,一般读者不必准确记忆其详尽用法,需要时可可查阅产品手册
在S7-200系列中,寻址方式分为两种:直接寻址和间接寻址。直接寻址方式是指在指令中直接使用存储器或寄存器的元件名称和地址编号,直接查找数据。间接寻址是指使用地址指针来存取存储器中的数据,使用前,首先将数据所在单元的内存地址放入地址指针寄存器中,然后根据此地址存取数据。本书仅介绍直接寻址。
直接寻址时,操作数的地址应按规定的格式表示。指令中数据类型应与指令相符匹配。
在S7-200系列中,可以按位、字节、字和双字对存储单元进行寻址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于按位寻址,还需要在分隔符后*位编号。
在表示数据长度时,分别用B、W、D字母作为字节、字和双字的标识符
1. SIMATIC S7-300 PLC系统构成
主要组成部分有导轨(RACK)、电源模块(PS)、*处理单元模块(CPU)、接口模块(IM)、信号模块(SM)、功能模块(FM)等。通过MPI网的接口直接与编程器PG、操作员面板OP和其它S7 PLC相连(见图3-1)。
除了电源模块、CPU模块和接口模块外,一个机架上较多只能再安装8个信号模块或功能模块。
2. SIMATIC S7-300 PLC的扩展
S7-300 PLC较多可扩展4个机架,由IM360/IM361接口模块将S7-300背板总线从一个机架连接到下一个机
名称 | 指令格式 (语句表) | 功能 | 操作数 | |
单一传送指令 | MOVB IN,OUT | 将IN的内容拷贝到OUT中 IN和OUT的数据类型应相同,可分别为字,字节,双字,实数 | IN,OUT:VB,IB,,MB,SB,SMB,LB,AC,*VD,*AC,*LD IN还可以是常数 | |
MOVW IN,OUT | IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD IN还可以是AIW和常数 OUT还可以是AQW | |||
MOVD IN,OUT | IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN还可以是HC,常数,&VB,&IB,&,&MB,&T,&C | |||
MOVR IN,OUT | IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN还可以是常数 | |||
BIR IN,OUT | 立即读取输入IN的值,将输出到OUT | IN:IB OUT:VB,IB,,MB,SB,SMB,LB,AC,*VD,*AC,*LD | ||
BIW IN,OUT | 立即将IN单元的值写到OUT所指的物理输出区 | IN:VB,IB,,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数 OUT: | ||
块传送指令 | BMB IN,OUT,N | 将从IN开始的连续N个字节数据拷贝到从OUT开始的数据块 N的有效范围是1~255 | IN,OUT:VB,IB,,MB,SB,SMB,LB,*VD,*AC,*LD N:VB,IB,,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数 | |
BMW IN,OUT,N | 将从IN开始的连续N个字数据拷贝到从OUT开始的数据块 N的有效范围是1~255 | IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LD IN还可以是AIW OUT还可以是AQW N:VB,IB,,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数 | ||
BMD IN,OUT,N | 将从IN开始的连续N个双字数据拷贝到从OUT开始的数据块 N的有效范围是1~255 | IN,OUT:VD,ID,QD,MD,SD,SMD,LD, *VD,*AC,*LD N:VB,IB,,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数 |
名称 | 指令格式 (语句表) | 功能 | 操作数 |
字节逻辑运算指令 | ANDB IN1,OUT | 将字节IN1和OUT按位作逻辑与运算,OUT输出 | IN1,IN2,OUT:VB,IB,,MB,SB,SMB,LB,AC,*VD,*AC,*LD IN1和IN2还可以是常数 |
ORB IN1,OUT | 将字节IN1和OUT按位作逻辑或运算,OUT输出 | ||
XORB IN1,OUT | 将字节IN1和OUT按位作逻辑异或运算,OUT输出 | ||
INVB OUT | 将字节OUT按位取反,OUT输出 | ||
字逻辑运算指令 | ANDW IN1,OUT | 将字IN1和OUT按位作逻辑与运算,OUT输出 | IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD IN1和IN2还可以是AIW和常数 |
ORW IN1,OUT | 将字IN1和OUT按位作逻辑或运算,OUT输出 | ||
XORW IN1,OUT | 将字IN1和OUT按位作逻辑异或运算,OUT输出 | ||
INVW OUT | 将字OUT按位取反,OUT输出 | ||
双字逻辑运算指令 | ANDD IN1,OUT | 将双字IN1和OUT按位作逻辑与运算,OUT输出 | IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD IN1和IN2还可以是HC和常数 |
ORD IN1,OUT | 将双字IN1和OUT按位作逻辑或运算,OUT输出 | ||
XORD IN1,OUT | 将双字IN1和OUT按位作逻辑异或运算,OUT输出 | ||
INVD OUT | 将双字OUT按位取反,OUT输出 |