S7-300PLC的模式选择开关(如图)共分4档:RUN-P(运行编程),RUN(运行),STOP(停止)和MRES(内存复位)4档。
1、RUN(运行)
打到此档,“RUN”绿色发光二极管点亮,PLC运行程序。此时仅能监控PLC中的程序,不能修改和下载程序。
2、STOP(停止)
拨到此档,“STOP”发光红色二极管点亮,PLC停止程序的运行,可以下载和修改程序。如果在处理一个S7程序时CPU进入了STOP 状态,或者当您下载程序后无法将CPU 切换为RUN状态,您可以从诊断缓冲区的事件列表中判断出(评估诊断缓冲区),此时,CPU必须打到STOP状态。
现故障的原因。
3、MRES(内存复位)
此档为非保持档位,释放后会重新回到STOP档。当模式开关拨到“MRES”档并保持3秒钟以上时,红色的“STOP”发光二极管开始慢闪;此时释放开关(回到“STOP”档),并在3秒内把开关又拨到“MRES”档(保持),当“STOP”红色发光二极管快闪时就说明PLC内存已经复位了。
内存复位的操作过程如下:
4、RUN-P(运行编程)
打到此档,红色的“STOP”二极管熄灭,绿色的“RUN”二极管点亮。如果红色的“STOP”二极管仍然处于发光状态,说明有错误出现,需要根据“诊断缓冲区”检查程序改正错误后才能下载。 在“RUN-P”档位下,可以下载程序,也可以监控测试程序(如在变量表VAT中修改变量的值),只其下载的块会立即被执行。
在下载程序时,应注意以下事项:
★ 下载程序时,只能在“STOP”或RUN-P“档位”,在“RUN-P”下载的块会被立即执行;
★ 为了对错误做出快速准确的响应,可以分别下载程序块,这样在发生错误时就会清楚的知道是哪个块发生了错误,从而有针对性的解决问题;
★ 在下载程序时,应按一下的顺序下载程序,即:先下载子程序块,是更高一级的程序块。否则,PLC会进入“STOP”模式。为了避免这种情况发生,可以将整个程序一起下载到PLC中。
在该通信方式下,通信端口完全由用户程序所控制,通信协议也由用户设定。PC机与PLC之间是主从关系,PC机始终处于主导地位。PLC的通信编程是对串口初始化,对S7-200PLC的初始化是通过对特殊标志位SMB30(端口0)、SMB130(端口1)写入通信控制字,设置通信的波特率,奇偶校验位、停止位和字符长度。显然,这些设定必须与PC的设定相一致。SMB30和SMB130的各位及含义如下:
<!--[if !vml]--> <!--[endif]-->
其中,校验方式:00和11均为无校验、01为偶校验、10为奇校验;字符长度:0为传送字符有效数据是8位、1为有效数据是7位;波特率:000为38400baud、001为19200baud、010为9600baud、011为4800baud、100为2400baud、101为1200baud、110为600baud、111为300baud;通信协议:00为PPI协议从站模式、01为自由口协议、10为PPI协议主站模式、11为保留,缺省设置为PPI协议从站模式。
XMT及RCV命令分别用于PLC向外界发送与接收数据。当PLC处于RUN状态下时,通信命令有效,当PLC处于STOP状态时通信命令无效。
XMT命令将指定存储区内的数据通过指定端口传送出去,当存储区内后一个字节传送完毕,PLC将产生一个中断,命令格式为 XMTTABLE,PORT,其中PORT指定PLC用于发送的通信端口,TABLE为是数据存储区地址,其个字节存放要传送的字节数,即数据长度,大为255。
RCV命令从指定的端口读入数据存放在指定的数据存储区内,当后一个字节接收完毕,PLC也将产生一个中断,命令格式为RCVTABLE,PO RT,PLC通过PORT端口接收数据,并将数据存放在TBL数据存储区内,TABLE的个字节为接收的字节数。
在自由口通信方式下,还可以通过字符中断控制来接收数据,即PLC每接收一个字节的数据都将产生一个中断。PLC每接收一个字节的数据都可以在相应的中断程序中对接收的数据进行处理。
plc的软件标准IEC 61131-3与S7-300/400的程序结构是比较接近的,可以看得出来IEC61131-3采用了S7-300/400程序结构的基本思想,包括S7-300/400使用的名称,例如功能和功能块。两者的功能(FC)除了输出参数的个数外,没有本质的区别。两者大的区别在于IEC61131-3根本就没有数据块,FB也没有背景数据块。在功能块实例化(被调用)时,操作系统会给每次调用分配一个单独的存储区域,用来保存功能块的局部变量的值。这个存储区实际上相当于S7-300/400功能块的背景数据块,只是对用户来说不是透明的,用户不能访问它。 |