没有合适的资源?快使用搜索试试~ 我知道了~
DCS数据采集技术.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 95 浏览量
2022-01-04
11:13:21
上传
评论
收藏 690KB PDF 举报
温馨提示
试读
32页
DCS数据采集技术.pdf
资源推荐
资源详情
资源评论
1
第五章 DCS 数据采集技术 10 页 1.6 万字
目前各种 I/O 设备提供的对外数据接口可分为以下几类:
1, 数字通讯接口,包括串口类,以太网(TCP/IP 协议)类,现场总线类,仪器总线类
通讯接口(如 GPIB 等).
2, 模拟量通道输出,设备直接提供 4-20mA,1-5V 或继电器接点信号等.
力控 具有世界上大部分主流设备的 I/O 接口程序,对 GPIB 总线以及 Honeywell,
Yokogawa,Foxboro,Fisher-Rosemount 等厂家的 DCS 也能够支持.
除通常意义上的数据采集外,力控 可以利用采集到的实时数据对装置进行实时建模,
插入力控 自己的先进控制控件,实施先进控制.
5.1 对一个设备上的数据定义不同的采集周期
如果一台设备上有 1000 个实时数据需要采集,而在这 1000 个数据中只有 10 个是经常
刷新且需要密切监视的,其余 990 个全部是辅助数据,但是也需要时常查看.如果把这 1000
个数据同等地对待,采用统一的扫描周期进行采集,就会严重影响 10 个重要数据的刷新速
度.怎样既保证 1000 个数据都能够采集,又确保这 10 个重要数据的采 集速度呢 有两种
办法:办法 1:为一个设备定义两个逻辑设备,使其具有不同的采集周期,如图 5-1 所示.
但是这种方法定义的最长扫描周期为 10 分钟.
办法 2:不用上面的办法,一台设备只定义一个设备名称也可以达到要求.因为力控 的 I/O
驱动对画面中不显示而且没有组态历史趋势和报警的数据是不采集的,仅当画面中显示这个
数据时才进行采集.因此将不常用的数据单独组态在一个或几个画面中,使用完毕马上关闭
就不会影响整个采集速度.这种方法适用于存在有大量不需要快速更新的数据的情况.
图 5-1
5.2 合理设置扫描周期,避免引起设备死机
有些 I/O 设备内部只有一个 CPU,同时负责数据通讯和计算,如果在力控 上设置的数
据扫描周期太快容易使设备死机,因此在设置这一参数时应该慎重,最好通过多次试验确定
一个合适的扫描周期.一般的串口设备的扫描周期可设在 10-100 毫秒之间.
5.3 通过拨号方式与 I/O 设备通讯
力控 的所有串口 I/O 驱动程序都支持通过 MODEM 以拨号方式与设备通讯.只要正确设
置电话号码即可,如图 5-2 所示.
1
5.4 通讯状态监视,设备状态数据的读取
力控 为每一个 I/O 设备自动定义了一个系统变
量,假如系统中有一个设备 PLC1,则每当 PLC1 不能
与力控 正常通讯时,系统变量$IO PLC1 的值就会被
置为 1.I/O 设备故障属于系统报警.计算机通讯口
故障,电缆,PLC 端通讯口的故障,PLC 通讯口与计
算机通讯口的参数设置不一致都会造成这种结果.还
有一种可能,就是数据连接项错误,如果计算机的命
令发给 PLC 的只读参数,PLC 是不会予以理睬的.
5.5 怎样用 I/O 驱动程序调试 I/O 设备
力控 的 I/O 驱动程序有数百个,针对每
一种设备都有一个独立的程序.当力控 实时
数据库 DB 没有启动时,单独启动 I/O 驱动可
以作为本地 I/O 设备调试工具使用.此时可以
测试计算机与 I/O 设备的通讯情况,摸索最佳
2
的扫描周期.
菜单"设置[S]/参数"用来规定 I/O 通讯
过程中是否显示计算机发出和设备响应的通
讯信息.如图 5-3 所示.
菜单"工具[T]/工具"用来在不启动实时
数据库及其数据连接项的情况下执行与 I/O
设备的通讯.弹出对话框如图 5-5 上部所示.此
时可以按"参数设置"按钮设置通讯参数,如
图 5-6 和 5-7 所示,主要是设置串口的 DCB 参
数,IP 地址等.
图 5-2
图 5-3 图 5-4
正确设置参数后,按"连接设备"按钮,如
果成功的话,"连接设备"按钮的标
题变成"断开连接",表示可以收发
数据了.如果在"参数设置"中设置
"周期性发送周期"不为 0,则在"连
接设备"后会出现"周期发送"按钮,
否则出现"手动发送"按钮.使用"
周期发送"或"手动发送"按钮,可以
周期性或一次性地发送编辑框中
的数据了.
编辑框中数据的格式缺省是
混合方式的,如果你想发送编辑框
中的数据,这也是唯一的数据类型,
它的形成规则如下:任何 ASCII 码
(除'[')可以直接输入,'['可以使用
"[[]"来输入;"[]"内是由' '(空格)分隔的转意字符,它们的意义为:
图 5-5
'[': 用来输入'[';
2
'*': 在发送数据是表示延时 1 毫秒
图 5-6
'#': 在发送数据是表示延时 10 毫秒
'$': 在发送数据是表示延时 100 毫秒
'!': 在发送数据是表示延时 1000 毫秒
'\': 表示它后面的数据是十进制的(缺省是 16 进
制)
' '(空格): 作为分隔符,任何未定义的字符都可以
作为分隔符,最好使用空格.
0~9: 可以用来输入 10 进制或 16 进制数据.
A~F/a~f: 可以用来输入 16 进制数据.
例子: abcv[[ 30 *#$! ]345 对应的 16 进制数据
串为:
3
61H,62H,63H,76H,5BH,30H,33H,34H,35H;而
且在 30H 之后有 1111 毫秒的延时.
当用在其它情况(不是用来发送数据)时,唯一
的差别是没有了延时的概念.
"其它工具":校验使用混合格式的数据,计算常
用的校验码,ASCII 码表显示使用 16 进制和
10 进制显示的 ASCII 码表,各种数据转换把混合格式,16/32 位整数,32 位浮点数等转换位十
几种常用数据格式,除混合格式外,其它数据格式为直接用空格分隔的数据串
图 5-7
5.6 如何开发 I/O 设备驱动程序
在力控 中有一个 SDK 工具包,叫做 FIOS SDK,可以开发硬件设备与计算机的通讯接
口程序.最简单的只需要编写几个函数就可以可以做自己的 I/O 驱动,现在支持的硬件类型
有串口(RS485/232/422),网络,板卡,硬件厂家提供 DLL 等多种方式的通讯类型.在该 SDK
中开发自己的通讯接口,不需要关心硬件和计算机通讯的细节,只需要了解通讯协议就可以
了.
如果通讯协议很复杂,该 SDK 中提供了足够灵活的手段满足不同层次的需要.例如:
在设备初始化时发什么命令或做其他处理,动态改变硬件通讯参数等等.
5.6.1 FIOS 开发包简介
FIOS 负责完成与各种 I/O 设备进行数据交换.一方面,它把从 I/O 设备采集到的实时
过程数据发送给数据库 DB,另一方面,从 DB 发出的下置数据也通过 FIOS 发送给 I/O 设备.
根据监控 PC 与 I/O 设备之间通信机制的不同,FIOS 主要支持两种工作方式:同步方式
与异步方式.
异步方式适用以下一类 I/O 设备:这类 I/O 设备一般可以独立运行,与监控计算机之间
通过串口,网络或 MODEM 连接.与监控计算机之间通过明确的消息传送(文本或二进制
消息)完成数据交换.数据交换过程为异步方式.
同步方式适用以下一类 I/O 设备:这类 I/O 设备或者依赖 PC 运行(如:插在 PC 插槽
内),或者独立运行.但与监控计算机之间主要通过直接访问方式进行数据交换,具体形式
包括:寄存器直接访问(如:板卡),API 函数调用,ActiveX 控件访问等.数据交换过程为
同步方式.
下面列举了 FIOS 可实现的一些基本功能:
底层通信功能:1),串口通信,包括:RS232/422/485.2),TCP/IP 网络通信.3),MODEM
3
通信,通过模拟 MODEM 在电话网上通信.4),寄存器访问,如:各种 DAS 板卡.5),其
它.
链路控制功能:用 M 代表 Master,即上位机(监控 PC 工作站);S 代表 Slaver,即下
位机(各种 I/O 设备).对于异步方式,FIOS 支持多种链路控制方式.链路控制方式支持以
下几种方式:1),M 请求,S 应答方式.2),M 请求,S 无应答方式.3),S 主动发送,M
被动等待.另外,对一次完整数据处理(读或写)过程,支持以下方式:1),1 次请求,0
次应答方式.2),1 次请求,1 次应答方式.3),1 次请求,多次应答方式.4),0 次请求,1
次应答方式.5),多次请求,多次应答方式.
冗余功能:FIOS 支持的冗余方式包括:1),单监控站,双 I/O 冗余.2),双监控站,单
I/O 冗余.3),双监控站,双 I/O 冗余.4),对于总线型设备(如 RS485),提供总线监测功
能,可实现对冗余通信网络的保护和监测.
前端机功能:DB 与 IO Server 不在同一工作站上,IO Server 运行在前端机上,前端机
4
与操作站之间通过串口,TCP/IP 网络或 MODEM 进行通信.
硬件测试与远程调试功能:使用 FIOS 可完成对 I/O 设备的简单测试功能.另外可实现
远程调试.
故障诊断与恢复功能:FIOS 提供诊断机制,在较短的采集周期内报告故障的发生,诊
断出下位机故障情况.当下位机更换或恢复后,不需要对 FIOS 及相关程序进行任何人工干
预,而在较短时间自动恢复通信.当某一台,几台或部分通道发生故障,FIOS 要自动优化
通信链,使其与其他下位机或通道之间的通信不受影响,保证通信效率.
界面显示功能:为测试,调试,运行维护方便,FIOS 提供显示界面,可显示包括:发
送,应答,状态信息,启动时间,分包数,分包信息,成功通信次数(发送次数,成功应答
次),故障次数等信息.
历史数据处理功能:对于某些能保存历史数据的设备(如:无纸记录仪等),FIOS 能将
采集到的历史数据恢复到数据库 DB 中.
5.6.2 FIOS SDK 编程方式
FIOS SDK 提供了一种简洁的,面向对象的编程方式以缩短开发时间,降低开发难度.
FIOS SDK 提供标准的开发接口和程序模板,程序员仅需要根据 I/O 设备的具体通信协
议或驱动接口说明,填写几个扫描函数的实现代码,进行必要的调试与测试,即可完成一种
FIOS 的开发.
FIOS 提供的开发工具封装了大部分程序员不必关心的技术环节,如:底层通信功能(串
口通信,网络通信等),设备超时处理,设备故障诊断等.同时 FIOS 提供各种调试工具,
方便程序员进行系统测试.
FIOS 开发环境完全基于 32 位 Windows 平台.它使用动态链接库(DLL)技术将程序
员开发的代码整合到力控 系统中.FIOS 提供给程序员的开发接口为 API 函数和 C++类库.
5.6.3 FIOS SDK 组件及示例程序
FIOS SDK 主要由 4 部分组成:设备组态接口(Iodevui),数据连接组态接口(Ioitemui),
编程接口 Ioapi 和描扫程序 Ioscan.Iodevui:负责管理设备组态过程.Ioitemui:负责管理数据
连接组态过程.Ioapi:负责完成与 I/O 设备间的数据交换,包括:对通信协议的解析,数据
格式的转换等.Ioscan:主要完成对 Ioapi 部分的 dll 代码进行周期性地扫描.同时完成与 I/O
设备的底层通信(串口通信,网络通信等),以及设备超时处理,设备故障诊断等.Ioscan
还负责与数据库 DB 之间的通信与协作.它把从 I/O 设备采集到的数据经 Ioapi 解析转换后
提交给 DB,或将 DB 下置给 I/O 设备的数据经 Ioapi 解析转换后写入 I/O 设备.Ioscan 是 FIOS
SDK 提供的一个标准软件工具. 程序员仅需要开发 Iodevui,Ioitemui,Ioapi 三部分的代码.
示例程序
4
FIOS SDK 提供了两个示例:DemoController 与 DemoModbus.
DemoController 是一个初级编程示例,它能引导初学者快速掌握开发 FIOS 的基本概念
和方法.DemoModbus 是一个实用编程示例,它采用标准 MODBUS 通信协议,通过该示例,
可以掌握在力控 平台上开发标准 MODBUS 设备 I/O 驱动程序的方法.
FIOS SDK 的全部内容都是在安装在力控 自动安装的,在力控 目录下的子目录 Fiossdk
中.FIOS SDK 主要包含以下几部分内容:Examples,程序示例,仿真程序.Include,头文
件.Manual,文档说明.Utility,调试工具.
这 2 个示例具有一定的代表性,它们体现了 FIOS SDK 的主要功能.FIOS SDK 提供了
这 2 个示例的全部源代码,在它们的基础上,稍做改动,就可以开发出新的 FIOS.我们把
象这 2 个示例源程序一样具有模板作用的程序称为 I/O 模板程序.为了提高开发效率,我们
建议尽量使用 I/O 模板程序,这在一定程度上,也减少,降低了编程错误的发生.
5
常用术语
我们把 FIO SDK 中经常涉及的一些概念给出定义,有些术语虽然是通用名词,但在
FIOSDK 中有特定含义.这些术语有一些在前文给出了解释,有一些会在后文中陆续给出解
释.
FIOS ForceControl I/O Server,即力控 I/O 驱动程序
FIOS SDK FIOS 软件开发工具包
FCINSTDIR 力控 软件系统的安装目录
FCAPPINSTDIR 用力控 创建的工程应用的目录
IOID 唯一区别各个 I/O 驱动程序的 I/O 标志
Iodevui 设备组态接口
Ioitemui 数据连接组态接口
Ioapi 编程接口
Ioscan 扫描程序
I/O 模板程序 FIOS 工 SDK 附带示例的源程序
I/O 配置文件 设备组态时的缺省参数设置保存文件
连接项结构 保存数据连接信息的数据结构 IOITEMDEF
I/O 描述文件 定义设备的类别,厂商,型号,通信方式等参数的文本文件 Iodesc.txt
程序员 在本文档范围内专指用 FIOS SDK 进行开发的技术人员
扫描函数 包含在 Ioapi 中的 API 函数,它们由扫描程序周期扫描.扫描函数完成
对设备数据解析及格式转换
IOC Input Output Class(输入输出类库)的缩写.
5.6.4 设备组态接口 IODEVUI.DLL
I/O 描述文件
在使用力控 进行组态时,一般均涉及定义 I/O 设备的过程.在定义设备时,要选择设
备的类别(PLC,智能仪表等),厂商,设备型号或通信协议,然后根据设备通信方式(串
口方式,网络方式,其它方式等)设置参数.以上关于一种设备的信息(类别,厂商,型号,
通信方式等)完全是由 I/O 描述文件决定的.I/O 描述文件是一个标准文本文件,根据其规
定的填写格式,由程序员根据具体设备自行填写.下面介绍 I/O 描述文件的填写格式.
I/O 描述文件的文件名为 IODESC.TXT,安装目录为:"FCINSTDIR\IO Servers\IOID\".
IO 文件说明格式为: 类别;厂商或 IO 程序描述;执行文件名称
5
子类型 1;类型号;资源标志;提供设备地址
子类型 2;类型号;资源标志;提供设备地址
......
注意,子类型号不能重复.表示回车换行.最上面一行是驱动程序的总体描述,
包括三项.各项之间必须以分号";"分隔.各项内容不能含有分号";".
各项含义如下:类别,驱动程序所属类别,现分为以下几类:PLC,智能仪表,智能模
块,变频器.程序员也可以自行扩展.厂商或 IO 程序描述,I/O 设备生产厂商名称,协议
名称,如西门子.执行文件名称,I/O 驱动程序(运行程序)的名称,如 opto_drv.exe
接下来几行为驱动程序所包含的设备类型的描述,如西门子包括 S5,S7 等,每一子类别一
行,每行包括三项,各项之间必须以分号";"分隔.各项内容不能含有分号";".各项含义
如下:子类型,设备类型描述.如 S5.类型号,设备类型编号,类型号不能重复.合法的
值为 0,1,2,3 等.使用计算机资源,使用计算机何种通信资源通信,合法的值为 0,1,
2 等.含义如下:0,同步通信方式;1,串口通信方式;2,TCP/IP 网络通信方式; 3,MODEM
剩余31页未读,继续阅读
资源评论
m0_64422578
- 粉丝: 0
- 资源: 5万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功