2。2。3 PC/PPI通讯
S7-200系列PLC内部集成的PPI接口给我们提供了极大的通讯方便,西门子S7-200系列PLC本机带有一个或两个485物理接口,此485口具有3种通信协议:PPI、自由通信协议和PROFIBUS协议[13]。PPI接口的物理特性为RS485,使用一根RS485-232的转换通讯电缆将PLC与上位机进行连接。本次研究中,S7-200与上位机间采用了PPI通讯协议,其波特率为9。6kbps,19。2kbps,187。5kpbs。该种通讯方式简单而方便,只需用NETR和NETW两条语句即可以开始数据信号的传输,无需另行配置模块或软件。
在PC/PPI通讯中,数据通讯的电缆会自动甄别数据的传送模式是接收还是发送模式。当数据从RS-485口传送给RS-232口时,即是数据从S7-200上载至上位机中,PC/PPI电缆处于接收模式中,而一旦检测到RS-232口的发送线中出现了字符,则通讯电缆会立即转变为发送模式,则上位机开始将数据下载至S7-200中;当RS-232的发送线中没有字符存在且闲置了一定的时间后,通讯电缆则又会恢复到接收模式,闲置时间的长短则与通讯设定的波特率相关[14][15]。
2。3 S7-200的编程语言
S7-200的编程设计由上位机中基于Windows的配备软件STEP7 Micro/Win来实现,其内部集成两种编程语言,一种是用户熟悉的图形化梯形图编程(LAD),一种是自由文本方式的语句表编程(STL)[16]。
一般来说,电脑中绘制梯形图通过通讯传送至CPU,CPU会识别梯形图中的每一个逻辑块,每一个逻辑块都具有着它特殊的功能,这样的逻辑块常常被称作“梯级”或“段”。梯形图程序中将每一个程序块都用有指向性的线连接起来,这样CPU会从左向右,自上而下地对每个程序块的功能进行读取,最后进行相应的逻辑输出,每一段程序读取结束后,CPU会从一段程序的开头重新开始读取[17]。
作为刚接触S7-200的初学者,LAD由于其直观易懂的特性,普遍容易上手,而STL语句相对复杂且繁多,往往在初学阶段并不受到重视。所以在这里主要研究的是梯形图编程。梯形图编程中所用的指令基本包含在了SIMATIC指令集和IEC1131-3指令集中,下面分别进行介绍。
2。3。1 SIMATIC指令集
在S7-200 CPU中有两类基本的指令:SIMATIC指令集和IEC1131-3指令集。而SIMATIC指令集所包含的指令能基本完成包括通讯在内的大部分功能,本次研究中所应用到的指令基本都包含在了SIMATIC指令集中。下面简单介绍几种本次实验中应用到的常用指令。
实数传送指令功能为将IN中的实数数据传送到OUT中,在一般的编程中作为最常用的指令之一。相似的还有整数传送、位传送、字传送等等,它们所实现的功能基本一致,只是针对的对象不一样而已。其中EN端为使能端,只有当EN端接收到0到1的上升沿跳变,该条指令才执行。实数传送指令的梯形图模块如图2。1所示。文献综述
整数到双整数转换指令是转换类指令中的一条,能够在CPU中将数据的类型从整数转换为双整数以存入不同位数的模块中,这类指令在模拟信号采集与输出环节中运用频繁,类似的指令还有双整数到实数等。整数到双整数转换指令的梯形图模块如图2。2所示。
实数乘法指令为混合运算指令中的一条,针对类型为实数的数据进行乘法运算并输出,这类指令在采集信号的输入滤波中得到应用,相似的指令有实数加、实数减、整数加等等,仍然只是针对不同类型的数据。实数相乘指令如图2。3所示。
图2。1 实数传送指令
图2。2 整数到双整数转换指令
图2。3 实数乘法指令
2。3。2 IEC1131-3指令集