四、任务实施

四、任务实施

要添加数据库点来创建实时数据库,需要的软硬件条件是西门子S7-200CPU、PC/PPI电缆、计算机、PLC的编程软件STEP7MicroWIN和力控ForceControl通用组态软件。实时数据库通过I/O驱动程序对I/O设备进行数据采集与设置,我们首先要进行I/O组态,在力控开发系统中创建对应的逻辑I/O设备,为实时数据库中的数据连接提供条件。为了在数据库中添加点,要明确需要添加哪些点,这些点在控制器中的地址是什么,采集上来的数据是什么格式的,能否实现上位机监控的要求,否则就需要修改控制程序,或者在上位机中进行进一步的转换操作。

下面就按步骤来完成本任务的要求。

1.I/O设备组态

本例中,使用力控组态软件通过串口(Com3)与S7-200PLC进行连接。力控与西门子S7-200 PLC连接的介绍方法如下:

在工程项目导航栏中双击“IO设备组态”,在弹出的窗口中单击“PLC”前面的“+”,再单击“SIEMENS”前面的“+”,然后双击“S7-200(PPI)”,在弹出的画面中定义设备的名称(本例中是“S7200”)及设备的地址号,本例中是“2”。在弹出的I/O配置向导中单击“下一步”按钮,选择与I/O通讯的COM口(本例中是COM3)。如果有必要单击“高级”按钮,在弹出的画面中设置通讯参数,一般情况下为默认即可。

在S7-200的编程软件中打开通信端口,进行通信参数设置,如图2-3-1所示,在“PPI”设置页中,确保PLC的地址和波特率与组态软件一致,这里地址是2,波特率是9.6kbit/s。在“本地连接”设置页中,选择“COM3”。设置成功后把系统块的信息下载到S7-200CPU中去,关闭S7-200的编程软件,以释放COM3口,否则可能会影响后续力控组态功能与S7-200的通信。

这里创建了一个名为“S7200”的I/O设备。

978-7-111-54974-1-Chapter02-60.jpg

图2-3-1 地址设置和COM口选择

2.确定数据库点表

在监控画面中要完成的主要功能如下:

1)手动控制泵的起停;

2)显示泵的运行状态;

3)显示液位的实时值;

4)显示泵的运行时间;

5)显示报警液位的设置值;

6)显示当前的运行模式(自动或手动)。

这些功能决定了要从控制器采集哪些变量的值,根据任务二中的PLC的内部寄存器使用情况对照表和硬件接线图,可以列出力控中数据库点表,如表2-3-1所示。

表2-3-1 力控数据库点表

978-7-111-54974-1-Chapter02-61.jpg

3.添加数据库点并创建数据连接

根据数据库点表可以看出,要采集的数据在控制器的V区、M区、I区,采集的数值有开关量和模拟量,针对不同的数据在数据库点添加和创建数据连接时的方法略有不同,这里就以几个典型数据为例进行说明,主要以中区水箱的变量为主。添加数据库点和创建数据连接的相关知识参见本任务的知识链接。

(1)水箱液位

3个水箱的液位是无符号实数,分别存放在PLC的VD32、VD36和VD40中,3个水箱各有4个液位报警值,即HH、HI、LO、LL,共有12个值,分别可以存储在点的点参数HH、HI、LO、LL中。具体的对应关系如表2-3-2所示。

表2-3-2 PLC采集数值与数据库点的对应关系

978-7-111-54974-1-Chapter02-62.jpg

(续)

978-7-111-54974-1-Chapter02-63.jpg

以中区水箱为例来说明,首先在DbManager中新建一个点,如图2-3-2所示,点名为“mid_tank_level”,设置量程下限和上限分别为0和3,工程单位为米。单击“确定”按钮后就添加了一个名为了“mid_tank_level”的数据库点,在DbManager的点列表中可以看到。接下来为点添加点参数的数据连接(见图2-3-3)。我们把液位值存在点参数“PV”中,把报警液位的值分别存在点参数“HH”、“HL”、“LO”、“LL”中,在DbManager的点列表中的“mid_tank_level”所在行,双击“I/O连接”单元格即可弹出“数据连接”参数设置页(见图2-3-4),主要操作如下:

978-7-111-54974-1-Chapter02-64.jpg

图2-3-2 创建数据库点

978-7-111-54974-1-Chapter02-65.jpg

图2-3-3 为数据库点添加I/O连接

1)选择数据源为“I/O设备”。

2)在左侧的点参数导航栏中选中点参数“PV”。

3)选择I/O设备,这里我们选择我们在I/O组态中新建的I/O设备“S7200”

4)在连接项中单击“增加”按钮,弹出如图2-3-5所示的“点组态对话框”。在该对话框中可以选择寄存器类型有V区、I区、Q区和M区。可选的数据类型有“位操作”“8位无符号”“8位有符号”“16位无符号”“16位有符号”“32位无符号”“32位有符号”和“32浮点数”。可以输入偏移地址,也可以选择读写类型。

978-7-111-54974-1-Chapter02-66.jpg

图2-3-4 点的数据连接

978-7-111-54974-1-Chapter02-67.jpg

图2-3-5 点组态对话框

查表得知mid_tank_level.PV值在VD32中,这里选择寄存器类型为“V区”,由于VD32是双字,在数据类型选择“32位无符号”,偏移填写为32(即对应地址VD32)。液位值是传感器采集到的数据不可更改,因此读写类型为“只读”。

同样道理由于中区水箱的4个液位报警值HH、HI、LO、LL分别存储在控制器VD60、VD64、VD68、VD78中,我们给数据库中的点mid_tank_level点参数HH、HI、LO、LL分别添加数据连接,即可以采集到4个液位的报警值,同时由于该报警值可以动态调整,因此在数据连接时,读写类型要选择“读写”。其他操作与PV的数据连接相同。添加好的数据库点表如图2-3-4所示。在各点参数的连接项中分别显示的是“S7200:V区(0-9999)|32位无符号|地址32|只可读”“S7200:V区(0-9999)|32位无符号|地址60|可读可写”“S7200:V区(0-9999)|32位无符号|地址64|可读可写”“S7200:V区(0-9999)|32位无符号|地址68|可读可写”和“S7200:V区(0-9999)|32位无符号|地址72|可读可写”,单击“确定”按钮即可。

同样道理可以添加生活水箱和高区生活水箱的液位值和相应报警液位,添加之后的数据库点表如图2-3-6所示。

978-7-111-54974-1-Chapter02-68.jpg

图2-3-6 数据点表

(2)生活泵的手动起停按钮

4个生活水泵的起停按钮的变量值存于PLC的M区,是数字量。具体的对应关系见表2-3-3。接下来我们在数据库中逐个添加泵的起停按钮对应的点。

表2-3-3 起停按钮PLC和力控数据库点的对应关系表

978-7-111-54974-1-Chapter02-69.jpg

新建一个“数字I/O点”输入点名“pump1_run”和点说明“泵1的起动信号”,如图2-3-7所示,添加数据连接,数据源选择“I/O设备”,连接设备中选择“S7200”,为点参数PV增加连接项,单击“增加”按钮,在弹出的“点组态对话框”中选择寄存器类型“M区”,数据类型选择“位操作”,偏移量输入“0”,位偏移为“0”(即对应地址M0.0),读写类型选择“读写”,单击“确定”按钮即可。

978-7-111-54974-1-Chapter02-70.jpg

图2-3-7 新建数字I/O点和“点组态对话框”

添加其他起停按钮的操作与此相同,唯一的区别是在点组态时,偏移地址和位偏移不同,在位操作时偏移地址和位偏移填写合适以使组态软件中设置的寄存器地址能与PLC地址对应上。

注意:这里“偏移地址(十进制)”和“位偏移(开关量)”的使用方法。其中“位偏移(开关量)”的输入值只能是0~7之间的数值。若在M区中“偏移地址(十进制)”为10,“位偏移(开关量)”为3,则对应的PLC内的地址为M10.3。

(3)泵的运行时间

泵的运行时间在PLC中存储的位置如表2-3-4所示。我们新建4个模拟I/O点来采集运行时间值。在点参数PV的数据连接中选择寄存器类型“D区”,数据类型选择“32位无符号”,偏移量分别输入“4”“12”“20”和“28”分别对应地址VD4、VD12、VD20和VD28,读写类型选择“读写”,即可创建完毕。

表2-3-4 泵运行时间数据与力控数据库对应表

978-7-111-54974-1-Chapter02-71.jpg

(4)手自模式选择按钮

在监控界面中采集当前手动和自动工作模式是通过读取手自动切换按钮的信号来确定的,对应的PLC地址是I1.5。

在DbManager中新建一个“数字I/O点”输入点名“man_auto”和点说明“手自动切换按钮”,添加数据连接,数据源选择“I/O设备”,连接设备中选择“S7200”,为点参数PV增加连接项,单击“增加”按钮,在弹出的“点组态对话框”中选择寄存器类型为“I区”,数据类型选择“位操作”,偏移量输入“1”,位偏移为“5”(即对应地址I1.5),读写类型选择“只读”,单击“确定”按钮即可,该点与力控数据库点的对应关系如表2-3-5所示。

表2-3-5 手自模式选择按钮与力控数据库点对应表

978-7-111-54974-1-Chapter02-72.jpg

(5)泵运行状态

泵的运行状态主要有3种:起动、停止和故障。以泵1为例,若I0.0有信号则泵运行,若I0.1有信号则该泵故障,若都没信号则该泵停止运行。其他泵与此泵相同。这里需要采集泵的运行和故障信号,添加PLC存储区I区的数据至组态软件的实时数据库中。

在DbManager中新建一个“数字I/O点”,输入点名“pump1_state”和点说明“泵1运行状态”,在“数据连接”页中添加数据连接,数据源选择“I/O设备”,连接设备中选择“S7200”,为点参数PV增加连接项,单击“增加”按钮,在弹出的“点组态对话框”中选择寄存器类型“I区”,数据类型选择“位操作”,偏移量输入“0”,位偏移为“0”(即对应地址I0.0),读写类型选择“只读”,单击“确定”按钮即可,PLC地址与力控数据库点的对应关系如表2-3-6。故障状态的采集及其他泵状态信号的采集与此相同,只需更改点名和点的数据连接地址即可。

表2-3-6 泵运行状态PLC地址与力控数据库点对应表

978-7-111-54974-1-Chapter02-73.jpg

4.数据库点和数据连接添加完毕

在力控DbManager中,数据库中的点添加完毕后如图2-3-8所示。