热门搜索:
西门子MM420变频器代理商
1. FC070安装与接线
传感器的箱子里有一个小芯片,名称为SENSORPROM,它存储了传感器的出厂标定数据以及变送器的所有参数,将该芯片插入流量变送器FC070中,变送器会自动读取该芯片中的数据;务必保证SENSORPROM上标注的序列号与传感器序列号相同;
将芯片插入FC070,如下图所示:
在模块侧面会看到两组开关,其中左侧的WP为写保护开关,其中将1拨至ON的位置,模块参数处于只读状态,不能进行修改(WP的2和3不起作用,应该设置位OFF);右侧开关为MODBUS地址,只有当FC070作为独立的MODBUS从站使用时,才需要通过该拨码设置地址;当FC070集成在STEP7中使用时,在软件中设置模块地址即可,硬件拨码地址为0;
传感器与FC070之间通过标准10芯电缆进行连接,进行接线时建议的剥线长度如下:
否则剥线太短,FC070的盖子合不上;剥线太长,多于的电缆就会堆积在接线端子上,出现如下图所示的接线情况:
西门子MM420变频器代理商
FC070模块上传感器接线端子的含义如下表所示:
如果您使用的STEP7硬件组态(Hardware configuration)中没有FC070模块,那么需要先安装该模块的硬件支持包,下载地址如下:
打开例程,如下图所示:
在例程中有SIFL_FC(FB95)、DB_FLOW_PARA和DB_FLOW_VEC,通过下图简单说明三者对应关系。
(3)DB_FLOW_VEC(本例为DB16)是一个结构体向量,它详细描述了流量计的各个 DR在DB_FLOW_PARA中的起始地址和数据长度,以便FB95进行访问。 下面举例说明,双击打开DB16,可以看到DR3在DB17中的起始地址为92,数据长度为16#80,也就是说在DB17中,从DBB92开始的连续128个字节为流量计DR3的内容。
功能块FB95参数说明:
VAR1_ADR和VAR2_ADR:分别为FC070中变量对应的MODBUS寄存器地址(参考附录1),可以看出质量流量MODBUS地址为3000;体积流量地址为3002;
执行命令703和704可以分别将VAR1_ADR 和VAR2_ADR 对应的变量读取到VAR1_VAL和VAR2_VAL。此时,输出侧的寄存器地址L_ VAR1_ADR和L_ VAR2_ADR
首先,用户根据自己实际硬件配置情况,修改Hardware configuration界面的硬件组态。
点击按钮 对硬件组态进行编译,然后将编译生成的system data拷贝到程序S7 Prog_AlllSteps、S7 Prog_Step1、S7 Prog_Step2、S7 Prog_Step3、S7 Prog_Step4_Approach1和S7 Prog_Step4_Approach2中,原来的 system data被覆盖:
西门子MM420变频器代理商
第一步:FC070默认参数上载(将程序S7 Prog_Step1下载到PLC中)
程序如下所示:
在变量表STEP1中将RD_ALL置1,先通过命令649将FC070的所有参数读取到PLC的DB块中(该程序中为DB17),其中就包括传感器的系列号:
第二步:基本参数设置(将程序S7 Prog_Step2下载到PLC中)
在变量表STEP2中,将RD_ALL置1,可以看到质量流量单位kg/s,较大流量为0.08333334kg/s,较小流量为0kg/s。用户可以在MB60、MD61、MD65中对上述参数进行修改,然后将WR_BASIC置1,将参数写入FC070模块中;
第三步:零点标定(将程序S7 Prog_Step3下载到PLC中 )
在变量表STEP3中将CMD_ZERO_POINT置1,此时零点标定过程开始,同时标志位ZERO_ADJUST_IN_PROCESS变为1。在标定过程中,流量计会对当前流量进行采样(采样频率为30次/秒),零点标定完毕后,流量计自动计算上述采样值的平均值和方差,并存储在流量计的SENSORPROM中。
标定结束后将RD_ALL置1,将FC070的参数读取到PLC中,其中就包括零点标定的均值和方差。
第四步:设置要读取的过程变量
然后在变量表STEP1_appr1中,在NEW_VAR1_ADDR和在NEW_VAR2_ADDR中写入要读取的过程变量的MODBUS寄存器地址(如质量流量为3000,体积流量为3002,密度为3004,温度为3006 ),然后将SET_VAR_ADR置1,即可在VAR1_VAL和VAR2_VAL中读取实时变化的过程值了:
*二种方式将S7 Prog_Step4_Approach2下载到PLC中,执行命令230,可以读取DR30的所有过程变量,如下图所示:
在变量表STEP1_appr2中将RD_DR30置1,由于该方式为数据记录的非周期性通信,所以数据不能实时更新,需要RD_DR30不停的触发,用户可以把该程序放到周期性中断中执行。
用户可以通过变量表ERROR_MSG获取FC070返回的故障代码,在FC070使用手册找查找故障代码的含义,在此不作具体分析。
附录2:质量单位代码(节选自手册B-46)
附录3:FC070常用命令代码
西门子操作员面板使用“趋势视图”以曲线的形式显示变量变化的趋势。趋势类型中“触发的实时循环”用于显示变量的实时曲线,面板掉电后曲线就会丢失。“数据记录”用于显示数据记录文件中历史数据的曲线。“触发的缓冲区位”和“实时位触发”都可以将PLC 中连续地址区中的数据通过趋势视图以曲线的形式输出。“实时位触发”用于触发显示一段连续地址区中的数据,“触发的缓冲区位”可以切换显示两段连续地址区中的数据。下面以“触发的缓冲区位”为例介绍配置方法。
1. 创建变量
2. 设置趋势视图参数
3. 设置趋势曲线的属性
4. 激活运行系统
本实验所使用流量传感器,口径DI6,如下图所示:
FC070接线端子
传感器电缆
端子号
颜色
含义
21、22、34、37、40
-
屏蔽层
23
棕色(brow)
驱动电流Driver+
24
红色 (red)
驱动电流Driver-
25
橘红色 (orange)
温度传感器输入+
26
黄色 (yellow)
温度传感器输入-
32
绿色 (green)
Sensor pick up1 +
33
蓝色 (blue)
Sensor pick up1 -
35
紫罗兰色 (violet)
Sensor pick up2 +
36
灰色 (gray)
Sensor pick up2 -
38
白色 (white)
温度传感器输出+
39
黑色 (black)
温度传感器输出-
2. 例程使用说明
您可以从下列网站下载FC070标准例程:
34009530
24479364
(1)功能块FB95是PLC与FC070模块进行通信的接口,用户对仪表的所有操作都要通过该功能块发送给FC070,并通过该功能块读取流量计的当前数据,如质量流量、 密度、累积量等。
(2)在FC070内部参数和过程数据以Data Record(简称DR)的方式进行存储,一个S7-300 PLC可以带多个FC070模块,每个模块在程序中都对应一个DB_FLOW_PARA(如DB17),用于存储该流量计的参数和过程数据;
注:当使用多台FC070流量计时,将FB95拷贝多次,为每台流量计分配不同的DB_FL OW_PARA,但是DB_FLOW_VEC相同;
ADDR:与硬件组态中FC070的起始地址一致,本例子为256,如下所示:
COM_IN和CMD_EN:分别为命令代码和命令的触发位,常见命令代码参见附录3。
一定与输入侧的寄存器地址VAR1_ADR 和VAR2_ADR相同。
3. 编程与调试
质量流量计FC070的调试过程可以分为4步,在每一步调试过程中将相应程序下载到PLC中,并在相应变量表中进行监控:
在本文档中,硬件配置如下图所示:
点击程序,鼠标右键选择PLC---Download,如下图所示:
用户可以根据需要修改质量流量计的基本参数,如单位、量程(较大和较小流量),然后通过命令699将存储在DB17中所有参数发送到FC070模块中,程序如下:
为了保证流量计的测量精度在使用前流量计必须进行零点标定,具体步骤如下:
(1) 管道充满液体,启动泵,运行至少2min,将管道内气泡排除;
(2) 关闭流量计出口阀门,然后停泵,较后关闭入口阀门,等待1分钟左右,这样既保证管道内液体静止,同时保证一定的背压(至少0.2bar);
(3) 在程序中执行自动零点标定命令(命令代码为18),零点标定持续时间默认为30s:
有两种方式设置读取变量,**种方式将S7 Prog_Step4_Approach1下载到PLC中,如下图所示:
4. 模块故障诊断
在每个程序都包含了下列诊断程序
附录1:常用变量MODBUS寄存器地址
命令代码
含义
18
自动零点标定
200..399
读某一个数据记录,如DR2..DR12、DR30..DR36,(CMD_IN=200+数据记录编号)
400..599
写某一个数据记录,如DR2..DR12、DR30..DR36,(CMD_IN=400+数据记录编号)
649
读所有数据记录
699
写所有数据记录
703
读取VAR1_ADR对应的过程变量
704
读取VAR2_ADR对应的过程变量
在趋势类型中选择“触发的缓冲区位”后,“源设置”如图1所示。
图1
其中,“过程值”和“缓冲区变量”为PLC 中连续地址区中的数组变量,如DB1和DB2的DBB0到DBB9。
? “趋势传送1”用于触发显示连续地址区“过程值”中的数据曲线;
? “趋势传送2”用于触发显示连续地址区“缓冲区变量”中的数据曲线。
“趋势请求”仅起显示作用,取决于“位”的设定值,同时决定了“趋势传送1”和“趋势传送2”的数据格式。“位”直接定义了“趋势请求”的数据格式:
? “位”设置为0,“趋势请求”显示为二进制1,十六进制0001;
? “位”设置为1,“趋势请求”显示为二进制10,十六进制0002;
? “位”设置为2,“趋势请求”显示为二进制100,十六进制0004;
? “位”设置为3,“趋势请求”显示为二进制1000,十六进制0008;
? “位”设置为4,“趋势请求”显示为二进制10000,十六进制0010。
而“趋势传送1”和“趋势传送2”为了触发对应的数据曲线,必须与“趋势请求”的数据格式保持一致,并将较高位(即*15位)置1:
? “趋势请求”显示为十六进制0001,触发要求“趋势传送1/2”为十六进制8001;
? “趋势请求”显示为十六进制0002,触发要求“趋势传送1/2”为十六进制8002;
? “趋势请求”显示为十六进制0004,触发要求“趋势传送1/2”为十六进制8004;
? “趋势请求”显示为十六进制0008,触发要求“趋势传送1/2”为十六进制8008;
? “趋势请求”显示为十六进制0010,触发要求“趋势传送1/2”为十六进制8010。
当趋势请求功能正确执行后,对应连续数据区的曲线会显示在“趋势视图”中,同时,“趋势传送1”和“趋势传送2”会自动复位为0。
? area1为字节类型数组,长度10,起始地址DB1.DBB0
? area2为字节类型数组,长度10,起始地址DB2.DBB0
? request 数据类型为WORD,地址MW200
? trans1数据类型为WORD,地址MW202
? trans2数据类型为WORD,地址MW204
图2
在画面中添加 IO域分别显示变量 request, trans1和trans2,注意:“显示格式”设置为十六进制,如图3所示。
图3
打开趋势视图属性“时间轴”,轴模式:点;值的数目:10,必须与定义的数组长度保持一致,如图4所示。
图4
在趋势属性中选择趋势类型“触发的缓冲区位”后,采样点为10,其他参数如图5所示。
图5
通过 PLCSIM 可以模拟 DB1.DBB0-- DB1.DBB9 和DB2.DBB0—DB2.DBB9 中的数据,如图6所示。
这样,激活运行系统后,由于趋势传送“位”设置为 4,趋势请求变量 request 显示为十六进制 0010。通过为触发变量 trans1/ trans2 赋值十六进制 8010 ,可以分别显示DB1或DB2中的数据曲线。
图6
图7