西门子PLC除基本逻辑运算指令、定时、计数等常用的开关量控制指令外,还包括大量的用于字节、字、双字逻辑处理,数算,程序控制,通信等指令。这些指令可以为用户的PLC功能、编程、使用提供方便,因此,习惯上将其称为功能指令。
一个PLC可以使用的功能指令数量有所不同,从某种程度上说,功能指令反映了CPU功能的强弱。为了分别说明,本书对S7系列PLC的功能指令作了如下分类与定义:
(1)字节、字、双字逻辑处理指令
字节、字、双字逻辑处理指令是指以字节、字或双字的形式进行的逻辑运算与处理,包括字节、字或双字的“与"、“或"、“异或"、“取反"运算等。
(2)比较指令
比较指令是对两个存储器内容或数据的比较,通常以字节、字或双字的形式进行。比较可以是“大于"、“小于"、“等于"、“大于等于"、“小于等于"、“不等于"等,比较结果将以二进制位的形式输出。
(3)装载、传送与指令
装载、传送与指令用于存储器间的内容交换,通常以字节、字或双字的形式进行。在本书中,对装载、传送与的定义如下:
装载:是指将存储器的内容或者特定的数据读入到累加器或地址寄存器中;
传送:是指将累加器或地址寄存器的内容到的存储器中;
:是指将某一存储器的内容或特定的数据到另一存储器中。
(4)移位指令
移位指令是对存储器本身内容所进行的,通常以字节、字或双字的形式进行。移位指令有左移、右移、循环等形式。
(5)代码转换指令
代码转换指令是指将一个存储器的存储内容以其他代码的形式存储到储器中的操作,通常以字节、字或双字的形式进行。常见的代码转换有二进制与BCD码间的转换、ASCII码与二进制数间的转换等。
(6)数算指令
代码转换指令是指将两个存储器间的内容进行四则运算、函数运算、增减“l"等处理后,到存储器中的操作,通常以字节、字或双字的形式进行。常见的代码转换有二进制与BCD码间的转换、ASCII码与二进制数间的转换等。
(7)程序控制指令
程序控制指令是指改变PLC内部指令的执行或PLC运行状态的操作。常见的有程序结束、程序跳转、程序中断、程序停止等。
(8)通信指令
程序控制指令是指用于控制PLC与外部设备间数据交换(通信)的指令。常见的有数据发送、数据接收等
STEP7编写PUT/GET程序
需要在S7-300程序中,调用功能块FB14 “GET" 和 FB15 “PUT"。可以在Standard Library--Communication Blocks--Blocks下找到这些功能块。
注意:
1. ID:为Netpro里组态S7连接属性窗的Block paramters-Local ID。
2.ADDR_1为伙伴PLC的数据区域,由于通信伙伴是S7-200的V区,V区与S7-300的DB1地址相对应。
3.RD_1为本地PLC的数据接收区;SD_1为本地PLC的数据发送区。
如果通信无法建立,请查看“PUT"和“GET"指令的错误代码,STATUS仅在一个周期内有效,需要在ERROR=1时错误状态。如下图所示:
对于FB14 “GET" 和 FB15 “PUT"的输入参数'ID",也可通过鼠标右击功能块ID引脚,可以自动本地ID连接。如下图所示: